Created attachment 1864162 [details] AWS cluster provisioning Description of the problem: I am trying to provision an amd64 AWS cluster from an ACM hub running on ppc64le. This used to work by using a multi-arch ocp-release image (as documented here https://access.redhat.com/documentation/en-us/red_hat_advanced_cluster_management_for_kubernetes/2.4/html/release_notes/red-hat-advanced-cluster-management-for-kubernetes-release-notes#no-create-clusters-across-architectures). With the support of ARM64 in AWS, they have added additional architecture checks in the OCP 4.9 installer: https://github.com/openshift/installer/blob/325ac4a55ab80e5720829ff9d9b175eb682eb35b/pkg/types/aws/validation/machinepool.go#L15 https://github.com/openshift/installer/blob/325ac4a55ab80e5720829ff9d9b175eb682eb35b/pkg/types/validation/machinepools.go#L78 This breaks cross-architecture cluster provisioning with ACM, even when using a multi-arch ocp-release image: time="2022-03-02T12:30:13Z" level=info msg="running openshift-install create manifests" installID=mlvd92q4 time="2022-03-02T12:30:13Z" level=info msg="running openshift-install binary" args="[create manifests]" installID=mlvd92q4 time="2022-03-02T12:30:14Z" level=info msg="found file" installID=mlvd92q4 path=/output/.openshift_install.log time="2022-03-02T12:30:14Z" level=info msg="all files found, ready to proceed" installID=mlvd92q4 time="2022-03-02T12:30:14Z" level=debug msg="OpenShift Installer v4.9.0" time="2022-03-02T12:30:14Z" level=debug msg="Built from commit e2850d67bbbf1a86101f665d39e1ca7f13965487" time="2022-03-02T12:30:14Z" level=debug msg="Fetching Master Machines..." time="2022-03-02T12:30:14Z" level=debug msg="Loading Master Machines..." time="2022-03-02T12:30:14Z" level=debug msg=" Loading Cluster ID..." time="2022-03-02T12:30:14Z" level=debug msg=" Loading Install Config..." time="2022-03-02T12:30:14Z" level=debug msg=" Loading SSH Key..." time="2022-03-02T12:30:14Z" level=debug msg=" Loading Base Domain..." time="2022-03-02T12:30:14Z" level=debug msg=" Loading Platform..." time="2022-03-02T12:30:14Z" level=debug msg=" Loading Cluster Name..." time="2022-03-02T12:30:14Z" level=debug msg=" Loading Base Domain..." time="2022-03-02T12:30:14Z" level=debug msg=" Loading Platform..." time="2022-03-02T12:30:14Z" level=debug msg=" Loading Networking..." time="2022-03-02T12:30:14Z" level=debug msg=" Loading Platform..." time="2022-03-02T12:30:14Z" level=debug msg=" Loading Pull Secret..." time="2022-03-02T12:30:14Z" level=debug msg=" Loading Platform..." time="2022-03-02T12:30:14Z" level=fatal msg="failed to fetch Master Machines: failed to load asset \"Install Config\": invalid \"install-config.yaml\" file: [controlPlane.architecture: Unsupported value: \"ppc64le\": supported values: \"amd64\", \"arm64\", compute[0].architecture: Unsupported value: \"ppc64le\": supported values: \"amd64\", \"arm64\"]" time="2022-03-02T12:30:15Z" level=error msg="error after waiting for command completion" error="exit status 1" installID=mlvd92q4 time="2022-03-02T12:30:15Z" level=error msg="error generating installer assets" error="exit status 1" installID=mlvd92q4 The reason is that ACM does not specify a target architecture in the install-config.yaml file. It thus defaults to the archictecture of the hub (in this case ppc64le) which is not an architecture supported by AWS. This works fine if I use a multi-arch OCP 4.8 ocp-release image because there was no such architecture check in OCP 4.8 for AWS. A possible workaround is to edit the install-config.yaml file in the ACM console before creating the cluster, by adding the architecture: amd64 attribute to the control plane and compute nodes like in the attached screenshot. Release version: 2.5 Operator snapshot version: 2.5.0-DOWNSTREAM-2022-02-16-19-52-49 OCP version: OCP 4.9.23 Browser Info: Steps to reproduce: 1. Deploy ACM 2.5 on ppc64le hub. 2. Create an AWS cluster from ACM console (using a multi-arch OCP 4.9 release image). 3. Check the cluster creation logs. 4. See error about unsupported ppc64le architecture. Actual results: AWS cluster provisioning fails. Expected results: We should be able to provision AWS amd64 or arm64 clusters from ACM running on ppc64le (or s390x) when using a multi-arch ocp-release image. There should be a way to specify the target architecture other than editing the YAML. Additional info:
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Important: Red Hat Advanced Cluster Management 2.5 security updates, images, and bug fixes), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2022:4956