I used  Version: 3.6.3.4-1.el7.centos of ovirt engine.I already tried following xml request with run VM but still its not working.
From admin panel of oVirt Its completely working but I found issue only with oVirt API (VM start but cloudinit data not accepted).

XML Request :  

<action>
   <async>false</async>
  <use_cloud_init>true</use_cloud_init>
<vm>
  <initialization>
     <cloud_init>
       <host>
         <address>vishal.123456</address>
       </host>
       <regenerate_ssh_keys>true</regenerate_ssh_keys>
       <timezone>Atlantic/Reykjavik</timezone>
       <users>
         <user>
           <user_name>root</user_name>
           <password>Vishal@131</password>
         </user>
       </users>
       <network_configuration>
         <nics>
           <nic>
             <name>eth1</name>
             <boot_protocol>STATIC</boot_protocol>
             <network>
               <ip address="51.254.56.84" netmask="255.255.255.255" gateway="149.202.85.254" />
             </network>
             <on_boot>false</on_boot>
           </nic>
           
         </nics>
         <dns>
           <servers>
             <host>
               <address>8.8.8.8</address>
             </host>
           </servers>
           <search_domains>
             <host>
               <address>8.8.4.4</address>
             </host>
           </search_domains>
         </dns>
       </network_configuration>
       

     </cloud_init>
  </initialization>
</vm>
   
</action>

Regards,
Arpit Makhiyaviya
Software Engineer
+91-79-40038284
+91-971-437-6669


On Wed, Mar 30, 2016 at 12:27 AM, Juan Hernández <jhernand@redhat.com> wrote:
On 03/29/2016 03:07 PM, Arpit Makhiyaviya wrote:
> Thanks for quick response.
> we already knew this and we are passing following xml when calling Start
> action.
>

What version of the engine are you using exactly? This is a known bug.
The "cloud_init" element is ignored. See here for details:

  Cloud-Init payload not passed into VM via python SDK
  https://bugzilla.redhat.com/1305904

That will be fixed in version 3.6.5. If you have a version 3.6.2 or
newer then you can use the workaround described there, using the
"initailization" element directly.

> <action>
> <vm>
>   <initialization>
>      <cloud_init>
>        <host>
>          <address>vm-cloud-init-restapi</address>
>        </host>
>        <authorized_keys>
>          <authorized_key>
>            <user>
>              <user_name>root</user_name>
>            </user>
>            <key>ssh-rsa restapi-cloud-init-ssh-key root@localdomain</key>
>          </authorized_key>
>        </authorized_keys>
>        <regenerate_ssh_keys>true</regenerate_ssh_keys>
>        <timezone>Atlantic/Reykjavik</timezone>
>        <users>
>          <user>
>            <user_name>root</user_name>
>            <password>SuperSecretPassword!</password>
>          </user>
>        </users>
>        <network_configuration>
>          <nics>
>            <nic>
>              <name>eth0</name>
>              <boot_protocol>STATIC</boot_protocol>
>              <network>
>                <ip address="192.168.2.11" netmask="255.255.255.0"
> gateway="192.168.2.254" />
>              </network>
>              <on_boot>true</on_boot>
>            </nic>
>            <nic>
>              <name>eth1</name>
>              <boot_protocol>DHCP</boot_protocol>
>              <on_boot>true</on_boot>
>            </nic>
>          </nics>
>          <dns>
>            <servers>
>              <host>
>                <address>10.20.30.100</address>
>              </host>
>            </servers>
>            <search_domains>
>              <host>
>                <address>domain.your.rhevm.com
> <http://domain.your.rhevm.com></address>
>              </host>
>            </search_domains>
>          </dns>
>        </network_configuration>
>        <files>
>          <file>
>            <name>/tmp/file1.txt</name>
>            <content>line 1
> line 2
> and now something special
> !@#$%^&amp;*()_+</content>
>            <type>PLAINTEXT</type>
>          </file>
>        </files>
>      </cloud_init>
>   </initialization>
> </vm>
> </action>
>
> we also found following link . is this related to my issue?
>
> https://gerrit.ovirt.org/#/c/50240/2
>
> Regards,
> *Arpit Makhiyaviya*
> Software Engineer
> +91-79-40038284
> +91-971-437-6669
> <http://www.sculptsoft.com>
>
> On Tue, Mar 29, 2016 at 6:24 PM, Renout Gerrits <mail@renout.nl
> <mailto:mail@renout.nl>> wrote:
>
>     In the more recent versions you have to use 'use_cloud_init=True' in
>     the api, which isn't described in most documentation yet. Maybe
>     thats the reason it isn't working?
>
>     Here's a working snippet:
>
>     vm = api.vms.get(name=vm_name)
>
>     action = params.Action(
>         use_cloud_init=True,
>         vm=params.VM(
>           initialization=params.Initialization(
>             regenerate_ssh_keys=True,
>             host_name=vm_fqdn,
>             nic_configurations=params.GuestNicsConfiguration(
>               nic_configuration=[
>                 params.GuestNicConfiguration(
>                   name="eth0",
>                   boot_protocol="static",
>                   on_boot=True,
>                   ip=params.IP(
>                     address=vm_address,
>                     netmask=vm_netmask,
>                     gateway=vm_gateway,
>                     ),
>                   ),
>                 ],
>               ),
>             ),
>           ),
>         )
>
>     vm.start(action)
>
>
>     On Tue, Mar 29, 2016 at 2:03 PM, Arpit Makhiyaviya
>     <arpit.icreate@gmail.com <mailto:arpit.icreate@gmail.com>> wrote:
>
>         Hello,
>         we are using ovirt api with json data format.
>         we have create vm from template and i want to set
>         ip,macaddress,user and password for that we are using cloud_init
>         for that we it can't set any options.
>


--
Dirección Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3, planta
3ºD, 28016 Madrid, Spain
Inscrita en el Reg. Mercantil de Madrid – C.I.F. B82657941 - Red Hat S.L.