This post will walk through integrating Turbonomic with vRealize Automation (vRA). Support for vRealize Automation has been included with Turbonomic since the release of version 5.5. Turbonomic makes intelligent real time placement decisions for virtual machines based on application workload demands and available resource. When provisioning machines using vRA we can invoke a custom workflow to make REST API calls to an existing Turbonomic instance for virtual machine placement information. As Turbonomic is monitoring resources any change in workload performance is dealt with automatically to maintain consistent performance across the infrastructure, which is particularly important in self-service environments. For more information review the Turbonomic for vRA Data Sheet.
- The following steps assume that the vSphere and vRA components are installed and configured correctly (you should also have a basic understanding of vRA and vRO). This includes, but is not limited to:
- A working vRA infrastructure with compute resources, reservations, and endpoints assigned.
- Blueprints are published and a vRA catalog is available with services, catalog items, and entitlements.
- Test the self-service portal by requesting, and successfully deploying, virtual machines to the vSphere infrastructure, before integrating Turbonomic.
- vRealize Orchestrator (vRO) must be configured with vCenter integration and setup as a vRA endpoint.
- Turbonomic v5.5 or above needs to be installed and already monitoring the vCenter Server that is integrated with vRO. If you have not yet installed Turbonomic you can follow this guide.
- Turbonomic can integrate with the vCenter Server 4.1 or newer and vRA 6.2 or newer. In the example below I’ll be using vCenter Server 6.0 U2 and vRA 7.2.
First we need to import the Turbonomic integration module into vRO. Download the vRO package file here or from the official document from the Green Circle Community, and extract the files. The zip file contains a Word document with instructions and the com.vmturbo.mediation.vra.package file; which contains a subset of custom vRO workflows.
- Open the vRealize Orchestrator client (client.jnlp), this is accessible by browsing to the IP address or FQDN of the vRA appliance if vRO is embedded, or the vRO appliance if external.
- Log in with an administrator account. Change the vRO console view to Design, and select the Packages tab.
- Click the Import Package icon. Browse to the com.vmturbo.mediation.vra.package file we downloaded earlier (the vra_workflows.zip file has to be extracted for this to work) and click Open.
- When prompted with a certificate message accept the certificate by selecting either Import Once or Import and trust provider, depending on your security preferences.
- On the import package window ensure all elements are ticked to be imported into vRO, click Import selected elements to confirm.
- Check that the VMTurbo vRA Integration (Turbonomic vRA Integration) folder and corresponding workflows have been created under the Workflows tab.
We can now configure the Turbonomic workflows and set the IaaS master workflow to invoke the custom workflow when building virtual machines.
- From the VMTurbo vRA Integration (Turbonomic vRA Integration) folder locate and right click the Generate REST Host and Operations workflow, click Start workflow.
- Enter a name for the REST host and for the URL use http://IP:8400, where IP is the IP address or resolvable FQDN of the Turbonomic instance, click Next.
- Configure a proxy server if required, otherwise click Next.
- Change the authentication type to Basic and click Next.
- Enter the Turbonomic administrator username and password and click Submit.
- From the VMTurbo vRA Integration (Turbonomic vRA Integration) folder locate and right click Turbonomic Main Workflow, click Edit. The workflow editor will load.
- On the General tab, under Attributes, select the value field of the restHost attribute. Select the REST host we just created and click Save and close.
- Finally, still in the Workflows tab; expand the Library folder and browse to vRealize Automation, Infrastructure Administration, Extensibility, and right click Assign a state change workflow to a blueprint and its virtual machines. Click Start workflow.
- Stage 1 of the workflow will be populated with the IaaS host information, click Next.
- For stage 2 select the blueprint(s) to run the Turbonomic main workflow and click Next. If a blueprint is already configured to use another vRO workflow then run the Remove a state change workflow from a blueprint and its virtual machines, in the same location as referenced above.
- For stage 3 change the end user workflow to VMTurbo Main Workflow and click Submit.
Virtual machines can now be provisioned from catalog items referencing the blueprints we included in the configuration above. When a blueprint using the Turbonomic workflow is requested the compute and storage provisioning, and future VM placement, is decided based upon workload performance data collected by Turbonomic. In order for the virtual machine ESXi host placement to be enforced DRS should be disabled, or enabled and set to manual. For more information review the Configuring vRA for Turbonomic Integration post from the Green Circle Community.