VMware Cloud Community
Aristizabal
Enthusiast
Enthusiast

vCAC and vCO for VM cloud deployment

Hello,

I  have done some vCloud director automation using vCenter Orchestrator, so I can provision VMs in an organization and then run post installation tasks. Then I started looking at vCenter Automation Center to provide a front end to the user as well as capabilities like VM deployment approvals. Everything works fine and vCAC does the job fine, but I would like to integrate my vCO provisioning workflows for vCloud director so they get invoked from vCAC when a user requests a new VM.

Using the vCAC designer there is an option to call a vCO workflow, but how can I add this workflow to vCAC as a provisioning workflow?. My only option for creating a blueprint from a vCloud director endpoint is "CloneWorkflow". So, if the VM is created through vCO how can guarantee that the resource will be managed by vCAC?.

Thank you.

Juan.

0 Kudos
7 Replies
VirExprt
Expert
Expert

Hey Juan,

Using vCAC designer, which is a basic designer, you cannot convert the vCO workflow to provisioning Workflow only you can call the vCO workflow using custom option in already existing 10 workflow. However if you call your vCO workflow and that vCO workflow has some required input parameters which needs to be provided while workflow initiation, is not possible in this scenario because this call method does not pass input parameter filed to vCAC portal for user intervention.

In order to get it working, you compulsorily have to provide all input parameter at workflow modification level. Which is no fun of just clicking a button and see machine provisioning with pre-populated parameters.

To get workflow be working from vCAC as desired, I guess you need cloud Development kit license.

Br,

MG

Regards, MG
Aristizabal
Enthusiast
Enthusiast

Thanks MG, I was hoping to reuse all the logic I already have in vCO workflows from vCAC.... Now, if I have a vCO workflow can I pass variables from vCAC so my vCO workflow doesn't have to prompt the user for anything? are you aware of any source of examples for this other than the extensibility guide?

0 Kudos
VirExprt
Expert
Expert

Hey ,

if you are fine with hard coding parameters in workflow from vCAC while attaching it as menu item with vCAC, it will work fine. however, if you are looking for dynamic parameters which contain different value everytime, this approach will not be fesiable solution.

Extensibility guide is the only one which i am also looking into...

Br,

MG

Regards, MG
0 Kudos
Aristizabal
Enthusiast
Enthusiast

Thanks MG, I am also reviewing the extensibility guide. Here is a good link with some information related to vCAC and Powershell/vCO:

http://clearascloud.blogspot.ca/2013/02/powershell-scripting-out-of-vcac.html

Juan.

0 Kudos
vmwaredownload
Enthusiast
Enthusiast

Thanks Juan,

    I'm encountering the same problem. I had all my VCO workflows working including approval and cost calculation. The only thing which did not please the management was the interface. VCAC provides good interface but it would have been great if we could have better VCO integration.

Regards,

Rajesh

0 Kudos
Aristizabal
Enthusiast
Enthusiast

I went through the same path of vCO -> vCAC specially for the need of a user interface. I am still working on getting the integration with vCO correctly but check this post about running vCO workflows as part of the machine provisioning cycle.

http://clearascloud.blogspot.ca/2013/03/vmware-vco-workflows-integration-with.html

Juan.

0 Kudos
cdecanini_
VMware Employee
VMware Employee

If you just need to pass a

You can call a vCO workflow passing the virtualMachineId in one of the 6 vCAC workflow stub or 4 menu operations. In vCO you create a workflow with a virtualMachineID input.

Screen Shot 2013-05-30 at 8.34.38 PM.png

On the vCO side you can use the vCAC plug-in to covert the virtual machine ID to a vCAC VM object like this:

//Find VirtualMachine Entity from virtualMachine ID

var vCACVirtualMachines = Server.findAllForType("vCAC:VirtualMachine");

//vCAC VM

var vCACVM = null;

for each (var vCACVirtualMachine in vCACVirtualMachines) {

    if (vCACVirtualMachine.virtualMachineID == virtualMachineId) {

        vCACVM = vCACVirtualMachine;

        break;

    }

}

System.log(vCACVM);

With the vCAC VM object you have access to all its properties that you can pass to your vCO workflow.

If my answer resolved or helped you, please mark it as Correct or Helpful to award points. Thank you! Visit http://www.vcoteam.info & http://blogs.vmware.com/orchestrator for vCenter Orchestrator tips and tutorials - @vCOTeam on Twitter
0 Kudos