
On Thu, Oct 30, 2014 at 12:39 PM, Shahar Havivi <shaharh@redhat.com> wrote:
On Thu, Oct 30, 2014 at 12:02 PM, Shahar Havivi <shaharh@redhat.com> wrote:
On 30.10.14 10:06, Branimir Pejakovic wrote:
On Thu, Oct 30, 2014 at 7:22 AM, Shahar Havivi <shaharh@redhat.com> wrote:
On 29.10.14 17:35, Branimir Pejakovic wrote:
Hi list,
I was wondering is there a way to add multiple files to a vm via cloud-init using python SDK. I was able to add /etc/resolv.conf and additionally I would like to add config files for NICs (ifcfg-ethX) with appropriate values (ip,gw,netmask). I used an example given here: http://www.ovirt.org/Features/Cloud-Init_Integration . But unfortunately I cannot do the same thing If I want to write multiple files to a vm in params.Action class.
Thank you in advance! you can use the custom script text box in oVirts cloud-init
there you can add any cloud-init section - adding files examples can be found here:
http://cloudinit.readthedocs.org/en/latest/topics/examples.html#writing-out-...
Shahar Havivi.
Hi Shahar,
Thank you for the reply.
To be honest I knew for those scripts but I want to do it in automate fashion just like in that example that I put in my original message. I have tried to specify in params.Files class multiple files:
vm_file1 = params.Files(file=[params.File(name = 'file1', content = file1_content, type_= 'PLAINTEXT')]) vm_file2 = params.Files(file=[params.File(name = 'file2', content = file2_content, type_= 'PLAINTEXT')])
and then give them as arguments to params.CloudInit _init_ constructor (files=...) just like in that example above but it seems that I am doing something wrong because it does not write multiple files - it writes only when you specify one file all right. The exception is "Error: 'list' object has no attribute 'export'" (I tried to specify those files as a list
files=[vm_file1,vm_file2]).
Thanks for any help. The custom script is currently the only option to add files via Cloud-Init
Thanks, Shahar Havivi.
Hi Shahar,
Granted. But the example in python http://www.ovirt.org/Features/Cloud-Init_Integration uses custom script :) I just want to know how to do the same thing in case when I want to write more than one file to a VM - and yes - all those multiple files that I want to write are specified via custom scripts.
From the link - (The "Python SDK" paragraph: scontent object holds the custom script):
scontent = "write_files:\n- content: |\n search example.com\n nameserver 10.10.10.1\n nameserver 10.10.10.2\n path: /etc/resolv.conf"
For example (and just for example), I want to write to /etc/issue and /etc/hosts not only /etc/resolv.conf. In essence, when vm goes to run-once mode I want to write more than one file to a vm via Python (using CloudInit) in automated fashion (and not touching oVirt GUI at all). You don't need to use the GUI,
On 30.10.14 12:30, Branimir Pejakovic wrote: section, - the sdks initialization have custom_script as string which is equivalent to the text box that you see in the GUI, and you can put the same content there (ie multiple files). Is that sufficient enough?
Hi Shahar, Thanks! I will try this one. I was not aware of this feature. Although I can see that it was mentioned on the list (my bad). Thank you for your effort! I really do appreciate it! Best regards, Branimir