<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="GENERATOR" content="GtkHTML/4.4.4">
</head>
<body>
tor 2013-05-23 klockan 15:10 &#43;0300 skrev Michael Pasternak:
<blockquote type="CITE">
<pre>
Hi Karli,

On 05/23/2013 12:35 PM, Karli Sjöberg wrote:
&gt; Hi!
&gt; 
&gt; We´re in the process of building an orderportal where our customers will be able to log in, select a virtual machine template, type in a desired hostname and it will be
&gt; automatically created, and they recieve a mail explaining what they´ve gotten themselves into:). For this I figured the PythonSDK would be the best choice but I´m having
&gt; trouble using it. What we´ve done so far is:
&gt; 
&gt; 1) Create a new VM from a template; OK. I found an example and it worked OOTB
&gt; 2) Rename the new VM´s disk from ${TemplateName}_Disk1 to ${VMName}_Disk1; Not OK. I found an example of how to change the name of a VMNic and that works, but using the
&gt; same method to change VMDisk´s name does not (FYI, the VM only has one VNic and VDisk):
&gt;&gt;&gt;&gt; from ovirtsdk.xml import params
&gt;&gt;&gt;&gt; from ovirtsdk.api import API
&gt;&gt;&gt;&gt; api = API(url='<a href="https://">https://</a>${ENGINE}:443/api', &lt;<a href="https://storm.slu.se:443/api'">https://storm.slu.se:443/api'</a>,&gt; ca_file='${CACERT}', username='admin@internal &lt;<a href="mailto:'admin@internal">mailto:'admin@internal</a>&gt;', password='letmein!')
&gt;&gt;&gt;&gt; vm = api.vms.get(name='VMName')
&gt; 
&gt;&gt;&gt;&gt; vmnic = vm.nics.get(name='*')
&gt;&gt;&gt;&gt; vmnic.name
&gt; 'nic1'
&gt;&gt;&gt;&gt; api.vms.get(name='VMName').nics.get(name='*')
&gt; 'nic1'
&gt;&gt;&gt;&gt; vmnic.name='nic2'
&gt;&gt;&gt;&gt; vmnic.update()
&gt;&gt;&gt;&gt; api.vms.get(name='VMName').nics.get(name='*')
&gt; 'nic2'
&gt;&gt;&gt;&gt; vmnic.name
&gt; 'nic2'
&gt; 
&gt;&gt;&gt;&gt; vmdisk = vm.disks.get(name='*')
&gt;&gt;&gt;&gt; vmdisk.name
&gt; 'TemplateName_Disk1'
&gt;&gt;&gt;&gt; api.vms.get(name='VMName').disks.get(name='*')

this kind of call is not efficient, by fetching the disk
you also fetch the vm,

i'd suggest fetch vm, store it in local variable and then
reuse it for any sub-collection manipulations.
</pre>
</blockquote>
<br>
Could you please show me example of that, my Pythonjourney started only yesterday:)?<br>
<br>
<blockquote type="CITE">
<pre>


&gt; 'TemplateName_Disk1'
&gt;&gt;&gt;&gt; vmdisk.name='VMName_Disk1'
&gt;&gt;&gt;&gt; vmdisk.update()
&gt;&gt;&gt;&gt; vmdisk.name
&gt; 'VMName_Disk1'
&gt;&gt;&gt;&gt; api.vms.get(name='VMName').disks.get(name='*')
&gt; 'TemplateName_Disk1'
&gt; 
&gt; See? Am I holding it wrong?

disk.name is deprecated, please use 'alias' instead.
</pre>
</blockquote>
<br>
&gt;&gt;&gt; print api.vms.get(name='VMName').disks.get(name='*').name<br>
TemplateName_Disk1<br>
&gt;&gt;&gt; print api.vms.get(name='VMName').disks.get(name='*').alias<br>
None<br>
<br>
So that doesn´t seem to work either?<br>
<br>
/Karli<br>
<br>
<blockquote type="CITE">
<pre>

&gt; 
&gt; 3) Create a snapshot called &quot;Origin&quot;, so if a customer calls in and says they´ve borked it completely, we´ll just revert to it´s &quot;Origin&quot; and they´re up and running again;
&gt; OK, found another OOTB example, thank you.
&gt; 4) Add the customer to VM´s Permissions with an appropriate role; Not OK. I have found no examples on how to do this and just don´t know where to start looking. BTW,
&gt; creating a new VM with Python results in Permissions completely empty, no inheritance either. Don´t know if that is intended...

elena, ilia,

guys, do you have any permission related code to share?

&gt; 
&gt; client# rpm -qa | grep ovirt
&gt; ovirt-engine-cli-3.2.0.11-1.fc17.noarch
&gt; ovirt-engine-sdk-3.2.0.10-1.fc17.noarch
&gt; 
&gt; engine# rpm -qa | grep ovirt
&gt; ovirt-engine-config-3.1.0-4.fc17.noarch
&gt; ovirt-engine-dbscripts-3.1.0-4.fc17.noarch
&gt; ovirt-log-collector-3.1.0-0.git10d719.fc17.noarch
&gt; ovirt-engine-restapi-3.1.0-4.fc17.noarch
&gt; ovirt-image-uploader-3.1.0-0.git9c42c8.fc17.noarch
&gt; ovirt-engine-genericapi-3.1.0-4.fc17.noarch
&gt; ovirt-iso-uploader-3.1.0-0.git1841d9.fc17.noarch
&gt; ovirt-engine-webadmin-portal-3.1.0-4.fc17.noarch
&gt; ovirt-engine-setup-3.1.0-4.fc17.noarch
&gt; ovirt-engine-sdk-3.2.0.2-1.fc17.noarch
&gt; ovirt-engine-backend-3.1.0-4.fc17.noarch
&gt; ovirt-engine-tools-common-3.1.0-4.fc17.noarch
&gt; ovirt-engine-3.1.0-4.fc17.noarch
&gt; ovirt-engine-userportal-3.1.0-4.fc17.noarch
&gt; ovirt-engine-notification-service-3.1.0-4.fc17.noarch
&gt; 
&gt; -- 
&gt; 
&gt; Best Regards
&gt; -------------------------------------------------------------------------------
&gt; Karli Sjöberg
&gt; Swedish University of Agricultural Sciences
&gt; Box 7079 (Visiting Address Kronåsvägen 8)
&gt; S-750 07 Uppsala, Sweden
&gt; Phone:  &#43;46-(0)18-67 15 66
&gt; <a href="mailto:karli.sjoberg@slu.se">karli.sjoberg@slu.se</a> &lt;<a href="mailto:karli.sjoberg@adm.slu.se">mailto:karli.sjoberg@adm.slu.se</a>&gt;
&gt; 
&gt; 
&gt; 
&gt; _______________________________________________
&gt; Users mailing list
&gt; <a href="mailto:Users@ovirt.org">Users@ovirt.org</a>
&gt; <a href="http://lists.ovirt.org/mailman/listinfo/users">http://lists.ovirt.org/mailman/listinfo/users</a>
&gt; 


</pre>
</blockquote>
<br>
<table cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td>-- <br>
<br>
Med Vänliga Hälsningar<br>
-------------------------------------------------------------------------------<br>
Karli Sjöberg<br>
Swedish University of Agricultural Sciences<br>
Box 7079 (Visiting Address Kronåsvägen 8)<br>
S-750 07 Uppsala, Sweden<br>
Phone: &nbsp;&#43;46-(0)18-67 15 66<br>
<a href="mailto:karli.sjoberg@adm.slu.se">karli.sjoberg@slu.se</a> </td>
</tr>
</tbody>
</table>
</body>
</html>