OVF¶
The OVF datasource provides a generic datasource for reading data from an Open Virtualization Format ISO transport.
What platforms support OVF¶
OFV is an open standard which is supported by various virtualization platforms, including (but not limited to):
GCP OpenShift Proxmox vSphere VirtualBox Xen
While these (and many more) platforms support OVF, in some cases cloud-init has alternative datasources which provide better platform integration. Make sure to check whether another datasource is exists which is specific to your platform of choice before trying to use OVF.
Configuration¶
Cloud-init gets configurations from an OVF XML file. User-data and network
configuration are provided by properties in the XML which contain key / value
pairs. The user-data is provided by a key named user-data
, and network
configuration is provided by a key named network-config
.
Graceful rpctool fallback¶
The datasource initially attempts to use the program vmware-rpctool
if it
is available. However, if the program returns a non-zero exit code, then the
datasource falls back to using the program vmtoolsd
with the --cmd
argument.
On some older versions of ESXi and open-vm-tools, the vmware-rpctool
program is much more performant than vmtoolsd
. While this gap was
closed, it is not reasonable to expect the guest where cloud-init is running to
know whether the underlying hypervisor has the patch.
Additionally, vSphere VMs may have the following present in their VMX file:
guest_rpc.rpci.auth.cmd.info-set = "TRUE"
guest_rpc.rpci.auth.cmd.info-get = "TRUE"
The above configuration causes the vmware-rpctool
command to return a
non-zero exit code with the error message Permission denied
. If this should
occur, the datasource falls back to using vmtoolsd
.
Additional information¶
For further information see a full working example in cloud-init
’s
source code tree in doc/sources/ovf
.