I do not see a Command in WFA to allow me to execute a SnapRestore function. If I wanted to create a workflow to do a volume SnapRestore, would I have to create a SnapRestore command? I have not looked at all of the possible commands that exist in the ZAPI that are not in WFA, but is there a list? And are there plans to add to the WFA Command set?
There is no command for snapshot restore (volume) in WFA1.1.1 or WFA 2.0.
We can write a new command using snapshot table. By default snapshot information/table are not cached in WFA database. This can be enabled from WFA -> Tools -> Wfa configuration -> other (tab). Mark 'enable snapshot caching'.
True statement, however we ran into the need for this. Have already created this command as well as a workflow that demonstrates how to use the command. Had to use Perl as the PowerShell implementation of snap restore requires an interactive mode to be used (i.e. answering a pop-up question of "are you sure...").
Testing the Perl code and hopefully will publish the workflow and command (as well as update the Pirate Pack for Storage Provisioning) at some point tomorrow.
Here you go. The attached file includes the command "yaron_Restore Volume from Snapshot" as well as the workflow "Restore a Volume from Snapshot".
A few notes:
As mentioned on prior response, you need to enable Snapshot caching in WFA (as it is disabled by default). This can be done by clicking on the Tools menu, choosing WFA Configuration, clicking on the Other tab and checking the enable snapshot caching check-box.
The command above was written in Perl as it turned out that the Powershell implementation of the snap reserve API cannot operate in non-interactive mode. This requires Perl to be installed on the WFA server. Simply follow the instructions on page 39 (Appendix G) of the Installation Guide (v1.7)
I found a bug (which I need to report) that will prevent Perl from working. Fortunately, the fix is rather simple. Before coping the WFAutil.pm file to the lib directory of your Perl installation (see note #2 above), open it using Notepad, find line 54 and change it as follows (simply change the number 14 to 1):
Original content: my $server = NaServer->new($array, 1, 14);
Updated content: my $server = NaServer->new($array, 1, 1);
That's it. I will update the Pirate Pack for Storage Provisioning to include this workflow as well.
Thank you for raising this question during the WFA session yesterday. Let me know if you have any additional questions.