Our REST API is quite versatile and as you may have recently seen, we continue to take advantage of the capabilities it has via the PowerMax Plug-in; but of course it can’t do everything. One of our customers recently requested the ability to create devices on the array without having to add them to a storage group as this is not available in REST. One of my colleagues suggested I simply delete the storage group after creation which is a good idea – basically use a dummy group. But I don’t want to have to run three separate workflows to accomplish this. Instead I’ll create a new workflow which will tie them together and become my create volume workflow. Note that I will use volume and device interchangeably.
A new workflow
Creating the new workflow is actually not too difficult. My development colleague gave me a quick tutorial and I’ve run it through a few times and thought it was worth sharing. Now if you develop with vRO, you can probably do this in your sleep, but my experience is that most customers use the plug-in as is. Once you know how to do this you could follow the same framework to string other workflows together.
To start, we need to identify the 3 workflows in this example. They are:
- Create Storage Group
- Create Volumes
- Delete Storage Group
Theoretically we could start with any of the workflows and add the other two, but as the goal is to create volumes I’m going to start by copying that workflow. I’m going to be using the legacy Java client as I think I’ve made my dislike of the HTML 5 well known.
The first thing you want to do is to create a new folder to store your workflows. This folder should be in the root directory so that you don’t accidentally delete it when you upgrade the plug-in. I’ve prefixed mine with “Dell_” so it lists next to the plug-in folder.
Well that was the easy part to screenshot, but it would be cumbersome to try to do that with the rest of the workflow creation. There are simply too many screens and unless you are familiar with this process, it wouldn’t make much sense. So instead I’ve recorded a demo with some basic callouts. I don’t think it should be too hard to follow. What the demo shows is:
- Edit the custom workflow
- Add Create and Delete Storage Group workflows to schema
- Change the storage group variable to an attribute so it can be shared among the workflows
- Set and promote the necessary variables
- Validate and run
The end result is that the workflow creates a new storage group, then a new volume and places it in the storage group, and finally it deletes the storage group leaving you with just the device.