Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-71203

x86 release payload now contains additional ARM ISO

XMLWordPrintable

    • Quality / Stability / Reliability
    • False
    • Hide

      None

      Show
      None
    • 3
    • None
    • None
    • x86_64
    • Rejected
    • None
    • In Progress
    • Bug Fix
    • Hide
      Previously, the x86_64 release payload unnecessarily included both x86_64 and aarch64 CoreOS ISOs, increasing the payload size by approximately 1.2 GiB. The ARM ISO was only usable with multiarch release payloads, making its inclusion in single-architecture payloads wasteful. With this release, the ARM ISO is extracted only from the arm64 container in multiarch payloads when needed, reducing the size of single-architecture release payloads. (OCPBUGS-71203)
      Show
      Previously, the x86_64 release payload unnecessarily included both x86_64 and aarch64 CoreOS ISOs, increasing the payload size by approximately 1.2 GiB. The ARM ISO was only usable with multiarch release payloads, making its inclusion in single-architecture payloads wasteful. With this release, the ARM ISO is extracted only from the arm64 container in multiarch payloads when needed, reducing the size of single-architecture release payloads. ( OCPBUGS-71203 )
    • None
    • None
    • None
    • None

      In the x86_64 release payload, the machine-os-images container now (since METAL-1509) contains both an x86_64 and an aarch64 CoreOS ISO to support METAL-1226. This increases the size of the release payload for everyone (by about 1.2GiB).

      METAL-1226 is only usable with the multiarch release payload, since once it is booted it must pull and run the ironic-python-agent container image from the release payload. ZTP uses its own ISO as well as its own ignition for the preprovisioning image, so is not affected either way (but will also require the multiarch payload on the hub cluster if this is the source of the ironic-python-agent container). So having the ARM ISO in the single-arch payload is unnecessary.

      The ARM ISO can be extracted from the arm64 container in the multiarch payload with the command:

       

      oc image extract --path=/coreos/coreos-aarch64.iso:/coreos/ --filter-by-os=linux/arm64 --confirm ${MACHINE_OS_IMAGES_PULLSPEC}

      This can be done inside the copy-iso/copy-metal scripts inside the machine-os-images container for the combination of architectures we wish to support (currently only ARM-from-x86, but in future no doubt the reverse, and eventually probably every combination of at least x86/ARM/PPC). Ideally there would be a flag in the copy-metal script to allow filtering the supported set to just selected architectures.

      Because the ARM ISO will only be available when the cluster is running the multiarch payload, I believe that METAL-1564 will be required to allow ICC to use whatever set of images is available rather than hard-coding the supported combinations.

       

              hpokorny@redhat.com Honza Pokorny
              zabitter Zane Bitter
              None
              None
              Steeve Goveas Steeve Goveas
              None
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: