1. Proposed title of this feature request - Make root volume IOPS a configurable field through HCC and CLI on ROSA
2. What is the nature and description of the request?
As a cluster-admin of ROSA (Classic & HCP), I should be able to configure the throughput value for IOPS on the root EBS volume for worker nodes. The change should be configurable through OCM during the creation of any machine pools - both the default machine pool set at cluster creation and when adding new machine pools. The change should be exposed through both the ROSA CLI and HCC web interface.
The attached screenshot shows the HCC. The change should be supplied below the "Root disk size"
Admins creating new clusters via the CLI should have another flag that they can supply with the command:
rosa create cluster --cluster-name=mycluster --worker-disk-size 300GB --worker-disk-iops integer
Creating new machine pools:
rosa create machinepool --cluster=<cluster-name> \ --name=<machine_pool_id> \ --replicas=<replica_count> \ --instance-type=<instance_type> \ --disk-size=<disk_size> \ —-iops-throughput=<iops_value> \ --availability-zone=<availability_zone_name> \ --subnet <subnet_id>
The value for IOPS throughput is currently exposed in the Hive template: https://github.com/openshift/hive/blob/master/apis/hive/v1/aws/machinepool.go#L62 The value type expected is an integer and should be exposed on the CLI and HCC web interface.
The configuration should persist through cluster & node lifecycle changes. When worker nodes are added to a machine pool that has this configuration, the new node has its root EBS volume throughput value set accordingly. After initial creation, the IOPS value should be immutable. To modify, you would need to create a new machine pool with the configuration.
The value should be optional, if not set then the default IOPS should be used.
3. Why does the customer need this? (List the business requirements here)
For applications that use ephemeral node storage, there is no StorageClass available to allow the user to configure IOPS and volume size. These applications are beholden to the defaults applied by ROSA, and may encounter bottlenecks at the storage level layer for applications requiring higher throughput. Users in this scenario would have to increase the root volume IOPS through the AWS console, which is not supported. The proposal is to make this field exposed for them in our tooling to allow them to change themselves.
4. List any affected packages or components.