Commit ff71ed5b authored by Anael Beutot's avatar Anael Beutot
Browse files

Added a set autostart handler for VMs.

parent 4630407b
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -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: