diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-26 04:05:57 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-26 04:05:57 +0000 |
commit | 0dcbb2c58231264c2f0a0374733b5e9cf8747e1f (patch) | |
tree | 7f133117f9ebecefdc96e42e01ee7557247d5d8a /ansible_collections/dellemc/powerflex/docs/modules | |
parent | Adding debian version 9.4.0+dfsg-1. (diff) | |
download | ansible-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.rst | 172 | ||||
-rw-r--r-- | ansible_collections/dellemc/powerflex/docs/modules/resource_group.rst | 281 |
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> + |