Simon Dodsley cd3a12006b [Pure Storage] Add volume group support
Pure Storage FlashArray's have a construct called a Volume Group
within which volumes can be created.

The volume group can have storage QoS levels assigned to it that
limits the combined bandwidth and/or IOPs of all volumes within
the volume group.

Adding volume group support requires the use of vendor-specific
volume type extra-specs which will allow a specific volume type
to be limited to a volume group on a specified backend array. The
volume group does not require QoS settings, but these can be
applied using the vendor-specific volume type extra-specs.

This patch provides the ability to create, manage and delete
volume groups and to manage volumes in the volume group.
Additonally, this patch will allow existing volumes in a volume
group to be managed using the ``cinder manage`` command, including
VVOLss that are in volume groups in non-replicated FlashArray pods.

Retyping of volumes in and out of a volume group based volume type
is also supported.

Volume group based volumes can also be replicated as any other
volume on a FlashArray and replication failover of these replicated
volume group based volumes is also supported.

Additional vendor-specific volume type extra specs are detailed in
the updated driver documentation and in the release notes.

Implements: blueprint pure-add-volume-groups
Change-Id: I65c7241febec740d727f330b3bc0ef1b80abdd78
2025-03-14 13:59:16 -04:00
..