Hi. Responding to myself ...
On Wed, 23 May 2012 17:03:44 +0200, Olivier Berger <[email protected]> wrote: > Hi. > > On Wed, 23 May 2012 16:09:20 +0200, Jaime Melis <[email protected]> wrote: > > > > You could do two things: > > 1) Write a hook [1] on the event of running vm to do "virsh autostart > > one-<VM_ID>" [2] > > 2) Add a line in the deployment script [3] to execute "virsh autostart > > one-<VM_ID>" ( after line 29 of the script for example) > > > > [1] http://libvirt.org/sources/virshcmdref/html/sect-autostart.html > > [2] > > http://opennebula.org/documentation:rel3.4:hooks#hooks_for_virtualmachines > > [3] > > https://github.com/OpenNebula/one/blob/one-3.2/src/vmm_mad/remotes/kvm/deploy#L29 > > > > Hmmm... I've tried this, but : > > # virsh autostart one-42 > error: Failed to mark domain one-42 as autostarted > error: Requested operation is not valid: cannot set autostart for transient > domain > > Maybe the result would be different if run from the hook / script, but > I'm not sure... > > From reading http://remoteoutpost.nl/?page_id=71 I've understood that > the virsh define command was needed, so I've tried adding that deployment > script (which I believe is /var/lib/one/remotes/vmm/kvm/deploy), doing : > > virsh --connect $LIBVIRT_URI define $domain > > just before the : > > data=`virsh --connect $LIBVIRT_URI create $domain` > > However, it doesn't seem to be executed :-/ > Ah, yes, I was changing the one in /var/lib/one instead of the one "deployed on the node", but actually on the same host in /var/tmp/one... (newbie mode) So, the following in vmm/kvm/deploy should do the trick : domain=$1 mkdir -p `dirname $domain` cat > $domain # First define the xml file as a domain definition data=`virsh --connect $LIBVIRT_URI define $domain` if [ "x$?" = "x0" ]; then vm=`echo $data | sed 's/Domain //' | sed 's/ defined from .*$//'` # start the VM/domain data=`virsh --connect $LIBVIRT_URI start $vm` if [ "x$?" = "x0" ]; then echo $data | sed 's/Domain //' | sed 's/ started.*$//' # set it as autostart in case of node reboot virsh --connect $LIBVIRT_URI autostart $vm else error_message "Could not create domain from $domain" exit -1 fi else error_message "Could not define domain from $domain" exit -1 fi This seems to allow the VM to be restarted/resumed (still need to investigate exactly) in case of node reboot. Hope this helps, Best regards. -- Olivier BERGER http://www-public.it-sudparis.eu/~berger_o/ - OpenPGP-Id: 2048R/5819D7E8 Ingenieur Recherche - Dept INF Institut Mines-Telecom, Telecom SudParis, Evry (France) _______________________________________________ Users mailing list [email protected] http://lists.opennebula.org/listinfo.cgi/users-opennebula.org
