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).
Version 3.6.3.4 is affected by the bug that I mentioned. The result is
that the "cloud_init" element is just ignored. That will be fixed in
version 3.6.5. Meanwhile you can use the workaround suggested in comment
1 of the bug:
Translated to XML it should look like described by Karim Boumedhel in
comment 7:
*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
<
http://www.sculptsoft.com>
On Wed, Mar 30, 2016 at 12:27 AM, Juan Hernández <jhernand(a)redhat.com
<mailto: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>
> <
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
> !@#$%^&*()_+</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(a)renout.nl
<mailto:mail@renout.nl>
> <mailto: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(a)gmail.com <mailto:arpit.icreate@gmail.com>
<mailto: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.