diff options
author | Daniel J Walsh <dwalsh@redhat.com> | 2018-01-23 21:12:28 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-23 21:12:28 -0500 |
commit | 2803435624d21946d83b52db090f53996807e0bf (patch) | |
tree | e7a85b99012f2bab229af52bcb0bea04f61200a1 /cmd/podman | |
parent | dd4e6920c2f418b479e1cadd74ab4d5d6985cf04 (diff) | |
parent | 49ec9b2e3e989413adafffbe023bb1729495ad88 (diff) | |
download | podman-2803435624d21946d83b52db090f53996807e0bf.tar.gz podman-2803435624d21946d83b52db090f53996807e0bf.tar.bz2 podman-2803435624d21946d83b52db090f53996807e0bf.zip |
Merge pull request #256 from baude/imageperf
Streamline image resolution
Diffstat (limited to 'cmd/podman')
-rw-r--r-- | cmd/podman/create.go | 30 |
1 files changed, 8 insertions, 22 deletions
diff --git a/cmd/podman/create.go b/cmd/podman/create.go index 80cb7f432..e0825566a 100644 --- a/cmd/podman/create.go +++ b/cmd/podman/create.go @@ -370,10 +370,13 @@ func exposedPorts(c *cli.Context, imageExposedPorts map[string]struct{}) (map[na // default container runtime data out of it. imageData returns the data // to the caller. Example Data: Entrypoint, Env, WorkingDir, Labels ... func imageData(c *cli.Context, runtime *libpod.Runtime, image string) (string, string, *libpod.ImageData, error) { - var err error + var ( + err error + imageName, imageID string + ) // Deal with the image after all the args have been checked createImage := runtime.NewImage(image) - createImage.LocalName, _ = createImage.GetLocalImageName() + imageName, imageID, _ = createImage.GetLocalImageName() if createImage.LocalName == "" { // The image wasnt found by the user input'd name or its fqname // Pull the image @@ -384,31 +387,14 @@ func imageData(c *cli.Context, runtime *libpod.Runtime, image string) (string, s createImage.Pull(writer) } - var imageName string - if createImage.LocalName != "" { - nameIsID, err := runtime.IsImageID(createImage.LocalName) - if err != nil { - return "", "", nil, err - } - if nameIsID { - // If the input from the user is an ID, then we need to get the image - // name for cstorage - createImage.LocalName, err = createImage.GetNameByID() - if err != nil { - return "", "", nil, err - } - } - imageName = createImage.LocalName - } else { + createImage.LocalName = imageName + if imageName == "" { imageName, err = createImage.GetFQName() + _, imageID, _ = createImage.GetLocalImageName() } if err != nil { return "", "", nil, err } - imageID, err := createImage.GetImageID() - if err != nil { - return "", "", nil, err - } storageImage, err := runtime.GetImage(imageName) if err != nil { return "", "", nil, errors.Wrapf(err, "error getting storage image %q", image) |