Skip to content

Commit 357f954

Browse files
committed
trt-2163: move ExtractImageFromReleasePayload to payload package
1 parent 0e992ad commit 357f954

File tree

6 files changed

+48
-38
lines changed

6 files changed

+48
-38
lines changed

pkg/monitortests/kubeapiserver/disruptioninclusterapiserver/monitortest.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import (
1313

1414
"github.com/openshift/origin/pkg/monitortestlibrary/disruptionlibrary"
1515
"github.com/openshift/origin/pkg/test/extensions"
16+
"github.com/openshift/origin/test/extended/util/payload"
1617
"k8s.io/apimachinery/pkg/labels"
1718
"k8s.io/apimachinery/pkg/selection"
1819

@@ -319,7 +320,7 @@ func (i *InvariantInClusterDisruption) StartCollection(ctx context.Context, admi
319320

320321
// Extract the openshift-tests image from the release payload
321322
oc := exutil.NewCLIForMonitorTest("default")
322-
i.openshiftTestsImagePullSpec, err = extensions.ExtractImageFromReleasePayload(i.payloadImagePullSpec, "tests", oc)
323+
i.openshiftTestsImagePullSpec, err = payload.ExtractImageFromReleasePayload(i.payloadImagePullSpec, "tests", oc)
323324
if err != nil {
324325
return fmt.Errorf("unable to determine openshift-tests image: %s: %v", i.payloadImagePullSpec, err)
325326
}

pkg/monitortests/network/disruptionpodnetwork/monitortest.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,6 @@ func NewPodNetworkAvalibilityInvariant(info monitortestframework.MonitorTestInit
9191
func (pna *podNetworkAvalibility) PrepareCollection(ctx context.Context, adminRESTConfig *rest.Config, recorder monitorapi.RecorderWriter) error {
9292
deploymentID := uuid.New().String()
9393

94-
// Skip on ROSA TRT-1869
9594
oc := util.NewCLIWithoutNamespace("openshift-tests")
9695
openshiftTestsImagePullSpec, err := GetOpenshiftTestsImagePullSpec(ctx, adminRESTConfig, pna.payloadImagePullSpec, oc)
9796
if err != nil {

pkg/monitortests/network/disruptionpodnetwork/utils.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,17 @@ import (
44
"context"
55
"errors"
66
"fmt"
7-
"github.com/openshift/origin/pkg/test/extensions"
7+
88
"io/ioutil"
99
"os"
1010
"strings"
1111
"time"
1212

1313
"github.com/sirupsen/logrus"
1414

15+
"github.com/openshift/origin/pkg/test/extensions"
1516
exutil "github.com/openshift/origin/test/extended/util"
17+
"github.com/openshift/origin/test/extended/util/payload"
1618
apierrors "k8s.io/apimachinery/pkg/api/errors"
1719
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1820
"k8s.io/client-go/rest"
@@ -33,7 +35,7 @@ func GetOpenshiftTestsImagePullSpec(ctx context.Context, adminRESTConfig *rest.C
3335
// runImageExtract extracts src from specified image to dst
3436

3537
// Extract the openshift-tests image from the release payload
36-
openshiftTestsImagePullSpec, err := extensions.ExtractImageFromReleasePayload(suggestedPayloadImage, "tests", oc)
38+
openshiftTestsImagePullSpec, err := payload.ExtractImageFromReleasePayload(suggestedPayloadImage, "tests", oc)
3739
if err != nil {
3840
logrus.WithError(err).Errorf("unable to determine openshift-tests image through ExtractImageFromReleasePayload: %v", err)
3941
// Now try the wrapper to see if it makes a difference

pkg/test/extensions/provider.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ func NewExternalBinaryProvider(releaseImage, registryAuthfilePath string) (*Exte
5959
return nil, errors.WithMessagef(err, "error creating cache path %s", binDir)
6060
}
6161

62-
releasePayloadImageStream, releaseImage, err := extractReleaseImageStream(binDir, releaseImage, registryAuthfilePath)
62+
releasePayloadImageStream, releaseImage, err := ExtractReleaseImageStream(binDir, releaseImage, registryAuthfilePath)
6363
if err != nil {
6464
return nil, errors.WithMessage(err, "couldn't extract release payload image stream")
6565
}

pkg/test/extensions/util.go

Lines changed: 2 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -231,9 +231,9 @@ func createBinPath(path string) error {
231231
return nil
232232
}
233233

234-
// extractReleaseImageStream extracts image references from the given releaseImage and returns
234+
// ExtractReleaseImageStream extracts image references from the given releaseImage and returns
235235
// an ImageStream object with tags associated with image-references from that payload.
236-
func extractReleaseImageStream(extractPath, releaseImage string,
236+
func ExtractReleaseImageStream(extractPath, releaseImage string,
237237
registryAuthFilePath string) (*imagev1.ImageStream, string, error) {
238238

239239
if _, err := os.Stat(path.Join(extractPath, "image-references")); err != nil {
@@ -271,37 +271,6 @@ func extractReleaseImageStream(extractPath, releaseImage string,
271271
return is, releaseImage, nil
272272
}
273273

274-
// ExtractImageFromReleasePayload extracts the image pull spec for a specific tag from a release payload.
275-
// It returns the image pull spec for the specified tag or an error if the tag is not found.
276-
func ExtractImageFromReleasePayload(releaseImage, imageTag string, oc *util.CLI) (string, error) {
277-
// Create a temporary directory for extraction
278-
tmpDir, err := os.MkdirTemp("", "release-extract")
279-
if err != nil {
280-
return "", fmt.Errorf("failed to create temporary directory: %w", err)
281-
}
282-
defer os.RemoveAll(tmpDir)
283-
284-
registryAuthFilePath, err := DetermineRegistryAuthFilePath(tmpDir, oc)
285-
if err != nil {
286-
return "", fmt.Errorf("failed to determine registry auth file path: %w", err)
287-
}
288-
289-
// Extract the ImageStream from the release payload
290-
imageStream, _, err := extractReleaseImageStream(tmpDir, releaseImage, registryAuthFilePath)
291-
if err != nil {
292-
return "", fmt.Errorf("failed to extract image references from release payload: %w", err)
293-
}
294-
295-
// Find the specified tag in the ImageStream
296-
for _, tag := range imageStream.Spec.Tags {
297-
if tag.Name == imageTag {
298-
return tag.From.Name, nil
299-
}
300-
}
301-
302-
return "", fmt.Errorf("image tag %q not found in release payload %q", imageTag, releaseImage)
303-
}
304-
305274
func DetermineRegistryAuthFilePath(tmpDir string, oc *util.CLI) (string, error) {
306275
// To extract binaries bearing external tests, we must inspect the release
307276
// payload under tests as well as extract content from component images
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package payload
2+
3+
import (
4+
"fmt"
5+
"github.com/openshift/origin/pkg/test/extensions"
6+
"github.com/openshift/origin/test/extended/util"
7+
"os"
8+
)
9+
10+
// ExtractImageFromReleasePayload extracts the image pull spec for a specific tag from a release payload.
11+
// It returns the image pull spec for the specified tag or an error if the tag is not found.
12+
func ExtractImageFromReleasePayload(releaseImage, imageTag string, oc *util.CLI) (string, error) {
13+
// Create a temporary directory for extraction
14+
tmpDir, err := os.MkdirTemp("", "release-extract")
15+
if err != nil {
16+
return "", fmt.Errorf("failed to create temporary directory: %w", err)
17+
}
18+
defer os.RemoveAll(tmpDir)
19+
20+
registryAuthFilePath, err := extensions.DetermineRegistryAuthFilePath(tmpDir, oc)
21+
if err != nil {
22+
return "", fmt.Errorf("failed to determine registry auth file path: %w", err)
23+
}
24+
25+
// Extract the ImageStream from the release payload
26+
imageStream, _, err := extensions.ExtractReleaseImageStream(tmpDir, releaseImage, registryAuthFilePath)
27+
if err != nil {
28+
return "", fmt.Errorf("failed to extract image references from release payload: %w", err)
29+
}
30+
31+
// Find the specified tag in the ImageStream
32+
for _, tag := range imageStream.Spec.Tags {
33+
if tag.Name == imageTag {
34+
return tag.From.Name, nil
35+
}
36+
}
37+
38+
return "", fmt.Errorf("image tag %q not found in release payload %q", imageTag, releaseImage)
39+
}

0 commit comments

Comments
 (0)