本文整理匯總了Golang中github.com/openshift/origin/pkg/image/api.TagEventList類的典型用法代碼示例。如果您正苦於以下問題:Golang TagEventList類的具體用法?Golang TagEventList怎麽用?Golang TagEventList使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了TagEventList類的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: getSharedImageStream
func getSharedImageStream(namespace, name string) *imageapi.ImageStream {
tevList := imageapi.TagEventList{}
for _, imgName := range []string{
baseImageWith1LayerDigest,
baseImageWith2LayersDigest,
childImageWith2LayersDigest,
childImageWith3LayersDigest,
miscImageDigest,
} {
tevList.Items = append(tevList.Items,
imageapi.TagEvent{
DockerImageReference: fmt.Sprintf("172.30.12.34:5000/test/[email protected]%s", imgName),
Image: imgName,
})
}
sharedIS := imageapi.ImageStream{
ObjectMeta: kapi.ObjectMeta{
Namespace: namespace,
Name: name,
},
Status: imageapi.ImageStreamStatus{
Tags: map[string]imageapi.TagEventList{
"latest": tevList,
},
},
}
return &sharedIS
}
示例2: DeletingImageStreamPruneFunc
// DeletingImageStreamPruneFunc returns an ImageStreamPruneFunc that deletes the imageStream.
func DeletingImageStreamPruneFunc(streams client.ImageStreamsNamespacer) ImageStreamPruneFunc {
return func(stream *imageapi.ImageStream, image *imageapi.Image) (*imageapi.ImageStream, error) {
glog.V(4).Infof("Checking if ImageStream %s/%s has references to image in status.tags", stream.Namespace, stream.Name)
for tag, history := range stream.Status.Tags {
glog.V(4).Infof("Checking tag %q", tag)
newHistory := imageapi.TagEventList{}
for i, tagEvent := range history.Items {
glog.V(4).Infof("Checking tag event %d with image %q", i, tagEvent.Image)
if tagEvent.Image != image.Name {
glog.V(4).Infof("Tag event doesn't match deleting image - keeping")
newHistory.Items = append(newHistory.Items, tagEvent)
}
}
stream.Status.Tags[tag] = newHistory
}
glog.V(4).Infof("Updating ImageStream %s/%s", stream.Namespace, stream.Name)
glog.V(5).Infof("Updated stream: %#v", stream)
updatedStream, err := streams.ImageStreams(stream.Namespace).UpdateStatus(stream)
if err != nil {
return nil, err
}
return updatedStream, nil
}
}
示例3: GetSharedImageStream
// GetSharedImageStream returns an image stream having all the testing images tagged in its status under
// latest tag.
func GetSharedImageStream(namespace, name string) *imageapi.ImageStream {
tevList := imageapi.TagEventList{}
for _, imgName := range []string{
BaseImageWith1LayerDigest,
BaseImageWith2LayersDigest,
ChildImageWith2LayersDigest,
ChildImageWith3LayersDigest,
MiscImageDigest,
} {
tevList.Items = append(tevList.Items,
imageapi.TagEvent{
DockerImageReference: MakeDockerImageReference("test", "is", imgName),
Image: imgName,
})
}
sharedIS := imageapi.ImageStream{
ObjectMeta: kapi.ObjectMeta{
Namespace: namespace,
Name: name,
},
Status: imageapi.ImageStreamStatus{
Tags: map[string]imageapi.TagEventList{
"latest": tevList,
},
},
}
return &sharedIS
}
示例4: pruneStreams
// pruneStreams removes references from all image streams' status.tags entries
// to prunable images, invoking streamPruner.PruneImageStream for each updated
// stream.
func pruneStreams(g graph.Graph, imageNodes []*imagegraph.ImageNode, streamPruner ImageStreamPruner) []error {
errs := []error{}
glog.V(4).Infof("Removing pruned image references from streams")
for _, imageNode := range imageNodes {
for _, n := range g.To(imageNode) {
streamNode, ok := n.(*imagegraph.ImageStreamNode)
if !ok {
continue
}
stream := streamNode.ImageStream
updatedTags := sets.NewString()
glog.V(4).Infof("Checking if ImageStream %s/%s has references to image %s in status.tags", stream.Namespace, stream.Name, imageNode.Image.Name)
for tag, history := range stream.Status.Tags {
glog.V(4).Infof("Checking tag %q", tag)
newHistory := imageapi.TagEventList{}
for i, tagEvent := range history.Items {
glog.V(4).Infof("Checking tag event %d with image %q", i, tagEvent.Image)
if tagEvent.Image != imageNode.Image.Name {
glog.V(4).Infof("Tag event doesn't match deleted image - keeping")
newHistory.Items = append(newHistory.Items, tagEvent)
} else {
glog.V(4).Infof("Tag event matches deleted image - removing reference")
updatedTags.Insert(tag)
}
}
if len(newHistory.Items) == 0 {
glog.V(4).Infof("Removing tag %q from status.tags of ImageStream %s/%s", tag, stream.Namespace, stream.Name)
delete(stream.Status.Tags, tag)
} else {
stream.Status.Tags[tag] = newHistory
}
}
updatedStream, err := streamPruner.PruneImageStream(stream, imageNode.Image, updatedTags.List())
if err != nil {
errs = append(errs, fmt.Errorf("error pruning image from stream: %v", err))
continue
}
streamNode.ImageStream = updatedStream
}
}
glog.V(4).Infof("Done removing pruned image references from streams")
return errs
}