-
Bug
-
Resolution: Unresolved
-
Normal
-
None
-
4.21
-
None
-
None
-
False
-
-
None
-
None
-
None
-
All
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Description of problem:
When creating AWSMachine instances with throughput specified but iops set to 0 (or omitted), the installer fails with an AWS API error. This occurs because AWS defaults iops to 3000 when not explicitly set, and if the throughput value results in a ratio exceeding AWS's maximum allowed ratio of 0.25 MiBps per iops, the instance creation fails. Example: If throughput is set to 1200 MiBps and iops is 0 (defaults to 3000), the ratio becomes 1200/3000 = 0.4, which exceeds the maximum allowed ratio of 0.25, causing the following error: InvalidParameterValue: Throughput (MiBps) to iops ratio of 0.400000 is too high; maximum is 0.250000 MiBps per iops
Version-Release number of selected component (if applicable): 4.21
OpenShift Installer (version with throughput feature for gp3 volumes)
How reproducible:
Always reproducible when throughput is specified without a corresponding iops value that satisfies the AWS constraint (throughput / iops <= 0.25)
Steps to Reproduce:
1. Create an InstallConfig with platform.aws.defaultMachinePlatform.rootVolume.throughput set to a value (e.g., 1200) 2. Do not set iops, or explicitly set iops to 0 3. Run openshift-install create cluster 4. Observe the installation failure during control-plane machine provisioning
Actual results:
Installation fails with error: - Condition Ready has status: "False", reason: "InstanceProvisionFailed", message: "0 of 3 completed" - Condition InstanceReady has status: "False", reason: "InstanceProvisionFailed", message: "failed to create AWSMachine instance: failed to run instance: operation error EC2: RunInstances, https response error StatusCode: 400, RequestID: <request-id>, api error InvalidParameterValue: Throughput (MiBps) to iops ratio of 0.400000 is too high; maximum is 0.250000 MiBps per iops" - Cluster creation fails: "failed to provision control-plane machines within 15m0s"
Expected results:
The installer should either: 1. Automatically calculate and set the minimum required iops based on the throughput value (iops >= throughput / 0.25, rounded up to nearest 100), OR 2. Validate the throughput/iops ratio and provide a clear error message before attempting instance creation, guiding the user to set an appropriate iops value The installer should prevent this error condition and ensure successful cluster installation.
Additional info:
- AWS constraint: throughput (MiBps) / iops <= 0.25 (maximum 0.25 MiBps per iops)
- When iops is 0 or omitted, AWS defaults to 3000 iops
- This validation should be added to the installer to prevent this failure mode
- Related workaround in test scripts: Calculate minimum iops as (throughput * 4 + 99) / 100 * 100 to ensure the ratio constraint is satisfied
- This issue was discovered during testing of the throughput feature for gp3 volumes
- Reference: https://github.com/openshift/release/pull/71426/files / https://github.com/openshift/installer/pull/9945#issuecomment-3564861699
- is related to
-
CORS-4212 AWS GP3 Throughput Config
-
- Dev Complete
-