Skip to content

Commit

Permalink
Merge pull request #30 from dell/release_v2.0.0
Browse files Browse the repository at this point in the history
Ansible modules for PowerStore release version 2.0.0
  • Loading branch information
Jennifer-John authored Jun 28, 2023
2 parents bc44c56 + 28f50f1 commit aae4718
Show file tree
Hide file tree
Showing 172 changed files with 9,931 additions and 2,198 deletions.
4 changes: 4 additions & 0 deletions .ansible-lint
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
exclude_paths:
- changelogs/
- .github/
- meta/
3 changes: 1 addition & 2 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,7 @@
# Jennifer John (Jennifer-John)
# Meenakshi Dembi (meenakshidembi691)
# Pavan Mudunuri (Pavan-Mudunuri)
# Previnkumar G (Previnkumar-G)
# Trisha Datta (trisha-dell)

# for all files:
* @kuttattz @Bhavneet-Sharma @Jennifer-John @meenakshidembi691 @Pavan-Mudunuri @Previnkumar-G @trisha-dell
* @kuttattz @Bhavneet-Sharma @Jennifer-John @meenakshidembi691 @Pavan-Mudunuri @trisha-dell
49 changes: 44 additions & 5 deletions .github/workflows/ansible-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
strategy:
fail-fast: false
matrix:
ansible-version: [stable-2.12]
ansible-version: [stable-2.13]
steps:
- name: Check out code
uses: actions/checkout@v2
Expand Down Expand Up @@ -50,11 +50,9 @@ jobs:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11"]
ansible-version: [stable-2.12, stable-2.13, stable-2.14]
ansible-version: [stable-2.13, stable-2.14, stable-2.15]
exclude:
# Python 3.11 is supported only from ansible-core 2.14 onwards
- python-version: "3.11"
ansible-version: stable-2.12
- python-version: "3.11"
ansible-version: stable-2.13

Expand Down Expand Up @@ -93,7 +91,7 @@ jobs:
strategy:
fail-fast: false
matrix:
ansible-version: [stable-2.12, stable-2.13, stable-2.14]
ansible-version: [stable-2.13, stable-2.14, stable-2.15]

steps:
- name: Set up Python 3.9
Expand Down Expand Up @@ -121,3 +119,44 @@ jobs:
- name: Run sanity tests
run: ansible-test sanity --docker -v --color
working-directory: /home/runner/.ansible/collections/ansible_collections/dellemc/powerstore

lint:
name: Ansible lint
runs-on: ubuntu-latest
needs: [build]
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11"]
ansible-version: [stable-2.13, stable-2.14, stable-2.15]

steps:
# Important: This sets up your GITHUB_WORKSPACE environment variable
- name: Checkout the source code
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@v1
with:
python-version: ${{ matrix.python-version }}

- name: Install ansible (${{ matrix.ansible-version }}) version
run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible-version }}.tar.gz --disable-pip-version-check

- name: Install ansible lint
run: pip install ansible-lint --disable-pip-version-check

- name: Download migrated collection artifacts
uses: actions/download-artifact@v1
with:
name: collection
path: .cache/collection-tarballs

- name: Install collection build
run: ansible-galaxy collection install .cache/collection-tarballs/*.tar.gz

- name: Run Ansible lint
run: ansible-lint --show-relpath
working-directory: /home/runner/work/ansible-powerstore/ansible-powerstore
16 changes: 16 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,22 @@ Dellemc.Powerstore Change Logs
.. contents:: Topics


v2.0.0
======

Minor Changes
-------------

- Added support for manual appliance selection in volume module.
- Added support for replication group in replication session module to perform async vVOL replication.
- Added support for PowerStore Medusa 3.5.x.
- Info module is enhanced to list storage containers and replication groups.

New Modules
-----------

- dellemc.powerstore.storage_container - Manage storage container for PowerStore

v1.9.0
======

Expand Down
93 changes: 47 additions & 46 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,32 @@
# Ansible Modules for Dell Technologies PowerStore
The Ansible Modules for Dell Technologies (Dell) PowerStore allow Data Center and IT administrators to use RedHat Ansible to automate and orchestrate the configuration and management of Dell PowerStore arrays.

The capabilities of the Ansible modules are managing volumes, volume groups, hosts, host groups, snapshots, snapshot rules, replication rules, replication sessions, protection policies, file systems, NAS servers, SMB shares, user and tree quotas, file system snapshots, NFS exports, Clusters, Networks, Local users, Jobs, Roles, Certificates, Remote systems, security configuration, DNS server, Email notification destination, NTP server, Remote support configuration, Remote support contacts, SMTP configuration, LDAP accounts and LDAP domain configuration. It also allows gathering high level info from the array. The options available for each are list, show, create, modify and delete. These tasks can be executed by running simple playbooks written in yaml syntax. The modules are written so that all the operations are idempotent, so making multiple identical requests has the same effect as making a single request.
The capabilities of the Ansible modules are managing volumes, volume groups, vCenters, hosts, host groups, snapshots, snapshot rules, replication rules, replication sessions, protection policies, file systems, NAS servers, SMB shares, user and tree quotas, file system snapshots, NFS exports, Clusters, Networks, Local users, Jobs, Roles, Certificates, Remote systems, security configuration, DNS server, Email notification destination, NTP server, Remote support configuration, Remote support contacts, SMTP configuration, LDAP accounts, LDAP domain configuration and storage containers. It also allows gathering high level info from the array. The options available for each are list, show, create, modify and delete. These tasks can be executed by running simple playbooks written in yaml syntax. The modules are written so that all the operations are idempotent, so making multiple identical requests has the same effect as making a single request.
## Table of contents

* [Code of conduct](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/CODE_OF_CONDUCT.md)
* [Maintainer guide](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/MAINTAINER_GUIDE.md)
* [Committer guide](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/COMMITTER_GUIDE.md)
* [Contributing guide](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/CONTRIBUTING.md)
* [Branching strategy](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/BRANCHING.md)
* [List of adopters](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/ADOPTERS.md)
* [Maintainers](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/MAINTAINERS.md)
* [Support](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/SUPPORT.md)
* [Code of conduct](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/CODE_OF_CONDUCT.md)
* [Maintainer guide](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/MAINTAINER_GUIDE.md)
* [Committer guide](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/COMMITTER_GUIDE.md)
* [Contributing guide](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/CONTRIBUTING.md)
* [Branching strategy](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/BRANCHING.md)
* [List of adopters](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/ADOPTERS.md)
* [Maintainers](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/MAINTAINERS.md)
* [Support](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/SUPPORT.md)
* [License](#license)
* [Security](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/SECURITY.md)
* [Security](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/SECURITY.md)
* [Prerequisites](#prerequisites)
* [List of Ansible modules for Dell PowerStore](#list-of-ansible-modules-for-dell-powerstore)
* [Installation and execution of Ansible modules for Dell PowerStore](#installation-and-execution-of-ansible-modules-for-dell-powerstore)
* [Maintenance](#maintenance)

## License
The Ansible collection for PowerStore is released and licensed under the GPL-3.0 license. See [LICENSE](https://github.com/dell/ansible-powerstore/blob/1.9.0/LICENSE) for the full terms. Ansible modules and modules utilities that are part of the Ansible collection for PowerStore are released and licensed under the Apache 2.0 license. See [MODULE-LICENSE](https://github.com/dell/ansible-powerstore/blob/1.9.0/MODULE-LICENSE) for the full terms.
The Ansible collection for PowerStore is released and licensed under the GPL-3.0 license. See [LICENSE](https://github.com/dell/ansible-powerstore/blob/2.0.0/LICENSE) for the full terms. Ansible modules and modules utilities that are part of the Ansible collection for PowerStore are released and licensed under the Apache 2.0 license. See [MODULE-LICENSE](https://github.com/dell/ansible-powerstore/blob/2.0.0/MODULE-LICENSE) for the full terms.

## Prerequisites

| **Ansible Modules** | **PowerStore Version** | **SDK version** | **Python version** | **Ansible** |
|---------------------|-----------------------|-----------------|--------------------|--------------------------|
| v1.9.0 | 2.1.x <br> 3.0.x <br> 3.2.x | 1.10.0 | 3.9.x <br> 3.10.x <br> 3.11.x | 2.12 <br> 2.13 <br> 2.14 |
| v2.0.0 | 3.0.x <br> 3.2.x <br> 3.5.x | 2.0.0 | 3.9.x <br> 3.10.x <br> 3.11.x | 2.13 <br> 2.14 <br> 2.15 |


* Please follow PyPowerStore installation instructions on [PyPowerStore Documentation](https://github.com/dell/python-powerstore)
Expand All @@ -35,42 +35,43 @@ The Ansible collection for PowerStore is released and licensed under the GPL-3.0
The modules are written in such a way that all requests are idempotent and hence fault-tolerant. It essentially means that the result of a successfully performed request is independent of the number of times it is executed.

## List of Ansible Modules for Dell PowerStore
* [Volume module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/volume.rst)
* [Volume group module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/volumegroup.rst)
* [Host module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/host.rst)
* [Host group module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/hostgroup.rst)
* [Snapshot module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/snapshot.rst)
* [Snapshot rule module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/snapshotrule.rst)
* [Replication rule module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/replicationrule.rst)
* [Replication session module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/replicationsession.rst)
* [Protection policy module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/protectionpolicy.rst)
* [Info module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/info.rst)
* [File system module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/filesystem.rst)
* [NAS server module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/nasserver.rst)
* [SMB share module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/smbshare.rst)
* [Quota module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/quota.rst)
* [File system snapshot module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/filesystem_snapshot.rst)
* [NFS export module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/nfs.rst)
* [Cluster module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/cluster.rst)
* [Network module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/network.rst)
* [Local user module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/local_user.rst)
* [Role module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/role.rst)
* [Job module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/job.rst)
* [Certificate module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/certificate.rst)
* [Remote system module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/remotesystem.rst)
* [Security config module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/security_config.rst)
* [DNS module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/dns.rst)
* [Email module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/email.rst)
* [NTP module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/ntp.rst)
* [Remote support module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/remote_support.rst)
* [Remote support contact module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/remote_support_contact.rst)
* [SMTP config module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/smtp_config.rst)
* [LDAP Account module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/ldap_account.rst)
* [LDAP Domain module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/ldap_domain.rst)
* [vCenter module](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/modules/vcenter.rst)
* [Volume module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/volume.rst)
* [Volume group module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/volumegroup.rst)
* [Host module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/host.rst)
* [Host group module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/hostgroup.rst)
* [Snapshot module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/snapshot.rst)
* [Snapshot rule module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/snapshotrule.rst)
* [Replication rule module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/replicationrule.rst)
* [Replication session module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/replicationsession.rst)
* [Protection policy module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/protectionpolicy.rst)
* [Info module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/info.rst)
* [File system module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/filesystem.rst)
* [NAS server module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/nasserver.rst)
* [SMB share module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/smbshare.rst)
* [Quota module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/quota.rst)
* [File system snapshot module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/filesystem_snapshot.rst)
* [NFS export module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/nfs.rst)
* [Cluster module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/cluster.rst)
* [Network module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/network.rst)
* [Local user module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/local_user.rst)
* [Role module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/role.rst)
* [Job module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/job.rst)
* [Certificate module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/certificate.rst)
* [Remote system module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/remotesystem.rst)
* [Security config module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/security_config.rst)
* [DNS module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/dns.rst)
* [Email module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/email.rst)
* [NTP module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/ntp.rst)
* [Remote support module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/remote_support.rst)
* [Remote support contact module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/remote_support_contact.rst)
* [SMTP config module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/smtp_config.rst)
* [LDAP Account module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/ldap_account.rst)
* [LDAP Domain module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/ldap_domain.rst)
* [vCenter module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/vcenter.rst)
* [Storage container module](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/modules/storage_container.rst)

## Installation and execution of Ansible modules for Dell PowerStore
The installation and execution steps of Ansible modules for Dell PowerStore can be found [here](https://github.com/dell/ansible-powerstore/blob/1.9.0/docs/INSTALLATION.md)
The installation and execution steps of Ansible modules for Dell PowerStore can be found [here](https://github.com/dell/ansible-powerstore/blob/2.0.0/docs/INSTALLATION.md)

## Maintenance
Ansible Modules for Dell Technologies PowerStore deprecation cycle is aligned with [Ansible](https://docs.ansible.com/ansible/latest/dev_guide/module_lifecycle.html).
19 changes: 13 additions & 6 deletions changelogs/.plugin-cache.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ plugins:
callback: {}
cliconf: {}
connection: {}
filter: {}
httpapi: {}
inventory: {}
lookup: {}
Expand Down Expand Up @@ -160,16 +161,21 @@ plugins:
name: snapshotrule
namespace: ''
version_added: 1.0.0
storage_container:
description: Manage storage container for PowerStore
name: storage_container
namespace: ''
version_added: 2.0.0
vcenter:
description: Manage vCenter on a PowerStore storage system
name: vcenter
namespace: ''
version_added: 1.9.0
volume:
description: Manage volumes on a PowerStore storage system
name: volume
namespace: ''
version_added: 1.0.0
vcenter:
description: Manage vCenter on a PowerStore Storage System
name: volume
namespace: ''
version_added: 1.9.0
volumegroup:
description: Manage volume groups on a PowerStore Storage System
name: volumegroup
Expand All @@ -178,5 +184,6 @@ plugins:
netconf: {}
shell: {}
strategy: {}
test: {}
vars: {}
version: 1.9.0
version: 2.0.0
13 changes: 13 additions & 0 deletions changelogs/changelog.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -186,3 +186,16 @@ releases:
name: vcenter
namespace: ''
release_date: '2023-03-31'
2.0.0:
changes:
minor_changes:
- Added support for manual appliance selection in volume module.
- Added support for replication group in replication session module
to perform async vVOL replication.
- Info module is enhanced to list storage containers and replication group.
- Added support for PowerStore Medusa 3.5.x.
modules:
- description: Manage Storage Containers on Dell PowerStore
name: storage_container
namespace: ''
release_date: '2023-06-30'
Loading

0 comments on commit aae4718

Please sign in to comment.