mirror of
https://github.com/containers/podman.git
synced 2025-12-09 07:09:03 +08:00
Migrate podman inspect and tag to image library
Signed-off-by: baude <bbaude@redhat.com> Closes: #525 Approved by: baude
This commit is contained in:
@@ -180,7 +180,7 @@ func createCmd(c *cli.Context) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
data, err := libpod.GetImageData(newImage)
|
||||
data, err := newImage.Inspect()
|
||||
createConfig, err := parseCreateOpts(c, runtime, newImage.Names()[0], data)
|
||||
if err != nil {
|
||||
return err
|
||||
|
||||
@@ -133,7 +133,7 @@ func iterateInput(c *cli.Context, args []string, runtime *libpod.Runtime, inspec
|
||||
inspectError = errors.Wrapf(err, "error getting image %q", input)
|
||||
break
|
||||
}
|
||||
data, err = libpod.GetImageData(image)
|
||||
data, err = image.Inspect()
|
||||
if err != nil {
|
||||
inspectError = errors.Wrapf(err, "error parsing image data %q", image.ID())
|
||||
break
|
||||
@@ -146,7 +146,7 @@ func iterateInput(c *cli.Context, args []string, runtime *libpod.Runtime, inspec
|
||||
inspectError = errors.Wrapf(err, "error getting image %q", input)
|
||||
break
|
||||
}
|
||||
data, err = libpod.GetImageData(image)
|
||||
data, err = image.Inspect()
|
||||
if err != nil {
|
||||
inspectError = errors.Wrapf(err, "error parsing image data %q", image.ID())
|
||||
break
|
||||
|
||||
@@ -54,7 +54,7 @@ func runCmd(c *cli.Context) error {
|
||||
rtc := runtime.GetConfig()
|
||||
newImage, err := runtime.ImageRuntime().New(c.Args()[0], rtc.SignaturePolicyPath, "", os.Stderr, nil, image.SigningOptions{})
|
||||
|
||||
data, err := libpod.GetImageData(newImage)
|
||||
data, err := newImage.Inspect()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/containers/image/docker/reference"
|
||||
"github.com/containers/storage"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/projectatomic/libpod/libpod"
|
||||
"github.com/urfave/cli"
|
||||
)
|
||||
|
||||
@@ -30,51 +27,15 @@ func tagCmd(c *cli.Context) error {
|
||||
}
|
||||
defer runtime.Shutdown(false)
|
||||
|
||||
newImage := runtime.NewImage(args[0])
|
||||
newImage.GetLocalImageName()
|
||||
|
||||
img, err := runtime.GetImage(newImage.LocalName)
|
||||
newImage, err := runtime.ImageRuntime().NewFromLocal(args[0])
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if img == nil {
|
||||
return errors.New("null image")
|
||||
}
|
||||
err = addImageNames(runtime, img, args[1:])
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "error adding names %v to image %q", args[1:], args[0])
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func addImageNames(runtime *libpod.Runtime, image *storage.Image, addNames []string) error {
|
||||
// Add tags to the names if applicable
|
||||
names, err := expandedTags(addNames)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
for _, name := range names {
|
||||
if err := runtime.TagImage(image, name); err != nil {
|
||||
return errors.Wrapf(err, "error adding name (%v) to image %q", name, image.ID)
|
||||
for _, tagName := range args[1:] {
|
||||
if err := newImage.TagImage(tagName); err != nil {
|
||||
return errors.Wrapf(err, "error adding '%s' to image %q", tagName, newImage.InputName)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func expandedTags(tags []string) ([]string, error) {
|
||||
expandedNames := []string{}
|
||||
for _, tag := range tags {
|
||||
var labelName string
|
||||
name, err := reference.Parse(tag)
|
||||
if err != nil {
|
||||
return nil, errors.Wrapf(err, "error parsing tag %q", name)
|
||||
}
|
||||
if _, ok := name.(reference.NamedTagged); ok {
|
||||
labelName = name.String()
|
||||
} else {
|
||||
labelName = name.String() + ":latest"
|
||||
}
|
||||
expandedNames = append(expandedNames, labelName)
|
||||
}
|
||||
return expandedNames, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user