|
| 1 | +//Module included in the following assemblies |
| 2 | +// |
| 3 | +//post_installation_configuration/cluster-tasks.adoc |
| 4 | + |
| 5 | +:_content-type: PROCEDURE |
| 6 | +[id="multi-architecture-import-imagestreams_{context}"] |
| 7 | + |
| 8 | += Importing manifest lists in image streams on your multi-architecture cluster |
| 9 | + |
| 10 | +On a {product-title} {product-version} multi-architecture cluster, the image streams in the cluster do not import manifest lists automatically. You must manually change the default `importMode` option to the `PreserveOriginal` option in order to import the manifest list. |
| 11 | + |
| 12 | +[IMPORTANT] |
| 13 | +==== |
| 14 | +The `referencePolicy.type` field of your `ImageStream` object must be set to the `Source` type for this procedure to run successfully. |
| 15 | +[source,yaml] |
| 16 | +---- |
| 17 | +referencePolicy: |
| 18 | + type: Source |
| 19 | +---- |
| 20 | +==== |
| 21 | + |
| 22 | +.Prerequisites |
| 23 | + |
| 24 | +* You installed the {product-title} CLI (`oc`). |
| 25 | + |
| 26 | +.Procedure |
| 27 | + |
| 28 | +* The following example command shows how to patch the `ImageStream` cli-artifacts so that the `cli-artifacts:latest` image stream tag is imported as a manifest list. |
| 29 | ++ |
| 30 | +[source,terminal] |
| 31 | +---- |
| 32 | +oc patch is/cli-artifacts -n openshift -p '{"spec":{"tags":[{"name":"latest","importPolicy":{"importMode":"PreserveOriginal"}}]}}' |
| 33 | +---- |
| 34 | + |
| 35 | +.Verification |
| 36 | + |
| 37 | +* You can check that the manifest lists imported properly by inspecting the image stream tag. The following command will list the individual architecture manifests for a particular tag. |
| 38 | ++ |
| 39 | +[source,terminal] |
| 40 | +---- |
| 41 | +oc get istag cli-artifacts:latest -n openshift -oyaml |
| 42 | +---- |
| 43 | + |
| 44 | ++ |
| 45 | +If the `dockerImageManifests` object is present, then the manifest list import was successful. |
| 46 | + |
| 47 | ++ |
| 48 | +.Example output of the `dockerImageManifests` object |
| 49 | +[source, yaml] |
| 50 | +---- |
| 51 | +dockerImageManifests: |
| 52 | + - architecture: amd64 |
| 53 | + digest: sha256:16d4c96c52923a9968fbfa69425ec703aff711f1db822e4e9788bf5d2bee5d77 |
| 54 | + manifestSize: 1252 |
| 55 | + mediaType: application/vnd.docker.distribution.manifest.v2+json |
| 56 | + os: linux |
| 57 | + - architecture: arm64 |
| 58 | + digest: sha256:6ec8ad0d897bcdf727531f7d0b716931728999492709d19d8b09f0d90d57f626 |
| 59 | + manifestSize: 1252 |
| 60 | + mediaType: application/vnd.docker.distribution.manifest.v2+json |
| 61 | + os: linux |
| 62 | + - architecture: ppc64le |
| 63 | + digest: sha256:65949e3a80349cdc42acd8c5b34cde6ebc3241eae8daaeea458498fedb359a6a |
| 64 | + manifestSize: 1252 |
| 65 | + mediaType: application/vnd.docker.distribution.manifest.v2+json |
| 66 | + os: linux |
| 67 | + - architecture: s390x |
| 68 | + digest: sha256:75f4fa21224b5d5d511bea8f92dfa8e1c00231e5c81ab95e83c3013d245d1719 |
| 69 | + manifestSize: 1252 |
| 70 | + mediaType: application/vnd.docker.distribution.manifest.v2+json |
| 71 | + os: linux |
| 72 | +---- |
0 commit comments