Skip to content

Commit

Permalink
IBM Spectrum Virtualize v1.7.0 (#48)
Browse files Browse the repository at this point in the history
* IBM Spectrum Virtualize v1.7.0
1. Updated new module description in README
2. Updated version name in galaxy.yml
3. Updated changelog
4. Added support for managing user, user groups and ownership groups
5. Added support for the configuration of Call Home feature.
6. Added support for remote assistance configuration.
7. Unit tests are added
  • Loading branch information
Shilpi-J authored Dec 21, 2021
1 parent 1b739cc commit db65992
Show file tree
Hide file tree
Showing 35 changed files with 6,290 additions and 178 deletions.
23 changes: 19 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[![Code of conduct](https://img.shields.io/badge/code%20of%20conduct-Ansible-silver.svg)](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html )

This collection provides a series of Ansible modules and plugins for interacting with the IBM Spectrum Virtualize Family storage products. These products include the IBM SAN Volume Controller, IBM FlashSystem Family members built with IBM Spectrum Virtualize (FlashSystem 5000, 5100, 5200, 7200, 9100, 9200, 9200R, and V9000), IBM Storwize Family, and IBM Spectrum Virtualize for Public Cloud. For more information regarding these products, see the [IBM Documentation](https://www.ibm.com/docs/en ).
This collection provides a series of Ansible modules and plugins for interacting with the IBM Spectrum Virtualize family storage products. These products include the IBM SAN Volume Controller, IBM FlashSystem family members built with IBM Spectrum Virtualize (FlashSystem 5xxx, 7200, 9100, 9200, 9200R, and V9000), IBM Storwize family, and IBM Spectrum Virtualize for Public Cloud. For more information regarding these products, see [IBM Documentation](https://www.ibm.com/docs/en ).

## Requirements

Expand Down Expand Up @@ -68,27 +68,40 @@ Alternatively, you can add a full namepsace and collection name in the `collecti

### Modules

- ibm_svc_auth - Generates an authentication token for a user on IBM Spectrum Virtualize Family storage system
- ibm_svc_auth - Generates an authentication token for a user on IBM Spectrum Virtualize family storage system
- ibm_svc_host - Manages hosts on IBM Spectrum Virtualize system
- ibm_svc_hostcluster - Manages host cluster on IBM Spectrum Virtualize system
- ibm_svc_info - Collects information on IBM Spectrum Virtualize system
- ibm_svc_initial_setup - Manages initial setup configuration on IBM Spectrum Virtualize system
- ibm_svc_manage_callhome - Manages configuration of Call Home feature on IBM Spectrum Virtualize system
- ibm_svc_manage_consistgrp_flashcopy - Manages FlashCopy consistency groups on IBM Spectrum Virtualize system
- ibm_svc_manage_cv - Manages the change volume in remote copy replication on IBM Spectrum Virtualize system
- ibm_svc_manage_flashcopy - Manages FlashCopy mappings on IBM Spectrum Virtualize system
- ibm_svc_manage_mirrored_volume - Manages mirrored volumes on IBM Spectrum Virtualize system
- ibm_svc_manage_migration - Manages volume migration between clusters on IBM Spectrum Virtualize system
- ibm_svc_manage_ownershipgroup - Manages ownership groups on IBM Spectrum Virtualize system
- ibm_svc_manage_replication - Manages remote copy replication on IBM Spectrum Virtualize system
- ibm_svc_manage_replicationgroup - Manages remote copy consistency group on IBM Spectrum Virtualize system
- ibm_svc_manage_replicationgroup - Manages remote copy consistency groups on IBM Spectrum Virtualize system
- ibm_svc_manage_sra - Manages the remote support assistance configuration on IBM Spectrum Virtualize system
- ibm_svc_manage_user - Manages user on IBM Spectrum Virtualize system
- ibm_svc_manage_usergroup - Manages user groups on IBM Spectrum Virtualize system
- ibm_svc_manage_volume - Manages standard volumes on IBM Spectrum Virtualize system
- ibm_svc_manage_volumegroup - Manages volume groups on IBM Spectrum Virtualize system
- ibm_svc_mdisk - Manages MDisks for IBM Spectrum Virtualize system
- ibm_svc_mdiskgrp - Manages pools for IBM Spectrum Virtualize system
- ibm_svc_start_stop_flashcopy - Starts or stops FlashCopy mapping and consistency groups on IBM Spectrum Virtualize system
- ibm_svc_start_stop_replication - Starts or stops remote copy relationship or group on IBM Spectrum Virtualize system
- ibm_svc_start_stop_replication - Starts or stops remote-copy independent relationships or consistency groups on IBM Spectrum Virtualize system
- ibm_svc_vol_map - Manages volume mapping for IBM Spectrum Virtualize system
- ibm_svcinfo_command - Runs svcinfo CLI command on IBM Spectrum Virtualize system over SSH session
- ibm_svctask_command - Runs svctask CLI command(s) on IBM Spectrum Virtualize system over SSH session

### Other Feature Information
- SV Ansible Collection v1.7.0 provides `Setup and Configuration Automation` through different modules. This feature helps user to automate Day 0 configuration.
This feature includes three modules:
- ibm_svc_initial_seutp
- ibm_svc_manage_callhome
- ibm_svc_manage_sra
- By proceeding and using these modules, the user acknowledges that [IBM Privacy Statement](https://www.ibm.com/privacy) has been read and understood.

### Prerequisite

Expand All @@ -100,6 +113,8 @@ The modules in the IBM Spectrum Virtualize Ansible collection leverage REST APIs
1. Using the REST APIs to list more than 2000 objects may create a loss of service from the API side, as it automatically restarts due to memory constraints.
2. It is not possible to access REST APIs using an IPv6 address on a cluster.
3. The Ansible collection can run on all IBM Spectrum Virtualize storage versions above 8.1.3, except versions 8.3.1.3 and 8.3.1.4.
4. At time of release of the SV Ansible v1.7.0 collection, no module is available to automate license agreements acceptance, including EULA.
User will be presented with a GUI setup wizard upon user-interface login, whether the Ansible modules have been used for initial configuration or not.

## Releasing, Versioning and Deprecation

Expand Down
24 changes: 24 additions & 0 deletions changelogs/changelog.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,27 @@ releases:
- description: Manages volume migration between Spectrum Virtualize storage systems
name: ibm_svc_manage_migration
namespace: ''
1.7.0:
release_date: '2021-12-24'
changes:
release_summary: Added new modules for managing users, user groups and ownership groups. Added modules for configuring
Call Home, remote support assistance and initial setup configurations.
modules:
- description: Manages users on Spectrum Virtualize system
name: ibm_svc_manage_user
namespace: ''
- description: Manages user groups on Spectrum Virtualize system
name: ibm_svc_manage_usergroup
namespace: ''
- description: Manages ownership groups on Spectrum Virtualize storage systems
name: ibm_svc_manage_ownershipgroup
namespace: ''
- description: Manages Call Home configuration on Spectrum Virtualize storage systems
name: ibm_svc_manage_callhome
namespace: ''
- description: Manages remote support assistance on Spectrum Virtualize storage systems
name: ibm_svc_manage_sra
namespace: ''
- description: Allow user to do initial setup configuration on Spectrum Virtualize storage systems
name: ibm_svc_initial_setup
namespace: ''
3 changes: 2 additions & 1 deletion galaxy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ namespace: ibm
name: spectrum_virtualize

# The version of the collection. Must be compatible with semantic versioning
version: 1.6.0
version: 1.7.0

# The path to the Markdown (.md) readme file. This path is relative to the root of the collection
readme: README.md
Expand All @@ -21,6 +21,7 @@ authors:
- Shilpi Jain <[email protected]>
- Rohit Kumar <[email protected]>
- Sreshtant Bohidar <[email protected]>
- Sanjaikumaar M <[email protected]>


### OPTIONAL but strongly recommended
Expand Down
5 changes: 2 additions & 3 deletions plugins/modules/ibm_svc_auth.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-

# Copyright (C) 2020 IBM CORPORATION
# Copyright (C) 2021 IBM CORPORATION
# Author(s): Shilpi Jain <[email protected]>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)

Expand All @@ -15,7 +15,7 @@
DOCUMENTATION = '''
---
module: ibm_svc_auth
short_description: This module generates an authentication token for a user on IBM Spectrum Virtualize Family storage system
short_description: This module generates an authentication token for a user on IBM Spectrum Virtualize family storage system
description:
- Ansible interface to generate the authentication token.
The token is used to make REST API calls to the storage system.
Expand Down Expand Up @@ -97,7 +97,6 @@
version_added: 1.5.0
'''

from traceback import format_exc
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.ibm.spectrum_virtualize.plugins.module_utils.ibm_svc_utils import IBMSVCRestApi, svc_argument_spec, get_logger
from ansible.module_utils._text import to_native
Expand Down
23 changes: 10 additions & 13 deletions plugins/modules/ibm_svc_host.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
DOCUMENTATION = '''
---
module: ibm_svc_host
short_description: This module manages hosts on IBM Spectrum Virtualize Family storage systems
short_description: This module manages hosts on IBM Spectrum Virtualize family storage systems
version_added: "1.0.0"
description:
- Ansible interface to manage 'mkhost', 'chhost', and 'rmhost' host commands.
Expand All @@ -31,14 +31,13 @@
type: str
state:
description:
- Creates or updates (C(present)), or removes (C(absent)) a host.
- Creates or updates (C(present)) or removes (C(absent)) a host.
choices: [ absent, present ]
required: true
type: str
clustername:
description:
- The hostname or management IP of the
Spectrum Virtualize storage system.
- The hostname or management IP of the Spectrum Virtualize storage system.
required: true
type: str
domain:
Expand All @@ -49,17 +48,17 @@
username:
description:
- REST API username for the Spectrum Virtualize storage system.
- The parameters I(username) and I(password) are required if not using 'token' to authenticate a user.
- The parameters I(username) and I(password) are required if not using I(token) to authenticate a user.
type: str
password:
description:
- REST API password for the Spectrum Virtualize storage system.
- The parameters I(username) and I(password) are required if not using 'token' to authenticate a user.
- The parameters I(username) and I(password) are required if not using I(token) to authenticate a user.
type: str
token:
description:
- The authentication token to verify a user on the Spectrum Virtualize storage system.
- To generate a token, use ibm_svc_auth module.
- To generate a token, use the ibm_svc_auth module.
type: str
version_added: '1.5.0'
fcwwpn:
Expand All @@ -76,26 +75,24 @@
type: str
iogrp:
description:
- Specifies a set of one or more input/output (I/O)
groups from which the host can access the volumes.
- Specifies a set of one or more input/output (I/O) groups from which the host can access the volumes.
Once specified, this parameter cannot be modified.
- Valid when C(state=present), to create a host.
type: str
protocol:
description:
- Specifies the protocol used by the host to
communicate with the storage system. Only 'scsi' protocol is supported.
- Specifies the protocol used by the host to communicate with the storage system. Only 'scsi' protocol is supported.
- Valid when C(state=present), to create a host.
type: str
type:
description:
- Specifies the type of host.
Valid when C(state=present), to create or modify a host.
- Valid when C(state=present), to create or modify a host.
type: str
site:
description:
- Specifies the site name of the host.
Valid when C(state=present), to create or modify a host.
- Valid when C(state=present), to create or modify a host.
type: str
hostcluster:
description:
Expand Down
12 changes: 6 additions & 6 deletions plugins/modules/ibm_svc_hostcluster.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-

# Copyright (C) 2020 IBM CORPORATION
# Copyright (C) 2021 IBM CORPORATION
# Author(s): Shilpi Jain <[email protected]>
#
# GNU General Public License v3.0+
Expand All @@ -17,7 +17,7 @@
DOCUMENTATION = '''
---
module: ibm_svc_hostcluster
short_description: This module manages host cluster on IBM Spectrum Virtualize Family storage systems
short_description: This module manages host cluster on IBM Spectrum Virtualize family storage systems
version_added: "1.5.0"
description:
- Ansible interface to manage 'mkhostcluster', 'chhostcluster' and 'rmhostcluster' host commands.
Expand All @@ -41,7 +41,7 @@
domain:
description:
- Domain for the Spectrum Virtualize storage system.
Valid when hostname is used for the parameter I(clustername).
- Valid when hostname is used for the parameter I(clustername).
type: str
username:
description:
Expand All @@ -56,19 +56,19 @@
token:
description:
- The authentication token to verify a user on the Spectrum Virtualize storage system.
- To generate a token, use ibm_svc_auth module.
- To generate a token, use the ibm_svc_auth module.
type: str
ownershipgroup:
description:
- The name of the ownership group to which the host cluster object is being added.
Parameters I(ownershipgroup) and I(noownershipgroup) are mutually exclusive.
- Parameters I(ownershipgroup) and I(noownershipgroup) are mutually exclusive.
- Applies when C(state=present).
type: str
version_added: '1.6.0'
noownershipgroup:
description:
- If specified True, the host cluster object is removed from the ownership group to which it belongs.
Parameters I(ownershipgroup) and I(noownershipgroup) are mutually exclusive.
- Parameters I(ownershipgroup) and I(noownershipgroup) are mutually exclusive.
- Applies when C(state=present) to modify an existing hostcluster.
type: bool
version_added: '1.6.0'
Expand Down
Loading

0 comments on commit db65992

Please sign in to comment.