Hi,<br><br>It looks like you could take adavantage of hooks [1]. This way you can perform preparative operations on create, running, etc., maybe storing some configurations files in $VAR_LOCATION/<vm-id>/ to be used later by your drivers.<br>

<br>I'm sorry I can't dedicate enough time to write a more elaborated mail; but please ask any other questions that may arise.<br><br><br>Regards.<br><br>[1] <a href="http://opennebula.org/documentation:rel2.2:hooks">http://opennebula.org/documentation:rel2.2:hooks</a><br>

<br clear="all"><span style="border-collapse:collapse;color:rgb(136, 136, 136);font-family:arial, sans-serif;font-size:13px">--<br>Carlos Martín, MSc<br>Project Major Contributor<br><span style="background-color:rgb(255, 255, 204);color:rgb(34, 34, 34);background-repeat:initial initial">OpenNebula</span> - The Open Source Toolkit for Cloud Computing<br>

<a href="http://www.opennebula.org/" style="color:rgb(42, 93, 176)" target="_blank">www.<span style="background-color:rgb(255, 255, 204);color:rgb(34, 34, 34);background-repeat:initial initial">OpenNebula</span>.org</a> | <a href="mailto:cmartin@opennebula.org" style="color:rgb(42, 93, 176)" target="_blank">cmartin@<span style="background-color:rgb(255, 255, 204);color:rgb(34, 34, 34);background-repeat:initial initial">opennebula</span>.org</a></span><br>


<br><br><div class="gmail_quote">On Sat, Jun 11, 2011 at 4:30 PM,  <span dir="ltr"><<a href="mailto:knawnd@gmail.com">knawnd@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Tino Vazquez wrote on 09/06/11 13:52:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi Nikolai,<br>
</blockquote>
Hi Tino,<br>
<br>
I am not sure any longer that functionality I was going to implement can be done in tm_clone.sh script. Apart from possibility to be aware of $SCRIPT_REMOTE_DIR value the tm_clone.sh script needs to "know" the name of OS image to be used for VM deployment and that is a problem.<br>


Let me briefly explain what I mean.<br>
To create new VM on OpenVZ host there are two options:<br>
1) one can specify using 'ostemplate' option the name of already existing so called OS template which has to be available in predefined dir set in TEMPLATE variable of OpenVZ global config file (by default it is /etc/vz/vz.conf). Normally TEMPLATE=/vz/template and OS template has to be available in $TEMPLATE/cache. There is no way to specify the absolute path to OS template (like --ostemplate=$VM_DIR/<$VMID>/images/disk.0 replacing the variables $VM_DIR and $VMID by their values e.g. --ostemplate=/vz/one/vm/55/images/disk.0). One of the example of a proper command could be as<br>


$ vzctl create 101 --ostemplate centos-5-x86<br>
and OpenVZ expects the existence of the /vz/template/cache/centos-5-x86.tar.gz file with corresponding name.<br>
2) one can skip --ostemplate option. Then OpenVZ will use the default OS template name defined in $DEF_OSTEMPLATE variable in /etc/vz/vz.conf. But that way is not  very flexible (althrough it can be followed if all VMs are going to be deployed using only single OS template and thus its name can be redefined ones during initial OpenVZ host configuration).<br>


To follow the first option I would implement the logic as described below:<br>
1) get the name of OS template specified in config file for given VM;<br>
2) check if OS template with same name already exists in $TEMPLATE/cache dir. If it does then rename it, create a symlink (or one can copy it) from $VM_DIR/$VMID/images/disk.0 to $TEMPLATE/cache;<br>
3) create VM;<br>
4) remove symlinked OS template images from $TEMPLATE/cache dir.<br>
<br>
But tm_clone.sh script is executed before $SCRIPT_REMOTE_DIR/vmm/ovz/deploy script and hense the VM config file is not yet available to retrieve OS template name. Moreover the fourth step (OS template deletion from $TEMPLATE/cach dir) needs to be executed after VM creation. So all the steps described above needs to be implemented in $SCRIPT_REMOTE_DIR/vmm/ovz/deploy script although such approach in some sense mixes functionality which each script was initially intended for (as far as I understand it).<br>


<br>
Regards,<br>
Nikolay.<br>
_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@lists.opennebula.org" target="_blank">Users@lists.opennebula.org</a><br>
<a href="http://lists.opennebula.org/listinfo.cgi/users-opennebula.org" target="_blank">http://lists.opennebula.org/listinfo.cgi/users-opennebula.org</a><br>
</blockquote></div><br>