From 593d0907c5c11e933be7dbdce98022f76183ea3c Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Thu, 9 Dec 2021 09:52:03 -0500 Subject: --hostname should be set when using --pod new:foobar Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2030599 When you create pod, it shares the UTS namespace with Containers. Currently the --hostname is not passed to the pod created when you create a container and pod in the same command. Also fix error message on supported --share flags Signed-off-by: Daniel J Walsh --- cmd/podman/containers/create.go | 8 ++++++-- cmd/podman/containers/run.go | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'cmd') diff --git a/cmd/podman/containers/create.go b/cmd/podman/containers/create.go index 9b53a730f..a17fcaa1c 100644 --- a/cmd/podman/containers/create.go +++ b/cmd/podman/containers/create.go @@ -141,7 +141,7 @@ func create(cmd *cobra.Command, args []string) error { } s.RawImageName = rawImageName - if _, err := createPodIfNecessary(s, cliVals.Net); err != nil { + if _, err := createPodIfNecessary(cmd, s, cliVals.Net); err != nil { return err } @@ -335,7 +335,7 @@ func PullImage(imageName string, cliVals entities.ContainerCreateOptions) (strin // createPodIfNecessary automatically creates a pod when requested. if the pod name // has the form new:ID, the pod ID is created and the name in the spec generator is replaced // with ID. -func createPodIfNecessary(s *specgen.SpecGenerator, netOpts *entities.NetOptions) (*entities.PodCreateReport, error) { +func createPodIfNecessary(cmd *cobra.Command, s *specgen.SpecGenerator, netOpts *entities.NetOptions) (*entities.PodCreateReport, error) { if !strings.HasPrefix(s.Pod, "new:") { return nil, nil } @@ -379,6 +379,10 @@ func createPodIfNecessary(s *specgen.SpecGenerator, netOpts *entities.NetOptions infraOpts := entities.NewInfraContainerCreateOptions() infraOpts.Net = netOpts infraOpts.Quiet = true + infraOpts.Hostname, err = cmd.Flags().GetString("hostname") + if err != nil { + return nil, err + } imageName := config.DefaultInfraImage podGen.InfraImage = imageName podGen.InfraContainerSpec = specgen.NewSpecGenerator(imageName, false) diff --git a/cmd/podman/containers/run.go b/cmd/podman/containers/run.go index 071708b76..9d1b040cc 100644 --- a/cmd/podman/containers/run.go +++ b/cmd/podman/containers/run.go @@ -193,7 +193,7 @@ func run(cmd *cobra.Command, args []string) error { s.RawImageName = rawImageName runOpts.Spec = s - if _, err := createPodIfNecessary(s, cliVals.Net); err != nil { + if _, err := createPodIfNecessary(cmd, s, cliVals.Net); err != nil { return err } -- cgit v1.2.3-54-g00ecf