summaryrefslogtreecommitdiff
path: root/cmd/podman/pods/create.go
diff options
context:
space:
mode:
authorDaniel J Walsh <dwalsh@redhat.com>2020-09-13 11:54:08 -0400
committerDaniel J Walsh <dwalsh@redhat.com>2020-09-16 07:42:19 -0400
commitb3d6383f25e71748793535733a767c60ccfcbd82 (patch)
tree847b11be7a0587ff338ed45232b889ed359df6c1 /cmd/podman/pods/create.go
parent0d14d7b7152ac7a0856fcbb2bbc0f7238ab182d6 (diff)
downloadpodman-b3d6383f25e71748793535733a767c60ccfcbd82.tar.gz
podman-b3d6383f25e71748793535733a767c60ccfcbd82.tar.bz2
podman-b3d6383f25e71748793535733a767c60ccfcbd82.zip
Fix podman pod create --infra-command and --infra-image
Currently infr-command and --infra-image commands are ignored from the user. This PR instruments them and adds tests for each combination. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Diffstat (limited to 'cmd/podman/pods/create.go')
-rw-r--r--cmd/podman/pods/create.go19
1 files changed, 16 insertions, 3 deletions
diff --git a/cmd/podman/pods/create.go b/cmd/podman/pods/create.go
index 603ddcaca..d8d32b930 100644
--- a/cmd/podman/pods/create.go
+++ b/cmd/podman/pods/create.go
@@ -55,8 +55,8 @@ func init() {
flags.StringVar(&createOptions.CGroupParent, "cgroup-parent", "", "Set parent cgroup for the pod")
flags.BoolVar(&createOptions.Infra, "infra", true, "Create an infra container associated with the pod to share namespaces with")
flags.StringVar(&createOptions.InfraConmonPidFile, "infra-conmon-pidfile", "", "Path to the file that will receive the POD of the infra container's conmon")
- flags.StringVar(&createOptions.InfraImage, "infra-image", containerConfig.Engine.InfraImage, "The image of the infra container to associate with the pod")
- flags.StringVar(&createOptions.InfraCommand, "infra-command", containerConfig.Engine.InfraCommand, "The command to run on the infra container when the pod is started")
+ flags.String("infra-image", containerConfig.Engine.InfraImage, "The image of the infra container to associate with the pod")
+ flags.String("infra-command", containerConfig.Engine.InfraCommand, "The command to run on the infra container when the pod is started")
flags.StringSliceVar(&labelFile, "label-file", []string{}, "Read in a line delimited file of labels")
flags.StringSliceVarP(&labels, "label", "l", []string{}, "Set metadata on pod (default [])")
flags.StringVarP(&createOptions.Name, "name", "n", "", "Assign a name to the pod")
@@ -92,7 +92,6 @@ func create(cmd *cobra.Command, args []string) error {
if cmd.Flag("infra-command").Changed {
return errors.New("cannot set infra-command without an infra container")
}
- createOptions.InfraCommand = ""
if cmd.Flag("infra-image").Changed {
return errors.New("cannot set infra-image without an infra container")
}
@@ -104,6 +103,20 @@ func create(cmd *cobra.Command, args []string) error {
createOptions.Share = nil
} else {
createOptions.Share = strings.Split(share, ",")
+ if cmd.Flag("infra-command").Changed {
+ // Only send content to server side if user changed defaults
+ createOptions.InfraCommand, err = cmd.Flags().GetString("infra-command")
+ if err != nil {
+ return err
+ }
+ }
+ if cmd.Flag("infra-image").Changed {
+ // Only send content to server side if user changed defaults
+ createOptions.InfraImage, err = cmd.Flags().GetString("infra-image")
+ if err != nil {
+ return err
+ }
+ }
}
if cmd.Flag("pod-id-file").Changed {