Created
November 13, 2015 19:30
-
-
Save ncdc/736df88061bc7bc17470 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/pkg/image/registry/imagestream/strategy.go b/pkg/image/registry/imagestream/strategy.go | |
index 22063a1..f728b08 100644 | |
--- a/pkg/image/registry/imagestream/strategy.go | |
+++ b/pkg/image/registry/imagestream/strategy.go | |
@@ -4,6 +4,7 @@ import ( | |
"fmt" | |
"strings" | |
+ "github.com/docker/distribution/digest" | |
"github.com/golang/glog" | |
kapi "k8s.io/kubernetes/pkg/api" | |
kerrors "k8s.io/kubernetes/pkg/api/errors" | |
@@ -229,19 +230,30 @@ func tagReferenceToTagEvent(stream *api.ImageStream, tagRef api.TagReference, ta | |
}, nil | |
case "ImageStreamImage": | |
- ref, err := api.DockerImageReferenceForStream(stream) | |
- if err != nil { | |
- return nil, err | |
+ var event *api.TagEvent | |
+ // code borrowed from imagestreamimage/rest.go | |
+ resolvedIDs := sets.NewString() | |
+ for _, history := range stream.Status.Tags { | |
+ for _, tagging := range history.Items { | |
+ if d, err := digest.ParseDigest(tagging.Image); err == nil { | |
+ if strings.HasPrefix(d.Hex(), tagOrID) || strings.HasPrefix(tagging.Image, tagOrID) { | |
+ event = &tagging | |
+ resolvedIDs.Insert(tagging.Image) | |
+ } | |
+ continue | |
+ } | |
+ if strings.HasPrefix(tagging.Image, tagOrID) { | |
+ event = &tagging | |
+ resolvedIDs.Insert(tagging.Image) | |
+ } | |
+ } | |
} | |
- | |
- resolvedIDs := api.ResolveImageID(stream, tagOrID) | |
switch len(resolvedIDs) { | |
case 1: | |
- ref.ID = resolvedIDs.List()[0] | |
return &api.TagEvent{ | |
Created: unversioned.Now(), | |
- DockerImageReference: ref.String(), | |
- Image: ref.ID, | |
+ DockerImageReference: event.DockerImageReference, | |
+ Image: event.Image, | |
}, nil | |
case 0: | |
return nil, fmt.Errorf("no images match the prefix %q", tagOrID) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment