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

The openshift installer doesn't check the valid value of iops before install.

XMLWordPrintable

    • None
    • False
    • Hide

      None

      Show
      None
    • 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:

              Unassigned Unassigned
              weli@redhat.com Weinan Li
              None
              None
              Weinan Li Weinan Li
              None
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated: