Bug 2009787

Summary: Failure to validate flavor RAM
Product: OpenShift Container Platform Reporter: OpenShift BugZilla Robot <openshift-bugzilla-robot>
Component: InstallerAssignee: Martin André <m.andre>
Installer sub component: OpenShift on OpenStack QA Contact: Itay Matza <imatza>
Status: CLOSED ERRATA Docs Contact: Olivia Payne <opayne>
Severity: medium    
Priority: medium CC: aos-bugs, imatza, opayne, pprinett
Version: 4.6Keywords: Triaged
Target Milestone: ---   
Target Release: 4.9.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Previously, OpenStack flavor validation accepted flavors not meeting the RAM requirements using the wrong unit. With this update, the correct unit is used for comparing minimum RAM against value returned by OpenStack.
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-11-10 21:01:58 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2009699    
Bug Blocks:    

Description OpenShift BugZilla Robot 2021-10-01 15:02:02 UTC
+++ This bug was initially created as a clone of Bug #2009699 +++

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

Comment 3 Itay Matza 2021-11-03 15:18:45 UTC
Verified successfully on RHOS-16.1-RHEL-8-20211007.n.1 with openshift-install version:
openshift-install 4.9.0-0.nightly-2021-11-03-043308
built from commit 1c538b8949f3a0e5b993e1ae33b9cd799806fa93
release image registry.ci.openshift.org/ocp/release@sha256:d19fe372f972ab6986c9cfb1fff8081a2c68c40933ea23fedcb82f270c3379eb
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]

Comment 6 errata-xmlrpc 2021-11-10 21:01:58 UTC
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 (OpenShift Container Platform 4.9.6 bug fix 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/RHBA-2021:4119