OpenStack flavor validation has a unit conversion issue that causes it to to accept flavors not meeting the RAM requirements. When deploying using a very small flavor where none of the disk, ram or vcpu should pass, the installer only fails for disk and vcpu. FATAL failed to fetch Master Machines: failed to load asset "Install Config": [controlPlane.platform.openstack.type: Invalid value: "m1.tiny": Flavor did not meet the following minimum requirements: Must have minimum of 4 VCPUs, had 1; Must have minimum of 25 GB Disk, had 10 GB] moc-dev ❯ openstack flavor show m1.tiny -c name -c ram -c vcpus -c disk +-------+---------+ | Field | Value | +-------+---------+ | disk | 10 | | name | m1.tiny | | ram | 1024 | | vcpus | 1 | +-------+---------+ https://github.com/openshift/installer/blob/f8a383b/pkg/asset/installconfig/openstack/validation/machinepool.go#L21-L32
Verified successfully on RHOS-16.1-RHEL-8-20210916.n.0 with openshift-install version: openshift-install 4.10.0-0.nightly-2021-10-04-213416 built from commit 0410867f3047ed47a907b50a56fdc58899a9e022 release image registry.ci.openshift.org/ocp/release@sha256:ad0221f469febff1e9547ccbbce550beed6219c4883a32365c0a52c17245e0e1 release architecture amd64 1. Using the following flavor: >$ openstack flavor create --public m1.tiny --id auto --ram 1024 --disk 10 --vcpus 1 >$ openstack flavor show m1.tiny -c name -c ram -c vcpus -c disk >+-------+---------+ >| Field | Value | >+-------+---------+ >| disk | 10 | >| name | m1.tiny | >| ram | 1024 | >| vcpus | 1 | >+-------+---------+ $ grep computeFlavor install-config.yaml computeFlavor: "m1.tiny" The flavor validation blocks the installation on disk, RAM, and vCPU as should: >$ openshift-install create cluster --dir ostest/ >FATAL failed to fetch Metadata: failed to load asset "Install Config": [controlPlane.platform.openstack.type: Invalid value: "m1.tiny": Flavor did not meet the following minimum requirements: Must have minimum of 16384 MB RAM, had 1024 MB; Must have minimum of 4 VCPUs, had 1; Must have minimum of 25 GB Disk, had 10 GB, compute[0].platform.openstack.type: Invalid value: "m1.tiny": Flavor did not meet the following minimum requirements: Must have minimum of 8192 MB RAM, had 1024 MB; Must have minimum of 2 VCPUs, had 1; Must have minimum of 25 GB Disk, had 10 GB] 2. Using a flavor that doesn't meet the minimum requirements just for RAM: >$ openstack flavor show m1.limit_tiny -c name -c ram -c vcpus -c disk >+-------+---------------+ >| Field | Value | >+-------+---------------+ >| disk | 25 | >| name | m1.limit_tiny | >| ram | 8190 | >| vcpus | 4 | >+-------+---------------+ >$ openshift-install create cluster --dir ostest/ >FATAL failed to fetch Metadata: failed to load asset "Install Config": [controlPlane.platform.openstack.type: Invalid value: "m1.limit_tiny": Flavor did not meet the following minimum requirements: Must have minimum of 16384 MB RAM, had 8190 MB, compute[0].platform.openstack.type: Invalid value: "m1.limit_tiny": Flavor did not meet the following minimum requirements: Must have minimum of 8192 MB RAM, had 8190 MB]
Removing the Triaged keyword because: * the QE automation assessment (flag qe_test_coverage) is missing
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 (Moderate: OpenShift Container Platform 4.10.3 security update), 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:0056