diff --git a/pkg/cli/admin/release/extract.go b/pkg/cli/admin/release/extract.go index c00b003467..90541deb38 100644 --- a/pkg/cli/admin/release/extract.go +++ b/pkg/cli/admin/release/extract.go @@ -107,7 +107,8 @@ type ExtractOptions struct { Output string - From string + FromDir string + From string Tools bool Command string @@ -193,6 +194,7 @@ func (o *ExtractOptions) Run() error { return err } opts := extract.NewOptions(genericclioptions.IOStreams{Out: o.Out, ErrOut: o.ErrOut}) + opts.ParallelOptions = o.ParallelOptions opts.SecurityOptions = o.SecurityOptions opts.FileDir = o.FileDir diff --git a/pkg/cli/admin/release/mirror.go b/pkg/cli/admin/release/mirror.go index 93dcbd0fc2..dfb1c0b2a8 100644 --- a/pkg/cli/admin/release/mirror.go +++ b/pkg/cli/admin/release/mirror.go @@ -145,7 +145,7 @@ func NewMirror(f kcmdutil.Factory, parentName string, streams genericclioptions. flags.StringVar(&o.From, "from", o.From, "Image containing the release payload.") flags.StringVar(&o.To, "to", o.To, "An image repository to push to.") flags.StringVar(&o.ToImageStream, "to-image-stream", o.ToImageStream, "An image stream to tag images into.") - flags.StringVar(&o.FromDir, "from-dir", o.ToDir, "A directory to import images from.") + flags.StringVar(&o.FromDir, "from-dir", o.FromDir, "A directory to import images from.") flags.StringVar(&o.ToDir, "to-dir", o.ToDir, "A directory to export images to.") flags.BoolVar(&o.ToMirror, "to-mirror", o.ToMirror, "Output the mirror mappings instead of mirroring.") flags.BoolVar(&o.DryRun, "dry-run", o.DryRun, "Display information about the mirror without actually executing it.") @@ -464,11 +464,13 @@ func (o *MirrorOptions) Run() error { // load image references buf := &bytes.Buffer{} extractOpts := NewExtractOptions(genericclioptions.IOStreams{Out: buf, ErrOut: o.ErrOut}, true) + extractOpts.ParallelOptions = o.ParallelOptions extractOpts.SecurityOptions = o.SecurityOptions extractOpts.ImageMetadataCallback = func(m *extract.Mapping, dgst, contentDigest digest.Digest, config *dockerv1client.DockerImageConfig) { releaseDigest = contentDigest.String() verifier.Verify(dgst, contentDigest) } + extractOpts.FileDir = o.FromDir extractOpts.From = o.From extractOpts.File = "image-references" if err := extractOpts.Run(); err != nil { @@ -728,6 +730,7 @@ func (o *MirrorOptions) Run() error { opts.SecurityOptions = o.SecurityOptions opts.ParallelOptions = o.ParallelOptions opts.Mappings = mappings + opts.FromFileDir = o.FromDir opts.FileDir = o.ToDir opts.DryRun = o.DryRun opts.ManifestUpdateCallback = func(registry string, manifests map[digest.Digest]digest.Digest) error { diff --git a/pkg/cli/admin/release/new.go b/pkg/cli/admin/release/new.go index 66430c2396..5c83400b5b 100644 --- a/pkg/cli/admin/release/new.go +++ b/pkg/cli/admin/release/new.go @@ -391,6 +391,7 @@ func (o *NewOptions) Run() error { buf := &bytes.Buffer{} extractOpts := extract.NewOptions(genericclioptions.IOStreams{Out: buf, ErrOut: o.ErrOut}) + extractOpts.ParallelOptions = o.ParallelOptions extractOpts.SecurityOptions = o.SecurityOptions extractOpts.OnlyFiles = true extractOpts.Mappings = []extract.Mapping{ @@ -926,9 +927,9 @@ func (o *NewOptions) extractManifests(is *imageapi.ImageStream, name string, met verifier := imagemanifest.NewVerifier() var lock sync.Mutex opts := extract.NewOptions(genericclioptions.IOStreams{Out: o.Out, ErrOut: o.ErrOut}) + opts.ParallelOptions = o.ParallelOptions opts.SecurityOptions = o.SecurityOptions opts.OnlyFiles = true - opts.ParallelOptions = o.ParallelOptions opts.ImageMetadataCallback = func(m *extract.Mapping, dgst, contentDigest digest.Digest, config *dockerv1client.DockerImageConfig) { verifier.Verify(dgst, contentDigest) @@ -1053,6 +1054,7 @@ func (o *NewOptions) mirrorImages(is *imageapi.ImageStream) error { opts.ImageStream = copied opts.To = o.Mirror opts.SkipRelease = true + opts.ParallelOptions = o.ParallelOptions opts.SecurityOptions = o.SecurityOptions if err := opts.Run(); err != nil { @@ -1183,6 +1185,7 @@ func (o *NewOptions) write(r io.Reader, is *imageapi.ImageStream, now time.Time) verifier := imagemanifest.NewVerifier() options := imageappend.NewAppendImageOptions(genericclioptions.IOStreams{Out: ioutil.Discard, ErrOut: o.ErrOut}) + options.ParallelOptions = o.ParallelOptions options.SecurityOptions = o.SecurityOptions options.DryRun = o.DryRun options.From = toImageBase