Something you might not have noticed, is the fact that you can not change or modify the guestOS type after a virtual machine has been created in the new vSphere Web Client, this option is just grayed out.
Though this is a change in behavior compared to the old vSphere C# Client, I actually took this as an opportunity to try out one of the most interesting and unrealized feature in the vSphere 5.1 release. This feature being a tighter integration between vCenter Server and vCenter Orchestrator. This means that you can now take any of your existing vCO workflows or create new workflows and make them directly available to any of the vSphere objects within the new vSphere Web Client as a custom action.
Note: A feature request/bug has already been filed with VMware to have the ability to change the Guest OS and Guest OS Version for a virtual machine after creation in the vSphere Web Client.
Here is an example of a custom workflow that I created called Change Guest OS Type and as you can see that it only shows up under the context of a virtual machine object in the vSphere Web Client.
From my perspective, the use cases are endless as you can create ANY custom workflow to perform any action or series of operations that can span across VMware products as well as 3rd party systems and directly present them to your end users in the new vSphere Web Client. Not only that, users can specify which workflows they see by default on a given vSphere object and this can differ from user to user based on their daily set of tasks.
So going back to our scenario, here is a way to change the Guest OS and Guest OS Version using a custom vCO workflow.
Step 1 - Download Change Guest OS Type vCO workflow to local desktop.
Step 2 - Open up the vCO Workflow Client, you can do this by pointing your browser to your vCO Server and click on "Start Orchestrator Client" link.
Step 3 - Import the Change Guest OS Type vCO workflow from your desktop to your vCO Server
Step 4 - Next, we need to go to the vSphere Web Client to make this vCO workflow available on a particular vSphere object, in our case it is a virtual machine. On the home page of the vSphere Web Client, click on "vCenter Orchestrator" icon in the center pane or select it from the navigation pane on the left. Once you are in the vCenter Orchestrator configuration page, select the "Manage" tab and click on the "plus" icon.
In this view, you can specify which default vCO workflows are made available across the various vSphere objects. These can be modified or removed based on the frequency of workflow usage.
Step 5 - Locate the Change Guest OS Type vCO workflow on the left hand side and then click on the Add button. Finally, select type to be virtual machine as this workflow is only applicable to a VM and OK to save the settings.
If we take a look at the vCenter Orchstrator configuration page, we will see our new workflow is now listed as one of the defaults for a virtual machine object. You can edit and modify any of these based on the workflows you wish to see by default. I highly recommend you add workflows that you use frequently so you do not have to search through the entire list each time.
Finally, it is time to test drive our new workflow! Locate a virtual machine and right click on the object, in a second you should see a sub-menu for All vCenter Orchestrator Actions and then select our vCO workflow Change Guest OS Type which will start off a very familiar wizard.
The first screen is the object selected, which in our case is our virtual machine. You can of course change this, but we will leave it as it's context was automatically picked up.
The next screen is to select the Guest OS Family (Windows, Linux & Other) that you wish to modify your virtual machine to.
The last part is just to select the Guest OS Version which is provided as a list of the guest OSes based on your previous selection.
To apply the Guest OS change, just click finish and watch the vCO workflow execute.
Though the functionality of changing the Guest OS is not available in the new vSphere Web Client, you can still provide the same functionality to your end users through a custom vCO workflow which are now tightly integrated into the vSphere Web Client. Hopefully this sparks some ideas on other vCO workflows you can create or expose through the vSphere Web Client in your own environment. I know I have a few in mind 🙂
A big thanks goes out to Christophe Decanini for helping me with a few questions while creating this workflow.
Nile Wilson says
Our vmware instructor taught us on how to install different OS using VMware program. We have so much fun because we tried many open source operating systems using this software.
Can you share the workflow to install Linux & Windows OS ?
William Lam says
Not sure I follow? This workflow allows you to change the guestOS type, it does not install any OS. Of course you can create your own to do so 🙂
Mats Ballen Blomgren says
When changing between different OS don't you need to change Disk and EthernetAdapter aswell, at least sometimes?
William Lam says
That may not always be the case, it really just depends and of course you can change those attributes using the vSphere Web Client. Again, this is just a workaround from the limitation imposed in vSphere 5.1 on changing the GuestOS using the vSphere Web Client. In vSphere 5.5, you can now edit the GuestOS and this vCO WF is no longer necessary.
Simon Sparks says
Are you able to update this workflow to get the list of supported Guest OSes from the vCenter REST API maybe using the VAPI classes in vRO.