summaryrefslogtreecommitdiff
path: root/pkg
diff options
context:
space:
mode:
authorDaniel J Walsh <dwalsh@redhat.com>2021-01-04 13:31:57 -0500
committerDaniel J Walsh <dwalsh@redhat.com>2021-01-12 17:38:32 -0500
commita6046dceeff21bbeea71c0ab5c3d78ff931aa019 (patch)
treedc468234187ffb7c1c1eff0133d237babbea1b8b /pkg
parent3ff8f2765129b4edd7f8902cf1605db4fdabf034 (diff)
downloadpodman-a6046dceeff21bbeea71c0ab5c3d78ff931aa019.tar.gz
podman-a6046dceeff21bbeea71c0ab5c3d78ff931aa019.tar.bz2
podman-a6046dceeff21bbeea71c0ab5c3d78ff931aa019.zip
Remove the ability to use [name:tag] in podman load command
Docker does not support this, and it is confusing what to do if the image has more then one tag. We are dropping support for this in podman 3.0 Fixes: https://github.com/containers/podman/issues/7387 Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Diffstat (limited to 'pkg')
-rw-r--r--pkg/api/handlers/libpod/images.go15
-rw-r--r--pkg/api/server/register_images.go4
-rw-r--r--pkg/bindings/images/images.go11
-rw-r--r--pkg/bindings/test/common_test.go2
-rw-r--r--pkg/bindings/test/images_test.go14
-rw-r--r--pkg/domain/entities/images.go2
-rw-r--r--pkg/domain/infra/abi/images.go14
-rw-r--r--pkg/domain/infra/tunnel/images.go7
8 files changed, 8 insertions, 61 deletions
diff --git a/pkg/api/handlers/libpod/images.go b/pkg/api/handlers/libpod/images.go
index b2b93de17..5b15527b7 100644
--- a/pkg/api/handlers/libpod/images.go
+++ b/pkg/api/handlers/libpod/images.go
@@ -353,20 +353,7 @@ func ImagesLoad(w http.ResponseWriter, r *http.Request) {
utils.Error(w, "Something went wrong.", http.StatusInternalServerError, errors.Wrap(err, "unable to load image"))
return
}
- split := strings.Split(loadedImage, ",")
- newImage, err := runtime.ImageRuntime().NewFromLocal(split[0])
- if err != nil {
- utils.InternalServerError(w, err)
- return
- }
- // TODO this should go into libpod proper at some point.
- if len(query.Reference) > 0 {
- if err := newImage.TagImage(query.Reference); err != nil {
- utils.InternalServerError(w, err)
- return
- }
- }
- utils.WriteResponse(w, http.StatusOK, entities.ImageLoadReport{Names: split})
+ utils.WriteResponse(w, http.StatusOK, entities.ImageLoadReport{Names: strings.Split(loadedImage, ",")})
}
func ImagesImport(w http.ResponseWriter, r *http.Request) {
diff --git a/pkg/api/server/register_images.go b/pkg/api/server/register_images.go
index 7e6de8783..8d0c0800b 100644
--- a/pkg/api/server/register_images.go
+++ b/pkg/api/server/register_images.go
@@ -797,10 +797,6 @@ func (s *APIServer) registerImagesHandlers(r *mux.Router) error {
// summary: Load image
// description: Load an image (oci-archive or docker-archive) stream.
// parameters:
- // - in: query
- // name: reference
- // description: "Optional Name[:TAG] for the image"
- // type: string
// - in: formData
// name: upload
// description: tarball of container image
diff --git a/pkg/bindings/images/images.go b/pkg/bindings/images/images.go
index ecdd1f553..ae6962c8c 100644
--- a/pkg/bindings/images/images.go
+++ b/pkg/bindings/images/images.go
@@ -113,20 +113,13 @@ func History(ctx context.Context, nameOrID string, options *HistoryOptions) ([]*
return history, response.Process(&history)
}
-func Load(ctx context.Context, r io.Reader, options *LoadOptions) (*entities.ImageLoadReport, error) {
- if options == nil {
- options = new(LoadOptions)
- }
+func Load(ctx context.Context, r io.Reader) (*entities.ImageLoadReport, error) {
var report entities.ImageLoadReport
conn, err := bindings.GetClient(ctx)
if err != nil {
return nil, err
}
- params, err := options.ToParams()
- if err != nil {
- return nil, err
- }
- response, err := conn.DoRequest(r, http.MethodPost, "/images/load", params, nil)
+ response, err := conn.DoRequest(r, http.MethodPost, "/images/load", nil, nil)
if err != nil {
return nil, err
}
diff --git a/pkg/bindings/test/common_test.go b/pkg/bindings/test/common_test.go
index 232d7136f..c2b1347d2 100644
--- a/pkg/bindings/test/common_test.go
+++ b/pkg/bindings/test/common_test.go
@@ -182,7 +182,7 @@ func (b *bindingTest) RestoreImagesFromCache() {
}
}
func (b *bindingTest) restoreImageFromCache(i testImage) {
- p := b.runPodman([]string{"load", "-i", filepath.Join(ImageCacheDir, i.tarballName), i.name})
+ p := b.runPodman([]string{"load", "-i", filepath.Join(ImageCacheDir, i.tarballName)})
p.Wait(45)
}
diff --git a/pkg/bindings/test/images_test.go b/pkg/bindings/test/images_test.go
index c6b9c20f9..81959e813 100644
--- a/pkg/bindings/test/images_test.go
+++ b/pkg/bindings/test/images_test.go
@@ -219,7 +219,7 @@ var _ = Describe("Podman images", func() {
f, err := os.Open(filepath.Join(ImageCacheDir, alpine.tarballName))
defer f.Close()
Expect(err).To(BeNil())
- names, err := images.Load(bt.conn, f, nil)
+ names, err := images.Load(bt.conn, f)
Expect(err).To(BeNil())
Expect(names.Names[0]).To(Equal(alpine.name))
exists, err = images.Exists(bt.conn, alpine.name)
@@ -234,14 +234,9 @@ var _ = Describe("Podman images", func() {
exists, err = images.Exists(bt.conn, alpine.name)
Expect(err).To(BeNil())
Expect(exists).To(BeFalse())
- newName := "quay.io/newname:fizzle"
- options := new(images.LoadOptions).WithReference(newName)
- names, err = images.Load(bt.conn, f, options)
+ names, err = images.Load(bt.conn, f)
Expect(err).To(BeNil())
Expect(names.Names[0]).To(Equal(alpine.name))
- exists, err = images.Exists(bt.conn, newName)
- Expect(err).To(BeNil())
- Expect(exists).To(BeTrue())
// load with a bad repo name should trigger a 500
f, err = os.Open(filepath.Join(ImageCacheDir, alpine.tarballName))
@@ -251,11 +246,6 @@ var _ = Describe("Podman images", func() {
exists, err = images.Exists(bt.conn, alpine.name)
Expect(err).To(BeNil())
Expect(exists).To(BeFalse())
- options = new(images.LoadOptions).WithReference("quay.io/newName:fizzle")
- _, err = images.Load(bt.conn, f, options)
- Expect(err).ToNot(BeNil())
- code, _ := bindings.CheckResponseCode(err)
- Expect(code).To(BeNumerically("==", http.StatusInternalServerError))
})
It("Export Image", func() {
diff --git a/pkg/domain/entities/images.go b/pkg/domain/entities/images.go
index d5f88502a..0805152c3 100644
--- a/pkg/domain/entities/images.go
+++ b/pkg/domain/entities/images.go
@@ -256,8 +256,6 @@ type ImageInspectReport struct {
}
type ImageLoadOptions struct {
- Name string
- Tag string
Input string
Quiet bool
SignaturePolicy string
diff --git a/pkg/domain/infra/abi/images.go b/pkg/domain/infra/abi/images.go
index 3487dc3f4..1c233d9d5 100644
--- a/pkg/domain/infra/abi/images.go
+++ b/pkg/domain/infra/abi/images.go
@@ -453,19 +453,7 @@ func (ir *ImageEngine) Load(ctx context.Context, opts entities.ImageLoadOptions)
if err != nil {
return nil, err
}
- names := strings.Split(name, ",")
- if len(names) <= 1 {
- newImage, err := ir.Libpod.ImageRuntime().NewFromLocal(name)
- if err != nil {
- return nil, errors.Wrap(err, "image loaded but no additional tags were created")
- }
- if len(opts.Name) > 0 {
- if err := newImage.TagImage(fmt.Sprintf("%s:%s", opts.Name, opts.Tag)); err != nil {
- return nil, errors.Wrapf(err, "error adding %q to image %q", opts.Name, newImage.InputName)
- }
- }
- }
- return &entities.ImageLoadReport{Names: names}, nil
+ return &entities.ImageLoadReport{Names: strings.Split(name, ",")}, nil
}
func (ir *ImageEngine) Import(ctx context.Context, opts entities.ImageImportOptions) (*entities.ImageImportReport, error) {
diff --git a/pkg/domain/infra/tunnel/images.go b/pkg/domain/infra/tunnel/images.go
index fba60235e..8ab832599 100644
--- a/pkg/domain/infra/tunnel/images.go
+++ b/pkg/domain/infra/tunnel/images.go
@@ -215,12 +215,7 @@ func (ir *ImageEngine) Load(ctx context.Context, opts entities.ImageLoadOptions)
if fInfo.IsDir() {
return nil, errors.Errorf("remote client supports archives only but %q is a directory", opts.Input)
}
- ref := opts.Name
- if len(opts.Tag) > 0 {
- ref += ":" + opts.Tag
- }
- options := new(images.LoadOptions).WithReference(ref)
- return images.Load(ir.ClientCtx, f, options)
+ return images.Load(ir.ClientCtx, f)
}
func (ir *ImageEngine) Import(ctx context.Context, opts entities.ImageImportOptions) (*entities.ImageImportReport, error) {