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

IPI s390x (IBM Z) nodes on IBM cloud fail to get created

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 4.13.0
    • Installer / IBM Cloud
    • None
    • Important
    • No
    • False
    • Hide

      None

      Show
      None

      Description of problem:

      When creating a s390x cluster on OCP 4.13 or 4.14 using IPI over IBM cloud, irrespective of using a multi release image (i.e. from multi.ocp.releases.ci.openshift.org/) or an s390x specific release image (i.e. from https://s390x.ocp.releases.ci.openshift.org/), the cluster nodes will always fail to get created.

      Version-Release number of selected component (if applicable):

      4.13.13, 4.14.0-rc.2

      Should be reproducible for any other OCP versions also.

      How reproducible:

      Always

      Steps to Reproduce:

      1. Get an openshift-install binary from either CI release controller (multi/s390x) and any 4.13/4.14 release image from it
      2. Run openshift-install (on local) by selecting IBM cloud, create an install-config
      3. At install-config edit step, select architecture for both control-plane and worker pools as s390x (additionally, select IBM cloud VSI machine type as s390x instance profile like bz2-4x16 or bz2-8x32 or similar)
      4. Create manifests, create cluster -- bootstrap and master node creation both will fail.
      

      Actual results:

      DEBUG module.image.ibm_cos_bucket_object.file: Creation complete after 16m56s [id=crn:v1:bluemix:public:cloud-object-storage:global:a/3cdf7bdcbafa4dcc944eb3bdd3f8bef5:62b69aad-6365-4ff1-8141-bdfd946318ef:bucket:swghosh-s390x-2023092-jdhfw-vsi-image:object:rhcos-413.92.202307260246-0-ibmcloud.s390x.qcow2:location:eu-de] 
      DEBUG module.image.ibm_is_image.image: Creating... 
      DEBUG module.image.ibm_is_image.image: Still creating... [10s elapsed] 
      ---
      DEBUG ibm_cos_bucket_object.bootstrap_ignition: Creation complete after 2s [id=crn:v1:bluemix:public:cloud-object-storage:global:a/3cdf7bdcbafa4dcc944eb3bdd3f8bef5:62b69aad-6365-4ff1-8141-bdfd946318ef:bucket:swghosh-s390x-2023092-jdhfw-bootstrap-ignition:object:bootstrap.ign:location:eu-de] 
      DEBUG ibm_is_instance.bootstrap_node: Creating...  
      DEBUG ibm_is_security_group_rule.bootstrap_ssh_inbound[0]: Creation complete after 3s [id=r010-b745eb77-3b2d-446f-824b-1997da9461d7.r010-9ec7d888-c84f-4bf3-adbc-4f9870d0c77d] 
      ERROR                                              
      ERROR Error: Image OS architecture amd64 is not supported by the instance profile bz2-4x16 
      ERROR                                              
      ERROR   with ibm_is_instance.bootstrap_node,       
      ERROR   on main.tf line 30, in resource "ibm_is_instance" "bootstrap_node": 
      ERROR   30: resource "ibm_is_instance" "bootstrap_node" { 
      ERROR                                              
      ERROR failed to fetch Cluster: failed to generate asset "Cluster": failure applying terraform for "bootstrap" stage: failed to create cluster: failed to apply Terraform: exit status 1 
      ERROR                                              
      ERROR Error: Image OS architecture amd64 is not supported by the instance profile bz2-4x16 
      ERROR                                              
      ERROR   with ibm_is_instance.bootstrap_node,       
      ERROR   on main.tf line 30, in resource "ibm_is_instance" "bootstrap_node": 
      ERROR   30: resource "ibm_is_instance" "bootstrap_node" { 
      ERROR                                              
      ERROR

      Expected results:

      s390x nodes should come up and OCP installation should proceed as normal and bootstrap should complete

      Additional info:

      The RHCOS image for s390x was successfully uploaded to IBM cloud and a custom boot image was created out of it. The image that got used for my specific version, details underneath.

       

      » cat release.txt | head -20
      Client tools for OpenShift
      --------------------------These archives contain the client tooling for [OpenShift](https://docs.openshift.com).To verify the contents of this directory, use the 'gpg' and 'shasum' tools to
      ensure the archives you have downloaded match those published from this location.The openshift-install binary has been preconfigured to install the following release:---Name:           4.13.13
      Digest:         sha256:eac141144d2ecd6cf27d24efe9209358ba516da22becc5f0abc199d25a9cfcec
      Created:        2023-09-14T09:13:44Z
      OS/Arch:        multi (linux/amd64)
      Manifests:      658
      Metadata files: 1Pull From: quay.io/openshift-release-dev/ocp-release@sha256:eac141144d2ecd6cf27d24efe9209358ba516da22becc5f0abc199d25a9cfcec
      » ./openshift-install coreos print-stream-json | grep ibmcloud -A 25 | grep -B 10 s390x
              "ibmcloud": {
                "release": "413.92.202307260246-0",
                "formats": {
                  "qcow2.gz": {
                    "disk": {
                      "location": "https://rhcos.mirror.openshift.com/art/storage/prod/streams/4.13-9.2/builds/413.92.202307260246-0/s390x/rhcos-413.92.202307260246-0-ibmcloud.s390x.qcow2.gz",
      --
                      "uncompressed-sha256": "ea907c9ea1d4dc6780d1233ffcd0bbaec50e9ae767f4de8a468f9618e04114fc"
                    }
                  }
                }
              },
              "metal": {
                "release": "413.92.202307260246-0",
                "formats": {
                  "4k.raw.gz": {
                    "disk": {
                      "location": "https://rhcos.mirror.openshift.com/art/storage/prod/streams/4.13-9.2/builds/413.92.202307260246-0/s390x/rhcos-413.92.202307260246-0-metal4k.s390x.raw.gz",
                      "sha256": "074285cdcfb065f6671f6972cd27eb6a6ee6b9031e8d5f9f564a199a643649ed",
                      "uncompressed-sha256": "b6ed18dac25ed7bac5e7d6a0e478180999e422241af3522c62a311ed7c718cc6"
                    }
                  },
                  "iso": {
                    "disk": {
                      "location": "https://rhcos.mirror.openshift.com/art/storage/prod/streams/4.13-9.2/builds/413.92.202307260246-0/s390x/rhcos-413.92.202307260246-0-live.s390x.iso",
                      "sha256": "604b30ed3a9506933db14f3a91138742e91e69516e1fb6d6727fccf746417f82"
                    }
                  },
                  "pxe": {
                    "kernel": {
                      "location": "https://rhcos.mirror.openshift.com/art/storage/prod/streams/4.13-9.2/builds/413.92.202307260246-0/s390x/rhcos-413.92.202307260246-0-live-kernel-s390x",
      

      The issue appears to be that the RHCOS image after getting into IBM cloud as a custom boot image has OS selected as "Red Hat Enterprise Linux" by the installer and IBM cloud's API calls probably don't support specifying an image architecture when the custom image creation occurs. This algo-magically would let IBM cloud infer that it is an x86_64 arch OS image, and hence during creation of s390x virtual server instance attempts, openshift installer would error out naturally (though correct s390x.qcow2 image (and not amd64) was uploaded during install time).

       

            jeffbnowicki Jeff Nowicki
            swghosh@redhat.com Swarup Ghosh
            Gaoyun Pei Gaoyun Pei
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated: