Skip to content
8 changes: 5 additions & 3 deletions test/extended/quota/resourcequota.go
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ var _ = g.Describe("[sig-api-machinery][Feature:ResourceQuota]", func() {
o.Expect(err).NotTo(o.HaveOccurred())
})

g.It("when exceed openshift.io/image-tags will ban to create new image references in the project [Skipped:Disconnected]", func() {
g.It("when exceed openshift.io/image-tags will ban to create new image references in the project", func() {
testProject := oc.Namespace()
testResourceQuotaName := "my-image-tag-quota"
clusterAdminKubeClient := oc.AdminKubeClient()
Expand Down Expand Up @@ -256,17 +256,19 @@ var _ = g.Describe("[sig-api-machinery][Feature:ResourceQuota]", func() {
return nil
})
o.Expect(err).NotTo(o.HaveOccurred())
cliImage, _ := exutil.SearchLatestImage(oc, "cli")
toolsImage, _ := exutil.SearchLatestImage(oc, "tools")
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Outdated

images := []struct {
Image string
Tag string
}{
{
Image: "quay.io/openshifttest/hello-openshift@sha256:4200f438cf2e9446f6bcff9d67ceea1f69ed07a2f83363b7fb52529f7ddd8a83",
Image: cliImage,
Tag: "v1",
},
{
Image: "quay.io/openshifttest/base-alpine@sha256:3126e4eed4a3ebd8bf972b2453fa838200988ee07c01b2251e3ea47e4b1f245c",
Image: toolsImage,
Tag: "v2",
},
{
Expand Down
29 changes: 29 additions & 0 deletions test/extended/util/search_latest_image.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package util

import (
"context"
"fmt"

metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

const openshiftPayloadImageNamespace = "openshift"

// SearchLatestImage returns the resolved docker pull spec for imageName:latest in the openshift
// namespace (payload imagestreams such as cli, tools, must-gather). The cluster serves the
// architecture-appropriate image; callers must not hardcode digests.
func SearchLatestImage(oc *CLI, imageName string) (string, error) {
if imageName == "" {
return "", fmt.Errorf("imageName is empty")
}
ctx := context.Background()
istag, err := oc.AdminImageClient().ImageV1().ImageStreamTags(openshiftPayloadImageNamespace).Get(ctx, imageName+":latest", metav1.GetOptions{})
if err != nil {
return "", err
}
ref := istag.Image.DockerImageReference
if ref == "" {
return "", fmt.Errorf("empty DockerImageReference for %s/%s:latest", openshiftPayloadImageNamespace, imageName)
}
return ref, nil
}