Re: [ovirt-users] Users Digest, Vol 62, Issue 211

This is a multi-part message in MIME format. --------------1AAD7CC11709ADB186DDC802 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Hello Allen,you can use the old api even if you have ovirt 4, using /ovirt-engine/api/v3 as base url. You can do it to earn time to work on this without having services not working Regards On 30/11/16 16:38, users-request@ovirt.org wrote:
Send Users mailing list submissions to users@ovirt.org
To subscribe or unsubscribe via the World Wide Web, visit http://lists.ovirt.org/mailman/listinfo/users or, via email, send a message with subject or body 'help' to users-request@ovirt.org
You can reach the person managing the list at users-owner@ovirt.org
When replying, please edit your Subject line so it is more specific than "Re: Contents of Users digest..."
Today's Topics:
1. Python API ovirtsdk4 cloud-init script file upload issue (Allen Swackhamer) 2. Re: Network usage in ovirt dashboard? (Derek Atkins) 3. Events not updated in Dashboard after clearing (Peter Michael Calum)
----------------------------------------------------------------------
Message: 1 Date: Wed, 30 Nov 2016 12:22:01 -0600 From: Allen Swackhamer <allen.swackhamer@gmail.com> To: users@ovirt.org Subject: [ovirt-users] Python API ovirtsdk4 cloud-init script file upload issue Message-ID: <CAFc20P+c_WYA1VK_P1_gT9AMHa_=q8NPiqjO699XTZmxJwHnAw@mail.gmail.com> Content-Type: text/plain; charset="utf-8"
I am attempting to run a VM with a cloud-init script, but can't seem to get the syntax working for the python ovirtsdk4 library. We are running ovirt 4.
My cloud init script never appears to work and the users option does not work either. If I use root_password and user_name for types.Initialization (as in the example below) it will generate the correct users, but if I put in the types.CloudInit piece it will break it.
types.Initialization( user_name=cloud_init_username, root_password=cloud_init_password, regenerate_ssh_keys=True, host_name="testingcloudinit", nic_configurations=[ types.NicConfiguration( boot_protocol=types.BootProtocol.DHCP, name='ens3', on_boot=True ) ], custom_script=cloud_init_script )
What I currently have is below. cloud_init_script is the script I want to run as a string. Looking at the REST API documentation it shows that I need to upload the file as a CDATA entry, but I am unsure of how I can ensure that in python. Is there potentially a way I could get the full XML call in python to ensure API compliance?
vm_service.start( use_cloud_init=True, vm=types.Vm( initialization=types.Initialization( nic_configurations=[types.NicConfiguration( boot_protocol=types.BootProtocol.DHCP, name="ens3", on_boot=True )], cloud_init=types.CloudInit( files=[types.File( name="initialrunner", content=cloud_init_script, type="plaintext" ), ], users=[types.User( user_name=cloud_init_username, password=cloud_init_password )] ) ) ) )
Documentation that I have been using: http://www.ovirt.org/develop/release-management/features/ cloud/cloud-init-integration/ (seems old and for a earlier ovirtsdk version) http://cloudinit.readthedocs.io/en/latest/topics/examples. html#run-commands-on-first-boot (official cloud init documentation) https://www.mail-archive.com/users@ovirt.org/msg35549.html (message board conversation about this REST API) http://lists.ovirt.org/pipermail/users/2014-September/027198.html (about the cloud-init script specifically) http://lists.ovirt.org/pipermail/users/2014-November/028878.html (for a old version of ovirtsdk it appears) http://www.ovirt.org/develop/api/rest-api/rest-api/#How_ can_I_run_a_custom_script_using_cloud-init.3F (appears to be up to date but just documents the REST API)
participants (1)
-
Victor Jose Acosta