Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions pkg/release/release.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,10 @@ const (
OcDefaultTries = 5
// OcDefaultRetryDelay is the time between retries
OcDefaultRetryDelay = time.Second * 5
// OcMirrorRetries is the number of times to retry the oc mirror command
OcMirrorRetries = 3
// OcMirrorRetryDelay is the time between oc mirror retries
OcMirrorRetryDelay = time.Second * 30
// QueryPattern formats the image names for a given release
QueryPattern = ".references.spec.tags[] | .name + \" \" + .from.name"
)
Expand All @@ -39,7 +43,7 @@ const (
templateExtractCmd = "oc adm release extract --command=%s --to=%s %s"
templateImageExtract = "oc image extract --path %s:%s --confirm %s"
templateGetMetadata = "oc adm release info %s -o json"
ocMirror = "oc mirror --v2 --config=%s docker://127.0.0.1:%d --workspace=file://%s --src-tls-verify=false --dest-tls-verify=false --parallel-images=4 --parallel-layers=4 --retry-times=10"
ocMirror = "oc mirror --v2 --config=%s docker://127.0.0.1:%d --workspace=file://%s --src-tls-verify=false --dest-tls-verify=false --parallel-images=3 --parallel-layers=4 --retry-times=5"
// ocMirrorDryRun is the command template for running oc mirror in dry-run mode to generate mapping.txt
ocMirrorDryRun = "oc mirror --v2 --config=%s docker://127.0.0.1:%d --workspace=file://%s --src-tls-verify=false --dest-tls-verify=false --dry-run"
)
Expand Down Expand Up @@ -252,8 +256,7 @@ func (r *release) mirrorImages(imageSetFile, blockedImages, additionalImages, op
}

logrus.Debugf("Fetching image from OCP release (%s)", cmd)
result, err := r.execute(cmd)
logrus.Debugf("mirroring result: %s", result)
_, err = retry.Do(OcMirrorRetries, OcMirrorRetryDelay, r.execute, cmd)
if err != nil {
return err
}
Expand Down
4 changes: 2 additions & 2 deletions pkg/release/release_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -118,8 +118,8 @@ var _ = Describe("Test Release", func() {
jsonOutput := `{"metadata":{"version":"4.13.1"}}`
mockExecuter.EXPECT().Execute(metadataCmd).Return(jsonOutput, nil).Times(1)

// Mock oc mirror command failure
mockExecuter.EXPECT().Execute(gomock.Any()).Return("", errors.New("some error")).Times(1)
// Mock oc mirror command failure (retried OcMirrorRetries times)
mockExecuter.EXPECT().Execute(gomock.Any()).Return("", errors.New("some error")).Times(OcMirrorRetries)

err = testRelease.MirrorInstallImages()
Expect(err).To(HaveOccurred())
Expand Down