[ovirt-users] cloud_init not apply when v create from API

Juan Hernández jhernand at redhat.com
Tue Mar 29 18:57:18 UTC 2016


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 at 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 at renout.nl
> <mailto:mail at 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 at gmail.com <mailto:arpit.icreate at 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.



More information about the Users mailing list