In Part 1 of this blog series we have looked at an IaaS use-case where as part of the user requesting a machine from the vCAC Self Service Portal or disposing it the machine is dynamically added to an F5 Pool or removed from it. See here: Part 1
In Part 2 we are going to explore the 2nd identified use-case which is all around machines day two activities- So the machine is already deployed and running but maybe now we need to add or remove it from an F5 Pool for example.
This use-case will be achieved using the new Advanced Service Designer (ASD) which is a new capability in vCAC 6.*
BIG-IP LTM 11.* and above.
vCAC 6.0 or 6.0.1
vCO 5.1 and above (I am using the embedded vCO 5.5.1 which is part of vCAC 6.0.1)
F5 vCO plugin version 2. I got it from here: https://devcentral.f5.com/d/f5-management-plug-in-for-vmware-vcenter-orchestrator-v200?download=true but best thing is to send an email email@example.com and they will supply you with the latest version, free of charge as far as I know.
1. If not already installed then go ahead and install the F5 vCO plugin as explaind here: Install F5 vCO Plugin
2. Next you need to run the Attach LTM workflow in vCO if you haven’t done so already. Have a look for Part 1 of this blog series for some tips around that.
3. Build a vCO workflow to add VM to an F5 Pool. This workflow will be different than the one we have created in Part 1 of this blog series because Advanced Service Designer (ASD) is expecting a VC:VirtualMachine object as input parameter otherwise you will not be able to associate the Resource Action we intend to create with a VM day 2 operation. (As a side note I will say that I intend to write a separate blog post in the future to explain the differences between the types of input parameters vCO can receive from vCAC or vCenter and what are the benefit and use cases to use each type and more importantly when to use it.)
The workflow will look identical to the one we have used in Part 1 of this blog series only difference is that the the 1st scriptable task will use the VC:VirtualMachine inout parameter to get the IP of the VM we need to add as member to the F5 Pool. The (very simple 1 line) script will look like this:
ip = vCenterVm.guest.ipAddress;
Where vCenterVm is mapped to VC:VirtualMachine input parameter. Two other input parameters are required here: memberPort and PortName but they will be prompting the user at request time.
4. Build a vCO workflow to remove a member from an F5 Pool. In contrast to the workflow we have created in Part 1 of this blog series, this one will not delete Virtual Server or the Pool but simply remove the specific member from the Pool. This is because the Pool may still include other members so we don’t want to delete it just remove a specific member.
The workflow will look like this:
Note: Two input parameters in this one. PoolName will come from vCAC ASD so the user who initiates the action will be prompted for the Pool Name. The 2nd input param VC:VirtualMachine will come dynamically from vCAC ASD.
5. Log into vCAC tenant where you wish to add this functionality (https://vCAC_FQDN/shell-ui-app/org/your_tenant_name)
6. Providing you have a user with the appropriate permission go to Advanced Services tab>Resource Actions and click on the “+” sign.
7. Select your vCO workflow and pay attention to the input parameters the workflow expects. Note how VC:VirtualMachine is defined as input parameter as well as memberPort and PoolName, last two will be prompting the user for input:
8. Set Resource Type to be IaaS VC VirtualMachine (OOTB parameter) and Input Parameter as the one you have mapped to VC:VirtualMachine in your vCO workflow previously (in my case I have called it vCenterVm):
9. Next name the action.
10. Now (optionally) edit the form to the make the PoolName field a Drop-down or a list with some pre-defined values (E.G. web, app etc..)
11. Leave memberPort as a Decimal Field but set the default value to the constant “80” to make it easier for the requester:
12. Publish the action:
13. (Optional but nice touch) Go to Administration>Catalog Management>Actions and configure your action to have a nice F5 icon:
14. Go to Administration>Catalog Management>Entitlements and entitle your newly created action:
15. Now do the exact same thing for the “Remove Member from F5 Pool…” workflow.
You are basically done. So now look at the “Items” tab in vCAC for your already requested and running VM’s, you will notice they now have some new options for the user to take:
If the user selects to add the VM to an F5 Pool the form will look like this:
For your convenience the two vCO workflows mentioned above can be downloaded from here: