Autoselection of IBM SVC/Storwize IO group

Registered by Rakesh Jain on 2016-12-12

Storwize/SVC driver currently supports specifying IO group in cinder backend config. Based on the io group specified, it creates the volume in that IO group. If no io group is defined, it creates the volume in io group 0.
Usually customers have multiple io groups and they have to create one backend config for each io group. In order to differentiate these configs, they have to create separate volume types also. In addition, this type of setup exposes SVC internals (of IO group) to the upper level abstraction (of volume type). This blue print proposes that the user can specify multiple IO groups for a pool (or pools) for a volume type. If user has specified only one IO group, it will work as it is working today, but if user specifies more than one IO groups for a volume type (comma separated list), the driver will automatically select an IO group which has least number of disks associated with. For example, if user has specified IO groups 0,2 and 3 for a volume type for pool P1, then the driver will select an IO group out of 0,2 and 3, which has least number of volumes associated with.
Say io_group 0 has 40, io_group 2 has 35 and io_group 3 has 120 volumes associated with. For a new volume request for this volume type, the driver will select io_group 2 because it has least number of volumes associated with at the time of provisioning.
storwize_svc_vol_iogrp = 0
With this BP:
storwize_svc_vol_iogrp = 0,2,3
The change is backward compatible.

Blueprint information

Sean McGinnis
Rakesh Jain
Rakesh Jain
Series goal:
Accepted for pike
Milestone target:
Started by
Eric Harney on 2018-06-08
Completed by
Eric Harney on 2018-06-08

Related branches



Gerrit topic:,topic:bp/ibmsvciogrpselection,n,z

Addressed by:
    Autoselection of IBM SVC/Storwize IO group Implements: blueprint ibmsvciogrpselection DocImpact (see blueprint for more details) Change-Id: I4766fc03bdacdde5dd9cfd4899c6cc5c2aee0d00

Gerrit topic:,topic:bp/for,n,z


Work Items

This blueprint contains Public information 
Everyone can see this information.