@@ -15,7 +15,6 @@ import (
1515 "k8s.io/apiserver/pkg/storage/names"
1616 "k8s.io/kubernetes/test/e2e/framework"
1717
18- "github.com/openshift/origin/test/extended/testdata"
1918 exutil "github.com/openshift/origin/test/extended/util"
2019)
2120
@@ -547,10 +546,34 @@ var _ = g.Describe("[sig-cli] oc adm", func() {
547546 })
548547
549548 g .It ("release extract image-references" , func () {
550- expected := string (testdata .MustAsset ("test/extended/testdata/cli/test-release-image-references.json" ))
551- out , err := oc .Run ("adm" , "release" , "extract" ).Args ("--file" , "image-references" , "quay.io/openshift-release-dev/ocp-release:4.13.0-rc.0-x86_64" ).Output ()
552- o .Expect (err ).NotTo (o .HaveOccurred ())
553- o .Expect (out ).To (o .Equal (expected ))
549+ payloadImage , err := oc .AsAdmin ().Run ("get" ).Args ("clusterversion" , "version" , "-o" , "jsonpath={.status.desired.image}" ).Output ()
550+ o .Expect (err ).NotTo (o .HaveOccurred (), "Failed to get current payload image from clusterversion" )
551+ payloadImage = strings .TrimSpace (payloadImage )
552+ o .Expect (payloadImage ).NotTo (o .BeEmpty ())
553+ var out string
554+ cleanup , regArgs , prepErr := exutil .PrepareImagePullSecretAndCABundle (ocns )
555+ if cleanup != nil {
556+ defer cleanup ()
557+ }
558+ if prepErr == nil {
559+ args := append ([]string {"--file" , "image-references" }, regArgs ... )
560+ args = append (args , payloadImage )
561+ out , err = oc .AsAdmin ().Run ("adm" , "release" , "extract" ).Args (args ... ).Output ()
562+ } else {
563+ err = prepErr
564+ }
565+ if err != nil {
566+ ctx := context .Background ()
567+ isHyperShift , hsErr := exutil .IsHypershift (ctx , oc .AdminConfigClient ())
568+ o .Expect (hsErr ).NotTo (o .HaveOccurred ())
569+ if isHyperShift {
570+ g .Skip ("Skipping on HyperShift: image extraction requires external outbound access to registry" )
571+ }
572+ o .Expect (err ).NotTo (o .HaveOccurred (), "oc adm release extract failed on a standard cluster" )
573+ }
574+ o .Expect (out ).To (o .ContainSubstring (`"kind": "ImageStream"` ))
575+ o .Expect (out ).To (o .ContainSubstring (`"apiVersion": "image.openshift.io/v1"` ))
576+ o .Expect (out ).To (o .MatchRegexp (`"name": ".*"` ), "Output should contain a valid name field" )
554577 })
555578
556579 // TODO (soltysh): sync with Standa and figure out if we can get these
0 commit comments