Skip to content

Commit

Permalink
Merge pull request #49 from kuttattz/main
Browse files Browse the repository at this point in the history
Release v2.0.0
  • Loading branch information
Jennifer-John authored Mar 26, 2024
2 parents 6b84f9b + 38c9525 commit df89e82
Show file tree
Hide file tree
Showing 32 changed files with 1,097 additions and 1,099 deletions.
117 changes: 52 additions & 65 deletions .github/workflows/ansible-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@ name: CI

on:
push:
branches: [ main ]
branches: [main]
pull_request:
branches: [ main ]
schedule:
- cron: '0 3 * * *'

Expand All @@ -15,15 +14,15 @@ jobs:
strategy:
fail-fast: false
matrix:
ansible-version: [stable-2.13]
ansible-version: [stable-2.14, stable-2.15, stable-2.16, devel]
steps:
- name: Check out code
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: Set up Python 3.9
uses: actions/setup-python@v1
- name: Set up Python 3.11
uses: actions/setup-python@v4
with:
python-version: 3.9
python-version: 3.11

- name: Install ansible (${{ matrix.ansible-version }})
run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible-version }}.tar.gz --disable-pip-version-check
Expand All @@ -39,86 +38,68 @@ jobs:

###
# Unit tests (OPTIONAL)
#
#
# https://docs.ansible.com/ansible/latest/dev_guide/testing_units.html

unit:
name: Unit Tests
name: Unit Tests (Ⓐ${{ matrix.ansible }} with ${{ matrix.python }} python)
needs: [build]
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11"]
ansible-version: [stable-2.13, stable-2.14, stable-2.15]
python: ['3.9', '3.10', '3.11']
ansible:
- stable-2.14
- stable-2.15
- stable-2.16
- devel
exclude:
# Python 3.11 is supported only from ansible-core 2.14 onwards
- python-version: "3.11"
ansible-version: stable-2.13
- ansible: stable-2.16
python: '3.9'
- ansible: devel
python: '3.9'

steps:
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
- name: Perform unit testing with ansible-test
uses: ansible-community/ansible-test-gh-action@release/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: Download migrated collection artifacts
uses: actions/download-artifact@v1
with:
name: collection
path: .cache/collection-tarballs

- name: Setup Unit test Pre-requisites
run: |
ansible-galaxy collection install .cache/collection-tarballs/*.tar.gz
if [ -f /home/runner/.ansible/collections/ansible_collections/dellemc/unity/tests/requirements.txt ]; then pip install -r /home/runner/.ansible/collections/ansible_collections/dellemc/unity/tests/requirements.txt; fi
- name: Run Unit tests using ansible-test
run: ansible-test units -v --color --python ${{ matrix.python-version }} --coverage
working-directory: /home/runner/.ansible/collections/ansible_collections/dellemc/unity
testing-type: units
coverage: always
ansible-core-version: ${{ matrix.ansible }}
target-python-version: ${{ matrix.python }}

###
# Sanity tests (REQUIRED)
#
# https://docs.ansible.com/ansible/latest/dev_guide/testing_sanity.html

sanity:
name: Sanity Tests
runs-on: ubuntu-latest
name: Sanity (Ⓐ${{ matrix.ansible }} with ${{ matrix.python }} python)
needs: [build]
strategy:
fail-fast: false
matrix:
ansible-version: [stable-2.13, stable-2.14, stable-2.15]

python: ['3.9', '3.10', '3.11']
ansible:
- stable-2.14
- stable-2.15
- stable-2.16
- devel
exclude:
- ansible: stable-2.16
python: '3.9'
- ansible: devel
python: '3.9'
runs-on: ubuntu-latest
steps:
- name: Set up Python 3.9
uses: actions/setup-python@v1
with:
# it is just required to run that once as "ansible-test sanity" in the docker image
# will run on all python versions it supports.
python-version: 3.9

- 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: Download migrated collection artifacts
uses: actions/download-artifact@v1
- name: Perform sanity testing
uses: ansible-community/ansible-test-gh-action@release/v1
with:
name: collection
path: .cache/collection-tarballs

- name: Setup Sanity test Pre-requisites
run: ansible-galaxy collection install .cache/collection-tarballs/*.tar.gz

# run ansible-test sanity inside of Docker.
# The docker container has all the pinned dependencies that are required
# and all python versions ansible supports.
- name: Run sanity tests
run: ansible-test sanity --docker -v --color
working-directory: /home/runner/.ansible/collections/ansible_collections/dellemc/unity
ansible-core-version: ${{ matrix.ansible }}
target-python-version: ${{ matrix.python }}
testing-type: sanity
pull-request-change-detection: true
coverage: never

lint:
name: Ansible lint
Expand All @@ -128,7 +109,13 @@ jobs:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11"]
ansible-version: [stable-2.13, stable-2.14, stable-2.15]
ansible-version: [stable-2.14, stable-2.15, stable-2.16, 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: devel

steps:
# Important: This sets up your GITHUB_WORKSPACE environment variable
Expand All @@ -138,7 +125,7 @@ jobs:
fetch-depth: 0 # needed for progressive mode to work

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

Expand Down
8 changes: 8 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@ Dellemc.Unity Change Log
.. contents:: Topics


v2.0.0
======

Major Changes
-------------

- Adding support for Unity Puffin v5.4.

v1.7.1
======

Expand Down
64 changes: 32 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,67 +6,67 @@ The capabilities of the Ansible modules are managing consistency groups, filesys

## Table of contents

* [Code of conduct](https://github.com/dell/ansible-unity/blob/1.7.1/docs/CODE_OF_CONDUCT.md)
* [Maintainer guide](https://github.com/dell/ansible-unity/blob/1.7.1/docs/MAINTAINER_GUIDE.md)
* [Committer guide](https://github.com/dell/ansible-unity/blob/1.7.1/docs/COMMITTER_GUIDE.md)
* [Contributing guide](https://github.com/dell/ansible-unity/blob/1.7.1/docs/CONTRIBUTING.md)
* [Branching strategy](https://github.com/dell/ansible-unity/blob/1.7.1/docs/BRANCHING.md)
* [List of adopters](https://github.com/dell/ansible-unity/blob/1.7.1/docs/ADOPTERS.md)
* [Maintainers](https://github.com/dell/ansible-unity/blob/1.7.1/docs/MAINTAINERS.md)
* [Support](https://github.com/dell/ansible-unity/blob/1.7.1/docs/SUPPORT.md)
* [Code of conduct](https://github.com/dell/ansible-unity/blob/2.0.0/docs/CODE_OF_CONDUCT.md)
* [Maintainer guide](https://github.com/dell/ansible-unity/blob/2.0.0/docs/MAINTAINER_GUIDE.md)
* [Committer guide](https://github.com/dell/ansible-unity/blob/2.0.0/docs/COMMITTER_GUIDE.md)
* [Contributing guide](https://github.com/dell/ansible-unity/blob/2.0.0/docs/CONTRIBUTING.md)
* [Branching strategy](https://github.com/dell/ansible-unity/blob/2.0.0/docs/BRANCHING.md)
* [List of adopters](https://github.com/dell/ansible-unity/blob/2.0.0/docs/ADOPTERS.md)
* [Maintainers](https://github.com/dell/ansible-unity/blob/2.0.0/docs/MAINTAINERS.md)
* [Support](https://github.com/dell/ansible-unity/blob/2.0.0/docs/SUPPORT.md)
* [License](#license)
* [Security](https://github.com/dell/ansible-unity/blob/1.7.1/docs/SECURITY.md)
* [Security](https://github.com/dell/ansible-unity/blob/2.0.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.7.1/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.1/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/2.0.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/2.0.0/MODULE-LICENSE) for the full terms.

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

## 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.7.1 | 3.9 <br> 3.10 <br> 3.11 | 1.2.11 | 2.13 <br> 2.14 <br> 2.15|
| v2.0.0 | 3.9 <br> 3.10 <br> 3.11 | 1.2.11 | 2.14 <br> 2.15 <br> 2.16|

## 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.7.1/docs/modules/consistencygroup.rst)
* [Filesystem module](https://github.com/dell/ansible-unity/blob/1.7.1/docs/modules/filesystem.rst)
* [Filesystem snapshot module](https://github.com/dell/ansible-unity/blob/1.7.1/docs/modules/filesystem_snapshot.rst)
* [Info module](https://github.com/dell/ansible-unity/blob/1.7.1/docs/modules/info.rst)
* [Host module](https://github.com/dell/ansible-unity/blob/1.7.1/docs/modules/host.rst)
* [CIFS server module](https://github.com/dell/ansible-unity/blob/1.7.1/docs/modules/cifsserver.rst)
* [NAS server module](https://github.com/dell/ansible-unity/blob/1.7.1/docs/modules/nasserver.rst)
* [NFS server module](https://github.com/dell/ansible-unity/blob/1.7.1/docs/modules/nfsserver.rst)
* [NFS export module](https://github.com/dell/ansible-unity/blob/1.7.1/docs/modules/nfs.rst)
* [SMB share module](https://github.com/dell/ansible-unity/blob/1.7.1/docs/modules/smbshare.rst)
* [Interface module](https://github.com/dell/ansible-unity/blob/1.7.1/docs/modules/interface.rst)
* [Snapshot module](https://github.com/dell/ansible-unity/blob/1.7.1/docs/modules/snapshot.rst)
* [Snapshot schedule module](https://github.com/dell/ansible-unity/blob/1.7.1/docs/modules/snapshotschedule.rst)
* [Storage pool module](https://github.com/dell/ansible-unity/blob/1.7.1/docs/modules/storagepool.rst)
* [User quota module](https://github.com/dell/ansible-unity/blob/1.7.1/docs/modules/user_quota.rste)
* [Quota tree module ](https://github.com/dell/ansible-unity/blob/1.7.1/docs/modules/tree_quota.rst)
* [Volume module](https://github.com/dell/ansible-unity/blob/1.7.1/docs/modules/volume.rst)
* [Replication session module](https://github.com/dell/ansible-unity/blob/1.7.1/docs/modules/replication_session.rst)
* [Consistency group module](https://github.com/dell/ansible-unity/blob/2.0.0/docs/modules/consistencygroup.rst)
* [Filesystem module](https://github.com/dell/ansible-unity/blob/2.0.0/docs/modules/filesystem.rst)
* [Filesystem snapshot module](https://github.com/dell/ansible-unity/blob/2.0.0/docs/modules/filesystem_snapshot.rst)
* [Info module](https://github.com/dell/ansible-unity/blob/2.0.0/docs/modules/info.rst)
* [Host module](https://github.com/dell/ansible-unity/blob/2.0.0/docs/modules/host.rst)
* [CIFS server module](https://github.com/dell/ansible-unity/blob/2.0.0/docs/modules/cifsserver.rst)
* [NAS server module](https://github.com/dell/ansible-unity/blob/2.0.0/docs/modules/nasserver.rst)
* [NFS server module](https://github.com/dell/ansible-unity/blob/2.0.0/docs/modules/nfsserver.rst)
* [NFS export module](https://github.com/dell/ansible-unity/blob/2.0.0/docs/modules/nfs.rst)
* [SMB share module](https://github.com/dell/ansible-unity/blob/2.0.0/docs/modules/smbshare.rst)
* [Interface module](https://github.com/dell/ansible-unity/blob/2.0.0/docs/modules/interface.rst)
* [Snapshot module](https://github.com/dell/ansible-unity/blob/2.0.0/docs/modules/snapshot.rst)
* [Snapshot schedule module](https://github.com/dell/ansible-unity/blob/2.0.0/docs/modules/snapshotschedule.rst)
* [Storage pool module](https://github.com/dell/ansible-unity/blob/2.0.0/docs/modules/storagepool.rst)
* [User quota module](https://github.com/dell/ansible-unity/blob/2.0.0/docs/modules/user_quota.rste)
* [Quota tree module ](https://github.com/dell/ansible-unity/blob/2.0.0/docs/modules/tree_quota.rst)
* [Volume module](https://github.com/dell/ansible-unity/blob/2.0.0/docs/modules/volume.rst)
* [Replication session module](https://github.com/dell/ansible-unity/blob/2.0.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.7.1/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/2.0.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.7.1/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/2.0.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).
2 changes: 1 addition & 1 deletion changelogs/.plugin-cache.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -106,4 +106,4 @@ plugins:
strategy: {}
test: {}
vars: {}
version: 1.7.1
version: 2.0.0
5 changes: 5 additions & 0 deletions changelogs/changelog.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -174,3 +174,8 @@ releases:
minor_changes:
- Patch update to fix import errors in utils file.
release_date: '2023-07-31'
2.0.0:
changes:
major_changes:
- Adding support for Unity Puffin v5.4.
release_date: '2024-03-29'
3 changes: 3 additions & 0 deletions codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
---
fixes:
- "/ansible_collections/dellemc/unity/::"
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.7.1/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/2.0.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.7.1/docs/ISSUE_TRIAGE.md).
Read more about the ways you can [Triage issues](https://github.com/dell/ansible-unity/blob/2.0.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.7.1/docs/BRANCHING.md)
* [Branching Strategy for Ansible modules for Dell Unity](https://github.com/dell/ansible-unity/blob/2.0.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.7.1/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/2.0.0/docs/SUPPORT.md).

#### Code sanitization

Expand Down
Loading

0 comments on commit df89e82

Please sign in to comment.