Storage Group object

A Storage Group object represents a single storage group associated with a DPM-enabled CPC. Storage groups define a set of FCP, FICON® or NVMe storage volume resources that can be attached to partitions. Storage group properties that are common to the group are represented by the Storage Group object. Each storage volume in the group is represented by the Storage Volume element object. When an FCP storage group is attached to a partition, the group's fulfilled resources are virtualized and the partition's view of them is represented by a set of Virtual Storage Resource element objects. The Storage Group object APIs provide access to the set of storage groups that are associated with a CPC that is enabled for DPM. APIs exist to create and modify storage groups and their volumes, and delete and query storage group properties. APIs also exist to query and fulfill the storage volume elements, and to query and update selected properties of the virtual storage resource elements of storage groups.

Rather than creating FCP or FICON storage groups from scratch each time, a set of one or more storage templates can be defined and used when creating a new storage group. When an FCP storage group is created from a storage template, the properties predefined in the template are copied into the new group, including any storage template volumes. Template property values can be overridden when creating the new group or by modifying the new group after it is created. See Storage Template object for more information on storage templates. Storage templates cannot be created for NVMe storage groups.

An FCP or FICON storage group transitions through a number of states in its lifecycle. It is complicated by the fact that some of its attributes cannot be realized without changes to the configuration of the Storage Area Network (SAN) in which the storage resources defined in the group reside. Creation or modification of an FCP or FICON storage group by a system administrator requires a subsequent fulfillment action by the SAN administrator before the storage resources in that group can be used by a partition. The nature of the actions required of the SAN administrator to fulfill a storage request differ depending on whether the storage group is defining FCP versus FICON resources. Fulfillment of FCP resources can be auto-detected, whereas fulfillment of FICON resources requires the SAN administrator to explicitly map the selected ECKD volumes to the requested volumes in the storage group.

Modifications to an FCP or FICON group that require a fulfillment cycle are particularly complex because the new property values must be saved in addition to the active values, which are the ones that remain in effect if the storage group is currently active or activated before the modifications are fulfilled. To accommodate these needs, the storage group class contains two versions of each property that depends on fulfillment: a base version that represents the configured value and an active version (identified by an "active-" prefix to the property name), which represents the value of those properties for storage groups attached to partitions that are currently active, or when they are next activated. In a new group or volume that has not yet been fulfilled, the active property values will be null and the base property values will contain the values of that properties that were specified, or defaulted, during group creation. Once the resources in the group are all fulfilled, the base value will be copied into the active value. If a group or volume is modified, the new values specified in the update operation will be placed into the same-named base properties. The active values continue to represent the state of the storage in partitions that are currently active, or become active before the modifications are fulfilled.

A storage group has a fulfillment-state property that indicates a storage group's current fulfillment state. Storage volumes also have their own fulfillment-state property that indicates the fulfillment state of the individual storage volume. The table below lists important steps in a storage group’s lifecycle, and their effect on the group’s fulfillment-state and other properties, and on the partitions to which they are attached.
Lifecycle Step Comment
A group is created The fulfillment-state property of the group and each volume is set to "pending". The base property values will be those specified or defaulted in the create operation, and the active property values will be null. An email is sent to the SAN administrator requesting fulfillment of the new group’s storage resources. The storage group may be attached to a partition, but if activated, the group’s storage resources will not be available to the partition.
The group is fulfilled

The fulfillment-state property of the group and each volume is set to "complete". The base property values are copied to their corresponding active properties. The group’s storage resources are now available to a partition. If the storage group is currently attached to an active partition, the resources will be dynamically made available to the partition.

Note that there is no guarantee that all of a storage group’s resource will be fulfilled at the same time, so it is possible for a storage group to be in a state of partial fulfillment. In that case, some of the properties will have been fulfilled, indicated by the base and active property values being equal, and some have not. The group’s fulfillment-state property will be updated to "complete" only after all its resources have been fulfilled.

The group is modified

If volumes are added, or any group or volume property for which an active property exists is modified, the group fulfillment-state property is set to "pending". The base property values will be those specified in the update operation. The active property values will remain unchanged. New and deleted volumes URIs are added to or remove from the storage-volume-uris property of the group. If the storage group is attached to a partition that is currently active or subsequently activated, it will continue to see the original storage resources. The fulfillment-state property of any new volume, or any volume with a modified base property, is set to "pending". If storage volumes are created or deleted, or any group or volume property for which an active property exists is modified, an email is sent to the SAN administrator requesting fulfillment of the new or modified resources.

The fulfillment state for deleted FCP storage volumes changes to "deleting". Deleted FCP volumes are removed from their parent storage group only after the system detects that the backing SAN resources have been deconfigured.

Deleted FICON volumes are removed immediately and do not required action by the SAN administrator. Deleted volumes are included in the email to notify the SAN administrator that those storage resources may now be recovered.

The group's new and modified resources are fulfilled The fulfillment-state property of the group and each volume is set to "complete". The updated base property values are copied to the active properties. The group's new or updated storage resources are now available to a partition. If attached to an active partition, its resources will be dynamically changed.
The group is attached to a partition If the partition is currently active, the group's storage fulfilled resources are dynamically added to the partition. A group can be attached to a partition any time after it is created.
The group is detached from a partition If the partition is currently active, the group's storage resources are dynamically removed from the partition.
The group is deleted The group must be detached from all partitions to which it is attached before it can be deleted. The delete of the group also deletes all its storage volumes.

An NVMe storage volume is directly associated with an NVMe storage adapter, which internally contains the storage resource in the form of a Solid State Drive (SSD). No additional fulfillment actions are required, so the fulfillment-state property value will be "complete" for the storage group and all new storage volumes when an NVMe storage group is created or is later modified to add new storage volumes.