Skip to content

Commit

Permalink
Don't require engine connection for farm
Browse files Browse the repository at this point in the history
Don't require the need to connect to an engine/podman
machine when doing the farm create, ls, rm, and update
commands.
Connection to the engine is required for the farm build
command.

[NO NEW TESTS NEEDED]

Signed-off-by: Urvashi Mohnani <[email protected]>
  • Loading branch information
umohnani8 committed Jan 29, 2024
1 parent 2ba3605 commit 3136f0f
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 25 deletions.
15 changes: 9 additions & 6 deletions cmd/podman/farm/create.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
"github.com/containers/common/pkg/completion"
"github.com/containers/common/pkg/config"
"github.com/containers/podman/v4/cmd/podman/registry"
"github.com/containers/podman/v4/cmd/podman/validate"
"github.com/spf13/cobra"
"golang.org/x/exp/slices"
)
Expand All @@ -16,12 +17,14 @@ var (
The "podman system connection add --farm" command can be used to add a new connection to a new or existing farm.`

createCommand = &cobra.Command{
Use: "create NAME [CONNECTIONS...]",
Args: cobra.MinimumNArgs(1),
Short: "Create a new farm",
Long: farmCreateDescription,
RunE: create,
ValidArgsFunction: completion.AutocompleteNone,
Use: "create NAME [CONNECTIONS...]",
Args: cobra.MinimumNArgs(1),
Short: "Create a new farm",
Long: farmCreateDescription,
PersistentPreRunE: validate.NoOp,
RunE: create,
PersistentPostRunE: validate.NoOp,
ValidArgsFunction: completion.AutocompleteNone,
Example: `podman farm create myfarm connection1
podman farm create myfarm`,
}
Expand Down
16 changes: 9 additions & 7 deletions cmd/podman/farm/list.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,15 @@ var (
List all available farms. The output of the farms can be filtered
and the output format can be changed to JSON or a user specified Go template.`
lsCommand = &cobra.Command{
Use: "list [options]",
Aliases: []string{"ls"},
Args: validate.NoArgs,
Short: "List all existing farms",
Long: farmLsDescription,
RunE: list,
ValidArgsFunction: completion.AutocompleteNone,
Use: "list [options]",
Aliases: []string{"ls"},
Args: validate.NoArgs,
Short: "List all existing farms",
Long: farmLsDescription,
PersistentPreRunE: validate.NoOp,
RunE: list,
PersistentPostRunE: validate.NoOp,
ValidArgsFunction: completion.AutocompleteNone,
}

// Temporary struct to hold cli values.
Expand Down
15 changes: 9 additions & 6 deletions cmd/podman/farm/remove.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,22 @@ import (
"github.com/containers/common/pkg/config"
"github.com/containers/podman/v4/cmd/podman/common"
"github.com/containers/podman/v4/cmd/podman/registry"
"github.com/containers/podman/v4/cmd/podman/validate"
"github.com/sirupsen/logrus"
"github.com/spf13/cobra"
)

var (
farmRmDescription = `Remove one or more existing farms.`
rmCommand = &cobra.Command{
Use: "remove [options] [FARM...]",
Aliases: []string{"rm"},
Short: "Remove one or more farms",
Long: farmRmDescription,
RunE: rm,
ValidArgsFunction: common.AutoCompleteFarms,
Use: "remove [options] [FARM...]",
Aliases: []string{"rm"},
Short: "Remove one or more farms",
Long: farmRmDescription,
PersistentPreRunE: validate.NoOp,
RunE: rm,
PersistentPostRunE: validate.NoOp,
ValidArgsFunction: common.AutoCompleteFarms,
Example: `podman farm rm myfarm1 myfarm2
podman farm rm --all`,
}
Expand Down
15 changes: 9 additions & 6 deletions cmd/podman/farm/update.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,22 @@ import (
"github.com/containers/common/pkg/config"
"github.com/containers/podman/v4/cmd/podman/common"
"github.com/containers/podman/v4/cmd/podman/registry"
"github.com/containers/podman/v4/cmd/podman/validate"
"github.com/spf13/cobra"
"golang.org/x/exp/slices"
)

var (
farmUpdateDescription = `Update an existing farm by adding a connection, removing a connection, or changing it to the default farm.`
updateCommand = &cobra.Command{
Use: "update [options] FARM",
Short: "Update an existing farm",
Long: farmUpdateDescription,
RunE: farmUpdate,
Args: cobra.ExactArgs(1),
ValidArgsFunction: common.AutoCompleteFarms,
Use: "update [options] FARM",
Short: "Update an existing farm",
Long: farmUpdateDescription,
PersistentPreRunE: validate.NoOp,
RunE: farmUpdate,
PersistentPostRunE: validate.NoOp,
Args: cobra.ExactArgs(1),
ValidArgsFunction: common.AutoCompleteFarms,
Example: `podman farm update --add con1 farm1
podman farm update --remove con2 farm2
podman farm update --default farm3`,
Expand Down

0 comments on commit 3136f0f

Please sign in to comment.