Workflow: Use Looping to Apply OnTAP Options to all controllers

by bdave Former NetApp Employee on ‎2012-08-20 06:00 PM - edited on ‎2014-09-25 03:13 PM by allison Former NetApp Employee

This example workflow will loop around all known controllers and attempt to set up to 6 Data OnTAP options to them.  The default values will configure autosupport, but they can be replaced with a different option or blank.  If Option Name is blank, that option is skipped.  Loops through all controllers known to WFA.

 

Comments welcome.

 

* UPDATE *  Removed a few unnecessary Find Charts in the workflow.  Thanks to Tanmoy for pointing that out. 

 

* UPDATE 2 * There might be a problem with the new workflow.  I'm posting the original as well until I can look into the problem.  Thanks to Vladimir for letting me know about the problem.  The original one does not have _v1_1 added to the name.  It has 3 unnecessary find charts in it that you can safely delete.

 

* UPDATE 3 * Corrected the dar file issue.  Removing old versions and only posting the latest one as of Sep 21, 2012.

 

* NOTE * Sometimes attaching a .dar file adds a .zip extension to the file name.  Once you've downloaded the file, remove the .zip extension.  The file should have a .dar extension.

 

Thanks,

Dave

Comments
Frequent Contributor

Great stuff Dave. Thanks !!!

Yaron Haimsohn

WFA team

Frequent Contributor

I have one query. Why do we need the find charts? I do see there are three...

/Tanmoy

bdave Former NetApp Employee

Good catch, Tanmoy.  They were left over from earlier attempts of learning looping myself.  I updated the post with a copy of the workflow that doesn't contain the Find Charts.

I had one copy of the command and multiple rows, one row for each option name/value pair I wanted.  I was trying to pass in the array object to my Set OnTAP Options command, forgetting that it expects the controller name to be passed in as a string instead of an object.  So, the error message I got was something along the lines of the object was not defined.  Wondering if I needed to have the array object defined prior to the loop, I created those Find Charts.  But when that didn't work either, it dawned on me what was happening, so I changed from ArrrayMember1 to ArrayMember1.ip, and everything started working.  I then went with the approach of adding the same command to the workflow multiple times and only having one row.  I just forgot to remove the unused find charts.

Again, great catch and thanks for asking.

Cheers,

Dave

I'm trying to import the updated version, but it fails with "Failed to get object names from imported DAR" (i removed the first version prior to importing the updated version).

bdave Former NetApp Employee

Ok, I'll look into it.  In the meantime, I'll post the original version back to the site as well.  You can use that one and clean it up by deleting the Find Charts if you want.

Thanks for letting me know,

Dave

bdave Former NetApp Employee

Ok, problem fixed. 

The long story:  Previously I tried extracting the .dar file using WinRAR, deleting a ton of extra functions from my WFA server, and creating a new .zip file, renaming the .zip to .dar.  Sometimes this works, but sometimes it doesn't.  Instead of figuring out the intricasies of this hack, I took a new export, imported into a clean WFA 1.1.1 system, deleted all the non-certified functions except for isValid() which this workflow uses, and then exported it again.  Whew!

Hi Dave,

Thanks for the headsup, import worked this time flawlessly this time. I'm going to test it a bit more now.

Vladimir

Warning!

This NetApp Community is public and open website that is indexed by search engines such as Google. Participation in the NetApp Community is voluntary. All content posted on the NetApp Community is publicly viewable and available. This includes the rich text editor which is not encrypted for https.

In accordance to our Code of Conduct and Community Terms of Use DO NOT post or attach the following:

  • Software files (compressed or uncompressed)
  • Files that require an End User License Agreement (EULA)
  • Confidential information
  • Personal data you do not want publicly available
  • Another’s personally identifiable information
  • Copyrighted materials without the permission of the copyright owner

Files and content that do not abide by the Community Terms of Use or Code of Conduct will be removed. Continued non-compliance may result in NetApp Community account restrictions or termination.