Subscribe

Taking User Inputs Dynamically

Hi,

I need to design one workflow where my user inputs depends on the number of nodes in Topology.

For example:

I may have one topology that may have 2 nodes and each nodes has its set of inputs so I need all the inputs from both the nodes.

Similarly topology may have n nodes and each nodes has its set of inputs.

So my workflow should be dynamic and it should accept NumberOfNodes as a user input and on that basis my next user input screen should come.

I am not getting how to make user input dynamic based on one user input variable that is NoOFNodes.

Thanks & Regards,

Ankur Aggarwal

Re: Taking User Inputs Dynamically

Hi Ankur,

It will help us to help you if we understand a little more about what you are trying to do.  Are you creating a multi-node cluster?  Are you trying to find all the nodes in a cluster?  If the former, then you'd have to potentially put in the NoOFNodes, and then the other inputs could be a delimted list of inputs.  If the workflow is trying to do something to a multi-node cluster, you'd first have to identify the cluster... and from there identify the NoOFNodes.... so it wouldn't be a user input, but something derived from what is in the environment.

So... what is your use case?  What is it you want the workflow to do?

Regards,

Kevin

Re: Taking User Inputs Dynamically

Hi Kevin,

My case is different than the case you described above.

I am working on Workflow for SLC prototype project. In that the SLC GUI screen has one screen called SLO dimension.One SLC contain topology view and it consist of number of volumes i.e primary volume , backup volume , archival volume.

Each volume has a set of SLO dimensions. So after defining all the volume with their SLO dimension user will invoke my workflow and my workflow should accept all these values and create volumes on filer, finding the best aggregate for each volume based on its SLO dimension values related to that particular volume.

So user can have many volume , it can be 2 , it can be 3 or upto n . then I need to design workflow in such a way that based on the number of volumes user create from GUI I need to invoke my create volume logic that many times catching the appropriate SLO dimension related to each volume.

Right now I dont have GUI with me so I have to assume that values will be coming to my Workflow.So i need to know is their any way I can use WFA that when I invoke my workflow the user input screen should come asking the user how many number of volume he needs to create.

After getting the input another User input screen should come asking the parameters of SLO dimensions from user for each volume then after that I can execute my workflow with all the SLO dimensions values.

So basically I need some mechanism in WFA to ask user input based on the number of volumes he need to create.

I download your sample workflows like remove vserver from given cluster. But that is not what I want.

I checked sample workflow example but none of the example is asking User Inputs based on the first user input on first screen.

I hope I made my problem little bit clear what I want.Please let me know if you need more inputs on this.

Thanks,

Ankur

Re: Taking User Inputs Dynamically

Hi Ankur,

Thank you for the explanation.  it helps to better understand what you are trying to do.  I have an answer for you, but it is not one you are going to like.  The answer is "WFA doesn't work that way".  WFA cannot ask and receive for additional user inputs after the first input screen.  it is not 'reactive' other than It can help to derive and 'filter' information from WFA cache and have staggered inputs, but it is not able to ask for additional user inputs.  Meaning if you put in a value of 3 volumes you do not get a 'wizard' that pops up and allows you to input 3 series of applicable variables.

Now... that said, i think you still might be possible to accomplish what you want.  Specifically since you have the "SLC GUI", and/or possibly the SLO dimension screen.  This UI will be executing your workflow.  You have two options:

  • Multiple executions: Have the UI call your workflow 'n' number of times, where 'n' is the number of volumes you process.  The workflow only requires 'singular' level inputs.
  • One Execution: Have the UI call your workflow once, and pass in both the 'n' number of volumes for looping, and also pass in a delimited list of inputs for the workflow to leverage and process

Since you are going to be using a UI anyway, you will never end up using the WFA Portal, nor will you use the WFA workflow Inputs screens.  You need to focus on what inputs will be passed into the workflow.

I'm not sure this helps, but I hope it does.  Please feel free to reach out to me directly to discuss further.

Best,

Kevin

Re: Taking User Inputs Dynamically

Hi Kevin,

Thank you for your response.

I will talk to GUI team and see how they can pass the values to my workflow and according I can design my workflow.

Thanks & Regards,

Ankur