The first thing I'm trying to knock out with WFA is the process of deploying a vfiler, end-to-end.
There is an existing "create and configure vfiler" command that I am leveraging, but it doesn't do some specific things that we need. So I have created a custom workflow, so far using standard commands.
Here are my current issues that I'm hoping to resolve without creating a custom command (I don't mind it but hope I'm missing some built in functionality):
1. Part of the requirement for vfiler failover is that the ipspace exists on both sides of an ha pair. I can create the vlan interface we use on each side no problem. The create/configure vfiler command creates the ipspace on the target array, but does nothing for the partner. I can't seem to find any existing command just for creating this and adding the vlan to it. Does one exist or do I need to create a command for it?
2. While I can create the vlan interfaces on each side, it doesn't create them like I need (specifically it does not configure the 'partner' directive). I don't see any command that allows for configuration of this either. Same question as before, does a command exist for configuration of an existing interface with respect to setting the partner up? I see there is something to configure an IP address on an interface which gives several options, but no partner option that I see.
3. Finally, in general is there a way to add and delete information from the /etc/rc file in workflows (or /etc/hosts, /etc/netgroup)? And how might I do that?
Regarding the Partner interface. There is no existing command for this. The PowerShell cmdlet that you would need to use is Set-NaNetInterface. One option would be to clone the Add VLAN command and add the option at the end. I haven't tested it but it would look like:
[parameter(Mandatory=$true, HelpMessage="Array IP address")]
[parameter(Mandatory=$true, HelpMessage="Interface to add a VLAN to")]
[parameter(Mandatory=$false, HelpMessage="Interface to add as Failover Partner")]
We have a custom created command that checks to see if a given ipspace and vlan have already been created on the filer, and if not creates them. To get this to run on the partner head I usually just add in another instance of the command to the workflow and specify it to run on the partner head (I usually use an FC to find an array object, then use the partner.ip attribute to run the command on the partner head). It may take a little modification to use in your environment since our implementation of IP is a little unique. Let me know if this helps with any of your 3 points.