Merge pull request #843 from baude/kpod_tag
cmd/kpod/tag.go: Do not assume docker.io for tagging
This commit is contained in:
commit
b5ed8b34c0
2 changed files with 57 additions and 7 deletions
|
@ -62,17 +62,17 @@ func addImageNames(store storage.Store, image *storage.Image, addNames []string)
|
||||||
func expandedTags(tags []string) ([]string, error) {
|
func expandedTags(tags []string) ([]string, error) {
|
||||||
expandedNames := []string{}
|
expandedNames := []string{}
|
||||||
for _, tag := range tags {
|
for _, tag := range tags {
|
||||||
name, err := reference.ParseNormalizedNamed(tag)
|
var labelName string
|
||||||
|
name, err := reference.Parse(tag)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errors.Wrapf(err, "error parsing tag %q", name)
|
return nil, errors.Wrapf(err, "error parsing tag %q", name)
|
||||||
}
|
}
|
||||||
|
if _, ok := name.(reference.NamedTagged); ok {
|
||||||
name = reference.TagNameOnly(name)
|
labelName = name.String()
|
||||||
newTag := ""
|
} else {
|
||||||
if tagged, ok := name.(reference.NamedTagged); ok {
|
labelName = name.String() + ":latest"
|
||||||
newTag = tagged.Tag()
|
|
||||||
}
|
}
|
||||||
expandedNames = append(expandedNames, name.Name()+":"+newTag)
|
expandedNames = append(expandedNames, labelName)
|
||||||
}
|
}
|
||||||
return expandedNames, nil
|
return expandedNames, nil
|
||||||
}
|
}
|
||||||
|
|
50
test/tag.bats
Normal file
50
test/tag.bats
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
#!/usr/bin/env bats
|
||||||
|
|
||||||
|
load helpers
|
||||||
|
|
||||||
|
|
||||||
|
IMAGE="docker.io/library/alpine:latest"
|
||||||
|
ROOT="$TESTDIR/crio"
|
||||||
|
RUNROOT="$TESTDIR/crio-run"
|
||||||
|
KPOD_OPTIONS="--root $ROOT --runroot $RUNROOT --storage-driver vfs"
|
||||||
|
|
||||||
|
function teardown() {
|
||||||
|
cleanup_test
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "kpod tag with shortname:latest" {
|
||||||
|
run ${KPOD_BINARY} ${KPOD_OPTIONS} pull $IMAGE
|
||||||
|
echo "$output"
|
||||||
|
[ "$status" -eq 0 ]
|
||||||
|
run ${KPOD_BINARY} ${KPOD_OPTIONS} tag $IMAGE foobar:latest
|
||||||
|
[ "$status" -eq 0 ]
|
||||||
|
run ${KPOD_BINARY} ${KPOD_OPTIONS} inspect foobar:latest
|
||||||
|
echo "$output"
|
||||||
|
[ "$status" -eq 0 ]
|
||||||
|
run ${KPOD_BINARY} ${KPOD_OPTIONS} rmi foobar:latest
|
||||||
|
[ "$status" -eq 0 ]
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "kpod tag with shortname" {
|
||||||
|
run ${KPOD_BINARY} ${KPOD_OPTIONS} pull $IMAGE
|
||||||
|
echo "$output"
|
||||||
|
[ "$status" -eq 0 ]
|
||||||
|
run ${KPOD_BINARY} ${KPOD_OPTIONS} tag $IMAGE foobar
|
||||||
|
run ${KPOD_BINARY} ${KPOD_OPTIONS} inspect foobar:latest
|
||||||
|
echo "$output"
|
||||||
|
[ "$status" -eq 0 ]
|
||||||
|
run ${KPOD_BINARY} ${KPOD_OPTIONS} rmi foobar:latest
|
||||||
|
[ "$status" -eq 0 ]
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "kpod tag with shortname:tag" {
|
||||||
|
run ${KPOD_BINARY} ${KPOD_OPTIONS} pull $IMAGE
|
||||||
|
echo "$output"
|
||||||
|
[ "$status" -eq 0 ]
|
||||||
|
run ${KPOD_BINARY} ${KPOD_OPTIONS} tag $IMAGE foobar:v
|
||||||
|
run ${KPOD_BINARY} ${KPOD_OPTIONS} inspect foobar:v
|
||||||
|
echo "$output"
|
||||||
|
[ "$status" -eq 0 ]
|
||||||
|
run ${KPOD_BINARY} ${KPOD_OPTIONS} rmi foobar:v
|
||||||
|
[ "$status" -eq 0 ]
|
||||||
|
}
|
Loading…
Reference in a new issue