libopenstorage / cloudops

Apache License 2.0
7 stars 13 forks source link

PWX-37505 : Ensuring Median IOPS and throughput for ultraDisks #168

Closed dtalreja-px closed 4 months ago

dtalreja-px commented 4 months ago

What this PR does / why we need it: While expanding disk size for ultra disks, we were not considering changing throughput. With this PR we are ensuring minimum throughput for ultra disks Which issue(s) this PR fixes (optional) Closes # PWX-37505

Special notes for your reviewer: Testing results -

  1. expand from 100 to 1000 GiB

    Pool ID: 3
    Type:  Default
    UUID:  5448d3e9-11a4-4f83-a62a-2df7a105da4b
    IO Priority:  LOW
    Labels:  agentpool=nodepool1,kubernetes.io/hostname=aks-nodepool1-35438335-vmss000000,topology.portworx.io/region=eastus,kubernetes.azure.com/mode=system,failure-domain.beta.kubernetes.io/region=eastus,beta.kubernetes.io/instance-type=Standard_D8s_v3,medium=STORAGE_MEDIUM_SSD,node.kubernetes.io/instance-type=Standard_D8s_v3,iopriority=LOW,beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,topology.disk.csi.azure.com/zone=eastus-1,topology.kubernetes.io/region=eastus,kubernetes.azure.com/os-sku=Ubuntu,kubernetes.azure.com/agentpool=nodepool1,topology.kubernetes.io/zone=eastus-1,kubernetes.io/role=agent,kubernetes.azure.com/kubelet-identity-client-id,kubernetes.azure.com/nodepool-type=VirtualMachineScaleSets,kubernetes.io/arch=amd64,topology.portworx.io/zone=eastus-1,kubernetes.azure.com/node-image-version=AKSUbuntu-2204gen2containerd-202405.20.0,kubernetes.io/os=linux,kubernetes.azure.com/cluster=MC_dtalreja-demo_dtalreja-demo_eastus,failure-domain.beta.kubernetes.io/zone=eastus-1,kubernetes.azure.com/consolidated-additional-properties=0deea752-1f29-11ef-adec-9212e2a10d91,node-role.kubernetes.io/agent,kubernetes.azure.com/role=agent
    Size: 9.8 TiB
    Status: Online
    Has metadata:  No
    Drives:
    1: /dev/sdg, Total size 9.8 TiB, Online
    LastOperation  OPERATION_RESIZE
        Status:  OPERATION_SUCCESSFUL
        Message: pool expansion to 10000 GiB completed successfully
    Cache Drives:
    No Cache drives found in this pool
    Metadata  Device:
    1: /dev/sde, STORAGE_MEDIUM_SSD
    root@aks-nodepool1-35438335-vmss000000:/#
  2. Creating new Drive using pxctl cd command

    root@aks-nodepool1-22087605-vmss000000:/# pxctl sv drive add  -o start  -s 'type=UltraSSD_LRS,size=100' --newpool
    Adding drives may make storage offline for the duration of the operation.
    Are you sure you want to proceed ? (Y/N): y
    Drive add done
    root@aks-nodepool1-22087605-vmss000000:/# pxctl sv drive add  -o start  -s 'type=UltraSSD_LRS,size=10000' --newpool
    Adding drives may make storage offline for the duration of the operation.
    Are you sure you want to proceed ? (Y/N): y
    Drive add done
    root@aks-nodepool1-22087605-vmss000000:/#
  3. Create Ultra disk using STC. drives were created with proper iops and throughput.

codecov-commenter commented 4 months ago

Codecov Report

Attention: Patch coverage is 0% with 22 lines in your changes are missing coverage. Please review.

Project coverage is 8.93%. Comparing base (f78dd2f) to head (0517142). Report is 1 commits behind head on master.

Files Patch % Lines
azure/azure.go 0.00% 22 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #168 +/- ## ========================================= + Coverage 8.03% 8.93% +0.90% ========================================= Files 18 18 Lines 4756 4945 +189 ========================================= + Hits 382 442 +60 - Misses 4352 4480 +128 - Partials 22 23 +1 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.