Loading cloudcontrol/node/config.py +4 −0 Original line number Diff line number Diff line Loading @@ -113,6 +113,10 @@ class NodeConfigParser(object): self.define_script = config.get('node', 'define_script', default_define_script) default_rescue_script = 'hkvm-rescue' self.rescue_script = config.get('node', 'rescue_script', default_rescue_script) default_install_script = 'hkvm-install' self.install_script = config.get('node', 'install_script', default_install_script) default_mode_script = 'hkvm-mode' self.mode_script = config.get('node', 'mode_script', default_mode_script) default_vlan_script = 'hkvm-vlan' self.vlan_script = config.get('node', 'vlan_script', default_vlan_script) default_attach_script = 'hkvm-attach' Loading cloudcontrol/node/hypervisor/__init__.py +24 −0 Original line number Diff line number Diff line Loading @@ -258,6 +258,30 @@ class Handler(HostHandler): logger.error(msg) raise UndefinedDomain(msg) @libvirt_handler def vm_install(self, name): logger.debug('VM install %s', name) if name in self.hypervisor.domains: rcode, output = execute(self.main, [self.main.config.install_script, '-i', name]) if rcode != 0: raise RuntimeError(output.strip().split('\n')[-1].strip()) else: msg = 'Cannot install VM %s because it is not defined' % name logger.error(msg) raise UndefinedDomain(msg) @libvirt_handler def vm_uninstall(self, name): logger.debug('VM uninstall %s', name) if name in self.hypervisor.domains: rcode, output = execute(self.main, [self.main.config.install_script, '-u', name]) if rcode != 0: raise RuntimeError(output.strip().split('\n')[-1].strip()) else: msg = 'Cannot uninstall VM %s because it is not defined' % name logger.error(msg) raise UndefinedDomain(msg) @libvirt_handler def vm_set_vlans(self, name, vlan_update_format, mac_address=None): logger.debug('VM set vlan %s', name) Loading cloudcontrol/node/hypervisor/domains/vm_tags.py +10 −6 Original line number Diff line number Diff line Loading @@ -60,14 +60,18 @@ def uuid(dom): @background(max_concurrent=3) def rescue(dom): """Is rescue mode enabled or not""" rescue_path = dom.hypervisor.handler.main.config.rescue_script rcode, output = execute(dom.hypervisor.handler.main, [rescue_path, '-s', dom.name]) def mode(dom): """Retrieve VM mode""" mode_path = dom.hypervisor.handler.main.config.mode_script rcode, output = execute(dom.hypervisor.handler.main, [mode_path, '-m', dom.name]) if rcode == 0: return output.strip() try: res = output.rsplit(':', 1)[-1].strip() except IndexError: res = 'error' else: return 'error' res= 'error' return res def status(dom): Loading Loading
cloudcontrol/node/config.py +4 −0 Original line number Diff line number Diff line Loading @@ -113,6 +113,10 @@ class NodeConfigParser(object): self.define_script = config.get('node', 'define_script', default_define_script) default_rescue_script = 'hkvm-rescue' self.rescue_script = config.get('node', 'rescue_script', default_rescue_script) default_install_script = 'hkvm-install' self.install_script = config.get('node', 'install_script', default_install_script) default_mode_script = 'hkvm-mode' self.mode_script = config.get('node', 'mode_script', default_mode_script) default_vlan_script = 'hkvm-vlan' self.vlan_script = config.get('node', 'vlan_script', default_vlan_script) default_attach_script = 'hkvm-attach' Loading
cloudcontrol/node/hypervisor/__init__.py +24 −0 Original line number Diff line number Diff line Loading @@ -258,6 +258,30 @@ class Handler(HostHandler): logger.error(msg) raise UndefinedDomain(msg) @libvirt_handler def vm_install(self, name): logger.debug('VM install %s', name) if name in self.hypervisor.domains: rcode, output = execute(self.main, [self.main.config.install_script, '-i', name]) if rcode != 0: raise RuntimeError(output.strip().split('\n')[-1].strip()) else: msg = 'Cannot install VM %s because it is not defined' % name logger.error(msg) raise UndefinedDomain(msg) @libvirt_handler def vm_uninstall(self, name): logger.debug('VM uninstall %s', name) if name in self.hypervisor.domains: rcode, output = execute(self.main, [self.main.config.install_script, '-u', name]) if rcode != 0: raise RuntimeError(output.strip().split('\n')[-1].strip()) else: msg = 'Cannot uninstall VM %s because it is not defined' % name logger.error(msg) raise UndefinedDomain(msg) @libvirt_handler def vm_set_vlans(self, name, vlan_update_format, mac_address=None): logger.debug('VM set vlan %s', name) Loading
cloudcontrol/node/hypervisor/domains/vm_tags.py +10 −6 Original line number Diff line number Diff line Loading @@ -60,14 +60,18 @@ def uuid(dom): @background(max_concurrent=3) def rescue(dom): """Is rescue mode enabled or not""" rescue_path = dom.hypervisor.handler.main.config.rescue_script rcode, output = execute(dom.hypervisor.handler.main, [rescue_path, '-s', dom.name]) def mode(dom): """Retrieve VM mode""" mode_path = dom.hypervisor.handler.main.config.mode_script rcode, output = execute(dom.hypervisor.handler.main, [mode_path, '-m', dom.name]) if rcode == 0: return output.strip() try: res = output.rsplit(':', 1)[-1].strip() except IndexError: res = 'error' else: return 'error' res= 'error' return res def status(dom): Loading