Skip to content

Commit

Permalink
Merge pull request #29 from dell/release-1.5.0
Browse files Browse the repository at this point in the history
Release 1.5.0
  • Loading branch information
Jennifer-John authored Dec 14, 2022
2 parents de9d780 + 7b5841d commit 8ffedc6
Show file tree
Hide file tree
Showing 37 changed files with 5,984 additions and 5,401 deletions.
13 changes: 5 additions & 8 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,13 @@
# be requested for review when someone opens a pull request.
# order is alphabetical for easier maintenance.
#
# Ananthu Kuttattu (ananthu-kuttattu)
# Arindam Datta (dattaarindam)
# DCS Krishna (dcsk)
# Ananthu Kuttattu (kuttattz)
# Bhavneet Sharma (Bhavneet-Sharma)
# Jennifer John (Jennifer-John)
# Meenakshi Dembi (meenakshidembi691)
# Panigrahi Spandita (panigs7)
# Pavan Mudunuri (Pavan-Mudunuri)
# Prabhulinga Revur (prabhu-dell)
# Prasad Raghavendra (prasar6)
# Rajendra Indukuri (rajendraindukuri)
# Previnkumar G (Previnkumar-G)
# Trisha Datta (trisha-dell)

# for all files:
* @ananthu-kuttattu @dattaarindam @dcsk @Jennifer-John @meenakshidembi691 @panigs7 @Pavan-Mudunuri @prabhu-dell @prasar6 @rajendraindukuri
* @kuttattz @Bhavneet-Sharma @Jennifer-John @meenakshidembi691 @Pavan-Mudunuri @Previnkumar-G @trisha-dell
146 changes: 146 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
===========================
Dellemc.Unity Change Log
===========================

.. contents:: Topics


v1.5.0
======

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

- Updated modules to adhere with ansible community guidelines.

v1.4.1
======

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

- Updated the execution environment related files.

v1.4.0
======

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

- Added cifsserver module to support create, list and delete CIFS server.
- Added execution environment manifest file to support building an execution environment with ansible-builder.
- Added interface module to support create, list and delete interface.
- Added nfsserver module to support create, list and delete NFS server.
- Check mode is supported for Info.
- Enhance nfs module to support advanced host management option.
- Enhanced filesystem module to support create, modify and delete of filesystem replication.
- Enhanced info module to list cifs server, nfs servers, ethernet port and file interface.
- Enhanced nas server module to support create, modify and delete of nas server replication.

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

- dellemc.unity.cifsserver - Manage CIFS server on Unity storage system
- dellemc.unity.interface - Manage Interfaces on Unity storage system
- dellemc.unity.nfsserver - Manage NFS server on Unity storage system

v1.3.0
======

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

- Added rotating file handler for logging.
- Bugfix in volume module to retrieve details of non-thin volumes.
- Enhance host module to support add/remove network address to/from a host.
- Enhanced Info module to list disk groups.
- Enhanced Storage Pool module to support listing of drive details of a pool
- Enhanced Storage pool module to support creation of storage pool
- Enhanced consistency group module to support enable/disable replication in consistency group
- Enhanced host module to support both mapping and un-mapping of non-logged-in initiators to host.
- Enhanced host module to support listing of network addresses, FC initiators, ISCSI initiators and allocated volumes of a host
- Removed dellemc.unity prefix from module names.
- Renamed gatherfacts module to info module

v1.2.1
======

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

- Added dual licensing
- Documentation updates
- Fixed typo in galaxy.yml
- Updated few samples in modules

v1.2.0
======

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

- Added CRUD operations support for Quota tree.
- Added CRUD operations support for User Quota on Filesystem/Quota tree.
- Added support for Application tagging.
- Consistency group module is enhanced to map/unmap hosts to/from a new or existing consistency group.
- Filesystem module is enhanced to associate/dissociate snapshot schedule to/from a Filesystem.
- Filesystem module is enhanced to update default quota configuration during create operation.
- Gather facts module is enhanced to list User Quota and Quota tree components.
- Volume module is enhanced to support map/unmap multiple hosts from a volume.

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

- dellemc.unity.tree_quota - Manage quota tree on the Unity storage system
- dellemc.unity.user_quota - Manage user quota on the Unity storage system

v1.1.0
======

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

- Added CRUD operations support for Filesystem snapshot.
- Added CRUD operations support for Filesystem.
- Added CRUD operations support for NFS export.
- Added CRUD operations support for SMB share.
- Added support to get/modify operations on NAS server.
- Gather facts module is enhanced to list Filesystem snapshots, NAS servers, File systems, NFS exports, SMB shares.

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

- dellemc.unity.filesystem - Manage filesystem on Unity storage system
- dellemc.unity.filesystem_snapshot - Manage filesystem snapshot on the Unity storage system
- dellemc.unity.nasserver - Manage NAS servers on Unity storage system
- dellemc.unity.nfs - Manage NFS export on Unity storage system
- dellemc.unity.smbshare - Manage SMB shares on Unity storage system

v1.0.0
======

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

- Added CRUD operations support for Consistency group.
- Added CRUD operations support for Volume.
- Added CRUD operations support for a snapshot schedule.
- Added support for CRUD operations on a host with FC/iSCSI initiators.
- Added support for CRUD operations on a snapshot of a volume.
- Added support for adding/removing volumes to/from a consistency group.
- Added support to add/remove FC/iSCSI initiators to/from a host.
- Added support to create a snapshot for a consistency group.
- Added support to get/modify operations on storage pool.
- Added support to map/unmap a host to/from a snapshot.
- Gather facts module is enhanced to list volumes, consistency groups, FC initiators, iSCSI initiators, hosts, snapshot schedules.

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

- dellemc.unity.consistencygroup - Manage consistency groups on Unity storage system
- dellemc.unity.host - Manage Host operations on Unity
- dellemc.unity.info - Gathering information about Unity
- dellemc.unity.snapshot - Manage snapshots on the Unity storage system
- dellemc.unity.snapshotschedule - Manage snapshot schedules on Unity storage system
- dellemc.unity.storagepool - Manage storage pool on Unity
- dellemc.unity.volume - Manage volume on Unity storage system
158 changes: 37 additions & 121 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,150 +6,66 @@ 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.4.1/docs/CODE_OF_CONDUCT.md)
* [Maintainer guide](https://github.com/dell/ansible-unity/blob/1.4.1/docs/MAINTAINER_GUIDE.md)
* [Committer guide](https://github.com/dell/ansible-unity/blob/1.4.1/docs/COMMITTER_GUIDE.md)
* [Contributing guide](https://github.com/dell/ansible-unity/blob/1.4.1/docs/CONTRIBUTING.md)
* [Branching strategy](https://github.com/dell/ansible-unity/blob/1.4.1/docs/BRANCHING.md)
* [List of adopters](https://github.com/dell/ansible-unity/blob/1.4.1/docs/ADOPTERS.md)
* [Maintainers](https://github.com/dell/ansible-unity/blob/1.4.1/docs/MAINTAINERS.md)
* [Support](https://github.com/dell/ansible-unity/blob/1.4.1/docs/SUPPORT.md)
* [Code of conduct](https://github.com/dell/ansible-unity/blob/1.5.0/docs/CODE_OF_CONDUCT.md)
* [Maintainer guide](https://github.com/dell/ansible-unity/blob/1.5.0/docs/MAINTAINER_GUIDE.md)
* [Committer guide](https://github.com/dell/ansible-unity/blob/1.5.0/docs/COMMITTER_GUIDE.md)
* [Contributing guide](https://github.com/dell/ansible-unity/blob/1.5.0/docs/CONTRIBUTING.md)
* [Branching strategy](https://github.com/dell/ansible-unity/blob/1.5.0/docs/BRANCHING.md)
* [List of adopters](https://github.com/dell/ansible-unity/blob/1.5.0/docs/ADOPTERS.md)
* [Maintainers](https://github.com/dell/ansible-unity/blob/1.5.0/docs/MAINTAINERS.md)
* [Support](https://github.com/dell/ansible-unity/blob/1.5.0/docs/SUPPORT.md)
* [License](#license)
* [Security](https://github.com/dell/ansible-unity/blob/1.4.1/docs/SECURITY.md)
* [Security](https://github.com/dell/ansible-unity/blob/1.5.0/docs/SECURITY.md)
* [Prerequisites](#prerequisites)
* [List of Ansible modules for Dell Unity](#list-of-ansible-modules-for-dell-unity)
* [Installation](#installing-collections)
* [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.4.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.4.1/MODULE-LICENSE) for the full terms.

## Support
The Ansible collection for Unity is supported by Dell and is provided under the terms of the license attached to the collection. Please see the [LICENSE](#license) section for the full terms. Dell does not provide any support for the source code modifications. For any Ansible modules issues, questions or feedback, join the [Dell Automation Community](https://www.dell.com/community/Automation/bd-p/Automation).
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.5.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.5.0/MODULE-LICENSE) for the full terms.

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

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

| **Ansible Modules** | **Red Hat Enterprise Linux** | **Python version** | **Storops - Python SDK version** | **Ansible** |
|---------------------|------------------------------|--------------------|----------------------------|-------------|
| v1.4.1 | 8.4 <br> 8.5| 3.8 <br> 3.9 <br> 3.10 | 1.2.11 | 2.11 <br> 2.12 <br> 2.13|
| **Ansible Modules** | **Python version** | **Storops - Python SDK version** | **Ansible** |
|---------------------|--------------------|----------------------------------|-------------|
| v1.5.0 | 3.9 <br> 3.10 <br> 3.11 | 1.2.11 | 2.12 <br> 2.13 <br> 2.14|

## 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.4.1/docs/Product%20Guide.md#consistency-group-module)
* [Filesystem module](https://github.com/dell/ansible-unity/blob/1.4.1/docs/Product%20Guide.md#file-system-module)
* [Filesystem snapshot module](https://github.com/dell/ansible-unity/blob/1.4.1/docs/Product%20Guide.md#filesystem-snapshot-module)
* [Info module](https://github.com/dell/ansible-unity/blob/1.4.1/docs/Product%20Guide.md#info-module)
* [Host module](https://github.com/dell/ansible-unity/blob/1.4.1/docs/Product%20Guide.md#host-module)
* [CIFS server module](https://github.com/dell/ansible-unity/blob/1.4.1/docs/Product%20Guide.md#cifs-server-module)
* [NAS server module](https://github.com/dell/ansible-unity/blob/1.4.1/docs/Product%20Guide.md#nas-server-module)
* [NFS server module](https://github.com/dell/ansible-unity/blob/1.4.1/docs/Product%20Guide.md#nfs-server-module)
* [NFS export module](https://github.com/dell/ansible-unity/blob/1.4.1/docs/Product%20Guide.md##nfs-module)
* [SMB share module](https://github.com/dell/ansible-unity/blob/1.4.1/docs/Product%20Guide.md#smb-share-module)
* [Interface module](https://github.com/dell/ansible-unity/blob/1.4.1/docs/Product%20Guide.md#interface-module)
* [Snapshot module](https://github.com/dell/ansible-unity/blob/1.4.1/docs/Product%20Guide.md#snapshot-module)
* [Snapshot schedule module](https://github.com/dell/ansible-unity/blob/1.4.1/docs/Product%20Guide.md#snapshot-schedule-module)
* [Storage pool module](https://github.com/dell/ansible-unity/blob/1.4.1/docs/Product%20Guide.md#storage-pool-module)
* [User quota module](https://github.com/dell/ansible-unity/blob/1.4.1/docs/Product%20Guide.md#user-quota-module)
* [Quota tree module ](https://github.com/dell/ansible-unity/blob/1.4.1/docs/Product%20Guide.md#quota-tree-module)
* [Volume module](https://github.com/dell/ansible-unity/blob/1.4.1/docs/Product%20Guide.md#volume-module)

## Installation of SDK
* Install python sdk named 'storops'. It can be installed using pip, based on appropriate python version.

pip install storops

## Building Collections
* Use this command to build the collection from source code:

ansible-galaxy collection build

For more details on how to build a tar ball, please refer: [Building the collection](https://docs.ansible.com/ansible/latest/dev_guide/developing_collections_distributing.html#building-your-collection-tarball)

## Installing Collections
#### Online Installation of Collections
1. Use the following command to install the latest collection hosted in galaxy:

ansible-galaxy collection install dellemc.unity -p <install_path>

#### Offline Installation of Collections
1. 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 the following command to install the collection anywhere in your system:

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

2. Set the environment variable:

export ANSIBLE_COLLECTIONS_PATHS=$ANSIBLE_COLLECTIONS_PATHS:<install_path>


## Using Collections

* In order to use any Ansible module, ensure that the importing of proper FQCN (Fully Qualified Collection Name) must be embedded in the playbook.
Refer to the following example:

collections:
- dellemc.unity

* In order to use an installed collection specific to the task use a proper FQCN (Fully Qualified Collection Name). Refer to the following example:

tasks:
- name: Get Volume details
dellemc.unity.volume

* For generating Ansible documentation for a specific module, embed the FQCN before the module name. Refer to the following example:

ansible-doc dellemc.unity.info

## Running Ansible 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/tree/1.4.1/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

* Copy the CA certificate to the "/etc/pki/ca-trust/source/anchors" path of the host by any external means.
* Set the "REQUESTS_CA_BUNDLE" environment variable to the path of the SSL certificate using the command:

export REQUESTS_CA_BUNDLE=/etc/pki/ca-trust/source/anchors/<<Certificate_Name>>
* Import the SSL certificate to host using the command:

update-ca-trust extract
* If "TLS CA certificate bundle error" occurs, then follow these steps:

cd /etc/pki/tls/certs/
openssl x509 -in ca-bundle.crt -text -noout

## Results
Each module returns the updated state and details of the entity. For example, if you are using the Volume module, all calls will return the updated details of the volume. Sample result is shown in each module's documentation.

## Ansible Execution Environment

Ansible can also be installed in a container environment. Ansible Builder provides the ability to create reproducible, self-contained environments as container images that can be run as Ansible execution environments.
* Install the ansible builder package using:

pip3 install ansible-builder
* Ensure the execution-environment.yml is at the root of collection and create the execution environment using:

ansible-builder build --tag <tag_name> --container-runtime docker
* After the image is built, run the container using:

docker run -it <tag_name> /bin/bash
* Verify collection installation using command:

ansible-galaxy collection list
* The playbook can be run on the container using:

docker run --rm -v $(pwd):/runner <tag_name> ansible-playbook info_tests.yml
* [Consistency group module](https://github.com/dell/ansible-unity/blob/1.5.0/docs/Product%20Guide.md#consistency-group-module)
* [Filesystem module](https://github.com/dell/ansible-unity/blob/1.5.0/docs/Product%20Guide.md#file-system-module)
* [Filesystem snapshot module](https://github.com/dell/ansible-unity/blob/1.5.0/docs/Product%20Guide.md#filesystem-snapshot-module)
* [Info module](https://github.com/dell/ansible-unity/blob/1.5.0/docs/Product%20Guide.md#info-module)
* [Host module](https://github.com/dell/ansible-unity/blob/1.5.0/docs/Product%20Guide.md#host-module)
* [CIFS server module](https://github.com/dell/ansible-unity/blob/1.5.0/docs/Product%20Guide.md#cifs-server-module)
* [NAS server module](https://github.com/dell/ansible-unity/blob/1.5.0/docs/Product%20Guide.md#nas-server-module)
* [NFS server module](https://github.com/dell/ansible-unity/blob/1.5.0/docs/Product%20Guide.md#nfs-server-module)
* [NFS export module](https://github.com/dell/ansible-unity/blob/1.5.0/docs/Product%20Guide.md##nfs-module)
* [SMB share module](https://github.com/dell/ansible-unity/blob/1.5.0/docs/Product%20Guide.md#smb-share-module)
* [Interface module](https://github.com/dell/ansible-unity/blob/1.5.0/docs/Product%20Guide.md#interface-module)
* [Snapshot module](https://github.com/dell/ansible-unity/blob/1.5.0/docs/Product%20Guide.md#snapshot-module)
* [Snapshot schedule module](https://github.com/dell/ansible-unity/blob/1.5.0/docs/Product%20Guide.md#snapshot-schedule-module)
* [Storage pool module](https://github.com/dell/ansible-unity/blob/1.5.0/docs/Product%20Guide.md#storage-pool-module)
* [User quota module](https://github.com/dell/ansible-unity/blob/1.5.0/docs/Product%20Guide.md#user-quota-module)
* [Quota tree module ](https://github.com/dell/ansible-unity/blob/1.5.0/docs/Product%20Guide.md#quota-tree-module)
* [Volume module](https://github.com/dell/ansible-unity/blob/1.5.0/docs/Product%20Guide.md#volume-module)

## 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.5.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.4.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/1.5.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).
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).
Loading

0 comments on commit 8ffedc6

Please sign in to comment.