VMware Cloud Community
Arkady
Contributor
Contributor

Provisioning custom virtual machines

Hello,

Is it possible to create a workflow to provision VMs but allow users to specify RAM, CPUs, disk size and etc.? Another words to customize VM.

Also is it possible to include IP address?

Thank you in advance!

0 Kudos
6 Replies
tschoergez
Leadership
Leadership

Hi!

Yes, it is possible, but there is no out-of the box workflow available.

you can start with some workflows from the "Library":

Clone-VM, sysprep with single NIC

and there should be some workflows to change memory as well.

Do you plan to deploy Windows or Linux or both?

Regards,

Joerg

0 Kudos
AureusStone
Expert
Expert

Yes it is definitely possible.

I have a workflow that does exactly this.  It does take a bit of work, but it is a real time saver once you get it working.

Out of the box Orchestrator has a workflow that allows you to clone a template.  The only issue is it requires filling out a massive form, which takes way to long for administrators to fill out to be practical, and is to technical to hand over to the end user.

Depending on your OS and number of NICs per VM you are best to make a copy of the workflow "Clone, Windows with single NIC" and then make changes to hardcode a lot of these settings.

For instance if the person who is running the workflow chooses to build a production VM the workflow will select the production cluster.  From there it will find the host which uses the least amount of memory, then checks if it is running with "if (System.isHostReachable(host.name , 100000) == true)".  Or you could just select any host in the cluster that is running and allow DRS to balance the cluster.

Same thing for choosing a LUN.

Naming convention is simple enough if you know JavaScript.  EG if your last production server built was PRODSERVER08, you can split out 08.  Add one then join the sting to get PRODSERVER09.

I get an IP address from a database.  Orchestrator has out of the box workflows for connecting to a database using JDBC.  So create a database with all of your IP addresses, then you can assign and unassign IP addresses through a database query.

So yes it is possible.  Depending on how complex your environment is, it may be quite monotonous entering all your environments configuration.  You will need to know the basics of JavaScript.  Just find a good tutorial that teaches you how to handle objects.  Other then that I am sure you will be able to succeed.

0 Kudos
Arkady
Contributor
Contributor

I need it for both operating systems

0 Kudos
tschoergez
Leadership
Leadership

Hi!

The Customization of the Guest OS is not done by the vCO (it's done by vCenter) but can be triggered within a workflow.

So first of all you have to build and test your templates in vCenter, and maybe some customization specifications in vCenter to test the deployment manually.

Then you can start developing your workflow(s) starting with some of the clone VM-workflows from the Library, as mentioned above.

Also take a look at these tutorials:

http://www.vcoteam.info/learn-vco/create-a-simple-vco-self-service-vm-provisioning-portal-part-1.htm...

http://www.vcoteam.info/learn-vco/create-a-simple-vco-self-service-vm-provisioning-portal-part-2.htm...

Regards,

Joerg

0 Kudos
Arkady
Contributor
Contributor

Thank you very much for the feedback!

0 Kudos
Arkady
Contributor
Contributor

Thank you very much for the feedback!

0 Kudos