Active IQ Unified Manager Discussions

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

GARDINEC_EBRD
4,812 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

goodrum
4,813 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
4,812 Views

Hi Craig,

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

Regards

Sivaprasad K

GARDINEC_EBRD
4,812 Views

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

Thanks!!

goodrum
4,814 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
4,812 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
4,812 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