diff options
| author | Christian Berendt <berendt@b1-systems.de> | 2012-01-26 09:25:17 +0100 |
|---|---|---|
| committer | Christian Berendt <berendt@b1-systems.de> | 2012-01-26 22:29:30 +0100 |
| commit | 7b5e9079415bcdb7c3514822e1d5cb7c67c267ce (patch) | |
| tree | b1bb16571def4c74017f9bae9d74404166b0afec /nova | |
| parent | e1802d8447a0299816a0f1ffa6fbaa6111591070 (diff) | |
uses the instance uuid in libvirt by introducing a new variable 'uuid' for the used template instead of using a random uuid in libvirt
fixes bug 917736
Change-Id: I1f8ba92878fb01cb25a7007839649e1ef7c4fcdc
Diffstat (limited to 'nova')
| -rw-r--r-- | nova/tests/test_libvirt.py | 16 | ||||
| -rw-r--r-- | nova/virt/libvirt.xml.template | 1 | ||||
| -rw-r--r-- | nova/virt/libvirt/connection.py | 1 |
3 files changed, 18 insertions, 0 deletions
diff --git a/nova/tests/test_libvirt.py b/nova/tests/test_libvirt.py index 2dfa277c5..3b773ee97 100644 --- a/nova/tests/test_libvirt.py +++ b/nova/tests/test_libvirt.py @@ -389,6 +389,10 @@ class LibvirtConnTestCase(test.TestCase): self._check_xml_and_uri(instance_data, expect_kernel=True, expect_ramdisk=True, rescue=True) + def test_xml_uuid(self): + instance_data = dict(self.test_instance) + self._check_xml_and_uuid(instance_data) + def test_lxc_container_and_uri(self): instance_data = dict(self.test_instance) self._check_xml_and_container(instance_data) @@ -662,6 +666,18 @@ class LibvirtConnTestCase(test.TestCase): device_type) self.assertEqual(tree.find('./devices/disk/target').get('bus'), bus) + def _check_xml_and_uuid(self, image_meta): + user_context = context.RequestContext(self.user_id, self.project_id) + instance_ref = db.instance_create(user_context, self.test_instance) + network_info = _fake_network_info(self.stubs, 1) + + xml = connection.LibvirtConnection(True).to_xml(instance_ref, + network_info, + image_meta) + tree = xml_to_tree(xml) + self.assertEqual(tree.find('./uuid').text, + instance_ref['uuid']) + def _check_xml_and_uri(self, instance, expect_ramdisk, expect_kernel, rescue=False): user_context = context.RequestContext(self.user_id, self.project_id) diff --git a/nova/virt/libvirt.xml.template b/nova/virt/libvirt.xml.template index 5b464a2d8..92f04facb 100644 --- a/nova/virt/libvirt.xml.template +++ b/nova/virt/libvirt.xml.template @@ -1,4 +1,5 @@ <domain type='${type}'> + <uuid>${uuid}</uuid> <name>${name}</name> <memory>${memory_kb}</memory> <os> diff --git a/nova/virt/libvirt/connection.py b/nova/virt/libvirt/connection.py index 1c8774548..df0cd5725 100644 --- a/nova/virt/libvirt/connection.py +++ b/nova/virt/libvirt/connection.py @@ -1134,6 +1134,7 @@ class LibvirtConnection(driver.ComputeDriver): xml_info = {'type': FLAGS.libvirt_type, 'name': instance['name'], + 'uuid': instance['uuid'], 'basepath': os.path.join(FLAGS.instances_path, instance['name']), 'memory_kb': inst_type['memory_mb'] * 1024, |
