Skip to content

Commit

Permalink
Merge pull request #38 from dell/release-1.7
Browse files Browse the repository at this point in the history
Release version 1.7.0
  • Loading branch information
Jennifer-John authored Jun 28, 2023
2 parents 2d413ce + ca6b756 commit f4cb455
Show file tree
Hide file tree
Showing 84 changed files with 5,315 additions and 225 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/
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/unity

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-unity/ansible-unity
17 changes: 16 additions & 1 deletion CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,30 @@ Dellemc.Unity Change Log
.. contents:: Topics


v1.7.0
======

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

- Added replication session module to get details, pause, resume, sync, failover, failback and delete replication sessions.
- Added support for Unity XT SeaHawk 5.3
- Documentation updates for boolean values based on ansible community guidelines.

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

- dellemc.unity.replication_session - Manage replication session on the Unity storage system

v1.6.0
======

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

- Add synchronous replication support for filesystem.
- Support addition of host from the Host List to NFS Export in nfs module.
- Support enable/disable advanced dedup in volume module.
- Add synchronous replication support for filesystem.

v1.5.0
======
Expand Down
65 changes: 33 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,70 +2,71 @@

The Ansible Modules for Dell Technologies (Dell) Unity allow Data Center and IT administrators to use RedHat Ansible to automate and orchestrate the configuration and management of Dell Unity arrays.

The capabilities of the Ansible modules are managing consistency groups, filesystem, filesystem snapshots, CIFS server, NAS server, NFS server, NFS export, SMB share, interface, hosts, snapshots, snapshot schedules, storage pools, user quotas, quota trees and volumes. Capabilities also include gathering facts 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 consistency groups, filesystem, filesystem snapshots, CIFS server, NAS server, NFS server, NFS export, SMB share, interface, hosts, snapshots, snapshot schedules, storage pools, user quotas, quota trees, replication sessions and volumes. Capabilities also include gathering facts 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-unity/blob/1.6.0/docs/CODE_OF_CONDUCT.md)
* [Maintainer guide](https://github.com/dell/ansible-unity/blob/1.6.0/docs/MAINTAINER_GUIDE.md)
* [Committer guide](https://github.com/dell/ansible-unity/blob/1.6.0/docs/COMMITTER_GUIDE.md)
* [Contributing guide](https://github.com/dell/ansible-unity/blob/1.6.0/docs/CONTRIBUTING.md)
* [Branching strategy](https://github.com/dell/ansible-unity/blob/1.6.0/docs/BRANCHING.md)
* [List of adopters](https://github.com/dell/ansible-unity/blob/1.6.0/docs/ADOPTERS.md)
* [Maintainers](https://github.com/dell/ansible-unity/blob/1.6.0/docs/MAINTAINERS.md)
* [Support](https://github.com/dell/ansible-unity/blob/1.6.0/docs/SUPPORT.md)
* [Code of conduct](https://github.com/dell/ansible-unity/blob/1.7.0/docs/CODE_OF_CONDUCT.md)
* [Maintainer guide](https://github.com/dell/ansible-unity/blob/1.7.0/docs/MAINTAINER_GUIDE.md)
* [Committer guide](https://github.com/dell/ansible-unity/blob/1.7.0/docs/COMMITTER_GUIDE.md)
* [Contributing guide](https://github.com/dell/ansible-unity/blob/1.7.0/docs/CONTRIBUTING.md)
* [Branching strategy](https://github.com/dell/ansible-unity/blob/1.7.0/docs/BRANCHING.md)
* [List of adopters](https://github.com/dell/ansible-unity/blob/1.7.0/docs/ADOPTERS.md)
* [Maintainers](https://github.com/dell/ansible-unity/blob/1.7.0/docs/MAINTAINERS.md)
* [Support](https://github.com/dell/ansible-unity/blob/1.7.0/docs/SUPPORT.md)
* [License](#license)
* [Security](https://github.com/dell/ansible-unity/blob/1.6.0/docs/SECURITY.md)
* [Security](https://github.com/dell/ansible-unity/blob/1.7.0/docs/SECURITY.md)
* [Prerequisites](#prerequisites)
* [List of Ansible modules for Dell Unity](#list-of-ansible-modules-for-dell-unity)
* [Installation and execution of Ansible modules for Dell Unity](#installation-and-execution-of-ansible-modules-for-dell-unity)
* [Releasing, Maintenance and Deprecation](#releasing-maintenance-and-deprecation)

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

## Supported Platforms
* Dell Unity Arrays version 5.1, 5.2
* Dell Unity Arrays version 5.1, 5.2, 5.3

## Prerequisites
This table provides information about the software prerequisites for the Ansible Modules for Dell Unity.

| **Ansible Modules** | **Python version** | **Storops - Python SDK version** | **Ansible** |
|---------------------|--------------------|----------------------------------|-------------|
| v1.6.0 | 3.9 <br> 3.10 <br> 3.11 | 1.2.11 | 2.12 <br> 2.13 <br> 2.14|
| v1.7.0 | 3.9 <br> 3.10 <br> 3.11 | 1.2.11 | 2.13 <br> 2.14 <br> 2.15|

## Idempotency
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 Unity
* [Consistency group module](https://github.com/dell/ansible-unity/blob/1.6.0/docs/modules/consistencygroup.rst)
* [Filesystem module](https://github.com/dell/ansible-unity/blob/1.6.0/docs/modules/filesystem.rst)
* [Filesystem snapshot module](https://github.com/dell/ansible-unity/blob/1.6.0/docs/modules/filesystem_snapshot.rst)
* [Info module](https://github.com/dell/ansible-unity/blob/1.6.0/docs/modules/info.rst)
* [Host module](https://github.com/dell/ansible-unity/blob/1.6.0/docs/modules/host.rst)
* [CIFS server module](https://github.com/dell/ansible-unity/blob/1.6.0/docs/modules/cifsserver.rst)
* [NAS server module](https://github.com/dell/ansible-unity/blob/1.6.0/docs/modules/nasserver.rst)
* [NFS server module](https://github.com/dell/ansible-unity/blob/1.6.0/docs/modules/nfsserver.rst)
* [NFS export module](https://github.com/dell/ansible-unity/blob/1.6.0/docs/modules/nfs.rst)
* [SMB share module](https://github.com/dell/ansible-unity/blob/1.6.0/docs/modules/smbshare.rst)
* [Interface module](https://github.com/dell/ansible-unity/blob/1.6.0/docs/modules/interface.rst)
* [Snapshot module](https://github.com/dell/ansible-unity/blob/1.6.0/docs/modules/snapshot.rst)
* [Snapshot schedule module](https://github.com/dell/ansible-unity/blob/1.6.0/docs/modules/snapshotschedule.rst)
* [Storage pool module](https://github.com/dell/ansible-unity/blob/1.6.0/docs/modules/storagepool.rst)
* [User quota module](https://github.com/dell/ansible-unity/blob/1.6.0/docs/modules/user_quota.rste)
* [Quota tree module ](https://github.com/dell/ansible-unity/blob/1.6.0/docs/modules/tree_quota.rst)
* [Volume module](https://github.com/dell/ansible-unity/blob/1.6.0/docs/modules/volume.rst)
* [Consistency group module](https://github.com/dell/ansible-unity/blob/1.7.0/docs/modules/consistencygroup.rst)
* [Filesystem module](https://github.com/dell/ansible-unity/blob/1.7.0/docs/modules/filesystem.rst)
* [Filesystem snapshot module](https://github.com/dell/ansible-unity/blob/1.7.0/docs/modules/filesystem_snapshot.rst)
* [Info module](https://github.com/dell/ansible-unity/blob/1.7.0/docs/modules/info.rst)
* [Host module](https://github.com/dell/ansible-unity/blob/1.7.0/docs/modules/host.rst)
* [CIFS server module](https://github.com/dell/ansible-unity/blob/1.7.0/docs/modules/cifsserver.rst)
* [NAS server module](https://github.com/dell/ansible-unity/blob/1.7.0/docs/modules/nasserver.rst)
* [NFS server module](https://github.com/dell/ansible-unity/blob/1.7.0/docs/modules/nfsserver.rst)
* [NFS export module](https://github.com/dell/ansible-unity/blob/1.7.0/docs/modules/nfs.rst)
* [SMB share module](https://github.com/dell/ansible-unity/blob/1.7.0/docs/modules/smbshare.rst)
* [Interface module](https://github.com/dell/ansible-unity/blob/1.7.0/docs/modules/interface.rst)
* [Snapshot module](https://github.com/dell/ansible-unity/blob/1.7.0/docs/modules/snapshot.rst)
* [Snapshot schedule module](https://github.com/dell/ansible-unity/blob/1.7.0/docs/modules/snapshotschedule.rst)
* [Storage pool module](https://github.com/dell/ansible-unity/blob/1.7.0/docs/modules/storagepool.rst)
* [User quota module](https://github.com/dell/ansible-unity/blob/1.7.0/docs/modules/user_quota.rste)
* [Quota tree module ](https://github.com/dell/ansible-unity/blob/1.7.0/docs/modules/tree_quota.rst)
* [Volume module](https://github.com/dell/ansible-unity/blob/1.7.0/docs/modules/volume.rst)
* [Replication session module](https://github.com/dell/ansible-unity/blob/1.7.0/docs/modules/replication_session.rst)

## Installation and execution of Ansible modules for Dell Unity

The installation and execution steps of Ansible modules for Dell Unity can be found [here](https://github.com/dell/ansible-unity/blob/1.6.0/docs/INSTALLATION.md).
The installation and execution steps of Ansible modules for Dell Unity can be found [here](https://github.com/dell/ansible-unity/blob/1.7.0/docs/INSTALLATION.md).

## Releasing, Maintenance and Deprecation

Ansible Modules for Dell Technnologies Unity follows [Semantic Versioning](https://semver.org/).

New version will be release regularly if significant changes (bug fix or new feature) are made in the collection.

Released code versions are located on "release" branches with names of the form "release-x.y.z" where x.y.z corresponds to the version number. More information on branching strategy followed can be found [here](https://github.com/dell/ansible-unity/blob/1.6.0/docs/BRANCHING.md).
Released code versions are located on "release" branches with names of the form "release-x.y.z" where x.y.z corresponds to the version number. More information on branching strategy followed can be found [here](https://github.com/dell/ansible-unity/blob/1.7.0/docs/BRANCHING.md).

Ansible Modules for Dell Technologies Unity deprecation cycle is aligned with that of [Ansible](https://docs.ansible.com/ansible/latest/dev_guide/module_lifecycle.html).
9 changes: 8 additions & 1 deletion 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 @@ -60,6 +61,11 @@ plugins:
name: nfsserver
namespace: ''
version_added: 1.4.0
replication_session:
description: Manage replication session on Unity storage system
name: replication_session
namespace: ''
version_added: 1.7.0
smbshare:
description: Manage SMB shares on Unity storage system
name: smbshare
Expand Down Expand Up @@ -98,5 +104,6 @@ plugins:
netconf: {}
shell: {}
strategy: {}
test: {}
vars: {}
version: 1.6.0
version: 1.7.0
14 changes: 13 additions & 1 deletion changelogs/changelog.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,19 @@ releases:
1.6.0:
changes:
minor_changes:
- Add synchronous replication support for filesystem.
- Support addition of host from the Host List to NFS Export in nfs module.
- Support enable/disable advanced dedup in volume module.
- Add synchronous replication support for filesystem.
release_date: '2023-03-31'
1.7.0:
changes:
minor_changes:
- Added replication session module to get details, pause, resume, sync, failover,
failback and delete replication sessions.
- Added support for Unity XT SeaHawk 5.3
- Documentation updates for boolean values based on ansible community guidelines.
modules:
- description: Manage replication session on the Unity storage system
name: replication_session
namespace: ''
release_date: '2023-06-30'
8 changes: 4 additions & 4 deletions docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -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-unity/blob/1.6.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-unity/blob/1.7.0/docs/CODE_OF_CONDUCT.md).

## Table of contents

Expand Down Expand Up @@ -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 Unity 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-unity/blob/1.6.0/docs/ISSUE_TRIAGE.md).
Read more about the ways you can [Triage issues](https://github.com/dell/ansible-unity/blob/1.7.0/docs/ISSUE_TRIAGE.md).

## Your first contribution

Expand All @@ -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 Unity](https://github.com/dell/ansible-unity/blob/1.6.0/docs/BRANCHING.md)
* [Branching Strategy for Ansible modules for Dell Unity](https://github.com/dell/ansible-unity/blob/1.7.0/docs/BRANCHING.md)

## Signing your commits

Expand Down Expand Up @@ -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-unity/blob/1.6.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-unity/blob/1.7.0/docs/SUPPORT.md).

#### Code sanitization

Expand Down
4 changes: 2 additions & 2 deletions docs/INSTALLATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ You may obtain a copy of the License at

* Download the latest tar build from any of the available distribution channel [Ansible Galaxy](https://galaxy.ansible.com/dellemc/unity) /[Automation Hub](https://console.redhat.com/ansible/automation-hub/repo/published/dellemc/unity) and use this command to install the collection anywhere in your system:

ansible-galaxy collection install dellemc-unity-1.6.0.tar.gz -p <install_path>
ansible-galaxy collection install dellemc-unity-1.7.0.tar.gz -p <install_path>

* Set the environment variable:

Expand All @@ -62,7 +62,7 @@ You may obtain a copy of the License at

## Ansible modules execution

The Ansible server must be configured with Python library for Unity to run the Ansible playbooks. The [Documents](https://github.com/dell/ansible-unity/blob/1.6.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 needs to be configured before running the modules.
The Ansible server must be configured with Python library for Unity to run the Ansible playbooks. The [Documents](https://github.com/dell/ansible-unity/blob/1.7.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 needs to be configured before running the modules.

## SSL certificate validation

Expand Down
2 changes: 1 addition & 1 deletion docs/ISSUE_TRIAGE.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Should explain what happened, what was expected and how to reproduce it together

- Ansible Version: [e.g. 2.14]
- Python Version [e.g. 3.10]
- Ansible modules for Dell Unity Version: [e.g. 1.6.0]
- Ansible modules for Dell Unity Version: [e.g. 1.7.0]
- Unity SDK version: [e.g. Unity 1.2.11]
- Any other additional information...

Expand Down
Loading

0 comments on commit f4cb455

Please sign in to comment.