diff --git a/.github/workflows/ansible-test.yml b/.github/workflows/ansible-test.yml index c5b55cfe..f54a2373 100644 --- a/.github/workflows/ansible-test.yml +++ b/.github/workflows/ansible-test.yml @@ -17,7 +17,7 @@ jobs: ansible-version: [stable-2.15, stable-2.16, stable-2.17, devel] steps: - name: Check out code - uses: actions/checkout@v4 + uses: actions/checkout@v3 - name: Set up Python 3.11 uses: actions/setup-python@v4 @@ -38,7 +38,7 @@ jobs: ### # Unit tests (OPTIONAL) - # + # # https://docs.ansible.com/ansible/latest/dev_guide/testing_units.html unit: @@ -48,19 +48,13 @@ jobs: strategy: fail-fast: false matrix: - python: ['3.9', '3.10', '3.11'] + python: ['3.10', '3.11'] ansible: - stable-2.15 - stable-2.16 - stable-2.17 - devel exclude: - - ansible: stable-2.16 - python: '3.9' - - ansible: stable-2.17 - python: '3.9' - - ansible: devel - python: '3.9' - ansible: devel python: '3.10' @@ -73,6 +67,7 @@ jobs: ansible-core-version: ${{ matrix.ansible }} target-python-version: ${{ matrix.python }} + ### # Sanity tests (REQUIRED) # @@ -80,26 +75,21 @@ jobs: sanity: name: Sanity (Ⓐ${{ matrix.ansible }} with ${{ matrix.python }} python) + runs-on: ubuntu-latest needs: [build] strategy: + fail-fast: false matrix: - python: ['3.9', '3.10', '3.11'] + python: ['3.10', '3.11'] ansible: - stable-2.15 - stable-2.16 - stable-2.17 - devel exclude: - - ansible: stable-2.16 - python: '3.9' - - ansible: stable-2.17 - python: '3.9' - - ansible: devel - python: '3.9' - ansible: devel python: '3.10' - runs-on: ubuntu-latest steps: - name: Perform sanity testing uses: ansible-community/ansible-test-gh-action@release/v1 @@ -117,28 +107,21 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.9", "3.10", "3.11"] + python-version: ["3.10", "3.11"] ansible-version: [stable-2.15, stable-2.16, stable-2.17, devel] exclude: - # Ansible-core 2.16 is supported only from Python 3.10 onwards - - python-version: "3.9" - ansible-version: stable-2.16 - - python-version: "3.9" - ansible-version: stable-2.17 - - python-version: "3.9" - ansible-version: devel - ansible-version: devel python-version: '3.10' steps: # Important: This sets up your GITHUB_WORKSPACE environment variable - name: Checkout the source code - uses: actions/checkout@v4 + uses: actions/checkout@v3 with: fetch-depth: 0 # needed for progressive mode to work - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 + uses: actions/setup-python@v1 with: python-version: ${{ matrix.python-version }} diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 429fb07c..e0c821b9 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -4,6 +4,22 @@ Dellemc.Powerscale Change Logs .. contents:: Topics + +v3.1.0 +====== + +Minor Changes +------------- + +- Added support for OneFS 9.8 Lonestar release. +- Added support for running as root, along with other boolean flags such as allow_delete_readonly, allow_execute_always, and inheritable_path_acl in SMB module. + +New Modules +----------- + +- dellemc.powerscale.roles - Manage auth roles on a PowerScale Storage System. +- dellemc.powerscale.support_assist - Manage support assist settings on a PowerScale Storage System. + v3.0.0 ====== diff --git a/README.md b/README.md index fee1f44b..38ea81e7 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,13 @@ # Ansible Modules for Dell Technologies PowerScale +[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg)](https://github.com/dell/ansible-powerscale/blob/main/docs/CODE_OF_CONDUCT.md) +[![License](https://img.shields.io/github/license/dell/ansible-powerscale)](https://github.com/dell/ansible-powerscale/blob/main/LICENSE) +[![Python version](https://img.shields.io/badge/python-3.9.6+-blue.svg)](https://www.python.org/downloads/) +[![Ansible version](https://img.shields.io/badge/ansible-2.15.6+-blue.svg)](https://pypi.org/project/ansible/) +[![isilon-sdk](https://img.shields.io/github/v/release/dell/python-powerscale?include_prereleases&label=isilon-sdk&style=flat-square)](https://github.com/Isilon/isilon_sdk_python) +[![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/dell/ansible-powerscale?include_prereleases&label=latest&style=flat-square)](https://github.com/dell/ansible-powerscale/releases) +[![codecov](https://codecov.io/gh/dell/ansible-powerscale/branch/main/graph/badge.svg)](https://app.codecov.io/gh/dell/ansible-powerscale) + The Ansible Modules for Dell Technologies (Dell) PowerScale allow Data Center and IT administrators to use RedHat Ansible to automate and orchestrate the configuration and management of Dell PowerScale arrays. The Ansible Modules for Dell PowerScale support the following features: @@ -36,20 +44,22 @@ The Ansible Modules for Dell PowerScale support the following features: - Get details and modify SMB global settings. - Get details and modify SNMP settings. - Get details, import, modify, setting default and delete server certificates. +- Get details, create, modify, and delete auth roles. +- Get details, and modify support assist settings. The tasks can be executed by running simple playbooks written in yaml syntax. ## Table of contents -* [Code of conduct](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/CODE_OF_CONDUCT.md) -* [Maintainer guide](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/MAINTAINER_GUIDE.md) -* [Committer guide](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/COMMITTER_GUIDE.md) -* [Contributing guide](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/CONTRIBUTING.md) -* [Branching strategy](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/BRANCHING.md) -* [List of adopters](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/ADOPTERS.md) -* [Maintainers](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/MAINTAINERS.md) -* [Support](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/SUPPORT.md) -* [Security](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/SECURITY.md) +* [Code of conduct](https://github.com/dell/ansible-powerscale/blob/main/docs/CODE_OF_CONDUCT.md) +* [Maintainer guide](https://github.com/dell/ansible-powerscale/blob/main/docs/MAINTAINER_GUIDE.md) +* [Committer guide](https://github.com/dell/ansible-powerscale/blob/main/docs/COMMITTER_GUIDE.md) +* [Contributing guide](https://github.com/dell/ansible-powerscale/blob/main/docs/CONTRIBUTING.md) +* [Branching strategy](https://github.com/dell/ansible-powerscale/blob/main/docs/BRANCHING.md) +* [List of adopters](https://github.com/dell/ansible-powerscale/blob/main/docs/ADOPTERS.md) +* [Maintainers](https://github.com/dell/ansible-powerscale/blob/main/docs/MAINTAINERS.md) +* [Support](https://github.com/dell/ansible-powerscale/blob/main/docs/SUPPORT.md) +* [Security](https://github.com/dell/ansible-powerscale/blob/main/docs/SECURITY.md) * [License](#license) * [Supported platforms](#supported-platforms) * [Prerequisites](#prerequisites) @@ -58,62 +68,64 @@ The tasks can be executed by running simple playbooks written in yaml syntax. * [Maintanence](#maintanence) ## License -Ansible collection for PowerScale is released and licensed under the GPL-3.0 license. See [LICENSE](https://github.com/dell/ansible-powerscale/blob/3.0.0/LICENSE) for the full terms. Ansible modules and modules utilities that are part of the Ansible collection for PowerScale are released and licensed under the Apache 2.0 license. See [MODULE-LICENSE](https://github.com/dell/ansible-powerscale/blob/3.0.0/MODULE-LICENSE) for the full terms. +Ansible collection for PowerScale is released and licensed under the GPL-3.0 license. See [LICENSE](https://github.com/dell/ansible-powerscale/blob/main/LICENSE) for the full terms. Ansible modules and modules utilities that are part of the Ansible collection for PowerScale are released and licensed under the Apache 2.0 license. See [MODULE-LICENSE](https://github.com/dell/ansible-powerscale/blob/main/MODULE-LICENSE) for the full terms. ## Supported platforms - * Dell PowerScale OneFS versions 9.3.x, 9.4.x and 9.5.x + * Dell PowerScale OneFS versions 9.3.x, 9.4.x, 9.5.x, and 9.8.x ## Prerequisites This table provides information about the software prerequisites for the Ansible Modules for Dell PowerScale. | **Ansible Modules** | **OneFS Version** | **Python version** | **Python SDK version** | **Ansible** | |---------------------|-----------------------|--------------------|----------------------------|--------------------------| -| v3.0.0 | 9.4.x
9.5.x
9.7.x | 3.9
3.10
3.11 | 0.3.0.1 | 2.14
2.15
2.16 | +| v3.1.0 | 9.4.x
9.5.x
9.7.x
9.8.x | 3.9
3.10
3.11
3.12 | 0.3.0.1 | 2.14
2.15
2.16
2.17 | # List of Ansible modules for Dell PowerScale - * [File System Module](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/modules/filesystem.rst) - * [Access Zone Module](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/modules/accesszone.rst) - * [User Module](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/modules/user.rst) - * [Group Module](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/modules/group.rst) - * [Snapshot Module](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/modules/snapshot.rst) - * [Snapshot Schedule Module](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/modules/snapshotschedule.rst) - * [NFS Module](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/modules/nfs.rst) - * [SMB Module](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/modules/smb.rst) - * [Smart Quota Module](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/modules/smartquota.rst) - * [Info Module](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/modules/info.rst) - * [Active Directory Module](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/modules/ads.rst) - * [LDAP Module](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/modules/ldap.rst) - * [Node Module](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/modules/node.rst) - * [SyncIQ Policy Module](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/modules/synciqpolicy.rst) - * [SyncIQ Jobs Module](https://github.com/dell/ansible-powerscale/tree/3.0.0/docs/modules/synciqjob.rst) - * [SyncIQ Performance Rules Module](https://github.com/dell/ansible-powerscale/tree/3.0.0/docs/modules/synciqrules.rst) - * [SyncIQ Reports Module](https://github.com/dell/ansible-powerscale/tree/3.0.0/docs/modules/synciqreports.rst) - * [SyncIQ Target Reports Module](https://github.com/dell/ansible-powerscale/tree/3.0.0/docs/modules/synciqtargetreports.rst) - * [Groupnet Module](https://github.com/dell/ansible-powerscale/tree/3.0.0/docs/modules/groupnet.rst) - * [Subnet Module](https://github.com/dell/ansible-powerscale/tree/3.0.0/docs/modules/subnet.rst) - * [Network Pool Module](https://github.com/dell/ansible-powerscale/tree/3.0.0/docs/modules/networkpool.rst) - * [Network Rule Module](https://github.com/dell/ansible-powerscale/tree/3.0.0/docs/modules/networkrule.rst) - * [NFS Alias Module](https://github.com/dell/ansible-powerscale/tree/3.0.0/docs/modules/nfs_alias.rst) - * [Settings Module](https://github.com/dell/ansible-powerscale/tree/3.0.0/docs/modules/settings.rst) - * [Network Setting Module](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/modules/networksettings.rst) - * [Smart Pool Setting Module](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/modules/smartpoolsettings.rst) - * [Filepool Policy Module](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/modules/filepoolpolicy.rst) - * [Storagepool Tier Module](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/modules/storagepooltier.rst) - * [SMB File Module](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/modules/smb_file.rst) - * [User Mapping Rule Module](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/modules/user_mapping_rule.rst) - * [S3 Bucket Module](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/modules/s3_bucket.rst) - * [NFS Default Settings Module](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/modules/nfs_default_settings.rst) - * [NFS Global Settings Module](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/modules/nfs_global_settings.rst) - * [NFS Zone Settings Module](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/modules/nfs_zone_settings.rst) - * [SyncIQ Global Settings Module](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/modules/synciq_global_settings.rst) - * [SyncIQ Certificate Module](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/modules/synciqcertificate.rst) - * [SMB Global Settings Module](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/modules/smb_global_settings.rst) - * [SNMP Settings Module](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/modules/snmp_settings.rst) - * [Server Certificate Module](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/modules/server_certificate.rst) + * [File System Module](https://github.com/dell/ansible-powerscale/blob/main/docs/modules/filesystem.rst) + * [Access Zone Module](https://github.com/dell/ansible-powerscale/blob/main/docs/modules/accesszone.rst) + * [User Module](https://github.com/dell/ansible-powerscale/blob/main/docs/modules/user.rst) + * [Group Module](https://github.com/dell/ansible-powerscale/blob/main/docs/modules/group.rst) + * [Snapshot Module](https://github.com/dell/ansible-powerscale/blob/main/docs/modules/snapshot.rst) + * [Snapshot Schedule Module](https://github.com/dell/ansible-powerscale/blob/main/docs/modules/snapshotschedule.rst) + * [NFS Module](https://github.com/dell/ansible-powerscale/blob/main/docs/modules/nfs.rst) + * [SMB Module](https://github.com/dell/ansible-powerscale/blob/main/docs/modules/smb.rst) + * [Smart Quota Module](https://github.com/dell/ansible-powerscale/blob/main/docs/modules/smartquota.rst) + * [Info Module](https://github.com/dell/ansible-powerscale/blob/main/docs/modules/info.rst) + * [Active Directory Module](https://github.com/dell/ansible-powerscale/blob/main/docs/modules/ads.rst) + * [LDAP Module](https://github.com/dell/ansible-powerscale/blob/main/docs/modules/ldap.rst) + * [Node Module](https://github.com/dell/ansible-powerscale/blob/main/docs/modules/node.rst) + * [SyncIQ Policy Module](https://github.com/dell/ansible-powerscale/blob/main/docs/modules/synciqpolicy.rst) + * [SyncIQ Jobs Module](https://github.com/dell/ansible-powerscale/tree/main/docs/modules/synciqjob.rst) + * [SyncIQ Performance Rules Module](https://github.com/dell/ansible-powerscale/tree/main/docs/modules/synciqrules.rst) + * [SyncIQ Reports Module](https://github.com/dell/ansible-powerscale/tree/main/docs/modules/synciqreports.rst) + * [SyncIQ Target Reports Module](https://github.com/dell/ansible-powerscale/tree/main/docs/modules/synciqtargetreports.rst) + * [Groupnet Module](https://github.com/dell/ansible-powerscale/tree/main/docs/modules/groupnet.rst) + * [Subnet Module](https://github.com/dell/ansible-powerscale/tree/main/docs/modules/subnet.rst) + * [Network Pool Module](https://github.com/dell/ansible-powerscale/tree/main/docs/modules/networkpool.rst) + * [Network Rule Module](https://github.com/dell/ansible-powerscale/tree/main/docs/modules/networkrule.rst) + * [NFS Alias Module](https://github.com/dell/ansible-powerscale/tree/main/docs/modules/nfs_alias.rst) + * [Settings Module](https://github.com/dell/ansible-powerscale/tree/main/docs/modules/settings.rst) + * [Network Setting Module](https://github.com/dell/ansible-powerscale/blob/main/docs/modules/networksettings.rst) + * [Smart Pool Setting Module](https://github.com/dell/ansible-powerscale/blob/main/docs/modules/smartpoolsettings.rst) + * [Filepool Policy Module](https://github.com/dell/ansible-powerscale/blob/main/docs/modules/filepoolpolicy.rst) + * [Storagepool Tier Module](https://github.com/dell/ansible-powerscale/blob/main/docs/modules/storagepooltier.rst) + * [SMB File Module](https://github.com/dell/ansible-powerscale/blob/main/docs/modules/smb_file.rst) + * [User Mapping Rule Module](https://github.com/dell/ansible-powerscale/blob/main/docs/modules/user_mapping_rule.rst) + * [S3 Bucket Module](https://github.com/dell/ansible-powerscale/blob/main/docs/modules/s3_bucket.rst) + * [NFS Default Settings Module](https://github.com/dell/ansible-powerscale/blob/main/docs/modules/nfs_default_settings.rst) + * [NFS Global Settings Module](https://github.com/dell/ansible-powerscale/blob/main/docs/modules/nfs_global_settings.rst) + * [NFS Zone Settings Module](https://github.com/dell/ansible-powerscale/blob/main/docs/modules/nfs_zone_settings.rst) + * [SyncIQ Global Settings Module](https://github.com/dell/ansible-powerscale/blob/main/docs/modules/synciq_global_settings.rst) + * [SyncIQ Certificate Module](https://github.com/dell/ansible-powerscale/blob/main/docs/modules/synciqcertificate.rst) + * [SMB Global Settings Module](https://github.com/dell/ansible-powerscale/blob/main/docs/modules/smb_global_settings.rst) + * [SNMP Settings Module](https://github.com/dell/ansible-powerscale/blob/main/docs/modules/snmp_settings.rst) + * [Server Certificate Module](https://github.com/dell/ansible-powerscale/blob/main/docs/modules/server_certificate.rst) + * [Roles](https://github.com/dell/ansible-powerscale/blob/main/docs/modules/roles.rst) + * [Support Assist](https://github.com/dell/ansible-powerscale/blob/main/docs/modules/support_assist.rst) ## Installation and execution of Ansible modules for Dell PowerScale -The installation and execution steps of Ansible modules for Dell PowerScale can be found [here](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/INSTALLATION.md). +The installation and execution steps of Ansible modules for Dell PowerScale can be found [here](https://github.com/dell/ansible-powerscale/blob/main/docs/INSTALLATION.md). ## Maintenance Ansible Modules for Dell Technologies PowerScale deprecation cycle is aligned with [Ansible](https://docs.ansible.com/ansible/latest/dev_guide/module_lifecycle.html). diff --git a/changelogs/changelog.yaml b/changelogs/changelog.yaml index 36a67f5c..20a2e63d 100644 --- a/changelogs/changelog.yaml +++ b/changelogs/changelog.yaml @@ -269,3 +269,18 @@ releases: minor_changes: - Added support for OneFS 9.7 Key West release. release_date: '2024-03-29' + 3.1.0: + changes: + minor_changes: + - Added support for running as root, along with other boolean flags such + as allow_delete_readonly, allow_execute_always, and inheritable_path_acl + in SMB module. + - Added support for OneFS 9.8 Lonestar release. + modules: + - description: Manage auth roles on a PowerScale Storage System. + name: roles + namespace: '' + - description: Manage support assist settings on a PowerScale Storage System. + name: support_assist + namespace: '' + release_date: '2024-06-28' diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index f8ec05d4..df1fe9e0 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -10,7 +10,7 @@ You may obtain a copy of the License at # How to contribute -Become one of the contributors to this project! We thrive to build a welcoming and open community for anyone who wants to use the project or contribute to it. There are just a few small guidelines you need to follow. To help us create a safe and positive community experience for all, we require all participants to adhere to the [Code of Conduct](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/CODE_OF_CONDUCT.md). +Become one of the contributors to this project! We thrive to build a welcoming and open community for anyone who wants to use the project or contribute to it. There are just a few small guidelines you need to follow. To help us create a safe and positive community experience for all, we require all participants to adhere to the [Code of Conduct](https://github.com/dell/ansible-powerscale/blob/main/docs/CODE_OF_CONDUCT.md). ## Table of contents @@ -76,7 +76,7 @@ Triage helps ensure that issues resolve quickly by: If you don't have the knowledge or time to code, consider helping with _issue triage_. The Ansible modules for Dell PowerScale community will thank you for saving them time by spending some of yours. -Read more about the ways you can [Triage issues](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/ISSUE_TRIAGE.md). +Read more about the ways you can [Triage issues](https://github.com/dell/ansible-powerscale/blob/main/docs/ISSUE_TRIAGE.md). ## Your first contribution @@ -89,7 +89,7 @@ When you're ready to contribute, it's time to create a pull request. ## Branching -* [Branching Strategy for Ansible modules for Dell PowerScale](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/BRANCHING.md) +* [Branching Strategy for Ansible modules for Dell PowerScale](https://github.com/dell/ansible-powerscale/blob/main/docs/BRANCHING.md) ## Signing your commits @@ -144,7 +144,7 @@ Make sure that the title for your pull request uses the same format as the subje ### Quality gates for pull requests -GitHub Actions are used to enforce quality gates when a pull request is created or when any commit is made to the pull request. These GitHub Actions enforce our minimum code quality requirement for any code that get checked into the repository. If any of the quality gates fail, it is expected that the contributor will look into the check log, understand the problem and resolve the issue. If help is needed, please feel free to reach out the maintainers of the project for [support](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/SUPPORT.md). +GitHub Actions are used to enforce quality gates when a pull request is created or when any commit is made to the pull request. These GitHub Actions enforce our minimum code quality requirement for any code that get checked into the repository. If any of the quality gates fail, it is expected that the contributor will look into the check log, understand the problem and resolve the issue. If help is needed, please feel free to reach out the maintainers of the project for [support](https://github.com/dell/ansible-powerscale/blob/main/docs/SUPPORT.md). #### Code sanitization diff --git a/docs/INSTALLATION.md b/docs/INSTALLATION.md index 253a8667..1dd5755e 100644 --- a/docs/INSTALLATION.md +++ b/docs/INSTALLATION.md @@ -32,7 +32,7 @@ Use this procedure to install SDK: #### Offline installation of collections 1. Download the latest tar build from either of the available distribution channels [Ansible Galaxy](https://galaxy.ansible.com/dellemc/powerscale) /[Automation Hub](https://console.redhat.com/ansible/automation-hub/repo/published/dellemc/powerscale) and use this command to install the collection anywhere in your system: - ansible-galaxy collection install dellemc-powerscale-3.0.0.tar.gz -p + ansible-galaxy collection install dellemc-powerscale-3.1.0.tar.gz -p 2. Set the environment variable: @@ -59,7 +59,7 @@ Use this procedure to install SDK: ## Ansible modules execution -The Ansible server must be configured with Python library for OneFS to run the Ansible playbooks. The [Documents](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs) provide information on different Ansible modules along with their functions and syntax. The parameters table in the Product Guide provides information on various parameters which need to be configured before running the modules. +The Ansible server must be configured with Python library for OneFS to run the Ansible playbooks. The [Documents](https://github.com/dell/ansible-powerscale/blob/main/docs) provide information on different Ansible modules along with their functions and syntax. The parameters table in the Product Guide provides information on various parameters which need to be configured before running the modules. ## SSL certificate validation diff --git a/docs/ISSUE_TRIAGE.md b/docs/ISSUE_TRIAGE.md index 4f66cc73..9b903a85 100644 --- a/docs/ISSUE_TRIAGE.md +++ b/docs/ISSUE_TRIAGE.md @@ -43,7 +43,7 @@ Should explain what happened, what was expected and how to reproduce it together - Ansible Version: [e.g. 2.15] - Python Version [e.g. 3.11] - - Ansible modules for Dell PowerScale Version: [e.g. 3.0.0] + - Ansible modules for Dell PowerScale Version: [e.g. 3.1.0] - PowerScale SDK version: [e.g. 0.3.0.1] - Any other additional information... diff --git a/docs/MAINTAINER_GUIDE.md b/docs/MAINTAINER_GUIDE.md index f7647712..0d24ebcd 100644 --- a/docs/MAINTAINER_GUIDE.md +++ b/docs/MAINTAINER_GUIDE.md @@ -27,7 +27,7 @@ If a candidate is approved, a Maintainer contacts the candidate to invite them t ## Maintainer policies * Lead by example -* Follow the [Code of Conduct](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/CODE_OF_CONDUCT.md) and the guidelines in the [Contributing](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/CONTRIBUTING.md) and [Committer](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/COMMITTER_GUIDE.md) guides +* Follow the [Code of Conduct](https://github.com/dell/ansible-powerscale/blob/main/docs/CODE_OF_CONDUCT.md) and the guidelines in the [Contributing](https://github.com/dell/ansible-powerscale/blob/main/docs/CONTRIBUTING.md) and [Committer](https://github.com/dell/ansible-powerscale/blob/main/docs/COMMITTER_GUIDE.md) guides * Promote a friendly and collaborative environment within our community * Be actively engaged in discussions, answering questions, updating defects, and reviewing pull requests * Criticize code, not people. Ideally, tell the contributor a better way to do what they need. diff --git a/docs/Release Notes.md b/docs/Release Notes.md index dba5f314..45e40744 100644 --- a/docs/Release Notes.md +++ b/docs/Release Notes.md @@ -1,6 +1,6 @@ **Ansible Modules for Dell Technologies PowerScale** ========================================= -### Release notes 3.0.0 +### Release notes 3.1.0 > © 2024 Dell Inc. or its subsidiaries. All rights reserved. Dell > and other trademarks are trademarks of Dell Inc. or its @@ -27,7 +27,7 @@ Table 1. Revision history | Revision | Date | Description | |----------|---------------|-----------------------------------------------------------| -| 01 | March 2024 | Ansible Modules for Dell PowerScale 3.0.0 | +| 01 | June 2024 | Ansible Modules for Dell PowerScale 3.1.0 | Product description @@ -66,6 +66,8 @@ The Ansible Modules for Dell PowerScale support the following features: - Get details and modify SMB global settings. - Get details and modify SNMP settings. - Import, modify, setting default, and delete a server certificate. +- Get details, create, modify, and delete auth roles. +- Get details, accept terms, and modify support assist settings. The Ansible modules use playbooks, written in yaml syntax, to list, show, create, delete, and modify each of these entities. @@ -73,9 +75,12 @@ New Features and Enhancements --------------------------- This section describes the features of the Ansible Modules for Dell PowerScale for this release. -The Ansible Modules for Dell PowerScale release 3.0.0 supports the following features: +The Ansible Modules for Dell PowerScale release 3.1.0 supports the following features: -- Added support for OneFS version 9.7.x (Key West version). +- Added support for OneFS 9.8 Lonestar release. +- Added support to Get, create, modify, and delete auth roles. +- Added support to Get, accept terms, and modify support assist settings. +- Added support for running as root, allow_delete_readonly, allow_execute_always, and inheritable_path_acl in SMB module. Known issues ------------ @@ -121,7 +126,7 @@ This section lists the limitations in this release of Ansible Modules for Dell P Software media, organization, and files ----------- The software package is available for download from the [Ansible Modules -for PowerScale GitHub](https://github.com/dell/ansible-powerscale/tree/3.0.0) page. +for PowerScale GitHub](https://github.com/dell/ansible-powerscale/tree/main) page. Additional resources -------------------- diff --git a/docs/SECURITY.md b/docs/SECURITY.md index 88b8bcaa..ac69117c 100644 --- a/docs/SECURITY.md +++ b/docs/SECURITY.md @@ -12,7 +12,7 @@ You may obtain a copy of the License at The Ansible modules for Dell PowerScale repository is inspected for security vulnerabilities via blackduck scans and static code analysis. -In addition to this, there are various security checks that get executed against a branch when a pull request is created/updated. Please refer to [pull request](https://github.com/dell/ansible-powerscale/blob/3.0.0/docs/CONTRIBUTING.md#Pull-requests) for more information. +In addition to this, there are various security checks that get executed against a branch when a pull request is created/updated. Please refer to [pull request](https://github.com/dell/ansible-powerscale/blob/main/docs/CONTRIBUTING.md#Pull-requests) for more information. ## Reporting a vulnerability diff --git a/docs/modules/accesszone.rst b/docs/modules/accesszone.rst index 463969f0..41753b05 100644 --- a/docs/modules/accesszone.rst +++ b/docs/modules/accesszone.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/ads.rst b/docs/modules/ads.rst index 04d909ea..98927cbd 100644 --- a/docs/modules/ads.rst +++ b/docs/modules/ads.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/filepoolpolicy.rst b/docs/modules/filepoolpolicy.rst index 0144db98..08c5752e 100644 --- a/docs/modules/filepoolpolicy.rst +++ b/docs/modules/filepoolpolicy.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/filesystem.rst b/docs/modules/filesystem.rst index 2c120dde..37fffe4f 100644 --- a/docs/modules/filesystem.rst +++ b/docs/modules/filesystem.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/group.rst b/docs/modules/group.rst index 401d8e4b..7b78c9a5 100644 --- a/docs/modules/group.rst +++ b/docs/modules/group.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/groupnet.rst b/docs/modules/groupnet.rst index 9065fdd3..7f94bc16 100644 --- a/docs/modules/groupnet.rst +++ b/docs/modules/groupnet.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/info.rst b/docs/modules/info.rst index 1e68b51b..733ecad0 100644 --- a/docs/modules/info.rst +++ b/docs/modules/info.rst @@ -14,9 +14,9 @@ Synopsis Gathering information about Specified PowerScale Storage entities, includes attributes, access zones, nodes, authentication providers for all access zones, users and groups for an access zone. -Get list of smb_shares, nfs_exports, nfs_aliases, active clients, SyncIQ reports, SyncIQ target reports, SyncIQ target cluster certificates, SyncIQ policies, SyncIQ performance rules. +Get list of smb\_shares, nfs\_exports, nfs\_aliases, active clients, SyncIQ reports, SyncIQ target reports, SyncIQ target cluster certificates, SyncIQ policies, SyncIQ performance rules. -Get list of network groupnets, network pools for all access zones or a specific access zone, network rules, network subnets, network interfaces, node pools, storage pool tiers, smb open files, s3 buckets, ntp_servers. +Get list of network groupnets, network pools for all access zones or a specific access zone, network rules, network subnets, network interfaces, node pools, storage pool tiers, smb open files, s3 buckets, ntp\_servers. Get list of user mapping rules, ldap providers of the PowerScale cluster. @@ -36,6 +36,8 @@ Get SNMP settings details of the PowerScale cluster. Retrieve a list of server certificate details. +Get support assist settings details of the PowerScale cluster. + Requirements @@ -43,8 +45,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. @@ -54,7 +56,7 @@ Parameters include_all_access_zones (optional, bool, None) Specifies if requested component details need to be fetched from all access zones. - It is mutually exclusive with *access_zone*. + It is mutually exclusive with \ :emphasis:`access\_zone`\ . access_zone (optional, str, System) @@ -62,13 +64,13 @@ Parameters scope (optional, str, effective) - The scope of ldap. If no scope is specified, the ``effective`` scope would be taken by default. + The scope of ldap. If no scope is specified, the \ :literal:`effective`\ scope would be taken by default. - If specified as ``effective`` or not specified, all fields are returned. + If specified as \ :literal:`effective`\ or not specified, all fields are returned. - If specified as ``user``, only fields with non-default values are shown. + If specified as \ :literal:`user`\ , only fields with non-default values are shown. - If specified as ``default``, the original values are returned. + If specified as \ :literal:`default`\ , the original values are returned. gather_subset (True, list, None) @@ -76,65 +78,65 @@ Parameters List of all PowerScale Storage System entities supported by the module. - Attributes - ``attributes``. + Attributes - \ :literal:`attributes`\ . - Access zones - ``access_zones``. + Access zones - \ :literal:`access\_zones`\ . - Nodes - ``nodes``. + Nodes - \ :literal:`nodes`\ . - Providers - ``providers``. + Providers - \ :literal:`providers`\ . - Users - ``users``. + Users - \ :literal:`users`\ . - Groups - ``groups``. + Groups - \ :literal:`groups`\ . - Smb shares - ``smb_shares``. + Smb shares - \ :literal:`smb\_shares`\ . - Nfs exports - ``nfs_exports``. + Nfs exports - \ :literal:`nfs\_exports`\ . - Nfs aliases - ``nfs_aliases``. + Nfs aliases - \ :literal:`nfs\_aliases`\ . - Clients - ``clients``. + Clients - \ :literal:`clients`\ . - Synciq reports - ``synciq_reports``. + Synciq reports - \ :literal:`synciq\_reports`\ . - Synciq target reports - ``synciq_target_reports``. + Synciq target reports - \ :literal:`synciq\_target\_reports`\ . - Synciq policies - ``synciq_policies``. + Synciq policies - \ :literal:`synciq\_policies`\ . - Synciq target cluster certificates - ``synciq_target_cluster_certificates``. + Synciq target cluster certificates - \ :literal:`synciq\_target\_cluster\_certificates`\ . - Synciq performance rules - ``synciq_performance_rules``. + Synciq performance rules - \ :literal:`synciq\_performance\_rules`\ . - Network groupnets - ``network_groupnets``. + Network groupnets - \ :literal:`network\_groupnets`\ . - Network pools - ``network_pools``. + Network pools - \ :literal:`network\_pools`\ . - Network rules - ``network_rules``. + Network rules - \ :literal:`network\_rules`\ . - Network interfaces - ``network_interfaces``. + Network interfaces - \ :literal:`network\_interfaces`\ . - Network subnets - ``network_subnets``. + Network subnets - \ :literal:`network\_subnets`\ . - Node pools - ``node_pools``. + Node pools - \ :literal:`node\_pools`\ . - Storagepool tiers - ``storagepool_tiers``. + Storagepool tiers - \ :literal:`storagepool\_tiers`\ . - SMB files - ``smb_files``. + SMB files - \ :literal:`smb\_files`\ . - User mapping rules - ``user_mapping_rules``. + User mapping rules - \ :literal:`user\_mapping\_rules`\ . - LDAPs - ``ldap``. + LDAPs - \ :literal:`ldap`\ . - NFS zone settings - ``nfs_zone_settings``. + NFS zone settings - \ :literal:`nfs\_zone\_settings`\ . - NFS default settings - ``nfs_default_settings``. + NFS default settings - \ :literal:`nfs\_default\_settings`\ . - SyncIQ global settings - ``synciq_global_settings``. + SyncIQ global settings - \ :literal:`synciq\_global\_settings`\ . - S3 buckets - ``s3_buckets``. + S3 buckets - \ :literal:`s3\_buckets`\ . - The list of *attributes*, *access_zones* and *nodes* is for the entire PowerScale cluster. + The list of \ :emphasis:`attributes`\ , \ :emphasis:`access\_zones`\ and \ :emphasis:`nodes`\ is for the entire PowerScale cluster. The list of providers for the entire PowerScale cluster. @@ -154,19 +156,23 @@ Parameters The list of ldap providers of PowerScale cluster. - SMB global settings - ``smb_global_settings``. + SMB global settings - \ :literal:`smb\_global\_settings`\ . + + NTP servers \ :literal:`ntp\_servers`\ - NTP servers ``ntp_servers`` + Email settings \ :literal:`email\_settings`\ - Email settings ``email_settings`` + Cluster identity \ :literal:`cluster\_identity`\ - Cluster identity ``cluster_identity`` + Cluster owner \ :literal:`cluster\_owner`\ - Cluster owner ``cluster_owner`` + SNMP settings - \ :literal:`snmp\_settings`\ . - SNMP settings - ``snmp_settings``. + Server certificate - \ :literal:`server\_certificate`\ . - Server certificate - ``server_certificate``. + roles - \ :literal:`roles`\ . + + Support assist settings- \ :literal:`support\_assist\_settings`\ . onefs_host (True, str, None) @@ -180,9 +186,9 @@ Parameters verify_ssl (True, bool, None) boolean variable to specify whether to validate SSL certificate or not. - ``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. api_user (True, str, None) @@ -200,9 +206,9 @@ Notes ----- .. note:: - - The parameters *access_zone* and *include_all_access_zones* are mutually exclusive. - - Listing of SyncIQ target cluster certificates is not supported by isi_sdk_8_1_1 version. - - The *check_mode* is supported. + - The parameters \ :emphasis:`access\_zone`\ and \ :emphasis:`include\_all\_access\_zones`\ are mutually exclusive. + - Listing of SyncIQ target cluster certificates is not supported by isi\_sdk\_8\_1\_1 version. + - The \ :emphasis:`check\_mode`\ is supported. - The modules present in this collection named as 'dellemc.powerscale' are built to support the Dell PowerScale storage platform. @@ -570,6 +576,15 @@ Examples gather_subset: - cluster_owner + - name: Get support assist settings from PowerScale cluster + dellemc.powerscale.info: + onefs_host: "{{ onefs_host }}" + verify_ssl: "{{ verify_ssl }}" + api_user: "{{ api_user }}" + api_password: "{{ api_password }}" + gather_subset: + - support_assist_settings + Return Values @@ -853,7 +868,7 @@ NfsZoneSettings (When C(nfs_zone_settings) is in a given I(gather_subset), dict, nfsv4_allow_numeric_ids (, bool, ) - If ``true``, sends owners and groups as UIDs and GIDs when look up fails or if the *nfsv4_no_names* property is set to 1. + If \ :literal:`true`\ , sends owners and groups as UIDs and GIDs when look up fails or if the \ :emphasis:`nfsv4\_no\_names`\ property is set to 1. nfsv4_domain (, str, ) @@ -861,19 +876,19 @@ NfsZoneSettings (When C(nfs_zone_settings) is in a given I(gather_subset), dict, nfsv4_no_domain (, bool, ) - If ``true``, sends owners and groups without a domain name. + If \ :literal:`true`\ , sends owners and groups without a domain name. nfsv4_no_domain_uids (, bool, ) - If ``true``, sends UIDs and GIDs without a domain name. + If \ :literal:`true`\ , sends UIDs and GIDs without a domain name. nfsv4_no_names (, bool, ) - If ``true``, sends owners and groups as UIDs and GIDs. + If \ :literal:`true`\ , sends owners and groups as UIDs and GIDs. nfsv4_replace_domain (, bool, ) - If ``true``, replaces the owner or group domain with an NFS domain name. + If \ :literal:`true`\ , replaces the owner or group domain with an NFS domain name. zone (, str, ) @@ -1478,7 +1493,7 @@ S3_bucket_details (When C(s3_buckets) is in a given I(gather_subset), dict, {'ac path (, str, ) - Path of S3 bucket with in ``'/ifs'``. + Path of S3 bucket with in \ :literal:`'/ifs'`\ . zid (, int, ) @@ -1650,7 +1665,7 @@ ntp_servers (Always, dict, {'servers': [{'id': '10.**.**.**', 'key': None, 'name key (, str, ) - Key value from *key_file* that maps to this server. + Key value from \ :emphasis:`key\_file`\ that maps to this server. name (, str, ) @@ -1681,7 +1696,7 @@ cluster_identity (Always, dict, {'cluster_identity': {'description': 'asdadasdas mttdl_level_msg (, str, ) - mttdl_level_msg. + mttdl\_level\_msg. name (, str, ) @@ -1832,6 +1847,209 @@ ServerCertificate (When C(server_certificate) is in a given I(gather_subset), li +roles (Always, dict, {'roles': [{'description': 'Test_Description', 'id': 'Test_Role', 'members': [{'id': 'UID:2008', 'name': 'esa', 'type': 'user'}], 'name': 'Test_Role', 'privileges': [{'id': 'ISI_PRIV_LOGIN_PAPI', 'name': 'Platform API', 'permission': 'r'}]}]}) + List of auth roles. + + + description (, str, ) + Description of the auth role. + + + id (, str, ) + id of the auth role. + + + name (, str, ) + Name of the auth role. + + + members (, list, ) + Specifies the members of auth role. + + + id (, str, ) + ID of the member. + + + name (, str, ) + Name of the member. + + + type (, str, ) + Specifies the type of the member. + + + + privileges (, list, ) + Specifies the privileges of auth role. + + + id (, str, ) + ID of the privilege. + + + name (, str, ) + Name of the privilege. + + + permission (, str, ) + Specifies the permission of the privilege. + + + + +support_assist_settings (always, dict, {'automatic_case_creation': False, 'connection': {'gateway_endpoints': [{'enabled': True, 'host': 'XX.XX.XX.XX', 'port': 9443, 'priority': 1, 'use_proxy': False, 'validate_ssl': False}, {'enabled': True, 'host': 'XX.XX.XX.XY', 'port': 9443, 'priority': 2, 'use_proxy': False, 'validate_ssl': False}], 'mode': 'gateway', 'network_pools': [{'pool': 'pool1', 'subnet': 'subnet0'}]}, 'connection_state': 'disabled', 'contact': {'primary': {'email': 'p7VYg@example.com', 'first_name': 'Eric', 'last_name': 'Nam', 'phone': '1234567890'}, 'secondary': {'email': 'kangD@example.com', 'first_name': 'Daniel', 'last_name': 'Kang', 'phone': '1234567891'}}, 'enable_download': False, 'enable_remote_support': False, 'onefs_software_id': 'ELMISL1019H4GY', 'supportassist_enabled': True, 'telemetry': {'offline_collection_period': 60, 'telemetry_enabled': True, 'telemetry_persist': True, 'telemetry_threads': 10}}) + The support assist settings details. + + + automatic_case_creation (, bool, ) + \ :literal:`True`\ indicates automatic case creation is enabled. + + + connection (, dict, ) + Support assist connection details. + + + gateway_endpoints (, list, ) + List of gateway endpoints. + + + gateway_host (, str, ) + Hostname or IP address of the gateway endpoint. + + + gateway_port (, int, ) + Port number of the gateway endpoint. + + + priority (, int, ) + Priority of the gateway endpoint. + + + use_proxy (, bool, ) + Use proxy. + + + validate_ssl (, bool, ) + Validate SSL. + + + enabled (, bool, ) + Enable the gateway endpoint. + + + + mode (, str, ) + Connection mode. + + + network_pools (, list, ) + List of network pools. + + + pool (, str, ) + Name of the network pool. + + + subnet (, str, ) + Name of the subnet of the network pool. + + + + + connection_state (, str, ) + Set connectivity state. + + + contact (, dict, ) + Information on the remote support contact. + + + primary (, dict, ) + Primary contact details. + + + first_name (, str, ) + First name of the primary contact. + + + last_name (, str, ) + Last name of the primary contact. + + + email (, str, ) + Email address of the primary contact. + + + phone (, str, ) + Phone number of the primary contact. + + + + secondary (, dict, ) + Secondary contact details. + + + first_name (, str, ) + First name of the secondary contact. + + + last_name (, str, ) + Last name of the secondary contact. + + + email (, str, ) + Email address of the secondary contact. + + + phone (, str, ) + Phone number of the secondary contact. + + + + + telemetry (, dict, ) + Enable telemetry. + + + offline_collection_period (, int, ) + Change the offline collection period for when the connection to gateway is down. + + The range is 0 to 86400. + + + telemetry_enabled (, bool, ) + Change the status of telemetry. + + + telemetry_persist (, bool, ) + Change if files are kept after upload. + + + telemetry_threads (, int, ) + Change the number of threads for telemetry gathers. + + The range is 1 to 64. + + + + enable_download (, bool, ) + \ :literal:`True`\ indicates downloads are enabled. + + + enable_remote_support (, bool, ) + Allow remote support. + + + enable_service (, bool, ) + Enable/disable Support Assist service. + + + accepted_terms (, bool, ) + Whether to accept or reject the terms and conditions for remote support. + + + diff --git a/docs/modules/ldap.rst b/docs/modules/ldap.rst index b66052c9..8f04529b 100644 --- a/docs/modules/ldap.rst +++ b/docs/modules/ldap.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/networkpool.rst b/docs/modules/networkpool.rst index 32e44a47..d80581b1 100644 --- a/docs/modules/networkpool.rst +++ b/docs/modules/networkpool.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/networkrule.rst b/docs/modules/networkrule.rst index ab8c018b..53657f16 100644 --- a/docs/modules/networkrule.rst +++ b/docs/modules/networkrule.rst @@ -27,8 +27,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/networksettings.rst b/docs/modules/networksettings.rst index 3ad776ae..4aad8c98 100644 --- a/docs/modules/networksettings.rst +++ b/docs/modules/networksettings.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/nfs.rst b/docs/modules/nfs.rst index fe20eccf..fa941d46 100644 --- a/docs/modules/nfs.rst +++ b/docs/modules/nfs.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/nfs_alias.rst b/docs/modules/nfs_alias.rst index 8fcc140f..4ce25f13 100644 --- a/docs/modules/nfs_alias.rst +++ b/docs/modules/nfs_alias.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/nfs_default_settings.rst b/docs/modules/nfs_default_settings.rst index 8bf6cb02..e56ce64e 100644 --- a/docs/modules/nfs_default_settings.rst +++ b/docs/modules/nfs_default_settings.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/nfs_global_settings.rst b/docs/modules/nfs_global_settings.rst index 7654c01d..5312ae79 100644 --- a/docs/modules/nfs_global_settings.rst +++ b/docs/modules/nfs_global_settings.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/nfs_zone_settings.rst b/docs/modules/nfs_zone_settings.rst index 950bae69..9f22845c 100644 --- a/docs/modules/nfs_zone_settings.rst +++ b/docs/modules/nfs_zone_settings.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/node.rst b/docs/modules/node.rst index 64db9ae5..69e37483 100644 --- a/docs/modules/node.rst +++ b/docs/modules/node.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/role.rst b/docs/modules/role.rst new file mode 100644 index 00000000..d3bebc7e --- /dev/null +++ b/docs/modules/role.rst @@ -0,0 +1,294 @@ +.. _role_module: + + +role -- Manage Auth Roles on a PowerScale Storage System +======================================================== + +.. contents:: + :local: + :depth: 1 + + +Synopsis +-------- + +Managing Auth Roles on an PowerScale system includes retrieving details of auth role, creating auth role, modifying and deleting auth role. + + + +Requirements +------------ +The below requirements are needed on the host that executes this module. + +- A Dell PowerScale Storage system. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. + + + +Parameters +---------- + + access_zone (optional, str, System) + Specifies the access zone in which the auth role exists. + + Access zone once set cannot be changed. + + + role_name (True, str, None) + Name of the Auth Role. + + + new_role_name (optional, str, None) + Name of the Auth Role to be used for modify or copy the role. + + + description (optional, str, None) + Specifies the description of the auth role. + + Pass empty string to remove the *description*. + + + copy_role (optional, bool, None) + Copy the role + + ``true`` will copy the role from the *role_name*. + + + privileges (optional, list, None) + Specifies the privileges granted for this role. + + + permission (optional, str, None) + Specifies the permission being allowed for auth role. + + ``r`` indicates read permission. + + ``w`` indicates writepermission. + + ``x`` indicates execute permission. + + ``-`` indicates none permission. + + + name (optional, str, None) + Specifies the name of the permission. + + + state (optional, str, present) + Specifies if the permission is to be added or removed. + + + + members (optional, list, None) + Specifies the members of the auth role. + + + name (optional, str, None) + Specifies the name of the member. + + + state (optional, str, present) + Specifies if the member is to be added or removed. + + + provider_type (optional, str, local) + Specifies the provider type of the member. + + + type (optional, str, None) + Specifies the type of the member. + + + + state (optional, str, present) + Defines whether the auth role should exist or not. + + Value ``present`` indicates that the auth role should exist in system. + + Value ``absent`` indicates that the auth role should not exist in system. + + + onefs_host (True, str, None) + IP address or FQDN of the PowerScale cluster. + + + port_no (False, str, 8080) + Port number of the PowerScale cluster.It defaults to 8080 if not specified. + + + verify_ssl (True, bool, None) + boolean variable to specify whether to validate SSL certificate or not. + + ``true`` - indicates that the SSL certificate should be verified. + + ``false`` - indicates that the SSL certificate should not be verified. + + + api_user (True, str, None) + username of the PowerScale cluster. + + + api_password (True, str, None) + the password of the PowerScale cluster. + + + + + +Notes +----- + +.. note:: + - The *check_mode* is supported. + - The modules present in this collection named as 'dellemc.powerscale' are built to support the Dell PowerScale storage platform. + + + + +Examples +-------- + +.. code-block:: yaml+jinja + + + - name: Create Role + dellemc.powerscale.role: + onefs_host: "{{ onefs_host }}" + port_no: "{{ port_no }}" + api_user: "{{ api_user }}" + api_password: "{{ api_password }}" + verify_ssl: "{{ verify_ssl }}" + role_name: "Test_Role123sdfsdfsdf" + description: "Test_Description" + access_zone: "System" + privileges: + - name: "Antivirus" + permission: "w" + state: "present" + members: + - name: "esa" + provider_type: "local" + type: "user" + state: "present" + - name: "admin" + provider_type: "local" + type: "user" + state: "present" + state: "present" + + - name: Get Role + dellemc.powerscale.role: + onefs_host: "{{onefs_host}}" + api_user: "{{api_user}}" + api_password: "{{api_password}}" + verify_ssl: "{{verify_ssl}}" + role_name: "Test_Role" + access_zone: "{{access_zone}}" + + - name: Modify Role + dellemc.powerscale.role: + onefs_host: "{{ onefs_host }}" + port_no: "{{ port_no }}" + api_user: "{{ api_user }}" + api_password: "{{ api_password }}" + verify_ssl: "{{ verify_ssl }}" + role_name: "Test_Role" + new_role_name: "Test_Role2" + description: "Test_Description_Modify" + access_zone: "System" + privileges: + - name: "Antivirus" + permission: "w" + state: "absent" + members: + - name: "User11_Ansible_Test_SMB" + type: "user" + state: "absent" + state: "present" + + - name: Delete Role + dellemc.powerscale.role: + onefs_host: "{{onefs_host}}" + api_user: "{{api_user}}" + api_password: "{{api_password}}" + verify_ssl: "{{verify_ssl}}" + role_name: "Test_Role" + access_zone: "{{access_zone}}" + state: "absent" + + + +Return Values +------------- + +changed (always, bool, false) + A boolean indicating if the task had to make changes. + + +role_details (always, complex, {'description': 'Test_Description', 'id': 'Test_Role2', 'members': [{'id': 'UID:1XXX', 'name': 'admin', 'type': 'user'}, {'id': 'UID:2XXX', 'name': 'esa', 'type': 'user'}], 'name': 'Test_Role2', 'privileges': [{'id': 'ISI_PRIV_ANTIVIRUS', 'name': 'Antivirus', 'permission': 'w'}]}) + The updated auth role details. + + + description (, str, ) + Specifies the description of the auth role. + + + id (, str, ) + Auth Role ID. + + + name (, str, ) + Auth Role name. + + + members (, list, ) + Specifies the members of auth role. + + + id (, str, ) + ID of the member. + + + name (, str, ) + Name of the member. + + + type (, str, ) + Specifies the type of the member. + + + + privileges (, list, ) + Specifies the privileges of auth role. + + + id (, str, ) + ID of the privilege. + + + name (, str, ) + Name of the privilege. + + + permission (, str, ) + Specifies the permission of the privilege. + + + + + + + +Status +------ + + + + + +Authors +~~~~~~~ + +- Meenakshi Dembi (@dembim) + diff --git a/docs/modules/s3_bucket.rst b/docs/modules/s3_bucket.rst index 5daeae05..4d77a0ec 100644 --- a/docs/modules/s3_bucket.rst +++ b/docs/modules/s3_bucket.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/server_certificate.rst b/docs/modules/server_certificate.rst index 586f38b2..346c517f 100644 --- a/docs/modules/server_certificate.rst +++ b/docs/modules/server_certificate.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/settings.rst b/docs/modules/settings.rst index 51cb3eda..86fac79b 100644 --- a/docs/modules/settings.rst +++ b/docs/modules/settings.rst @@ -29,8 +29,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/smartpoolsettings.rst b/docs/modules/smartpoolsettings.rst index 514246a2..d4bb7dda 100644 --- a/docs/modules/smartpoolsettings.rst +++ b/docs/modules/smartpoolsettings.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/smartquota.rst b/docs/modules/smartquota.rst index adce38ce..15dd1290 100644 --- a/docs/modules/smartquota.rst +++ b/docs/modules/smartquota.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/smb.rst b/docs/modules/smb.rst index 91261ef6..ee9c6f1d 100644 --- a/docs/modules/smb.rst +++ b/docs/modules/smb.rst @@ -1,8 +1,8 @@ .. _smb_module: -smb -- Manage SMB shares on PowerScale Storage System. You can perform these operations -======================================================================================= +smb -- Manage SMB shares on PowerScale Storage System +===================================================== .. contents:: :local: @@ -12,7 +12,7 @@ smb -- Manage SMB shares on PowerScale Storage System. You can perform these ope Synopsis -------- -Managing SMB share on PowerScale. +Managing SMB share on PowerScale which includes. Create a new SMB share. @@ -29,8 +29,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. @@ -200,6 +200,41 @@ Parameters + run_as_root (optional, list, None) + Allow account to run as root. + + + name (True, str, None) + Specifies the name of persona. + + + type (True, str, None) + Specifies the type of persona. + + + provider_type (optional, str, local) + Specifies the provider type of persona. + + The supported values for *provider_type* are ``local``, ``file``, ``ldap``, ``nis`` and ``ads``. + + + state (optional, str, allow) + Specifies whether to add or remove the persona. + + + + allow_delete_readonly (optional, bool, None) + Allow deletion of read-only files in the share. + + + allow_execute_always (optional, bool, None) + Allow users to execute files they have rigths for. + + + inheritable_path_acl (optional, bool, None) + Set inheritable acl on share path. + + state (True, str, None) Defines whether the SMB share should exist or not. @@ -256,6 +291,15 @@ Examples share_name: "{{name}}" path: "" access_zone: "{{non_system_access_zone}}" + run_as_root: + - name: "sample_user" + type: "user" + provider_type: "local" + state: "present" + - name: "sample_group" + type: "group" + provider_type: "nis" + state: "present" state: "present" - name: Create SMB share for system access zone @@ -365,6 +409,18 @@ Examples - wellknown: "everyone" permission: "write" permission_type: "deny" + run_as_root: + - name: "ldap_user" + type: "user" + provider_type: "ldap" + state: "absent" + - name: "weknown_group" + type: "wellknown" + provider_type: "local" + state: "present" + allow_delete_readonly: true + allow_execute_always: false + inheritable_path_acl: true state: "present" - name: Delete system access zone SMB share @@ -439,64 +495,93 @@ changed (always, bool, false) A boolean indicating if the task had to make changes. -smb_details (always, complex, {'shares': [{'access_based_enumeration': False, 'access_based_enumeration_root_only': False, 'allow_delete_readonly': False, 'allow_execute_always': False, 'allow_variable_expansion': False, 'auto_create_directory': False, 'browsable': True, 'ca_timeout': 900, 'ca_write_integrity': 'write-read-coherent', 'change_notify': 'norecurse', 'continuously_available': True, 'create_permissions': 'default acl', 'csc_policy': 'manual', 'description': 'smb description updated', 'directory_create_mask': 448, 'directory_create_mask(octal)': '700', 'directory_create_mode': 0, 'directory_create_mode(octal)': '0', 'file_create_mask': 448, 'file_create_mask(octal)': '700', 'file_create_mode': 64, 'file_create_mode(octal)': '100', 'file_filter_extensions': ['sample_extension_1'], 'file_filter_type': 'allow', 'file_filtering_enabled': True, 'hide_dot_files': False, 'host_acl': ['deny: sample_host_acl_1', 'allow: sample_host_acl_2'], 'id': 'test_sample_smb', 'impersonate_guest': 'always', 'impersonate_user': 'new_user_2', 'inheritable_path_acl': False, 'mangle_byte_start': 60672, 'mangle_map': ['0x01-0x1F:-1', '0x22:-1', '0x2A:-1', '0x3A:-1', '0x3C:-1', '0x3E:-1', '0x3F:-1', '0x5C:-1'], 'name': 'test_sample_smb', 'ntfs_acl_support': True, 'oplocks': False, 'path': 'VALUE_SPECIFIED_IN_NO_LOG_PARAMETER', 'permissions': [{'permission': 'read', 'permission_type': 'allow', 'trustee': {'id': 'SID:S-1-1-0', 'name': 'Everyone', 'type': 'wellknown'}}], 'run_as_root': [], 'smb3_encryption_enabled': False, 'sparse_file': False, 'strict_ca_lockout': False, 'strict_flush': True, 'strict_locking': False, 'zid': 1}]}) +smb_details (always, complex, {'shares': [{'access_based_enumeration': False, 'access_based_enumeration_root_only': False, 'allow_delete_readonly': False, 'allow_execute_always': False, 'allow_variable_expansion': False, 'auto_create_directory': False, 'browsable': True, 'ca_timeout': 900, 'ca_write_integrity': 'write-read-coherent', 'change_notify': 'norecurse', 'continuously_available': True, 'create_permissions': 'default acl', 'csc_policy': 'manual', 'description': 'smb description updated', 'directory_create_mask': 448, 'directory_create_mask(octal)': '700', 'directory_create_mode': 0, 'directory_create_mode(octal)': '0', 'file_create_mask': 448, 'file_create_mask(octal)': '700', 'file_create_mode': 64, 'file_create_mode(octal)': '100', 'file_filter_extensions': ['sample_extension_1'], 'file_filter_type': 'allow', 'file_filtering_enabled': True, 'hide_dot_files': False, 'host_acl': ['deny: sample_host_acl_1', 'allow: sample_host_acl_2'], 'id': 'test_sample_smb', 'impersonate_guest': 'always', 'impersonate_user': 'new_user_2', 'inheritable_path_acl': False, 'mangle_byte_start': 60672, 'mangle_map': ['0x01-0x1F:-1', '0x22:-1', '0x2A:-1', '0x3A:-1', '0x3C:-1', '0x3E:-1', '0x3F:-1', '0x5C:-1'], 'name': 'test_sample_smb', 'ntfs_acl_support': True, 'oplocks': False, 'path': 'VALUE_SPECIFIED_IN_NO_LOG_PARAMETER', 'permissions': [{'permission': 'read', 'permission_type': 'allow', 'trustee': {'id': 'SID:S-1-1-0', 'name': 'Everyone', 'type': 'wellknown'}}], 'run_as_root': [{'id': 'SID:S-1-1-0', 'name': 'Everyone', 'type': 'wellknown'}, {'id': 'SID:S-1-5-32-545', 'name': 'sample_user', 'type': 'user'}], 'smb3_encryption_enabled': False, 'sparse_file': False, 'strict_ca_lockout': False, 'strict_flush': True, 'strict_locking': False, 'zid': 1}]}) Details of the SMB Share. + allow_delete_readonly (, bool, ) + Allow deletion of read-only files in the SMB Share. + + + allow_execute_always (, bool, ) + Allow user to execute files they have rights for. + + name (, str, ) - Name of the SMB Share + Name of the SMB Share. id (, str, ) - Id of the SMB Share + Id of the SMB Share. description (, str, ) - Description of the SMB Share + Description of the SMB Share. path (, str, ) - Path of the SMB Share + Path of the SMB Share. permission (, list, ) - permission on the of the SMB Share for user/group/wellknown + permission on the of the SMB Share for user/group/wellknown/ file_create_mask (, int, ) - File create mask bit for SMB Share + File create mask bit for SMB Share. file_create_mode (, int, ) - File create mode bit for SMB Share + File create mode bit for SMB Share. directory_create_mask (, int, ) - Directory create mask bit for SMB Share + Directory create mask bit for SMB Share. directory_create_mode (, int, ) - Directory create mode bit for SMB Share + Directory create mode bit for SMB Share. browsable (, bool, ) - Share is visible in net view and the browse list + Share is visible in net view and the browse list. file_create_mask(octal) (, str, ) - File create mask bit for SMB Share in octal format + File create mask bit for SMB Share in octal format. file_create_mode(octal) (, str, ) - File create mode bit for SMB Share in octal format + File create mode bit for SMB Share in octal format. directory_create_mask(octal) (, str, ) - Directory create mask bit for SMB Share in octal format + Directory create mask bit for SMB Share in octal format. directory_create_mode(octal) (, str, ) - Directory create mode bit for SMB Share in octal format + Directory create mode bit for SMB Share in octal format. + + + inheritable_path_acl (, bool, ) + Inheritable ACL on share path. + + + run_as_root (, list, ) + Allow the account to run as root. + + + name (, str, ) + Name of the persona. + + + id (, str, ) + Id of the persona. + + + type (, str, ) + Type of the persona. + @@ -515,4 +600,5 @@ Authors - Arindam Datta (@dattaarindam) - Trisha Datta (@Trisha-Datta) +- Bhavneet Sharma (@Bhavneet-Sharma) diff --git a/docs/modules/smb_file.rst b/docs/modules/smb_file.rst index 389d71a7..87b98ed4 100644 --- a/docs/modules/smb_file.rst +++ b/docs/modules/smb_file.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/smb_global_settings.rst b/docs/modules/smb_global_settings.rst index 01731b90..5e569bf0 100644 --- a/docs/modules/smb_global_settings.rst +++ b/docs/modules/smb_global_settings.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/snapshot.rst b/docs/modules/snapshot.rst index 5f5e255a..60cd50b4 100644 --- a/docs/modules/snapshot.rst +++ b/docs/modules/snapshot.rst @@ -31,8 +31,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/snapshotschedule.rst b/docs/modules/snapshotschedule.rst index 04bdf28e..81f4ab2e 100644 --- a/docs/modules/snapshotschedule.rst +++ b/docs/modules/snapshotschedule.rst @@ -31,8 +31,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/snmp_settings.rst b/docs/modules/snmp_settings.rst index c0bed8e1..8205836d 100644 --- a/docs/modules/snmp_settings.rst +++ b/docs/modules/snmp_settings.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/storagepooltier.rst b/docs/modules/storagepooltier.rst index e94d93a9..6245120d 100644 --- a/docs/modules/storagepooltier.rst +++ b/docs/modules/storagepooltier.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/subnet.rst b/docs/modules/subnet.rst index e0f4c869..32f9d018 100644 --- a/docs/modules/subnet.rst +++ b/docs/modules/subnet.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/support_assist.rst b/docs/modules/support_assist.rst new file mode 100644 index 00000000..6df73442 --- /dev/null +++ b/docs/modules/support_assist.rst @@ -0,0 +1,458 @@ +.. _support_assist_module: + + +support_assist -- Manage support assist settings on a PowerScale Storage System +=============================================================================== + +.. contents:: + :local: + :depth: 1 + + +Synopsis +-------- + +Managing support assist settings on a PowerScale system includes retrieving details of support assist settings and modifying support assist settings. + + + +Requirements +------------ +The below requirements are needed on the host that executes this module. + +- A Dell PowerScale Storage system. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. + + + +Parameters +---------- + + automatic_case_creation (optional, bool, None) + ``True`` indicates automatic case creation is enabled. + + + connection (optional, dict, None) + Support assist connection details. + + + gateway_endpoints (optional, list, None) + List of gateway endpoints. + + + gateway_host (True, str, None) + Hostname or IP address of the gateway endpoint. + + + gateway_port (optional, int, 9443) + Port number of the gateway endpoint. + + + priority (optional, int, 1) + Priority of the gateway endpoint. + + + use_proxy (optional, bool, False) + Use proxy. + + + validate_ssl (optional, bool, False) + Validate SSL. + + + enabled (optional, bool, True) + Enable the gateway endpoint. + + + state (optional, str, present) + State of the gateway endpoint. + + + + mode (optional, str, None) + Connection mode. + + + network_pools (optional, list, None) + List of network pools. + + + pool_name (optional, str, None) + Name of the network pool. + + + state (optional, str, present) + State of the network pool. + + + + + connection_state (optional, str, None) + Set connectivity state. + + + contact (optional, dict, None) + Information on the remote support contact. + + + primary (optional, dict, None) + Primary contact details. + + + first_name (optional, str, None) + First name of the primary contact. + + + last_name (optional, str, None) + Last name of the primary contact. + + + email (optional, str, None) + Email address of the primary contact. + + + phone (optional, str, None) + Phone number of the primary contact. + + + + secondary (optional, dict, None) + Secondary contact details. + + + first_name (optional, str, None) + First name of the secondary contact. + + + last_name (optional, str, None) + Last name of the secondary contact. + + + email (optional, str, None) + Email address of the secondary contact. + + + phone (optional, str, None) + Phone number of the secondary contact. + + + + + telemetry (optional, dict, None) + Enable telemetry. + + + offline_collection_period (optional, int, None) + Change the offline collection period for when the connection to gateway is down. + + The range is 0 to 86400. + + + telemetry_enabled (optional, bool, None) + Change the status of telemetry. + + When set to ``False``, modification of other telemetry suboptions will be idempotent. + + + telemetry_persist (optional, bool, None) + Change if files are kept after upload. + + + telemetry_threads (optional, int, None) + Change the number of threads for telemetry gathers. + + The range is 1 to 64. + + + + enable_download (optional, bool, None) + ``True`` indicates downloads are enabled. + + + enable_remote_support (optional, bool, None) + Allow remote support. + + + enable_service (optional, bool, None) + Enable/disable SupportAssist service. + + + accepted_terms (optional, bool, None) + Whether to accept or reject the terms and conditions for remote support. + + + onefs_host (True, str, None) + IP address or FQDN of the PowerScale cluster. + + + port_no (False, str, 8080) + Port number of the PowerScale cluster.It defaults to 8080 if not specified. + + + verify_ssl (True, bool, None) + boolean variable to specify whether to validate SSL certificate or not. + + ``true`` - indicates that the SSL certificate should be verified. + + ``false`` - indicates that the SSL certificate should not be verified. + + + api_user (True, str, None) + username of the PowerScale cluster. + + + api_password (True, str, None) + the password of the PowerScale cluster. + + + + + +Notes +----- + +.. note:: + - The *check_mode* and idempotency is supported. + - This module is supported for PowerScale One FS version 9.5 and above. + - The modules present in this collection named as 'dellemc.powerscale' are built to support the Dell PowerScale storage platform. + + + + +Examples +-------- + +.. code-block:: yaml+jinja + + + - name: Get support assist setiings + dellemc.powerscale.support_assist: + onefs_host: "{{ onefs_host }}" + port_no: "{{ port_no }}" + api_user: "{{ api_user }}" + api_password: "{{ api_password }}" + verify_ssl: "{{ verify_ssl }}" + + - name: Update support assist settings + dellemc.powerscale.support_assist: + onefs_host: "{{ onefs_host }}" + port_no: "{{ port_no }}" + api_user: "{{ api_user }}" + api_password: "{{ api_password }}" + verify_ssl: "{{ verify_ssl }}" + enable_download: false + enable_remote_support: false + automatic_case_creation: false + connection: + gateway_endpoints: + - enabled: true + gateway_host: "XX.XX.XX.XX" + gateway_port: 9443 + priority: 1 + use_proxy: false + validate_ssl: false + state: present + network_pools: + - pool_name: "subnet0:pool0" + state: absent + - pool_name: "subnet0:pool1" + connection_state: "enabled" + contact: + primary: + first_name: "John" + last_name: "Doe" + email: "john.doe@example.com" + phone: "1234567890" + secondary: + first_name: "Jane" + last_name: "Doe" + email: "jane.doe@example.com" + phone: "1234567891" + telemetry: + offline_collection_period: 60 + telemetry_enabled: true + telemetry_persist: true + telemetry_threads: 10 + + - name: Accept support assist terms + dellemc.powerscale.support_assist: + onefs_host: "{{ onefs_host }}" + port_no: "{{ port_no }}" + api_user: "{{ api_user }}" + api_password: "{{ api_password }}" + verify_ssl: "{{ verify_ssl }}" + accepted_terms: true + + + +Return Values +------------- + +changed (always, bool, false) + A boolean indicating if the task had to make changes. + + +support_assist_details (always, dict, {'automatic_case_creation': False, 'connection': {'gateway_endpoints': [{'enabled': True, 'host': 'XX.XX.XX.XX', 'port': 9443, 'priority': 1, 'use_proxy': False, 'validate_ssl': False}, {'enabled': True, 'host': 'XX.XX.XX.XY', 'port': 9443, 'priority': 2, 'use_proxy': False, 'validate_ssl': False}], 'mode': 'gateway', 'network_pools': [{'pool': 'pool1', 'subnet': 'subnet0'}]}, 'connection_state': 'disabled', 'contact': {'primary': {'email': 'p7VYg@example.com', 'first_name': 'Eric', 'last_name': 'Nam', 'phone': '1234567890'}, 'secondary': {'email': 'kangD@example.com', 'first_name': 'Daniel', 'last_name': 'Kang', 'phone': '1234567891'}}, 'enable_download': False, 'enable_remote_support': False, 'onefs_software_id': 'ELMISL1019H4GY', 'supportassist_enabled': True, 'telemetry': {'offline_collection_period': 60, 'telemetry_enabled': True, 'telemetry_persist': True, 'telemetry_threads': 10}}) + The updated support assist settings details. + + + automatic_case_creation (, bool, ) + True indicates automatic case creation is enabled. + + + connection (, complex, ) + The server connections. + + + gateway_endpoints (, list, ) + List of gateway endpoints. + + + enabled (, bool, ) + True indicates gateway endpoint is enabled. + + + host (, str, ) + Specify the gateway host. + + + port (, int, ) + Specify the gateway port. + + + priority (, int, ) + Specify the gateway priority. + + + use_proxy (, bool, ) + Specify whether to use proxy. + + + validate_ssl (, bool, ) + Specify whether to validate SSL. + + + + mode (, str, ) + Specify the mode. + + + network_pools (, list, ) + List of network pools. + + + pool (, str, ) + The network pool name. + + + subnet (, str, ) + The network pool subnet. + + + + + connection_state (, str, ) + Specify the connection state. + + + contact (, complex, ) + Specify the contact details. + + + primary (, complex, ) + Specify the primary contact details. + + + first_name (, str, ) + First name of the primary contact. + + + last_name (, str, ) + Last name of the primary contact. + + + email (, str, ) + Email address of the primary contact. + + + phone (, str, ) + Phone number of the primary contact. + + + + secondary (, complex, ) + Specify the secondary contact details. + + + first_name (, str, ) + First name of the secondary contact. + + + last_name (, str, ) + Last name of the secondary contact. + + + email (, str, ) + Email address of the secondary contact. + + + phone (, str, ) + Phone number of the secondary contact. + + + + + enable_download (, bool, ) + True indicates downloads are enabled. + + + enable_remote_support (, bool, ) + Whether remoteAccessEnabled is enabled. + + + onefs_software_id (, str, ) + The software ID used by SupportAssist + + + supportassist_enabled (, bool, ) + Whether SupportAssist is enabled. + + + telemetry (, complex, ) + Telemetry settings. + + + offline_collection_period (, int, ) + Specify the offline collection period. + + + telemetry_enabled (, bool, ) + Specify whether telemetry is enabled. + + + telemetry_persist (, bool, ) + Specify whether telemetry is persisted. + + + telemetry_threads (, int, ) + Specify the number of telemetry threads. + + + + + + + +Status +------ + + + + + +Authors +~~~~~~~ + +- Trisha Datta (@trisha-dell) + diff --git a/docs/modules/synciq_global_settings.rst b/docs/modules/synciq_global_settings.rst index ee11519c..aa1bf551 100644 --- a/docs/modules/synciq_global_settings.rst +++ b/docs/modules/synciq_global_settings.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/synciqcertificate.rst b/docs/modules/synciqcertificate.rst index bf62b68d..acb46f4e 100644 --- a/docs/modules/synciqcertificate.rst +++ b/docs/modules/synciqcertificate.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/synciqjob.rst b/docs/modules/synciqjob.rst index 58b39ea9..8a5f43d5 100644 --- a/docs/modules/synciqjob.rst +++ b/docs/modules/synciqjob.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/synciqpolicy.rst b/docs/modules/synciqpolicy.rst index b09dfea0..d1991b63 100644 --- a/docs/modules/synciqpolicy.rst +++ b/docs/modules/synciqpolicy.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/synciqreports.rst b/docs/modules/synciqreports.rst index a41c6cc4..8aaff92b 100644 --- a/docs/modules/synciqreports.rst +++ b/docs/modules/synciqreports.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/synciqrules.rst b/docs/modules/synciqrules.rst index 1fa5244e..82a5fcc1 100644 --- a/docs/modules/synciqrules.rst +++ b/docs/modules/synciqrules.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/synciqtargetreports.rst b/docs/modules/synciqtargetreports.rst index ace32d81..4a8ec262 100644 --- a/docs/modules/synciqtargetreports.rst +++ b/docs/modules/synciqtargetreports.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/user.rst b/docs/modules/user.rst index bb3aa3d6..8921233d 100644 --- a/docs/modules/user.rst +++ b/docs/modules/user.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/docs/modules/user_mapping_rule.rst b/docs/modules/user_mapping_rule.rst index 84dd04cf..aea804aa 100644 --- a/docs/modules/user_mapping_rule.rst +++ b/docs/modules/user_mapping_rule.rst @@ -21,8 +21,8 @@ Requirements The below requirements are needed on the host that executes this module. - A Dell PowerScale Storage system. -- Ansible-core 2.14 or later. -- Python 3.9, 3.10 or 3.11. +- Ansible-core 2.15 or later. +- Python 3.10, 3.11 or 3.12. diff --git a/galaxy.yml b/galaxy.yml index 5c839e6b..11028485 100644 --- a/galaxy.yml +++ b/galaxy.yml @@ -14,7 +14,7 @@ name: powerscale # The version of the collection. # Must be compatible with semantic versioning -version: 3.0.0 +version: 3.1.0 # The path to the Markdown (.md) readme file. # This path is relative to the root of the collection. @@ -66,13 +66,13 @@ tags: [storage] dependencies: {} # The URL of the originating SCM repository -repository: https://github.com/dell/ansible-powerscale/tree/3.0.0 +repository: https://github.com/dell/ansible-powerscale/tree/main # The URL to any online docs -documentation: https://github.com/dell/ansible-powerscale/tree/3.0.0/docs +documentation: https://github.com/dell/ansible-powerscale/tree/main/docs # The URL to the homepage of the collection/project -homepage: https://github.com/dell/ansible-powerscale/tree/3.0.0 +homepage: https://github.com/dell/ansible-powerscale/tree/main # The URL to the collection issue tracker issues: https://www.dell.com/community/Automation/bd-p/Automation