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.
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