
On 07/22/2014 11:48 AM, Amedeo Salvati wrote:
hello guys!
I'm writing some python code to start VMs, and based on operating system (at this moment centos6 nad centos7), I would like to use cloud-init options (available on web ui at run-once) to start them and resetting root password, change hostname and write some configuration files by using yaml semantics, but at this moment I was unable to find a way to do it...
somebody know a way (or could send me some hints) using python-sdk to start A VM and pass to it cloud-init options?
e.g. the portion of code I would like to change is vm.start() under rhel6|7:
try: osVersion = vm.get_os().get_type() if (osVersion == "rhel_6x64" or osVersion == "rhel_6" or osVersion == "rhel_7x64") and CLOUDINIT == "yes": print "Starting VM: " + vm.name + " with cloud-init options" ----> vm.start() <---------- else: print "Starting VM " + vm.name vm.start() while vmstat != 'down': sleep(1) vmstat = vm.get_status().state except Exception, err: print "Error on starting VM" print err
Best regards Amedeo Salvati
It should be something like this: from ovirtsdk.xml import params action = params.Action( vm=params.VM( initialization=params.Initialization( cloud_init=params.CloudInit( host=params.Host( name="myvm" ), users=..., files=..., ... ) ) ) ) vm.start(action) -- 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.