The release of vRealize Automation (vRA) 8.6 introduces support for VMware Cloud Director (VCD). The integration allows you to easily map VCD constructs into vRA for seamless visibility, provisioning, and management between the two solutions. Configuring the integration between vRA and VCD is very straightforward and is the focus of this blog post.
Configuring the VCD Cloud Account
The first step is to configure the new VCD Cloud Account in vRA. Navigate to Infrastructure -> Cloud Accounts in vRA to get started. Select the VMware Cloud Director cloud account from the displayed types.
The configuration window will open for the new Cloud Account. Enter your connection details for a VCD instance and click Validate. The available Organization (Org) VDCs will populate in the ‘Allow provisioning to these regions’ window. Select the Org VDCs you will use for the integration. These Org VDCs will be our target for deployment, management, and data collection. Also all selected Org VDCs will automatically have Cloud Zones configured.
Cloud Director Org VDCs as Cloud Zones
Next we want to confirm the Cloud Zone configurations for our Org VDCs. Opening Infrastructure -> Cloud Zones, we will be using CC02-01 for our deployments. I added a capability tag, env:vcd to the CC02-01 Cloud Zone. When used on a Cloud Template, env:vcd will constrain deployments to this Org VDC at deployment time. Capability tags can be added to other VCD resources as well and control how or when they’re used, just like our other integrations.
Once configured, the Cloud Zone backed by an Org VDC is added to a Project where governance, roles-based access, and more granular policy controls, including leases and approvals, can be applied to deployments. Note that Project level limits for resource use are also applied where applicable as well.
Network Profile Configuration
The VCD integration collects details on configured networks for use with deployments. Open a network profile by going to Infrastructure -> Network Profiles. Assigning networks and network configuration is handled through network profiles as with other Cloud Account types. Capability tags can also be used to control which networks and configurations are selected during a deployment. In the example below, I used env:vcd to constrain my Cloud Template to this network profile.
Adding a network displays the network details we have collected from VCD. You can add one or more networks to the profile depending on what your IP or network configuration needs are. Each network can have it’s own capability tag if needed for deployment constraints.
For this example, I added a single network to the profile. This is the network VCD deployments will be assigned when I kick off a deployment from vRA.
Images and Flavors
vRA maps VCD vApp templates, OVFs or ISOs, to vRA Images. Navigate to Infrastructure -> Image Mappings to configure the vApp templates vRA will use for deployments. Choose the Org VDC you want to use and a list of vApp templates will appear that were synced with Cloud Director. I chose an Ubuntu18 template for my deployments.
One of the great things about vRA is I can choose the same OS from templates across all configured Cloud Accounts. If I want to deploy to VCD, vSphere, or AWS, all from a single vRA Cloud Template, image mappings help make that possible.
Flavor Mappings, Infrastructure -> Flavor Mappings, control the size of VM that will be deployed by vRA. The integration collects VCD VM Sizing policies and allows you to map those to vRA Flavors. This allows you to define your VM sizing policies in VCD and know vRA will follow those requirements based on this mapping. Like Image Mappings, notice a flavor can span multiple Cloud Accounts.
Storage Profile
Moving to Infrastructure -> Storage Profiles allows you to map VCD Storage policies to a vRA Storage Profile. The chosen VCD storage policy will control how storage is used and controlled for deployment requests from vRA. The vRA Storage Profile choice can also be controlled using capability tags.
Configuring the Cloud Template
Now that our integration is configured, I’ll shift to Design -> Cloud Templates to design our deployment. You’ll be using Cloud Agnostic objects on the Cloud Template canvas for the deployment design. We currently support Machine, Network, and Volume objects for VCD deployments. To build the template, click the object you want to add and drag it to the canvas. The YAML code on the right will build out as you add objects. In the example, I added a network, two VMs, and an additional 2 GB volume to one of the machines. I’m using env:vcd to constrain our deployment to the Cloud Zone and Network configurations we made. Also notice we’re using the Ubuntu-18 Image Mapping and small Flavor Mapping. Once the Cloud Template is finished, clicking Deploy begins the provisioning task in vRA and VCD.
Deployments View – vRA
Navigating to Deployments, I’ve created three deployments in VCD from our Cloud Template. You can see the two VMs, network, and volume information. Clicking the deployment name opens a detailed deployment view.
The detailed deployment view provides further information on each construct, including account, status, hostname, address, storage, network, and vRA custom properties. You can also trigger day-2 actions for each object, where applicable, or run deployment level actions in the main Deployments window.
Shifting to Infrastructure -> Resources also provides details on the constructs which have been data collected from VCD. The Virtual Machines view shows all known VMs vRA knows about from VCD (and other Cloud Accounts), the same types of views are available for other constructs like Compute, Networks, and Storage. Each displays details vRA learned from VCD.
Deployments View – VCD
Now that my deployments are complete, I can also confirm they exist and are under management within VCD. Navigating to VCD and choosing the Org VDC we deployed to, I can view each of the VMs and confirm their configuration. I can see the VM is powered on and the additional 2 GB volume was successfully added during the provisioning operation.
Clicking NICs, I can also confirm the correct network was connected and my VMs are ready to go!
Wrap up
Adding VCD as a Cloud Account dramatically expands our ability to offer additional consumption options to customers. Whether you choose to manage workloads and provide governance within vRA or VCD, you have powerful capabilities which will allow you to innovate and expand what you can offer to your customers. The integration is available today with vRA 8.6 and VCD 10.2.1. Thanks for reading my blog post today!