Community maintenance is complete. Thank you for your patience!

Active IQ Unified Manager Discussions

Volume Clone/Lun Map Automation?

gdekhayser

Hello all-

I want to build a workflow that lets the user choose a filer->volume->snapshot, clone from that snap, and map the lun in that clone to an igroup on that filer with a pre-set LUN ID (say 15 or 16). 

I also want to build a reverse workflow that will take that flexcloned lun, UNMAP it, and then destroy the cloned volume.

Having trouble getting my head around how to do this.  BTW, this is on 7-mode.

Thanks for any advice/help.

Glenn

1 ACCEPTED SOLUTION

shailaja

>>What you show is exactly what I want to accomplish, although the user inputs I want to make queries because I want the user to have drop-downs and not be able to select bad entries.

Right. User inputs based on queries will always be good for the actual execution and to make it error-free. I was just experimenting and hence did not bother on the queries.

Shailaja

View solution in original post

23 REPLIES 23

dgshuenetapp

Care to share your Workflow... looking to do this same thing for a VMware datastore for setting up Test/Dev environments.  Short of pulling in the datastore into VMware, this will get me much closer.

hill

Hi Glenn,

I don't believe there is a workflow that's been shared that does exactly what you've requested.  That said, there are several workflows that get close, but I think those are for clustered ONTAP, not 7-mode.  I'm not sure if you've looked through all of the "Pirate Packs" that are shared on the WFA communities, but it might be worthwhile doing so.  Here is a LINK to see the available Pirate Packs.  You can also click on the 'Workflow Examples' category, and look at the documents to see the other examples of workflows that have been shared.

Hope this helps,

Kevin

gdekhayser

Thanks- I got the Clone one to work (developed my own workflow), working on the Map Lun part and feel comfortable that will work as well. Found some issues with WFA2.1, installe d 2.0.1 and had greater success.

One thing that would be VERY helpful- can someone publish the database schema of objects your can SQL against when creating queries in the user inputs? I find I have to select * and test to see what fields I have available, or dig through the dictionairies. There should be a reference doc out there- is there one? Must be. Link someone?

Thanks

mgoddard

Hey Glenn,

I've done a lot of schema work and I find MySQL Workbench very useful for prototyping queries and browsing the data. It's handy for performance tuning queries too if you have complex ones.

Either install it locally, or edit the mysql/my.ini on your WFA server and comment out the bind-address=localhost setting at the end and restart the DB to allow remote connections. Then connect using wfa/Wfa123. You can view data but you can't change data except for the playground database.

Hope that's useful!

Michael.

sinhaa

Glenn,

@Found some issues with WFA2.1, installe d 2.0.1 and had greater success.

----

What issue did you run into with WFA2.1 that you had to switch to WFA2.0.1?

@One thing that would be VERY helpful- can someone publish the database schema of objects your can SQL against when creating queries in the user inputs?  I find I have to select * and test to see what fields I have available, or dig through the dictionairies.  There should be a reference doc out there- is there one?  Must be.  Link someone?

-----

There is sure an online Reference Manual located at Help -> Reference Manual where you can look at Dictionary items. But with WFA2.1 there is a very useful feature available call "SQL query auto-complete" which can help you a lot. Give it a try, you'll love it. 

If this post resolved your issue, help others by selecting ACCEPT AS SOLUTION or adding a KUDO.

gdekhayser

Also- why the downgrade. Storage.snapshot wouldn't return values even after I enabled acquisition. Worked on 2.0.1 though.

---

Sent from Boxer | http://getboxer.com<http://bit.ly/1hRkK2W>

sinhaa

I can't reproduce the issue you are pointing about storage.snapshot table in WFA2.1. If you enable acquisition for it, the table does get populated upon the next acquisition.

You may also like to see this thread:

https://communities.netapp.com/message/116532#116532

If this post resolved your issue, help others by selecting ACCEPT AS SOLUTION or adding a KUDO.

gdekhayser

How often does the acquisition run? Perhaps I was simply impatient.

adaikkap

Default is 30 mins.

Btw did you confirm that you UM instance has the snapshot data?

Regards,

adai

Sent from my Droid, excuse typos.

gdekhayser

Yes, once I downgraded to 2.0.1 I’ve got all the snapshot info I need.

My workflow is to a) clone a volume that contains LUNs that also has a snapshot on the volume; b) map the lun in the new clone to an existing iGroup on the associated array to a user-inputted number with default 15.

Step A is complete. The problem I’m having is the the map lun workflow requires a volume/lun that already exists to get by the planning stage in preview/execute. How can I tell the map lun workflow to use the lun from the volume I just cloned?

shailaja

Hi,

>>Yes, once I downgraded to 2.0.1 I’ve got all the snapshot info I need.

Ok. Just wanted to indicate that it did work fine in 2.1 too in our labs. You have to enable acquisition as per Jeremy's screenshot in the post https://communities.netapp.com/message/116532#116532 in 2.1 (last screenshot in that thread)

Also note, that the next answer also requires 2.1

>> How can I tell the map lun workflow to use the lun from the volume I just cloned?

There are two scenarios here:

1. Your workflow is using certified commands for "Clone Volume". In that case, this certified command has reservations enabled such that a LUN in the parent

volume will be considered and an equivalent entry will be made in the cloned volume too in WFA cache.

If your workflow is using this command, then when you search for the LUN to be mapped in the "Map LUN" command, the LUN in the cloned volume can be searched.

This works because WFA 2.1 enabled reservations to be considered between commands of the same workflow.

You can refer to this post: https://communities.netapp.com/message/114993#114993

where there is further explanation around this.

A small example screenshot of this is:

User inputs window:

Workflow design:

Map LUN command parameters:

2. The second scenario is when you are not using the certified command for "Clone Volume".

This is possible but will be tricky to define the LUN in the cloned volume. That's because the LUN gets auto-created behind the scenes as part of some other action i,.e Clone Volume. I can try explaining if you are not using the certified command only.

Thanks,

Shailaja

gdekhayser

Hey- just realized I don’t see a way to online the LUN after I map it. It’s offline since it’s from a clone.

??

gdekhayser

Hey I figured this out.  I created a custom command to online the lun and added it to the workflow.

thanks to all for the help.

Glenn

PenkoMarinov

, is your solution shared somewhere?

 

I'm relevantly new for the NetApp and I'm afraid it's beyond my power to build a working solution.

thanks in advance for your reply. 

gdekhayser

OK LAST question as I’ve got the workflow WORKING (thank you very much for all the help).

The Snapshot object has Name, Timestamp, and volume – but volume is a storage.volume datatype. When I try to reference it in a sql query (to create a dropdown to select the snapshot), it’s telling me that the column doesn’t exist (i.e. t1.volume.id doesn’t work).

I’m sure I’m missing something here, I’m trying to create the join from the snapshot table to the volume table, obviously.

thanks

mgoddard

Have you tried something like this?

SELECT snapshot.name from storage.snapshot, storage.volume, storage.array WHERE snapshot.volume_id = volume.id AND volume.name = '${VolumeName}' AND volume.array_id = array.id AND array.ip = '${ArrayIP}'

It assumes you have two previous input variables VolumeName and ArrayIP, and lists all snapshots. Make sure you have reservations turned on at the workflow level as well.

Michael.

gdekhayser

Figured that out and it works!

Thanks, that workflow is done! Will be posting to community after some more testing.

Sent from my mobile device, please excuse any typing or AutoCorrection errors.

justin_smith

I know this thread is super old, but did you get your WF working? I'd like to do something very similar for cDOT.

gdekhayser

I will be using the certified commands if at all possible.  What you show is exactly what I want to accomplish, although the user inputs I want to make queries because I want the user to have drop-downs and not be able to select bad entries.

Quick question- since I now have 2.0.1, can I upgrade to 2.1 by simple install or do I need to un-install 2.0.1 first?

shailaja

>>What you show is exactly what I want to accomplish, although the user inputs I want to make queries because I want the user to have drop-downs and not be able to select bad entries.

Right. User inputs based on queries will always be good for the actual execution and to make it error-free. I was just experimenting and hence did not bother on the queries.

Shailaja

View solution in original post

Announcements
NetApp on Discord Image

We're on Discord, are you?

Live Chat, Watch Parties, and More!

Explore Banner

Meet Explore, NetApp’s digital sales platform

Engage digitally throughout the sales process, from product discovery to configuration, and handle all your post-purchase needs.

NetApp Insights to Action
I2A Banner
Public