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.

Module Description
hpe_nimble_access_control_record Manage arrays
hpe_nimble_array Manage iSCSI CHAP users
hpe_nimble_chap_user Manage disks and media
hpe_nimble_disk Manage encryption settings
hpe_nimble_encryption Manage fibre channel configuration
hpe_nimble_fc Manage the array group
hpe_nimble_group Query and collect information of any resource from an array
hpe_nimble_info Manage initiator groups
hpe_nimble_initiator_group Manage network configuration
hpe_nimble_network Manage replication partners
hpe_nimble_partner Manage performance policies
hpe_nimble_performance_policy Manage storage pools
hpe_nimble_pool Manage protection schedules
hpe_nimble_protection_schedule Manage protection templates
hpe_nimble_protection_template Manage shelves
hpe_nimble_shelf Manage snapshot collections
hpe_nimble_snapshot_collection Manage volume snapshots
hpe_nimble_snapshot Manage volume snapshots
hpe_nimble_user Manage array users
hpe_nimble_user_policy Manage array user policies
hpe_nimble_volume Manage volumes
hpe_nimble_volume_collection Manage 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!