VMware Cloud Community
BackOfficeTeam
Contributor
Contributor

How to Deploy Multiple VM's from Template in Orchestrator

Hi Guys

Is there any way to deploy multiple VM's from template in Orchestrator?I

Any scripts, PowerShell or step by step manuals how to configure Orchestrator to deploy from Templates

Cheers

Tags (3)
2 Replies
mcfadyenj
Hot Shot
Hot Shot

there most certainly is.

I am just rewriting a working model of this to run on vc 3.5. But essentially what I did was this.

I was using xml as a source to determine which machines would be built from which templates. But you could do similar with configuration objects.

As a minimalist amount of info you need something like this for each of the vm's you wish to deploy.

  • Machine Name (string)
  • Template name  (VcVirtualMachine)
  • target host (VcHostSystem)
  • target datastore (VcDatastore)
  • vlan  (string)
  • target vm folder (VcVmFolder)

Because I am used to working with xml and I wanted to make a workflow that was static and just fed different data from the xml to adjust its behaviour.

So I use the xml to load data into configuration objects and then created a workflow loop to iterate the configuration object. See below site for workflow loops.

http://www.vcoteam.info/learn-vco/creating-workflow-loops.html

There are a couple of complexities of using xml and they are:

most of the data was in string form and needed to be converted to vco object types.

xml cannot be returned as an object that can be iterated with a workflow loop.

To work around the first issue of string types. I did the following.

see attached ipGetObjectFromStringDatastore.action

This would iterate through an array of datastores and return a datastore object based on a string representation of that object.

You will need a similar action for each of the strings you wish to return as an object.

ie

hosts, templates, datastores

One you have all the objects required for each of your mass deployment items you need to either load them to a configuration object or an array object. This will be the basis of the workflow loops that come in the next step.

You can populate a config object similar to this.

var serverNameArray = configElement.getAttributeWithKey("serverName").value;
  serverNameArray.push(serverName);

The deploy from a template action already exists and can be found at

com.vmware.library.vc.basic "cloneVM"

I am just in the process of converting all this to vc 3.5 at which point I can post the results. But as I was using vc3.5 against a vco4.1 db its not really usable for general public yet.

please excuse my naming convention on my actions this was my first workflow so I lacked the forethought of good names 🙂

Reply
0 Kudos
BackOfficeTeam
Contributor
Contributor

Thaks on that Champ

Once you have finished can you please export your Workflow and attach

Cheers

Reply
0 Kudos