Everyone likes to talk about automation.

One feels a great sense of accomplishment when you can breakdown a set of distinct manual tasks and create a macro task. You can even get extra bonus points if you can delegate the macro task to the individual(s) who rely on the outcome to create value for their business.

Did I mention that the macro task needs to be secure, safe and reliable too? What about auditing, reporting and the elusive idempotent pattern of running the task? An idempotent element describes something that can be operated on multiple times, and will always yield the same result. That’s why we see verbs like “present” and “absent” describe a desired state of an element. If an operator wants an element “present”, the operator really won’t care if the element is there already – or needs to be created. The idempotent behavior of the system should figure it out for the operator.

GettyImages-642109519_1600_0_72_RGB.pngInfrastructure-as-Code

The norm of change

In the ever-changing paradigm of infrastructure management, it’s becoming inevitably more important to keep track of changes. As most respectable automation systems today leverage human-readable data serialization formats such as YAML or JSON, using industry standard source control management (SCM), such as Git, is becoming more prominent.

These principles are often referred to as infrastructure-as-code, and allow changes to any system under management to be peer-reviewed and approved before the configuration is applied. It’s the ultimate compromise to allow developers and application owners control their own destiny – but not without operations having the final say, approval, and ultimately taking responsibility for the change. Simply put, a clean cut separation of concerns between business needs is needed while de-risking manual and error-prone system configurations.

Partnership enables customers to deploy and manage their own Storage estate

Screen Shot 2020-10-01 at 12.27.47 PM.pngHPE Nimble Storage Content Collection for Ansbile

Ansible is an idempotent IT automation platform where Hewlett Packard Enterprise today introduces the HPE Nimble Storage Content Collection for Ansible. A content collection is a set of modules for Ansible that manipulates resources on a Nimble array. Red Hat Ansible Tower is a commercial offering which enables enterprises to delegate the most daunting IT management tasks to their workforce, which in turn offload IT staff to work on more valuable projects for their respective businesses. The HPE Nimble Storage Content Collection for Ansible is a fully certified solution for Red Hat Ansible Tower, and the joint partnership allows customers to confidently deploy and manage their HPE Nimble Storage estate with Ansible Tower. The content collection is also available for the Open Source version of Ansible, and is also supported by HPE.

Capabilities available immediately

For the initial release of the content collection, the scope of tasks are limited to the most common daily runtime operations of a HPE Nimble Storage array, such as provisioning and managing volumes, snapshots and clones. Tasks also include managing other aspects of the array, such as users, performance policies, hardware and network configuration.

ModuleDescription
hpe_nimble_access_control_recordManage arrays
hpe_nimble_arrayManage iSCSI CHAP users
hpe_nimble_chap_userManage disks and media
hpe_nimble_diskManage encryption settings
hpe_nimble_encryptionManage fibre channel configuration
hpe_nimble_fcManage the array group
hpe_nimble_groupQuery and collect information of any resource from an array
hpe_nimble_infoManage initiator groups
hpe_nimble_initiator_groupManage network configuration
hpe_nimble_networkManage replication partners
hpe_nimble_partnerManage performance policies
hpe_nimble_performance_policyManage storage pools
hpe_nimble_poolManage protection schedules
hpe_nimble_protection_scheduleManage protection templates
hpe_nimble_protection_templateManage shelves
hpe_nimble_shelfManage snapshot collections
hpe_nimble_snapshot_collectionManage volume snapshots
hpe_nimble_snapshotManage volume snapshots
hpe_nimble_userManage array users
hpe_nimble_user_policyManage array user policies
hpe_nimble_volumeManage volumes
hpe_nimble_volume_collectionManage volume collections

List of modules provided in the content collection.

For an in-depth tutorial on how to use these modules, you can find more information in a few simple Ansible playbooks. Visit the HPE DEV blog.

We can expect the HPE Nimble Storage Content Collection for Ansible to become as comprehensive as the HPE Nimble Storage SDK for Python, which ultimately relies on the feature-rich REST API of the array and support for upcoming NimbleOS releases.

Supported environments

Since Ansible Content Collections are a relatively new concept in Ansible, only later versions of Ansible are supported.

Minimum Ansible host requirements for HPE Nimble Storage Content Collection for Ansible version 1.0.0:

  • Ansible 2.9 or later
  • Python 3.6 or later
  • HPE Nimble Storage SDK for Python

NimbleOS 5.0.10 or later is required on the arrays being managed by Ansible.

What are my next steps?

The HPE Nimble Storage Content Collection for Ansible is available immediately, either through Ansible Galaxy or Red Hat Automation Hub.

Your feedback is always most welcome, and all channels are open. The team is eager to hear about your use cases and success stories as you move your business towards “automate all the things”.

Watch this space for further updates!