summaryrefslogtreecommitdiffstats
path: root/ansible_collections/dellemc/powerflex/docs/modules
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-26 04:05:57 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-26 04:05:57 +0000
commit0dcbb2c58231264c2f0a0374733b5e9cf8747e1f (patch)
tree7f133117f9ebecefdc96e42e01ee7557247d5d8a /ansible_collections/dellemc/powerflex/docs/modules
parentAdding debian version 9.4.0+dfsg-1. (diff)
downloadansible-0dcbb2c58231264c2f0a0374733b5e9cf8747e1f.tar.xz
ansible-0dcbb2c58231264c2f0a0374733b5e9cf8747e1f.zip
Merging upstream version 9.5.1+dfsg.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'ansible_collections/dellemc/powerflex/docs/modules')
-rw-r--r--ansible_collections/dellemc/powerflex/docs/modules/info.rst172
-rw-r--r--ansible_collections/dellemc/powerflex/docs/modules/resource_group.rst281
2 files changed, 421 insertions, 32 deletions
diff --git a/ansible_collections/dellemc/powerflex/docs/modules/info.rst b/ansible_collections/dellemc/powerflex/docs/modules/info.rst
index ced8e0aaa..7b933203f 100644
--- a/ansible_collections/dellemc/powerflex/docs/modules/info.rst
+++ b/ansible_collections/dellemc/powerflex/docs/modules/info.rst
@@ -14,7 +14,7 @@ Synopsis
Gathering information about Dell PowerFlex storage system includes getting the api details, list of volumes, SDSs, SDCs, storage pools, protection domains, snapshot policies, and devices.
-Gathering information about Dell PowerFlex Manager includes getting the list of managed devices, deployments and service templates.
+Gathering information about Dell PowerFlex Manager includes getting the list of managed devices, deployments, service templates and firmware repository.
@@ -22,9 +22,9 @@ Requirements
------------
The below requirements are needed on the host that executes this module.
-- A Dell PowerFlex storage system version 3.5 or later.
+- A Dell PowerFlex storage system version 3.6 or later.
- Ansible-core 2.14 or later.
-- PyPowerFlex 1.8.0.
+- PyPowerFlex 1.10.0.
- Python 3.9, 3.10 or 3.11.
@@ -33,7 +33,7 @@ Parameters
----------
gather_subset (optional, list, None)
- List of string variables to specify the Powerflex storage system entities for which information is required.
+ List of string variables to specify the PowerFlex storage system entities for which information is required.
Volumes - ``vol``.
@@ -61,6 +61,8 @@ Parameters
Deployments - ``deployment``.
+ FirmwareRepository - ``firmware_repository``.
+
filters (optional, list, None)
List of filters to support filtered output for storage entities.
@@ -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*.
+ Choice ``contains`` is supported for *gather_subset* keys ``service_template``, ``managed_device``, ``deployment``, ``firmware_repository``.
filter_value (True, str, None)
@@ -88,47 +90,65 @@ Parameters
limit (optional, int, 50)
Page limit.
- Supported for gather_subset keys *service_template*, *managed_device*, *deployment*.
+ Supported for *gather_subset* keys ``service_template``, ``managed_device``, ``deployment``, ``firmware_repository``.
offset (optional, int, 0)
Pagination offset.
- Supported for gather_subset keys *service_template*, *managed_device*, *deployment*.
+ Supported for *gather_subset* keys ``service_template``, ``managed_device``, ``deployment``, ``firmware_repository``.
sort (optional, str, None)
Sort the returned components based on specified field.
- Supported for gather_subset keys *service_template*, *managed_device*, *deployment*.
+ Supported for *gather_subset* keys ``service_template``, ``managed_device``, ``deployment``, ``firmware_repository``.
- The supported sort keys for the gather_subset can be referred from PowerFlex Manager API documentation in developer.dell.com.
+ The supported sort keys for the *gather_subset* can be referred from PowerFlex Manager API documentation in https://developer.dell.com.
include_devices (optional, bool, True)
Include devices in response.
- Applicable when gather_subset is *deployment*.
+ Applicable when *gather_subset* is ``deployment``.
include_template (optional, bool, True)
Include service templates in response.
- Applicable when gather_subset is *deployment*.
+ Applicable when *gather_subset* is ``deployment``.
full (optional, bool, False)
Specify if response is full or brief.
- Applicable when gather_subset is *deployment*, *service_template*.
+ Applicable when *gather_subset* is ``deployment``, ``service_template``.
- For *deployment* specify to use full templates including resources in response.
+ For ``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 *gather_subset* is ``service_template``.
+
+
+ include_related (optional, bool, False)
+ Include related entities.
+
+ Applicable when *gather_subset* is ``firmware_repository``.
+
+
+ include_bundles (optional, bool, False)
+ Include software bundle entities.
+
+ Applicable when *gather_subset* is ``firmware_repository``.
+
+
+ include_components (optional, bool, False)
+ Include software component entities.
+
+ Applicable when *gather_subset* is ``firmware_repository``.
hostname (True, str, None)
@@ -169,8 +189,8 @@ Notes
.. note::
- The *check_mode* is supported.
- - The supported filter keys for the gather_subset can be referred from PowerFlex Manager API documentation in 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* or *deployment*.
+ - 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 modules present in the collection named as 'dellemc.powerflex' are built to support the Dell PowerFlex storage platform.
@@ -184,10 +204,10 @@ Examples
- name: Get detailed list of PowerFlex entities
dellemc.powerflex.info:
- hostname: "{{hostname}}"
- username: "{{username}}"
- password: "{{password}}"
- validate_certs: "{{validate_certs}}"
+ hostname: "{{ hostname }}"
+ username: "{{ username }}"
+ password: "{{ password }}"
+ validate_certs: "{{ validate_certs }}"
gather_subset:
- vol
- storage_pool
@@ -202,10 +222,10 @@ Examples
- name: Get a subset list of PowerFlex volumes
dellemc.powerflex.info:
- hostname: "{{hostname}}"
- username: "{{username}}"
- password: "{{password}}"
- validate_certs: "{{validate_certs}}"
+ hostname: "{{ hostname }}"
+ username: "{{ username }}"
+ password: "{{ password }}"
+ validate_certs: "{{ validate_certs }}"
gather_subset:
- vol
filters:
@@ -215,10 +235,10 @@ Examples
- name: Get deployment and resource provisioning info
dellemc.powerflex.info:
- hostname: "{{hostname}}"
- username: "{{username}}"
- password: "{{password}}"
- validate_certs: "{{validate_certs}}"
+ hostname: "{{ hostname }}"
+ username: "{{ username }}"
+ password: "{{ password }}"
+ validate_certs: "{{ validate_certs }}"
gather_subset:
- managed_device
- deployment
@@ -226,10 +246,10 @@ Examples
- name: Get deployment with filter, sort, pagination
dellemc.powerflex.info:
- hostname: "{{hostname}}"
- username: "{{username}}"
- password: "{{password}}"
- validate_certs: "{{validate_certs}}"
+ hostname: "{{ hostname }}"
+ username: "{{ username }}"
+ password: "{{ password }}"
+ validate_certs: "{{ validate_certs }}"
gather_subset:
- deployment
filters:
@@ -242,6 +262,60 @@ Examples
include_devices: true
include_template: true
+ - name: Get the list of firmware repository.
+ dellemc.powerflex.info:
+ hostname: "{{ hostname }}"
+ username: "{{ username }}"
+ password: "{{ password }}"
+ validate_certs: "{{ validate_certs }}"
+ gather_subset:
+ - firmware_repository
+
+ - name: Get the list of firmware repository
+ dellemc.powerflex.info:
+ hostname: "{{ hostname }}"
+ username: "{{ username }}"
+ password: "{{ password }}"
+ validate_certs: "{{ validate_certs }}"
+ gather_subset:
+ - firmware_repository
+ include_related: true
+ include_bundles: true
+ include_components: true
+
+ - name: Get the list of firmware repository with filter
+ dellemc.powerflex.info:
+ hostname: "{{ hostname }}"
+ username: "{{ username }}"
+ password: "{{ password }}"
+ validate_certs: "{{ validate_certs }}"
+ gather_subset:
+ - firmware_repository
+ filters:
+ - filter_key: "createdBy"
+ filter_operator: "equal"
+ filter_value: "admin"
+ sort: createdDate
+ limit: 10
+ include_related: true
+ include_bundles: true
+ include_components: true
+ register: result_repository_out
+
+ - name: Get the list of available firmware repository
+ ansible.builtin.debug:
+ msg: "{{ result_repository_out.FirmwareRepository | selectattr('state', 'equalto', 'available') }}"
+
+ - name: Get the list of software components in the firmware repository
+ ansible.builtin.debug:
+ msg: "{{ result_repository_out.FirmwareRepository |
+ selectattr('id', 'equalto', '8aaa80788b7') | map(attribute='softwareComponents') | flatten }}"
+
+ - name: Get the list of software bundles in the firmware repository
+ ansible.builtin.debug:
+ msg: "{{ result_repository_out.FirmwareRepository |
+ selectattr('id', 'equalto', '8aaa80788b7') | map(attribute='softwareBundles') | flatten }}"
+
Return Values
@@ -841,6 +915,39 @@ ServiceTemplates (when I(gather_subset) is I(service_template), list, [{'id': '2
+FirmwareRepository (when I(gather_subset) is C(firmware_repository), list, [{'id': '8aaa03a78de4b2a5018de662818d000b', 'name': 'https://192.168.0.1/artifactory/path/pfxmlogs-bvt-pfmp-swo-upgrade-402-to-451-56.tar.gz', 'sourceLocation': 'https://192.168.0.2/artifactory/path/pfxmlogs-bvt-pfmp-swo-upgrade-402-to-451-56.tar.gz', 'sourceType': None, 'diskLocation': '', 'filename': '', 'md5Hash': None, 'username': '', 'password': '', 'downloadStatus': 'error', 'createdDate': '2024-02-26T17:07:11.884+00:00', 'createdBy': 'admin', 'updatedDate': '2024-03-01T06:21:10.917+00:00', 'updatedBy': 'system', 'defaultCatalog': False, 'embedded': False, 'state': 'errors', 'softwareComponents': [], 'softwareBundles': [], 'deployments': [], 'bundleCount': 0, 'componentCount': 0, 'userBundleCount': 0, 'minimal': True, 'downloadProgress': 100, 'extractProgress': 0, 'fileSizeInGigabytes': 0.0, 'signedKeySourceLocation': None, 'signature': 'Unknown', 'custom': False, 'needsAttention': False, 'jobId': 'Job-10d75a23-d801-4fdb-a2d0-7f6389ab75cf', 'rcmapproved': False}])
+ Details of all firmware repository.
+
+
+ id (, str, )
+ ID of the firmware repository.
+
+
+ name (, str, )
+ Name of the firmware repository.
+
+
+ sourceLocation (, str, )
+ Source location of the firmware repository.
+
+
+ state (, str, )
+ State of the firmware repository.
+
+
+ softwareComponents (, list, )
+ Software components of the firmware repository.
+
+
+ softwareBundles (, list, )
+ Software bundles of the firmware repository.
+
+
+ deployments (, list, )
+ Deployments of the firmware repository.
+
+
+
@@ -857,4 +964,5 @@ Authors
- Arindam Datta (@dattaarindam) <ansible.team@dell.com>
- Trisha Datta (@trisha-dell) <ansible.team@dell.com>
- Jennifer John (@Jennifer-John) <ansible.team@dell.com>
+- Felix Stephen (@felixs88) <ansible.team@dell.com>
diff --git a/ansible_collections/dellemc/powerflex/docs/modules/resource_group.rst b/ansible_collections/dellemc/powerflex/docs/modules/resource_group.rst
new file mode 100644
index 000000000..e8bdbde09
--- /dev/null
+++ b/ansible_collections/dellemc/powerflex/docs/modules/resource_group.rst
@@ -0,0 +1,281 @@
+.. _resource_group_module:
+
+
+resource_group -- Manage resource group deployments on Dell PowerFlex.
+======================================================================
+
+.. contents::
+ :local:
+ :depth: 1
+
+
+Synopsis
+--------
+
+Managing resource group deployments on PowerFlex storage system includes deploying, editing, adding nodes and deleting a resource group deployment.
+
+
+
+Requirements
+------------
+The below requirements are needed on the host that executes this module.
+
+- A Dell PowerFlex storage system version 3.6 or later.
+- Ansible-core 2.14 or later.
+- PyPowerFlex 1.10.0.
+- Python 3.9, 3.10 or 3.11.
+
+
+
+Parameters
+----------
+
+ resource_group_name (optional, str, None)
+ The name of the resource group.
+
+ This is a required field to deploy a resource group.
+
+ Either *resource_group_id* or *resource_group_name* must be specified to perform resource group operations.
+
+ Mutually exclusive with *resource_group_id*.
+
+
+ resource_group_id (optional, str, None)
+ The ID of the resource group.
+
+ Either *resource_group_id* or *resource_group_name* must be specified to perform resource group operations.
+
+ Mutually exclusive with *resource_group_name*.
+
+
+ template_name (optional, str, None)
+ The name of the published template.
+
+ Either *template_id* or *template_name* must be specified to deploy a resource group.
+
+ Mutually exclusive with *template_id*.
+
+
+ template_id (optional, str, None)
+ The ID of the published template.
+
+ Either *template_id* or *template_name* must be specified to deploy a resource group.
+
+ Mutually exclusive with *template_name*.
+
+
+ firmware_repository_id (optional, str, None)
+ The ID of the firmware repository if not using the appliance default catalog.
+
+ Mutually exclusive with *firmware_repository_name*.
+
+
+ firmware_repository_name (optional, str, None)
+ The name of the firmware repository if not using the appliance default catalog.
+
+ Mutually exclusive with *firmware_repository_id*.
+
+
+ new_resource_group_name (optional, str, None)
+ New name of the resource group to rename to.
+
+
+ description (optional, str, None)
+ The description of the resource group.
+
+
+ scaleup (optional, bool, False)
+ Whether to scale up the resource group. Specify as true to add nodes to the resource group.
+
+
+ clone_node (optional, str, None)
+ Resource to duplicate during scaleup, if more than one nodes are available in the resource group.
+
+
+ node_count (optional, int, 1)
+ Number of nodes to clone during scaleup.
+
+
+ validate (optional, bool, False)
+ Specify as true to validate the deployment of resource group.
+
+
+ schedule_date (optional, str, None)
+ Scheduled date for the resource group deployment.
+
+ Specify in YYYY-MM-DD HH:MM:SS.sss or YYYY-MM-DD format.
+
+
+ state (optional, str, present)
+ The state of the resource group.
+
+
+ hostname (True, str, None)
+ IP or FQDN of the PowerFlex host.
+
+
+ username (True, str, None)
+ The username of the PowerFlex host.
+
+
+ password (True, str, None)
+ The password of the PowerFlex host.
+
+
+ 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.
+
+ ``false`` - Indicates that the SSL certificate should not be verified.
+
+
+ port (optional, int, 443)
+ Port number through which communication happens with PowerFlex host.
+
+
+ timeout (False, int, 120)
+ Time after which connection will get terminated.
+
+ It is to be mentioned in seconds.
+
+
+
+
+
+Notes
+-----
+
+.. note::
+ - The *check_mode* is supported.
+ - Resource group scale up can be done only when deployment is complete.
+ - The modules present in the collection named as 'dellemc.powerflex' are built to support the Dell PowerFlex storage platform.
+
+
+
+
+Examples
+--------
+
+.. code-block:: yaml+jinja
+
+
+ - name: Validate deployment of a resource group
+ dellemc.powerflex.resource_group:
+ hostname: "{{ hostname }}"
+ username: "{{ username }}"
+ password: "{{ password }}"
+ validate_certs: "{{ validate_certs }}"
+ port: "{{ port }}"
+ resource_group_name: "{{ resource_group_name_1 }}"
+ description: ans_rg
+ template_id: c65d0172-8666-48ab-935e-9a0bf69ed66d
+ firmware_repository_id: 8aaa80788b5755d1018b576126d51ba3
+ validate: true
+
+ - name: Deploy a resource group
+ dellemc.powerflex.resource_group:
+ hostname: "{{ hostname }}"
+ username: "{{ username }}"
+ password: "{{ password }}"
+ validate_certs: "{{ validate_certs }}"
+ port: "{{ port }}"
+ resource_group_name: "{{ resource_group_name_1 }}"
+ description: ans_rg
+ template_id: c65d0172-8666-48ab-935e-9a0bf69ed66d
+ firmware_repository_id: 8aaa80788b5755d1018b576126d51ba3
+
+ - name: Add a node to a resource group
+ dellemc.powerflex.resource_group:
+ hostname: "{{ hostname }}"
+ username: "{{ username }}"
+ password: "{{ password }}"
+ validate_certs: "{{ validate_certs }}"
+ resource_group_name: "{{ resource_group_name_1 }}"
+ scaleup: true
+ clone_node: "{{ node_1 }}"
+ node_count: "{{ node_count }}"
+
+ - name: Modify a resource group
+ dellemc.powerflex.resource_group:
+ hostname: "{{ hostname }}"
+ username: "{{ username }}"
+ password: "{{ password }}"
+ validate_certs: "{{ validate_certs }}"
+ resource_group_name: "{{ resource_group_name_1 }}"
+ new_resource_group_name: "{{ new_resource_group_name }}"
+ description: "description new"
+
+ - name: Delete a resource group
+ dellemc.powerflex.resource_group:
+ hostname: "{{ hostname }}"
+ username: "{{ username }}"
+ password: "{{ password }}"
+ validate_certs: "{{ validate_certs }}"
+ port: "{{ port }}"
+ resource_group_name: ans_rg
+ state: "absent"
+
+
+
+Return Values
+-------------
+
+changed (always, bool, false)
+ Whether or not the resource has changed.
+
+
+resource_group_details (When resource group exists., dict, {'id': '8aaa03a88de961fa018de96a88d80008', 'deploymentName': 'dep-ans-test-rg1', 'deploymentDescription': 'ans test rg', 'retry': True, 'teardown': False, 'serviceTemplate': {'id': '8aaa03a88de961fa018de96a88d80008', 'templateName': 'update-template (8aaa03a88de961fa018de96a88d80008)'}, 'scheduleDate': None, 'status': 'error', 'compliant': True, 'deploymentDevice': [{'refId': 'scaleio-block-legacy-gateway', 'refType': 'SCALEIO', 'deviceHealth': 'GREEN', 'compliantState': 'COMPLIANT', 'deviceType': 'scaleio', 'currentIpAddress': '1.3.9.2', 'componentId': '910bf934-d45a-4fe3-8ea2-dc481e063a81', 'statusMessage': 'The processing of PowerFlex is unsuccessful.', 'model': 'PowerFlex Gateway', 'brownfield': False}], 'updateServerFirmware': True, 'useDefaultCatalog': True, 'firmwareRepository': {'id': '8aaa80788b5755d1018b576126d51ba3', 'name': 'PowerFlex 4.5.0.0', 'rcmapproved': False}, 'firmwareRepositoryId': '8aaa80788b5755d1018b576126d51ba3', 'deploymentHealthStatusType': 'red', 'allUsersAllowed': False, 'owner': 'admin', 'numberOfDeployments': 0, 'lifecycleMode': False, 'vds': False, 'scaleUp': False, 'brownfield': False, 'templateValid': True, 'configurationChange': False})
+ Details of the resource group deployment.
+
+
+ id (, str, )
+ The ID of the deployed resource group.
+
+
+ deploymentName (, str, )
+ The name of the resource group deployment.
+
+
+ deploymentDescription (, str, )
+ The description of the resource group deployment.
+
+
+ serviceTemplate (, dict, )
+ The service template of the resource group.
+
+
+ id (, str, )
+ The ID of the service template.
+
+
+ templateName (, str, )
+ The name of the service template.
+
+
+
+ status (, str, )
+ The status of the deployment of the resource group.
+
+
+ firmwareRepositoryId (, str, )
+ The ID of the firmware repository of the resource group.
+
+
+
+
+
+
+Status
+------
+
+
+
+
+
+Authors
+~~~~~~~
+
+- Jennifer John (@johnj9) <ansible.team@dell.com>
+- Trisha Datta (@trisha-dell) <ansible.team@dell.com>
+