PowerStore Provisioning with ServiceNow / Ansible

I want to share details of an environment I deployed. It allows the provisioning of Dell PowerStore volumes to your private cloud infrastructure using ServiceNow and Ansible. This gives customers the ability to provide end-users with a Self Service portal with an approval process for storage provisioning and configuration. ServiceNow also gives you the ability to charge back business units for the services they consume.

Workflow

Dell PowerStore

Dell provides customers with a set of Ansible modules that interact with Dell PowerStore API endpoints to perform a variety of storage management tasks. These modules can be downloaded free of charge from our Dell Github repository.

PowerStore allows you to easily visualize and interact with its APIs through the use of Swagger UI. This allows you to test and validate API calls for scripts and orchestration tools quickly. Swagger provides users with a rich set of documentation detailing what parameters and values are needed for each REST call. Anything that can be done via the GUI or CLI can be accomplished via a REST call. This expands on top of what our Ansible modules provide to fill in any gaps needed. Dell also provides a PowerStore REST API Developers Guide for use.

Environment Details

I will be exposing our PowerStore Ansible modules through the use of Ansible AWX. Ansible AWX is an open-source project of Ansible Tower. Integrating AWX gives you the ability to call Ansible playbooks via an API endpoint. It also gives you the ability to pass in variables to those playbooks at runtime. Custom playbooks can now easily be executed performing a variety of orchestration and configuration management tasks. All of my custom playbooks are located in an SCM repository for development and then synced up with AWX.

At this point, I have an environment in place that exposes custom Ansible playbooks via API endpoints. Each playbook will have a unique endpoint which can be called in a variety of different ways. In my environment, I integrated these endpoints within ServiceNow to create a self-service portal. Storage provisioning is now available to be requested via a self-checkout catalog item. ServiceNow also has an approval process function, this process can add guard rails for administrators managing storage consumption.

Demo