diff options
author | Miloslav Trmač <mitr@redhat.com> | 2018-07-28 04:27:22 +0200 |
---|---|---|
committer | Atomic Bot <atomic-devel@projectatomic.io> | 2018-08-01 18:22:59 +0000 |
commit | 4dab4d97de57759e62bb37ad5d47743e7e0e4b12 (patch) | |
tree | ae8a2825468f6b37be50f7069c1381429beeb2ff | |
parent | 86fb1bf8eb311551626e5877938a7d9d5aee6dac (diff) | |
download | podman-4dab4d97de57759e62bb37ad5d47743e7e0e4b12.tar.gz podman-4dab4d97de57759e62bb37ad5d47743e7e0e4b12.tar.bz2 podman-4dab4d97de57759e62bb37ad5d47743e7e0e4b12.zip |
RFC: Rename Image.PushImage to Image.PushImageToHeuristicDestination
The goal is to be very explicit about which functions try to heuristically
guess what is the expected format of the string. Not quite "shaming"
the users, but making sure they stand out.
RFC:
- Is this at all acceptable? Desirable?
- varlink ExportImage says "destination must have transport type";
should it be using alltransports.ParseImageReference
+ PushImageToReference, then?
(While touching the call in cmd/podman, also remove a commented-out
older version of the call.)
Should not change behavior (but does not add unit tests).
Signed-off-by: Miloslav Trmač <mitr@redhat.com>
Closes: #1176
Approved by: rhatdan
-rw-r--r-- | cmd/podman/push.go | 3 | ||||
-rw-r--r-- | libpod/image/image.go | 5 | ||||
-rw-r--r-- | pkg/varlinkapi/images.go | 4 |
3 files changed, 6 insertions, 6 deletions
diff --git a/cmd/podman/push.go b/cmd/podman/push.go index 74882adb2..4a0286ae8 100644 --- a/cmd/podman/push.go +++ b/cmd/podman/push.go @@ -164,6 +164,5 @@ func pushCmd(c *cli.Context) error { return err } - //return runtime.PushImage(srcName, destName, options) - return newImage.PushImage(getContext(), destName, manifestType, c.String("authfile"), c.String("signature-policy"), writer, c.Bool("compress"), so, &dockerRegistryOptions, forceSecure, nil) + return newImage.PushImageToHeuristicDestination(getContext(), destName, manifestType, c.String("authfile"), c.String("signature-policy"), writer, c.Bool("compress"), so, &dockerRegistryOptions, forceSecure, nil) } diff --git a/libpod/image/image.go b/libpod/image/image.go index 0c070154f..d07412d9c 100644 --- a/libpod/image/image.go +++ b/libpod/image/image.go @@ -514,8 +514,9 @@ func (i *Image) UntagImage(tag string) error { return nil } -// PushImage pushes the given image to a location described by the given path -func (i *Image) PushImage(ctx context.Context, destination, manifestMIMEType, authFile, signaturePolicyPath string, writer io.Writer, forceCompress bool, signingOptions SigningOptions, dockerRegistryOptions *DockerRegistryOptions, forceSecure bool, additionalDockerArchiveTags []reference.NamedTagged) error { +// PushImageToHeuristicDestination pushes the given image to "destination", which is heuristically parsed. +// Use PushImageToReference if the destination is known precisely. +func (i *Image) PushImageToHeuristicDestination(ctx context.Context, destination, manifestMIMEType, authFile, signaturePolicyPath string, writer io.Writer, forceCompress bool, signingOptions SigningOptions, dockerRegistryOptions *DockerRegistryOptions, forceSecure bool, additionalDockerArchiveTags []reference.NamedTagged) error { if destination == "" { return errors.Wrapf(syscall.EINVAL, "destination image name must be specified") } diff --git a/pkg/varlinkapi/images.go b/pkg/varlinkapi/images.go index a129f7099..385c7c1bc 100644 --- a/pkg/varlinkapi/images.go +++ b/pkg/varlinkapi/images.go @@ -348,7 +348,7 @@ func (i *LibpodAPI) PushImage(call ioprojectatomicpodman.VarlinkCall, name, tag so := image.SigningOptions{} - if err := newImage.PushImage(getContext(), destname, "", "", "", nil, false, so, &dockerRegistryOptions, false, nil); err != nil { + if err := newImage.PushImageToHeuristicDestination(getContext(), destname, "", "", "", nil, false, so, &dockerRegistryOptions, false, nil); err != nil { return call.ReplyErrorOccurred(err.Error()) } return call.ReplyPushImage(newImage.ID()) @@ -517,7 +517,7 @@ func (i *LibpodAPI) ExportImage(call ioprojectatomicpodman.VarlinkCall, name, de return err } - if err := newImage.PushImage(getContext(), destination, "", "", "", nil, compress, image.SigningOptions{}, &image.DockerRegistryOptions{}, false, additionalTags); err != nil { + if err := newImage.PushImageToHeuristicDestination(getContext(), destination, "", "", "", nil, compress, image.SigningOptions{}, &image.DockerRegistryOptions{}, false, additionalTags); err != nil { return call.ReplyErrorOccurred(err.Error()) } return call.ReplyExportImage(newImage.ID()) |