vCloud Director Custom Deploy vApp Workflow

The overall goal of the Custom Deploy vApp workflow is to provide a single call workflow that is capable of instantiating a vApp Template from vCloud Director (vCD) and performing a number of operations on the resulting vApp before actually deploying and powering it on. The workflow is intended to be an example and starting point for deployments that require any or all of these features. It can also be called via 3rd party connectors using the vCenter Orchestrator SOAP API. NOTE: NOT intended for use with vCD Blocking Tasks.

These operations include:

  • Check Org for vApp name already existing in any vDCs, if so append number until unique
  • Instantiate, but do not deploy or power on immediately
  • Apply custom naming convention to each VM in the vApp
  • Base VM name on vApp name
  • Customize the Guest OS Customization script
  • Specify IP for VM
  • Create Computer Account in specific OU of Active Directory
  • Add specified domain\user to local administrators group
  • Connect VM to Network
  • Change Hard Disk Size
  • Add extra Disk to VM
  • Modify the VM CPU count
  • Modify the VM Memory
  • Deploy vApp

Custom Deploy vApp Screenshot

The package and custom workflow requires a functional vCO server with the vCloud Director 1.5 plugin or 5.1 installed and configured. Additionally, the Active Directory plugin should be installed and configured to facilitate the Computer Account creation in AD. A functional vCD environment should be available with 1 or more vApp Templates containing at least one Windows VM. All of which should be configured as discussed throughout this document. (Note: step-by-Step installation/configuration is out of scope here)

While this workflow has been developed and tested successfully, it should always be executed and tested using the vCO Client before attempting to call via the SOAP or REST API. This allows for determining appropriate inputs and faster troubleshooting. Once the workflow has completed successfully in the target environment, it is safe to begin integration with other systems.

Find the workflow package and more information on the VMware vCenter Orchestrator communities:


Plug-ins may be found at the VMware Solution Exchange website.

Comments  

0 # remi 2014-09-18 20:13
ectoplasm88, do you succeed to change the owner of a vcloud:vapp to an existing org vcloud:user after the deployment. If yes can you share you code
0 # burke 2014-02-06 13:27
Quoting Arun:
Hi everyone, I'm new to vCD. I'm using this workflow and when triggering I'm getting following error: Validation Error for parameter: vappTemplate; vdc; name; and in description: mandatory field not set. Aren't these parameter are supposed to be pulled from vCD at the time user tries to create vApp from template?! Please clarify. Thank you.

How are you attempting to run the workflow? If you are getting validation errors, my first thoughts are:
1) Do you have the vCloud Director plug-in installed and configured (and vCO Server restarted)? If not, then object types are not yet understood by vCO
2) Are you providing values to each of the inputs? This workflow is designed to be called directly - so the inputs must be provided via the vCO Client, or API.
0 # Arun 2014-02-06 10:05
Hi everyone, I'm new to vCD. I'm using this workflow and when triggering I'm getting following error: Validation Error for parameter: vappTemplate; vdc; name; and in description: mandatory field not set. Aren't these parameter are supposed to be pulled from vCD at the time user tries to create vApp from template?! Please clarify. Thank you.
0 # burke 2014-01-06 15:43
Quoting Hari:
Guys, we are trying to automate the vApp naming when the user try to deploy vApp from catalog from vCloud Director web console. We have installed blocking task and orchestrator and working on the configuration. But I'm still confused how the workflow will be triggered when the user try to create vApp from vCloud Director console? Can anyone help me clarify this?

This particular workflow is designed to be called directly via the vCO client, a Webview, or via a 3rd party portal using the REST or SOAP api - it is not designed for use with blocking tasks. For example, when this workflow was originally written, the use case was requesting a vCloud Director vApp be deployed using VMware Service Manager as the front end portal -- meaning that vCO was called over its API, then the vCD instantiation took place via the vCD Plug-in in vCO.
0 # Hari 2013-12-23 06:41
Guys, we are trying to automate the vApp naming when the user try to deploy vApp from catalog from vCloud Director web console. We have installed blocking task and orchestrator and working on the configuration. But I'm still confused how the workflow will be triggered when the user try to create vApp from vCloud Director console? Can anyone help me clarify this?
0 # alex 2012-09-13 17:34
Hi all, I used this great workflow with minor modifications. Actually my main remark is related to the AD plug'in. It allows to create a computer account into the AD... which is not a computer registration into the AD!!! It means you have to execute a "netdom" command inside the VM to defintively join the domain. I do it using the Powershell Plug'in, it is quite easy !
0 # ectoplasm88 2012-08-09 15:34
I've said it before... I love this workflow. I have developed a similar workflow for use in my environment and this really helped speed things up. One modification that was necessary in our environment though was to make a direct call to add the local admin account. Using the run once method in the registry will only work if someone with admin privs logs in prior to the user whose credentials you want added. I used "net localgroup Administrators user/domain /add" in the vm customization.
0 # Milton21 2012-08-06 23:14
code to fix get mac address.. Current code does not pull mac address.

var networkConnecti ons = vcdvm.getNetworkConnectionSection().networkConnecti on.enumerate();

for (index = 0; index < networkConnecti ons.length; index++) {
var networkConnecti on = networkConnecti ons[index];
var mac = networkConnecti on.mACAddress
System.log(mac)
}
0 # burke 2012-03-28 13:37
Quoting Michael Ellis:
I am new to vCO and installed your workflow package. When I validate it I get 6 errors all with AD:Organization, unknown type.

I am using the vCO appliance and have AD and vCD connectors installed working. Where should I look to correct these errors?

It sounds like you may not have restarted the vCenter Orchestrator Server service after installing the Microsoft AD Plug-in. You must restart the service after ANY Plugin installations so that the install may be completed. After the restart, vCO should recognize all the AD: objects ;)
0 # Michael Ellis 2012-03-28 13:34
I am new to vCO and installed your workflow package. When I validate it I get 6 errors all with AD:Organization , unknown type.

I am using the vCO appliance and have AD and vCD connectors installed working. Where should I look to correct these errors?
0 # burke 2012-03-03 03:01
Quoting ectoplasm88:
Lots of great stuff here... one thing I would like to do is change the owner of the vApp to be the same as the user I am plugging into the local admin group if that user exists and has access to vCD. If not then system can remain the owner... you have a workflow or action that does anything like this or can you point me in the right direction? I looked at the organization stuff but I don't see any method that would return a list of users or groups.


I never did get around to doing that... it's quite easy though - I'll post as a comment to the thread on the Communities for everyone's benefit so go take a look ;)
0 # ectoplasm88 2012-03-03 01:26
Lots of great stuff here... one thing I would like to do is change the owner of the vApp to be the same as the user I am plugging into the local admin group if that user exists and has access to vCD. If not then system can remain the owner... you have a workflow or action that does anything like this or can you point me in the right direction? I looked at the organization stuff but I don't see any method that would return a list of users or groups.

NUC Lab Kit

Below are my thoughts for a vSAN nuc lab. Since I already have cables, not including them here. I ordered (and received by Nov 30, 2016)
3 x nuc, 3 x 32GB Crucial mem, 3 x Toshiba NVMe drive, 3 x Startech USB to GB NIC, and 3 x Crucial 1TB SSD. I've also been very happy with my Cisco SG300-10 so I bought one more since my existing one only has one port available. Each of the items listed here are linked below - all were purchased using the provided links below.
single NIC (See this post for details on using the USB -> GB NIC item listed below

I stayed with the i5 for the power consumption and form factor vs. the i7 Skull Canyon ;)

 

Search

Experts Exchange