Guest OS customization runs on Windows Guests

TL;DR: Customizing Windows OS after deployment is now supported by the ITS Private Cloud custom_spec attribute and vss-cli option --custom-spec. Only requirement is to have VMware Tools Installed and Running.

The ITS Private Cloud has offered dynamic Guest OS customization for Linux for a while. This action creates per-instance tasks (update hostname, domain, networking configuration) to make a guest operating system unique after deployment from a source virtual machine or template and avoid network collisions without a lot of effort.

https://eis.utoronto.ca/~vss/vss-cli/examples/deploy-clone.html

The structure has been simplified in the following JSON/ YAML structure, which is provided in the vss-cli or ITS Private Cloud Portal or the API directly upon deployment:

{ "hostname": "string", "domain": "string", "dns": [ "string" ], "dns_suffix": [ "string" ], "interfaces": [{"dhcp": "bool", "ip": "string", "mask": "string", "gateway": ["string"] }], "time_zone": "string|int" }

For example, cloning a Linux VM with multiple network interfaces and reconfiguring it right after deployment:

{ "hostname": "db-1", "domain": "dept.utoronto.ca", "dns": [ "128.100.100.128" ], "interfaces": [ { "dhcp": false, "ip": "10.6.6.115", "mask": "255.255.255.0", "gateway": [ "10.6.6.1" ] }, { "dhcp": false, "ip": "10.6.7.115", "mask": "255.255.255.0", "gateway": [ "10.6.7.1" ] } ], "time_zone": "America/Toronto" }

The same example, but for a Windows guest is as follows:

{ "hostname": "db-1", "domain": "dept.utoronto.ca", "dns": [ "128.100.100.128" ], "interfaces": [ { "dhcp": false, "ip": "10.6.6.115", "mask": "255.255.255.0", "gateway": [ "10.6.6.1" ] }, { "dhcp": false, "ip": "10.6.7.115", "mask": "255.255.255.0", "gateway": [ "10.6.7.1" ] } ], "time_zone": 35 }

In both cases, Linux and Windows, are now supported on the ITS Private Cloud API either via the Portal, or vss-cli.

Portal

The Web UI supports only JSON format that could be added on the “Other” tab during the Virtual Machine Form:

Command Line

--custom-spec in the vss-cli supports both YAML and JSON either from option value or file reference as follows:

More examples are found in the vss-cli doc site:

What’s next?

Now that we have ventured into the Windows customization, we are considering also support for:

  • Sysprep answer file within spec.

  • Domain configuration.

Adding features to the ITS Private Cloud is based on demand, so please let us know if any of the above may be helpful to your team.

Finally

If you have any questions, willing to help us testing or feedback about the Guest OS Customization implementation, please do not hesitate contacting us via vss (at) eis.utoronto.ca.

 

University of Toronto - Since 1827