Skip to content

Commit

Permalink
Merge pull request #20819 from cgiradkar/20752_farm_flag_move
Browse files Browse the repository at this point in the history
Move the --farm flag to farm build command
  • Loading branch information
openshift-merge-bot[bot] authored Dec 1, 2023
2 parents c479628 + 31df9c2 commit bc124dd
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 23 deletions.
15 changes: 13 additions & 2 deletions cmd/podman/farm/build.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ type buildOptions struct {
buildOptions common.BuildFlagsWrapper
local bool
platforms []string
farm string
}

var (
Expand Down Expand Up @@ -55,6 +56,16 @@ func init() {
buildCommand.PersistentFlags().StringSliceVar(&buildOpts.platforms, platformsFlag, nil, "Build only on farm nodes that match the given platforms")

common.DefineBuildFlags(buildCommand, &buildOpts.buildOptions, true)

podmanConfig := registry.PodmanConfig()

farmFlagName := "farm"
// If remote, don't read the client's containers.conf file
defaultFarm := ""
if !registry.IsRemote() {
defaultFarm = podmanConfig.ContainersConfDefaultsRO.Farms.Default
}
flags.StringVar(&buildOpts.farm, farmFlagName, defaultFarm, "Farm to use for builds")
}

func build(cmd *cobra.Command, args []string) error {
Expand Down Expand Up @@ -98,8 +109,8 @@ func build(cmd *cobra.Command, args []string) error {
}

defaultFarm := cfg.Farms.Default
if farmCmd.Flags().Changed("farm") {
f, err := farmCmd.Flags().GetString("farm")
if cmd.Flags().Changed("farm") {
f, err := cmd.Flags().GetString("farm")
if err != nil {
return err
}
Expand Down
18 changes: 0 additions & 18 deletions cmd/podman/farm/farm.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,27 +16,9 @@ var (
}
)

var (
// Temporary struct to hold cli values.
farmOpts = struct {
Farm string
}{}
)

func init() {
registry.Commands = append(registry.Commands, registry.CliCommand{
Command: farmCmd,
})
farmCmd.Hidden = true

flags := farmCmd.Flags()
podmanConfig := registry.PodmanConfig()

farmFlagName := "farm"
// If remote, don't read the client's containers.conf file
defaultFarm := ""
if !registry.IsRemote() {
defaultFarm = podmanConfig.ContainersConfDefaultsRO.Farms.Default
}
flags.StringVarP(&farmOpts.Farm, farmFlagName, "f", defaultFarm, "Farm to use for builds")
}
7 changes: 7 additions & 0 deletions docs/source/markdown/options/farm.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
####> This option file is used in:
####> podman farm build
####> If file is edited, make sure the changes
####> are applicable to all of those.
#### **--farm**

This option specifies the name of the farm to be used in the build process.
8 changes: 6 additions & 2 deletions docs/source/markdown/podman-farm-build.1.md.in
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,10 @@ It does not affect _/etc/resolv.conf_ in the final image.

@@option env.image

@@option farm

This option specifies the name of the farm to be used in the build process.

@@option file

@@option force-rm
Expand Down Expand Up @@ -214,9 +218,9 @@ Build only on farm nodes that match the given platforms.
```
$ podman farm build --local -t name -f /path/to/containerfile .

$ podman farm --farm build myfarm -t name .
$ podman farm build --farm myfarm -t name .

$ podman farm --farm myfarm build --cleanup -t name .
$ podman farm build --farm myfarm --cleanup -t name .

$ podman farm build --platforms arm64,amd64 --cleanup -t name .
```
Expand Down
2 changes: 1 addition & 1 deletion test/farm/001-farm.bats
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ load helpers.bash
empty_farm="empty-farm"
# create an empty farm
run_podman farm create $empty_farm
run_podman farm --farm $empty_farm build -t $iname $PODMAN_TMPDIR
run_podman farm build --farm $empty_farm -t $iname $PODMAN_TMPDIR
assert "$output" =~ "Local builder ready"

# get the system architecture
Expand Down

0 comments on commit bc124dd

Please sign in to comment.