<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: WFA workflow looping guidance in Active IQ Unified Manager Discussions</title>
    <link>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/WFA-workflow-looping-guidance/m-p/3251#M719</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;The initial question in the other thread was:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "How can I use such a loop in wfa for all volumes in an array? I would like to use this to check if a snapmirror relationship exists for all volumes on an array. I didn't find it in the docs."&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;My Reply:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We're working on putting getting more documentation / training information available, but in the meantime, here is what I would recommend:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;to add looping to a workflow &lt;SPAN style="text-decoration: underline;"&gt;row:&lt;/SPAN&gt; edit your workflow and right-click on the row where you want looping&lt;/LI&gt;&lt;LI&gt;click on 'Repeat Row'&lt;/LI&gt;&lt;LI&gt;When the pop-up windows appears, click on 'Member in Group'&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A _jive_internal="true" href="https://community.netapp.com/servlet/JiveServlet/showImage/2-87903-16457/rep1.png" target="_blank"&gt;&lt;IMG src="http://community.netapp.com/legacyfs/online/16457_rep1.png" width="450" /&gt;&lt;/A&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Then select a Finder Type, Finder, and applicable variables.&amp;nbsp; These variables are what you would use in your Find Charts for your commands.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A _jive_internal="true" href="https://community.netapp.com/servlet/JiveServlet/showImage/2-87903-16461/rep2.png" target="_blank"&gt;&lt;IMG src="http://community.netapp.com/legacyfs/online/16461_rep2.png" width="450" /&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you would like to see this in a workflow, I recently posted a c-mode workflow that will remove a vServer and all it's volumes.&amp;nbsp; While not your use case, it should still prove to be a good example for how to identify all the volumes on a controller and perform various actions.&amp;nbsp; You can find that workflow example &lt;A _jive_internal="true" href="https://community.netapp.com/docs/DOC-17634" target="_blank"&gt;HERE&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kevin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 08 Aug 2012 19:58:50 GMT</pubDate>
    <dc:creator>hill</dc:creator>
    <dc:date>2012-08-08T19:58:50Z</dc:date>
    <item>
      <title>WFA workflow looping guidance</title>
      <link>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/WFA-workflow-looping-guidance/m-p/3241#M717</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Kevin&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have a similar question. Suppose you have a scenario where users will provide multiple source volumes as inputs and the workflow should create a new destination volume for each source volume input also create a VSM relationship between each source and destination volume combination.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there a way we can write a workflow to suit this customer requirement?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Dhrumin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Jun 2025 06:21:16 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/WFA-workflow-looping-guidance/m-p/3241#M717</guid>
      <dc:creator>dhrumins</dc:creator>
      <dc:date>2025-06-05T06:21:16Z</dc:date>
    </item>
    <item>
      <title>Re: WFA workflow looping guidance</title>
      <link>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/WFA-workflow-looping-guidance/m-p/3246#M718</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Dhrumin&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;First, I've branched this conversation off from the other Discussion (&lt;A _jive_internal="true" href="https://community.netapp.com/message/88031#88031" target="_blank"&gt;Re: Ability to create a volume or other entity based on the configuration of an existing volume or other entity?&lt;/A&gt;).&amp;nbsp; My answer to you would depend on how you input the "multiple" source volumes.&amp;nbsp; Here are the scenarios I can think of right now:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;limited user inputs:&amp;nbsp; Meaning you have the WFA user inputs that allow only X number of volumes as dedicated user input fields.&amp;nbsp; If you do this, then you would effectively have one workflow "row" per volume entered and you could optionally not execute the commands if no user input provided&lt;/LI&gt;&lt;LI&gt;delimited user inputs:&amp;nbsp; it's possible to provide a delimited list (comma, semi-colon, etc) of volumes and feed that information into the looping constructs.&amp;nbsp; The workflow row could loop through the list of inputs, and with a couple of functions to count and strip out the next volume in list, this could be very effective.&lt;/LI&gt;&lt;LI&gt;naming conventions:&amp;nbsp; it's possible that with good naming conventions you could 'find' all of the applicable volumes that you want to migrate / establish a VSM relationship for, etc.&amp;nbsp; if you can do this, then you can use the example I provided to Stefan.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Since this discussion is a branch from the other discussion, I will add that example here in another reply.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm not sure if this addresses your question, but I hope it helps,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kevin.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Aug 2012 19:55:41 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/WFA-workflow-looping-guidance/m-p/3246#M718</guid>
      <dc:creator>hill</dc:creator>
      <dc:date>2012-08-08T19:55:41Z</dc:date>
    </item>
    <item>
      <title>Re: WFA workflow looping guidance</title>
      <link>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/WFA-workflow-looping-guidance/m-p/3251#M719</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;The initial question in the other thread was:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "How can I use such a loop in wfa for all volumes in an array? I would like to use this to check if a snapmirror relationship exists for all volumes on an array. I didn't find it in the docs."&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;My Reply:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We're working on putting getting more documentation / training information available, but in the meantime, here is what I would recommend:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;to add looping to a workflow &lt;SPAN style="text-decoration: underline;"&gt;row:&lt;/SPAN&gt; edit your workflow and right-click on the row where you want looping&lt;/LI&gt;&lt;LI&gt;click on 'Repeat Row'&lt;/LI&gt;&lt;LI&gt;When the pop-up windows appears, click on 'Member in Group'&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A _jive_internal="true" href="https://community.netapp.com/servlet/JiveServlet/showImage/2-87903-16457/rep1.png" target="_blank"&gt;&lt;IMG src="http://community.netapp.com/legacyfs/online/16457_rep1.png" width="450" /&gt;&lt;/A&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Then select a Finder Type, Finder, and applicable variables.&amp;nbsp; These variables are what you would use in your Find Charts for your commands.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A _jive_internal="true" href="https://community.netapp.com/servlet/JiveServlet/showImage/2-87903-16461/rep2.png" target="_blank"&gt;&lt;IMG src="http://community.netapp.com/legacyfs/online/16461_rep2.png" width="450" /&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you would like to see this in a workflow, I recently posted a c-mode workflow that will remove a vServer and all it's volumes.&amp;nbsp; While not your use case, it should still prove to be a good example for how to identify all the volumes on a controller and perform various actions.&amp;nbsp; You can find that workflow example &lt;A _jive_internal="true" href="https://community.netapp.com/docs/DOC-17634" target="_blank"&gt;HERE&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kevin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Aug 2012 19:58:50 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/WFA-workflow-looping-guidance/m-p/3251#M719</guid>
      <dc:creator>hill</dc:creator>
      <dc:date>2012-08-08T19:58:50Z</dc:date>
    </item>
    <item>
      <title>Re: WFA workflow looping guidance</title>
      <link>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/WFA-workflow-looping-guidance/m-p/3257#M720</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Kevin, thank you very much for your elaborated reply.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;About the following option:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;delimited user inputs:&amp;nbsp; it's possible to provide a delimited list (comma, semi-colon, etc) of volumes and feed that information into the looping constructs.&amp;nbsp; The workflow row could loop through the list of inputs, and with a couple of functions to count and strip out the next volume in list, this could be very effective.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;this sounds like a good trick for our usage. But the only problem I think we might face, is that while giving source volume inputs, user might provide volumes from different vservers and different clusters as well.&lt;/P&gt;&lt;P&gt;So does that mean we would have to have 3 delimited user inputs for Source Volumes, Sourve Vservers and Source Clusters?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I see that we have an Array as an input variable type. Is it possible to extend this variable type to suit our needs?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;BR /&gt;Dhrumin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Aug 2012 23:08:02 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/WFA-workflow-looping-guidance/m-p/3257#M720</guid>
      <dc:creator>dhrumins</dc:creator>
      <dc:date>2012-08-09T23:08:02Z</dc:date>
    </item>
    <item>
      <title>Re: WFA workflow looping guidance</title>
      <link>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/WFA-workflow-looping-guidance/m-p/3260#M721</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Dhrumin,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The answer is that this also depends.&amp;nbsp; You could just have your other user inputs be 'static' and only allow for a single source vServer and source Cluster... while allowing a delimited list for Source Volumes.&amp;nbsp; You can also "get" the information about the vServer and Cluster from the volumes... so you don't really need them to input that information.&amp;nbsp; I guess the better way of answering is you can delimit the user inputs that make sense to you.&amp;nbsp; You could also have multiple delimiters within your single user input... one that designates volume_name, and then one for size.&amp;nbsp; This could be a combination of commas ( , ) and semi-colons ( ; ), as a possibility.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;All this said, I would also say I don't find this that desirable.&amp;nbsp; If this is an "internal" type of use case, then I think it can apply and be very helpful.&amp;nbsp; However, if this is to be an "externally" facing type of workflow... where non-experts are going to look at or try to use, then that could be problematic.&amp;nbsp; if this is a workflow that will be kicked off by an external system via web-services... well... that is a totally different use case... and this type of input could be very powerful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kevin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Aug 2012 20:10:31 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/WFA-workflow-looping-guidance/m-p/3260#M721</guid>
      <dc:creator>hill</dc:creator>
      <dc:date>2012-08-10T20:10:31Z</dc:date>
    </item>
  </channel>
</rss>

