From ff71ed5b950ec9ec29f13cf4491b358324cf68cf Mon Sep 17 00:00:00 2001 From: Anael Beutot <anael.beutot@smartjog.com> Date: Thu, 12 Jul 2012 16:13:02 +0200 Subject: [PATCH] Added a set autostart handler for VMs. --- cloudcontrol/node/hypervisor/__init__.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/cloudcontrol/node/hypervisor/__init__.py b/cloudcontrol/node/hypervisor/__init__.py index 75bdee7..e4c137a 100644 --- a/cloudcontrol/node/hypervisor/__init__.py +++ b/cloudcontrol/node/hypervisor/__init__.py @@ -144,6 +144,7 @@ class Handler(HostHandler): self.main.reset_handler('vm_open_console', self.vm_open_console) self.main.reset_handler('vm_disable_virtio_cache', self.vm_disable_virtio_cache) + self.main.reset_handler('vm_set_autostart', self.vm_set_autostart) # if everything went fine, unregister the timer self.timer.stop() @@ -208,6 +209,7 @@ class Handler(HostHandler): self.main.remove_handler('drbd_shutdown') self.main.remove_handler('vm_open_console') self.main.remove_handler('vm_disable_virtio_cache') + self.main.remove_handler('vm_set_autostart') # launch connection timer self.timer.start() @@ -546,6 +548,17 @@ class Handler(HostHandler): logger.exception('Cannot update XML file for domain %s', name) raise + def vm_set_autostart(self, name, autostart=True): + """Set autostart on VM. + + :param name: VM name + :param bool autostart: autostart value to set + """ + vm = self.hypervisor.domains[name] + vm.lv_dom.setAutostart(int(bool(autostart))) + # update autostart value now instead of 10 seconds lag + vm.tags['autostart'].update_value() + def vol_create(self, pool, name, size): logger.debug('Volume create %s, pool %s, size %s', name, pool, size) try: -- GitLab