Full cloud-init support with ovirt provider
integration with ovirt supports just a sub-set of cloud-init keys.
The following template seems to be the maximal set of keys we
can currently pass successfully to the cloud-init via user_data:
#cloud-init hostname: test.example.com ssh_authorized_keys: - ssh-rsa test123123123 test.example.com runcmd: - ls / phone_home: url: satellite.example.com post: 
Cloud-init supports much wider range or modules and configuration options,
we don't support those and this options get ignored.
Version-Release number of selected component (if applicable):
Foreman 1.15 with fog-1.42.0
Steps to Reproduce:
1. add user_data image with cloud-init installed and configured.
2. use one of the valid cloud-init keys that ARE NOT one of `hostname`, `ssh_authorized_keys`, `runcmd`, `phone_home`,
an example could be:
#cloud-init yum_repos: zoo: baseurl: https://inecas.fedorapeople.org/fakerepos/new_cds/content/zoo/1.0/x86_64/rpms/ name: zoo enabled: true
Many cloud-init modules options get ignored (including the `yum_repos` one in the example)
All cloud-init modules options get passed to cloud-init (including the `yum_repos` one in the example)
Fixes #20590 - full ovirt cloud-init support
Currently, the cloud-init integration supports only a sub-set of
cloud-init commands. With `custom_script` support, one can pass
arbitrary cloud-init yaml to the managed host and make sure
the provisioned host will get it unchanged (which is not the case
when passing the user data currently, as the rbovirt parses into
After the change, we would pass the cloud-init template to the ovirt as
is via `custom_script` ovirt functionality, and it would get to the
cloud-init directly, without any ovirt pre-processing.
Depends on https://github.com/fog/fog/pull/3961