From 4cd40e001491c67bbc7c4dfdfaeebb85d012b2bf Mon Sep 17 00:00:00 2001 From: Anael Beutot Date: Mon, 7 May 2012 19:07:11 +0200 Subject: [PATCH] Added a vm_define method on hypervisor instance. --- ccnode/hypervisor/__init__.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/ccnode/hypervisor/__init__.py b/ccnode/hypervisor/__init__.py index 819402e..14a575e 100644 --- a/ccnode/hypervisor/__init__.py +++ b/ccnode/hypervisor/__init__.py @@ -100,10 +100,7 @@ class Handler(HostHandler): if format != 'xml': raise NotImplementedError('Format not supported') - try: - return _libvirt.connection.defineXML(data).name() - except libvirt.libvirtError: - logger.exception('Error while creating domain') + return self.hypervisor.vm_define(data) def vm_undefine(self, name): logger.debug('VM undefin') @@ -260,6 +257,16 @@ class Hypervisor(object): logger.info('Delete domain: %s (%s)', vm.name, vm.uuid) self.main.remove_sub_object(vm) + def vm_define(self, xml_desc): + """Create a VM on the Hypervisor + :param str xml_desc: XML description in libvirt format + :return: VM name created + """ + try: + return self.vir_con.defineXML(xml_desc).name() + except libvirt.libvirtError: + logger.exception('Error while creating domain') + def _count_domain(self, filter=lambda d: True): count = 0 -- GitLab