diff options
author | Matthew Heon <matthew.heon@pm.me> | 2019-04-15 14:19:55 -0400 |
---|---|---|
committer | Matthew Heon <matthew.heon@pm.me> | 2019-05-01 10:16:23 -0400 |
commit | 71f65ab07f0e96d59ba3836c176f9aa5e7330276 (patch) | |
tree | 18c085629f33d2076f17f8044187deb3feef407b /pkg | |
parent | 4540458a5e2809d2ecc2a1c6e67e9752529c1126 (diff) | |
download | podman-71f65ab07f0e96d59ba3836c176f9aa5e7330276.tar.gz podman-71f65ab07f0e96d59ba3836c176f9aa5e7330276.tar.bz2 podman-71f65ab07f0e96d59ba3836c176f9aa5e7330276.zip |
Always pass pod into MakeContainerConfig
Play kube was passing the pod, but CreateConfig was not. Unify it
so they both do, so we can remove some unnecessary duplicate
lookup code.
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
Diffstat (limited to 'pkg')
-rw-r--r-- | pkg/spec/containerconfig.go | 7 | ||||
-rw-r--r-- | pkg/spec/createconfig.go | 10 |
2 files changed, 9 insertions, 8 deletions
diff --git a/pkg/spec/containerconfig.go b/pkg/spec/containerconfig.go index 775a2042d..87c1b5155 100644 --- a/pkg/spec/containerconfig.go +++ b/pkg/spec/containerconfig.go @@ -3,11 +3,18 @@ package createconfig import ( "github.com/containers/libpod/libpod" spec "github.com/opencontainers/runtime-spec/specs-go" + "github.com/pkg/errors" ) // MakeContainerConfig generates all configuration necessary to start a // container with libpod from a completed CreateConfig struct. func (config *CreateConfig) MakeContainerConfig(runtime *libpod.Runtime, pod *libpod.Pod) (*spec.Spec, []libpod.CtrCreateOption, error) { + if config.Pod != "" && pod == nil { + return nil, nil, errors.Wrapf(libpod.ErrInvalidArg, "pod was specified but no pod passed") + } else if config.Pod == "" && pod != nil { + return nil, nil, errors.Wrapf(libpod.ErrInvalidArg, "pod was given but no pod is specified") + } + runtimeSpec, namedVolumes, err := config.createConfigToOCISpec(runtime) if err != nil { return nil, nil, err diff --git a/pkg/spec/createconfig.go b/pkg/spec/createconfig.go index d2ae99de6..80c7b586c 100644 --- a/pkg/spec/createconfig.go +++ b/pkg/spec/createconfig.go @@ -408,16 +408,10 @@ func (c *CreateConfig) getContainerCreateOptions(runtime *libpod.Runtime, pod *l options = append(options, libpod.WithSystemd()) } if c.Name != "" { - logrus.Debugf("appending name %s", c.Name) + logrus.Debugf("setting container name %s", c.Name) options = append(options, libpod.WithName(c.Name)) } - if c.Pod != "" || pod != nil { - if pod == nil { - pod, err = runtime.LookupPod(c.Pod) - if err != nil { - return nil, errors.Wrapf(err, "unable to add container to pod %s", c.Pod) - } - } + if c.Pod != "" { logrus.Debugf("adding container to pod %s", c.Pod) options = append(options, runtime.WithPod(pod)) } |