Active IQ Unified Manager Discussions

Find a volume on the same filer selected in a previous step, based on volume name

GARDINEC_EBRD
5,045 Views

Hi All,

What I'm trying to do is a little hard to explain, but I'll give it a go...

I'm using WFA 2.0 / DFM 5.0.2.  I'm creating an Oracle provisioning workflow based on our specific requirements.  Mostly there, but got stuck on one part.

In an earlier step (db_vol), I create a volume allowing WFA to select the aggregate by available space from a resource pool.  This works just fine, but later I want to create a qtree for redo logs.  Say we have 2 filers, one has a volume called ORA_REDO_01, the other a vol called ORA_REDO_02, for example.  These exist prior to running the workflow.  I want to create the qtree in either ORA_REDO_01 or ORA_REDO_02 depending which filer the 'db_vol' was created on.  Here's how the workflow looks so far:

I'm trying to use a filter to identify the volume for the 'redo_qtree' command:

I'm trying to identify the volume for this qtree (should be ORA_REDO_01 or ORA_REDO_02 depending on the filer) I use the filter 'volume in array by name pattern', then specify 'db_vol.array' for the 'Array IP or Name' field, and 'ORA_REDO' as the pattern to search for. 

This fails with the error:

"Failed to evaluate resource selector. Found variable - expected literal

At command 'Create QTree', tab 'Qtree', variable 'redo_qtree', property 'volume'"

So it's not expecting a variable here.   If I replace the db_vol.array variable with a string value (one of the filer names in quotes) to test, and it works. 

I've also tried the db_vol.array variable in quotes in the filter and run a preview I get the error:

"Workflow aborted.

No results were found. The following filters have returned empty results:

volume in array by name pattern

At command 'Create QTree', tab 'Qtree', variable 'redo_qtree', property 'volume'"

Can anyone give me any pointers to resolve this?

Thanks in advance,

Craig

1 ACCEPTED SOLUTION
migration has accepted the solution

goodrum
5,046 Views

Try using the variable - db_vol.aggregate.array.ip

Since the Array Reference variable is not used when executing the Create Volume command, db_vol.array.ip will not work.  The aggregate is defined in the command and therefore you can go down that path to get the Array location.

Jeremy Goodrum, NetApp

The Pirate

Twitter: @virtpirate

Blog: www.virtpirate.com

View solution in original post

5 REPLIES 5

kandati
5,045 Views

Hi Craig,

Can you try providing, db_vol.array.ip , without quotes for 'Array IP or Name'  field..!

Regards

Sivaprasad K

GARDINEC_EBRD
5,045 Views

Wow, that was easy!!  Yep, it works.  Must have tried everything else, but the the ip.

Thanks!!

migration has accepted the solution

goodrum
5,047 Views

Try using the variable - db_vol.aggregate.array.ip

Since the Array Reference variable is not used when executing the Create Volume command, db_vol.array.ip will not work.  The aggregate is defined in the command and therefore you can go down that path to get the Array location.

Jeremy Goodrum, NetApp

The Pirate

Twitter: @virtpirate

Blog: www.virtpirate.com

GARDINEC_EBRD
5,045 Views

Hey Jeremy,

OK, now things are making more sense.  The db_vol.array.ip did actually work, but this is because I'd previously tried setting the db_vol.array field to 'db_vol.aggregate.array.ip' - after unchecking 'Show only attributes used by Create Volume'.  If I remove this form db_vol.array, you are correct it doesn't work.  With it removed, I changed the filter  to use db_vol.aggregate.array.ip as you suggest and it works again.  So I guess you could use either, but I think I'll go with your suggestion.

Thanks,

Craig

goodrum
5,045 Views

Ok, I was just scratching my head (I think that I have a new bald spot... great).  That makes waaaaay more sense.  I am glad that it works and that you have hit the ground running!

Jeremy Goodrum, NetApp

The Pirate

Twitter: @virtpirate

Blog: www.virtpirate.com

Public