Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions docs/appendix.rst
Original file line number Diff line number Diff line change
Expand Up @@ -544,6 +544,22 @@ Resources scoped to CPCs in DPM mode

For details, see section :ref:`Storage Fabrics`.

Storage Control Unit
A logical entity within a :term:`Storage Subsystem` that manages a set
of storage volumes. A storage control unit is identified within its
parent subsystem by a two-character hexadecimal ``logical-address``. It
can have up to 8 :term:`storage paths <Storage Path>` and a set of
volume ranges that describe the volumes it manages.

For details, see section :ref:`Storage Control Units`.

Storage Path
An element object nested inside a :term:`Storage Control Unit` that
defines a communication path from the control unit to a storage adapter,
optionally through one or two storage switches.

For details, see section :ref:`Storage Paths`.

Storage Subsystem
A physical storage device (e.g. an IBM DS8000 series system) in the FICON
storage configuration of a DPM-enabled :term:`CPC`. A storage subsystem
Expand Down
40 changes: 40 additions & 0 deletions docs/resources.rst
Original file line number Diff line number Diff line change
Expand Up @@ -518,6 +518,46 @@ Storage Switches
:special-members: __str__


.. _`Storage Control Units`:

Storage Control Units
---------------------

.. automodule:: zhmcclient._storage_control_unit

.. autoclass:: zhmcclient.StorageControlUnitManager
:members:
:autosummary:
:autosummary-inherited-members:
:special-members: __str__

.. autoclass:: zhmcclient.StorageControlUnit
:members:
:autosummary:
:autosummary-inherited-members:
:special-members: __str__


.. _`Storage Paths`:

Storage Paths
-------------

.. automodule:: zhmcclient._storage_path

.. autoclass:: zhmcclient.StoragePathManager
:members:
:autosummary:
:autosummary-inherited-members:
:special-members: __str__

.. autoclass:: zhmcclient.StoragePath
:members:
:autosummary:
:autosummary-inherited-members:
:special-members: __str__


.. _`Storage Subsystems`:

Storage Subsystems
Expand Down
38 changes: 36 additions & 2 deletions tests/end2end/mocked_hmc_z14.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -428,7 +428,8 @@ hmc_definition:
name: "DS8886 A"
description: "DS8886 A storage subsystem at Primary Site"
storage-site-uri: /api/storage-sites/ss1
storage-control-unit-uris: []
storage-control-unit-uris:
- /api/storage-control-units/cu1
connection-endpoints:
- endpoint-uri: /api/storage-switches/sw1
endpoint-class: storage-switch
Expand All @@ -441,12 +442,45 @@ hmc_definition:
name: "DS8886 B"
description: "DS8886 B storage subsystem at Alternate Site"
storage-site-uri: /api/storage-sites/ss2
storage-control-unit-uris: []
storage-control-unit-uris:
- /api/storage-control-units/cu2
connection-endpoints:
- endpoint-uri: /api/storage-switches/sw2
endpoint-class: storage-switch
port-id: "00"

storage_control_units:
- properties:
# class: created automatically
# object-uri: created automatically
object-id: cu1
name: "Control Unit 50"
description: "Mocked storage control unit 50 in DS8886 A"
logical-address: "50"
parent: /api/storage-subsystems/subsys1
storage_paths:
- properties:
# class: created automatically
# element-uri: created automatically
adapter-port-uri: /api/adapters/fcp1/storage-ports/port0
exit-switch-uri: /api/storage-switches/sw1
exit-port: "10"
- properties:
# class: created automatically
# object-uri: created automatically
object-id: cu2
name: "Control Unit 60"
description: "Mocked storage control unit 60 in DS8886 B"
logical-address: "60"
parent: /api/storage-subsystems/subsys2
storage_paths:
- properties:
# class: created automatically
# element-uri: created automatically
adapter-port-uri: /api/adapters/fcp1/storage-ports/port0
exit-switch-uri: /api/storage-switches/sw2
exit-port: "10"

hw_messages:
- properties:
# class: created automatically
Expand Down
38 changes: 36 additions & 2 deletions tests/end2end/mocked_hmc_z16.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -502,7 +502,8 @@ hmc_definition:
name: "DS8886 A"
description: "DS8886 A storage subsystem at Primary Site"
storage-site-uri: /api/storage-sites/ss1
storage-control-unit-uris: []
storage-control-unit-uris:
- /api/storage-control-units/cu1
connection-endpoints:
- endpoint-uri: /api/storage-switches/sw1
endpoint-class: storage-switch
Expand All @@ -515,12 +516,45 @@ hmc_definition:
name: "DS8886 B"
description: "DS8886 B storage subsystem at Alternate Site"
storage-site-uri: /api/storage-sites/ss2
storage-control-unit-uris: []
storage-control-unit-uris:
- /api/storage-control-units/cu2
connection-endpoints:
- endpoint-uri: /api/storage-switches/sw2
endpoint-class: storage-switch
port-id: "00"

storage_control_units:
- properties:
# class: created automatically
# object-uri: created automatically
object-id: cu1
name: "Control Unit 50"
description: "Mocked storage control unit 50 in DS8886 A"
logical-address: "50"
parent: /api/storage-subsystems/subsys1
storage_paths:
- properties:
# class: created automatically
# element-uri: created automatically
adapter-port-uri: /api/adapters/fcp1/storage-ports/port0
exit-switch-uri: /api/storage-switches/sw1
exit-port: "10"
- properties:
# class: created automatically
# object-uri: created automatically
object-id: cu2
name: "Control Unit 60"
description: "Mocked storage control unit 60 in DS8886 B"
logical-address: "60"
parent: /api/storage-subsystems/subsys2
storage_paths:
- properties:
# class: created automatically
# element-uri: created automatically
adapter-port-uri: /api/adapters/fcp1/storage-ports/port0
exit-switch-uri: /api/storage-switches/sw2
exit-port: "10"

hw_messages:
- properties:
# class: created automatically
Expand Down
38 changes: 36 additions & 2 deletions tests/end2end/mocked_hmc_z17.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -527,7 +527,8 @@ hmc_definition:
name: "DS8886 A"
description: "DS8886 A storage subsystem at Primary Site"
storage-site-uri: /api/storage-sites/ss1
storage-control-unit-uris: []
storage-control-unit-uris:
- /api/storage-control-units/cu1
connection-endpoints:
- endpoint-uri: /api/storage-switches/sw1
endpoint-class: storage-switch
Expand All @@ -540,12 +541,45 @@ hmc_definition:
name: "DS8886 B"
description: "DS8886 B storage subsystem at Alternate Site"
storage-site-uri: /api/storage-sites/ss2
storage-control-unit-uris: []
storage-control-unit-uris:
- /api/storage-control-units/cu2
connection-endpoints:
- endpoint-uri: /api/storage-switches/sw2
endpoint-class: storage-switch
port-id: "00"

storage_control_units:
- properties:
# class: created automatically
# object-uri: created automatically
object-id: cu1
name: "Control Unit 50"
description: "Mocked storage control unit 50 in DS8886 A"
logical-address: "50"
parent: /api/storage-subsystems/subsys1
storage_paths:
- properties:
# class: created automatically
# element-uri: created automatically
adapter-port-uri: /api/adapters/fcp1/storage-ports/port0
exit-switch-uri: /api/storage-switches/sw1
exit-port: "10"
- properties:
# class: created automatically
# object-uri: created automatically
object-id: cu2
name: "Control Unit 60"
description: "Mocked storage control unit 60 in DS8886 B"
logical-address: "60"
parent: /api/storage-subsystems/subsys2
storage_paths:
- properties:
# class: created automatically
# element-uri: created automatically
adapter-port-uri: /api/adapters/fcp1/storage-ports/port0
exit-switch-uri: /api/storage-switches/sw2
exit-port: "10"

hw_messages:
- properties:
# class: created automatically
Expand Down
Loading
Loading