Output names of multiple tags in buildah bud
Buildah currently handles multiple tags when building, but does not report it to the user by default. This reports the tags back to the user. Removed some unused code from commit.go, that would blow up if a user specified AdditionalTags to the commit command, even though this is not exposed to the user currently. In a previous try to fix this, the removed code was causing breakage, and I did not see a real purpose in the code. Fixes: https://github.com/containers/buildah/issues/3084 Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
This commit is contained in:
parent
009c8c7c86
commit
73f2f84595
24
commit.go
24
commit.go
|
@ -341,30 +341,6 @@ func (b *Builder) Commit(ctx context.Context, dest types.ImageReference, options
|
|||
systemContext.OCIInsecureSkipTLSVerify = true
|
||||
systemContext.DockerDaemonInsecureSkipTLSVerify = true
|
||||
}
|
||||
if len(options.AdditionalTags) > 0 {
|
||||
names, err := util.ExpandNames(options.AdditionalTags, "", systemContext, b.store)
|
||||
if err != nil {
|
||||
return imgID, nil, "", err
|
||||
}
|
||||
for _, name := range names {
|
||||
additionalDest, err := docker.Transport.ParseReference(name)
|
||||
if err != nil {
|
||||
return imgID, nil, "", errors.Wrapf(err, "error parsing image name %q as an image reference", name)
|
||||
}
|
||||
insecure, err := checkRegistrySourcesAllows("commit to", additionalDest)
|
||||
if err != nil {
|
||||
return imgID, nil, "", err
|
||||
}
|
||||
if insecure {
|
||||
if systemContext.DockerInsecureSkipTLSVerify == types.OptionalBoolFalse {
|
||||
return imgID, nil, "", errors.Errorf("can't require tls verification on an insecured registry")
|
||||
}
|
||||
systemContext.DockerInsecureSkipTLSVerify = types.OptionalBoolTrue
|
||||
systemContext.OCIInsecureSkipTLSVerify = true
|
||||
systemContext.DockerDaemonInsecureSkipTLSVerify = true
|
||||
}
|
||||
}
|
||||
}
|
||||
logrus.Debugf("committing image with reference %q is allowed by policy", transports.ImageName(dest))
|
||||
|
||||
// Check if the base image is already in the destination and it's some kind of local
|
||||
|
|
|
@ -661,19 +661,31 @@ func (b *Executor) Build(ctx context.Context, stages imagebuilder.Stages) (image
|
|||
fmt.Fprintf(b.out, "[Warning] one or more build args were not consumed: %v\n", unusedList)
|
||||
}
|
||||
|
||||
if len(b.additionalTags) > 0 {
|
||||
if dest, err := b.resolveNameToImageRef(b.output); err == nil {
|
||||
switch dest.Transport().Name() {
|
||||
case is.Transport.Name():
|
||||
img, err := is.Transport.GetStoreImage(b.store, dest)
|
||||
if err != nil {
|
||||
return imageID, ref, errors.Wrapf(err, "error locating just-written image %q", transports.ImageName(dest))
|
||||
}
|
||||
// Add additional tags and print image names recorded in storage
|
||||
if dest, err := b.resolveNameToImageRef(b.output); err == nil {
|
||||
switch dest.Transport().Name() {
|
||||
case is.Transport.Name():
|
||||
img, err := is.Transport.GetStoreImage(b.store, dest)
|
||||
if err != nil {
|
||||
return imageID, ref, errors.Wrapf(err, "error locating just-written image %q", transports.ImageName(dest))
|
||||
}
|
||||
if len(b.additionalTags) > 0 {
|
||||
if err = util.AddImageNames(b.store, "", b.systemContext, img, b.additionalTags); err != nil {
|
||||
return imageID, ref, errors.Wrapf(err, "error setting image names to %v", append(img.Names, b.additionalTags...))
|
||||
}
|
||||
logrus.Debugf("assigned names %v to image %q", img.Names, img.ID)
|
||||
default:
|
||||
}
|
||||
// Report back the caller the tags applied, if any.
|
||||
img, err = is.Transport.GetStoreImage(b.store, dest)
|
||||
if err != nil {
|
||||
return imageID, ref, errors.Wrapf(err, "error locating just-written image %q", transports.ImageName(dest))
|
||||
}
|
||||
for _, name := range img.Names {
|
||||
fmt.Fprintf(b.out, "Successfully tagged %s\n", name)
|
||||
}
|
||||
|
||||
default:
|
||||
if len(b.additionalTags) > 0 {
|
||||
logrus.Warnf("don't know how to add tags to images stored in %q transport", dest.Transport().Name())
|
||||
}
|
||||
}
|
||||
|
|
|
@ -396,6 +396,16 @@ symlink(subdir)"
|
|||
expect_output "${target}-working-container"
|
||||
}
|
||||
|
||||
@test "bud with --tag " {
|
||||
target=scratch-image
|
||||
run_buildah bud --quiet=false --tag test1 --signature-policy ${TESTSDIR}/policy.json -t ${target} ${TESTSDIR}/bud/from-scratch
|
||||
expect_output --substring "Successfully tagged localhost/test1:latest"
|
||||
|
||||
run_buildah bud --quiet=false --tag test1 --tag test2 --signature-policy ${TESTSDIR}/policy.json -t ${target} ${TESTSDIR}/bud/from-scratch
|
||||
expect_output --substring "Successfully tagged localhost/test1:latest"
|
||||
expect_output --substring "Successfully tagged localhost/test2:latest"
|
||||
}
|
||||
|
||||
@test "bud-from-scratch-iid" {
|
||||
target=scratch-image
|
||||
run_buildah bud --iidfile ${TESTDIR}/output.iid --signature-policy ${TESTSDIR}/policy.json -t ${target} ${TESTSDIR}/bud/from-scratch
|
||||
|
|
Loading…
Reference in New Issue