summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChuck Short <zulcss@ubuntu.com>2011-03-16 20:52:14 -0400
committerChuck Short <zulcss@ubuntu.com>2011-03-16 20:52:14 -0400
commitfea850245835f867aa4cc741b612445e56e64236 (patch)
tree78426ae47dab3f54f5ce739264bf20ab4b5561ca
parentc44ab013f5f5a078b27c4965e2e3c4abbfe30c59 (diff)
downloadnova-fea850245835f867aa4cc741b612445e56e64236.tar.gz
nova-fea850245835f867aa4cc741b612445e56e64236.tar.xz
nova-fea850245835f867aa4cc741b612445e56e64236.zip
Add basic tests for lxc containers.
-rw-r--r--nova/tests/test_virt.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/nova/tests/test_virt.py b/nova/tests/test_virt.py
index b214f5ce7..fab05de10 100644
--- a/nova/tests/test_virt.py
+++ b/nova/tests/test_virt.py
@@ -227,6 +227,42 @@ class LibvirtConnTestCase(test.TestCase):
self._check_xml_and_uri(instance_data, expect_kernel=True,
expect_ramdisk=True, rescue=True)
+ def test_lxc_container_and_uri(self):
+ instance_data = dict(self.test_instace)
+ self._check_xml_and_container(instance_data)
+
+ def _check_xml_and_container(self, instance):
+ user_context = context.RequestContext(project=self.project,
+ user=self.user)
+ instance_ref = db.instance_create(user_context,instance)
+ host = self.network.get_network_host(user_context.elevated())
+ network_ref= db.project_get_network(context.get_admin_context(),
+ self.project.id)
+
+ fixed_ip = {'address': self.test_ip,
+ 'network_id': network_ref['id']}
+
+ ctxt = context.get_admin_context()
+ fixed_ip_ref = db.fixed_ip_create(ctxt, fixed_ip)
+ db.fixed_ip_update(ctxt, self.test_ip,
+ {'allocated': True,
+ 'instance_id': instance_ref['id']})
+
+ FLAGS.libvirt_type = 'lxc'
+ self.assertEquals(uri, 'lxc:///')
+
+ xml = conn.to_xml(instance_ref)
+ tree = xml_to_tree(xml)
+
+ check = [
+ (lambda t: t.find('.').get('type'), 'lxc'),
+ (lambda t: t.find('./os/type').text, 'exe')
+ ]
+
+ for i (check, expected_result) in enumerate(check):
+ self.aseertEqual(check(time),
+ expected_result,
+ '%s failed common check %d' % (xml, i))
def _check_xml_and_uri(self, instance, expect_ramdisk, expect_kernel,
rescue=False):
user_context = context.RequestContext(project=self.project,