Recently I have been helping several customers configure vCloud Automation Center in their environment. As part of the configuration, there has been desire to deploy not only in their private environment, but also into a vCHS instance.
As most may or may not be aware, the backend for vCHS is actually based upon vCloud Director. The vCloud Director REST API is what is used by vCAC for provisioning, de-provisioning, power on, power off, etc. After adding vCHS as an endpoint and discovering compute resources, you can add those resources to a Fabric Group and begin to create blueprints. This post assumes you have a working vCAC environment with at least 1 Fabric Group, 1 Business Group, and a Service created for provisioning.
Throughout some of the trials, I have come across some “gotchas.” The purpose of this post is to outline the following:
- Configure a vApp template in the vCHS catalog with correct networking
- Add a vCHS endpoint in vCAC
- Add vCHS resources to a Fabric Group
- Create a vCD vApp component blueprint and vCD vApp blueprint and publish
- Entitle, and add to a provisioning service
Configuring the vApp template in vCHS
First, you will need to login to your vCHS instance and manage the vPDC in vCloud Director. Select your vPDC in the dashboard and then click Manage Catalogs in vCloud Director
Double click on Public Catalogs, then “right click” one of the vApp Templates and select Add to My Cloud (I just selected one of the CentOS vApps)
This will bring up an Add to My Cloud menu. Give the vApp a new name and proceed through the selections accepting defaults until you get to the Configure Networking menu. The default for Networks is set to None. You MUST select one of the networks in the drop down. I have chosen the default-routed network. This step is important because you cannot use a template for a vCAC blueprint with no network defined. If you do the vCAC deployment will fail mid-way through.
Accept the defaults on the next two menu options and then select finish. This will copy the vApp template to My Cloud. This process is pretty quick for the CentOS template, it could be longer for a custom uploaded or Windows template.
Next click on the My Cloud link, select vApps and you should see the item you just added (look under the Name column, you can see my ‘Chad Lucas – CentOS’ in the illustration below). Right click the vApp Template and then select Add to Catalog.
The Add to Catalog menu will pop up, just select the catalog to copy to (I created a vCAC catalog under My Organizations Catalogs previously). Be sure you select the Customize VM settings radio button to allow the newly deployed VM’s from vCAC to obtain unique IP addresses from the IP Pool. Then click OK to finish.
The capture process will take a minute to complete. You can verify the item was added to your catalog by selecting Catlogs, My Organization’s Catalogs and then select the catalog you added the vApp Template to (again mine is vCAC)
Now that the item is added to your catalog, you can remove the vApp from My Cloud. This only removes the vApp from your cloud workspace, it does not delete the template added to your catalog. Simply navigate back to My Cloud, select vApps and right click your vApp and select Delete.
Adding a vCHS Enpoint
Now that we have completed a proper template for vCAC consumption, we can add the vCHS endpoint. Before we add the endpoint, there are 3 pieces of information needed from vCHS. 1. The vCloud Director API URL 2. The Org and 3. The credentials used to access vCHS. To obtain the API URL and Org, navigate back to the vPDC Dashboard and left click the vCloud Director API URL link. You only need the url to through the :443, disregard the remaining part of the url. The Org is the full number next to the Multi-Tenant Cloud text highlighted in the illustration below. (Note I have demarked the highlighted areas for security purposes).
** In a vCHS dedicated model, the Org is the name of the vPDC you created. Dedicated vCHS allows for multiple vPDC’s and thus the Org is the name of the vPDC you create. In the non dedicated virtual private cloud offering, the Org is what I’m showing in this example.
Log into your vCAC instance and Navigate to Infrastructure > Endpoints > Endpoints. Click New Endpoint > Cloud > vApp (vCloud Director)
At the New Enpoint page, give the End Point a name of your choosing, then enter the vCD API URL discussed above into the address field. Select the credentials for your vCHS instance (if you haven’t already created those credentials, simply click the button to the right of the field and you can create them there). Then enter the organization for your vCHS instance. Again this is the M number referenced above. Then click OK
If all of the information was entered correctly the end point will show up and you can perform your first data collection. Mouse over your vCHS endpoint and then select Data Collection. On the next screen simply click Start. The collection will take a couple of minutes. You can monitor the collection process by repeating these steps but click Refresh until you see – Status: Endpoint Data collection succeeded on …
Adding vCHS resources to a Fabric Group
Once you vCHS endpoint has been added, you now need to add those resources to a Fabric Group. Navigate to Infrastructure > Groups > Fabric Groups. Mouse over the Fabric group and click edit. In the next screen, select the check box for your vCHS compute resources. Then click OK.
Creating vApp Component and vApp Blueprints
Now that the vCHS endpoint has been added and the resources have been added to your Fabric Group, we can create a blueprint for the vCHS template we created in the first part of this post. Now let’s get to the blue print creation. Navigate to Infrastructure > Blueprints > Blueprints > New Blueprint > Cloud > vApp Component (vCloud Director).
Give the Blueprint a name and select the Machine Prefix from the drop down. Note I have given this blueprint a name of New vCHS Centos
Now select the Build Information tab. Leave the first 3 text boxes as their default. Then click the button to the right of “Clone From:” and select the template we created in the first vCHS step of this post. My template name if you recall is “Chad Lucas – CentOS”. This will auto populate the minimum Machine Resource fields. You can optionally specify Maximums if you wish. Leave everything else as defaults and click OK.
Now that the component Blueprint is complete. We need to create the vApp blueprint for publishing. Navigate back to Infrastructure > Blueprints > Blueprints > New Blueprint > Cloud > vApp (vCloud Director). **Note, we are selecting vApp (vCloud Director) this time, NOT vApp Component (vCloud Director)
Give this Blueprint a Name, select the Machine Prefix and also specify the amount of Archive (days). Note I have given the name of “New vCHS Centos – Deploy” Then click the Build Information tab.
On the Build information tab, select the correct vApp Template in the Clone From text box. Again in my case it is Chad Lucas – CentOS
Next, click the Pencil under the Components section and select the vApp Component Blue print you created in the previous step then click the Green check mark then click OK.
Now it’s time to publish the Blueprint. You should be at the correct screen after click OK in the previous step, however you should be at Infrastructure > Blueprints > Blueprints. Mouse over the blueprint just created and click Publish then click OK at the Confirm Publish screen.
Entitle the Catalog Item and Add to a provisioning service
Now that the Blueprint is published, we need to entitle it and add it to a service. This assumes you already have a service created. Navigate to Administration > Catalog Management > Catalog Items. Click the “Down” arrow next to the newly added catalog item and click Configure.
At the configure screen, make sure the status is active and then select your service from the drop down. Mine is titled vCHS Deploy. Then click Update.
Next click on Entitlements. Administration > Catalog Management > Entitlements. Then select the drop down arrow next to the service you select above and click Edit.
On the Edit Entitlement screen, select the Items and Approvals tab. Click the plus sign next to Entitled Catalog Items then check the box next to the newly added catalog item. Then click OK then Update.
Now navigate to the Catalog screen. Then select the service you added the catalog item to. Remember in my case, the service was vCHS Deploy. If you only have one service, then the catalog item should just appear under there.
You should now be able to request this catalog item. Select Request and at the next screen just leave the defaults and click Submit.
After submitting, you can monitor the request from the Requests tab in vCAC. However, you can see the actual provisioning from within vCHS. Let’s take a look there. Log back into your vCHS instance. Click your Virtual Datacenter. Then click the Manage Catalog in vCloud Director. Select My Cloud then VM’s. You should at some point see the Machine as Busy (while it’s customizing the name etc).
After customization is complete, it will power on the VM with the naming convention from the Machine Prefix we chose when creating the blueprint. In this example that is corp-vchs-linux-036.
You can also verify the successful deployment under the Requests tab of vCAC.
This post is pretty basic and anyone familiar with vCAC knows there is a ton of customization you can do. I did not go into any of the governance aspects that an Enterprise implementation would surely require. In either case I hope this provides some additional clarity for provisioning from vCAC to vCHS.