Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support NVMe host management #1

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
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
99 changes: 66 additions & 33 deletions docs/modules/info.rst
Original file line number Diff line number Diff line change
Expand Up @@ -33,39 +33,41 @@ Parameters
gather_subset (optional, list, None)
List of string variables to specify the PowerFlex storage system entities for which information is required.

Volumes - ``vol``.
Volumes - :literal:`vol`.

Storage pools - ``storage_pool``.
Storage pools - :literal:`storage\_pool`.

Protection domains - ``protection_domain``.
Protection domains - :literal:`protection\_domain`.

SDCs - ``sdc``.
SDCs - :literal:`sdc`.

SDSs - ``sds``.
SDSs - :literal:`sds`.

Snapshot policies - ``snapshot_policy``.
Snapshot policies - :literal:`snapshot\_policy`.

Devices - ``device``.
Devices - :literal:`device`.

Replication consistency groups - ``rcg``.
Replication consistency groups - :literal:`rcg`.

Replication pairs - ``replication_pair``.
Replication pairs - :literal:`replication\_pair`.

Fault Sets - ``fault_set``.
Fault Sets - :literal:`fault\_set`.

Service templates - ``service_template``.
Service templates - :literal:`service\_template`.

Managed devices - ``managed_device``.
Managed devices - :literal:`managed\_device`.

Deployments - ``deployment``.
Deployments - :literal:`deployment`.

FirmwareRepository - ``firmware_repository``.
FirmwareRepository - :literal:`firmware\_repository`.

NVMe host - :literal:`nvme\_host`


filters (optional, list, None)
List of filters to support filtered output for storage entities.

Each filter is a list of *filter_key*, *filter_operator*, *filter_value*.
Each filter is a list of :emphasis:`filter\_key`\ , :emphasis:`filter\_operator`\ , :emphasis:`filter\_value`.

Supports passing of multiple filters.

Expand All @@ -77,7 +79,7 @@ Parameters
filter_operator (True, str, None)
Operation to be performed on filter key.

Choice ``contains`` is supported for *gather_subset* keys ``service_template``, ``managed_device``, ``deployment``, ``firmware_repository``.
Choice :literal:`contains` is supported for :emphasis:`gather\_subset` keys :literal:`service\_template`\ , :literal:`managed\_device`\ , :literal:`deployment`\ , :literal:`firmware\_repository`.


filter_value (True, str, None)
Expand All @@ -88,65 +90,65 @@ Parameters
limit (optional, int, 50)
Page limit.

Supported for *gather_subset* keys ``service_template``, ``managed_device``, ``deployment``, ``firmware_repository``.
Supported for :emphasis:`gather\_subset` keys :literal:`service\_template`\ , :literal:`managed\_device`\ , :literal:`deployment`\ , :literal:`firmware\_repository`.


offset (optional, int, 0)
Pagination offset.

Supported for *gather_subset* keys ``service_template``, ``managed_device``, ``deployment``, ``firmware_repository``.
Supported for :emphasis:`gather\_subset` keys :literal:`service\_template`\ , :literal:`managed\_device`\ , :literal:`deployment`\ , :literal:`firmware\_repository`.


sort (optional, str, None)
Sort the returned components based on specified field.

Supported for *gather_subset* keys ``service_template``, ``managed_device``, ``deployment``, ``firmware_repository``.
Supported for :emphasis:`gather\_subset` keys :literal:`service\_template`\ , :literal:`managed\_device`\ , :literal:`deployment`\ , :literal:`firmware\_repository`.

The supported sort keys for the *gather_subset* can be referred from PowerFlex Manager API documentation in https://developer.dell.com.
The supported sort keys for the :emphasis:`gather\_subset` can be referred from PowerFlex Manager API documentation in \ `https://developer.dell.com <https://developer.dell.com>`__.


include_devices (optional, bool, True)
Include devices in response.

Applicable when *gather_subset* is ``deployment``.
Applicable when :emphasis:`gather\_subset` is :literal:`deployment`.


include_template (optional, bool, True)
Include service templates in response.

Applicable when *gather_subset* is ``deployment``.
Applicable when :emphasis:`gather\_subset` is :literal:`deployment`.


full (optional, bool, False)
Specify if response is full or brief.

Applicable when *gather_subset* is ``deployment``, ``service_template``.
Applicable when :emphasis:`gather\_subset` is :literal:`deployment`\ , :literal:`service\_template`.

For ``deployment`` specify to use full templates including resources in response.
For :literal:`deployment` specify to use full templates including resources in response.


include_attachments (optional, bool, True)
Include attachments.

Applicable when *gather_subset* is ``service_template``.
Applicable when :emphasis:`gather\_subset` is :literal:`service\_template`.


include_related (optional, bool, False)
Include related entities.

Applicable when *gather_subset* is ``firmware_repository``.
Applicable when :emphasis:`gather\_subset` is :literal:`firmware\_repository`.


include_bundles (optional, bool, False)
Include software bundle entities.

Applicable when *gather_subset* is ``firmware_repository``.
Applicable when :emphasis:`gather\_subset` is :literal:`firmware\_repository`.


include_components (optional, bool, False)
Include software component entities.

Applicable when *gather_subset* is ``firmware_repository``.
Applicable when :emphasis:`gather\_subset` is :literal:`firmware\_repository`.


hostname (True, str, None)
Expand All @@ -164,9 +166,9 @@ Parameters
validate_certs (optional, bool, True)
Boolean variable to specify whether or not to validate SSL certificate.

``true`` - Indicates that the SSL certificate should be verified.
:literal:`true` - Indicates that the SSL certificate should be verified.

``false`` - Indicates that the SSL certificate should not be verified.
:literal:`false` - Indicates that the SSL certificate should not be verified.


port (optional, int, 443)
Expand All @@ -186,9 +188,9 @@ Notes
-----

.. note::
- The *check_mode* is supported.
- The supported filter keys for the *gather_subset* can be referred from PowerFlex Manager API documentation in https://developer.dell.com.
- The *filter*, *sort*, *limit* and *offset* options will be ignored when more than one *gather_subset* is specified along with ``service_template``, ``managed_device``, ``deployment`` or ``firmware_repository``.
- The :emphasis:`check\_mode` is supported.
- The supported filter keys for the :emphasis:`gather\_subset` can be referred from PowerFlex Manager API documentation in \ `https://developer.dell.com <https://developer.dell.com>`__.
- The :emphasis:`filter`\ , :emphasis:`sort`\ , :emphasis:`limit` and :emphasis:`offset` options will be ignored when more than one :emphasis:`gather\_subset` is specified along with :literal:`service\_template`\ , :literal:`managed\_device`\ , :literal:`deployment` or :literal:`firmware\_repository`.
- The modules present in the collection named as 'dellemc.powerflex' are built to support the Dell PowerFlex storage platform.


Expand Down Expand Up @@ -217,6 +219,7 @@ Examples
- rcg
- replication_pair
- fault_set
- nvme_host

- name: Get a subset list of PowerFlex volumes
dellemc.powerflex.info:
Expand Down Expand Up @@ -314,6 +317,19 @@ Examples
msg: "{{ result_repository_out.FirmwareRepository |
selectattr('id', 'equalto', '8aaa80788b7') | map(attribute='softwareBundles') | flatten }}"

- name: Get the list of NVMe hosts
dellemc.powerflex.info:
hostname: "{{ hostname }}"
username: "{{ username }}"
password: "{{ password }}"
validate_certs: "{{ validate_certs }}"
gather_subset:
- nvme_host
filters:
- filter_key: "name"
filter_operator: "equal"
filter_value: "ansible_test"



Return Values
Expand Down Expand Up @@ -946,6 +962,23 @@ FirmwareRepository (when I(gather_subset) is C(firmware_repository), list, [{'id



NVMe_Hosts (always, list, [{'hostOsFullType': 'Generic', 'systemId': 'f4c3b7f5c48cb00f', 'sdcApproved': None, 'sdcAgentActive': None, 'mdmIpAddressesCurrent': None, 'sdcIp': None, 'sdcIps': None, 'osType': None, 'perfProfile': None, 'peerMdmId': None, 'sdtId': None, 'mdmConnectionState': None, 'softwareVersionInfo': None, 'socketAllocationFailure': None, 'memoryAllocationFailure': None, 'versionInfo': None, 'sdcType': None, 'nqn': 'nqn.2014-08.org.nvmexpress:uuid:79e90a42-47c9-a0f6-d9d3-51c47c72c7c1', 'maxNumPaths': 3, 'maxNumSysPorts': 3, 'sdcGuid': None, 'installedSoftwareVersionInfo': None, 'kernelVersion': None, 'kernelBuildNumber': None, 'sdcApprovedIps': None, 'hostType': 'NVMeHost', 'sdrId': None, 'name': 'example_nvme_host', 'id': 'da8f60fd00010000', 'links': [{'rel': 'self', 'href': '/api/instances/Host::da8f60fd00010000'}, {'rel': '/api/Host/relationship/Volume', 'href': '/api/instances/Host::da8f60fd00010000/relationships/Volume'}, {'rel': '/api/Host/relationship/NvmeController', 'href': '/api/instances/Host::da8f60fd00010000/relationships/NvmeController'}, {'rel': '/api/parent/relationship/systemId', 'href': '/api/instances/System::f4c3b7f5c48cb00f'}]}])
Details of all NVMe hosts.


id (, str, )
NVMe host id.


name (, str, )
NVMe host name.


nqn (, str, )
NQN of the NVMe host.






Expand Down
Loading
Loading