summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorEric Harney <eharney@redhat.com>2013-02-01 15:08:27 -0500
committerEric Harney <eharney@redhat.com>2013-02-13 11:35:21 -0500
commit8cf0178165dec3eac002159fd01af6930322bebb (patch)
tree6ad73796888ddc44bd65b390e48ae819686ce4d0 /nova/tests
parent635faddd3744179b0b87666c08e50b97366bfe3e (diff)
Add GlusterFS libvirt volume connector
This is to support GlusterFS as a storage backend for Cinder, which works similarly to the NFS backend. Change-Id: I047d58ba74d27273ba8f2639bcc77999f8be0f30
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/test_libvirt_volume.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/nova/tests/test_libvirt_volume.py b/nova/tests/test_libvirt_volume.py
index c0fa53506..0098215b2 100644
--- a/nova/tests/test_libvirt_volume.py
+++ b/nova/tests/test_libvirt_volume.py
@@ -392,3 +392,31 @@ class LibvirtVolumeTestCase(test.TestCase):
self.assertEqual(tree.get('type'), 'block')
self.assertEqual(tree.find('./source').get('dev'), aoedevpath)
libvirt_driver.disconnect_volume(connection_info, "vde")
+
+ def test_libvirt_glusterfs_driver(self):
+ mnt_base = '/mnt'
+ self.flags(glusterfs_mount_point_base=mnt_base)
+
+ libvirt_driver = volume.LibvirtGlusterfsVolumeDriver(self.fake_conn)
+ export_string = '192.168.1.1:/volume-00001'
+ name = 'volume-00001'
+ export_mnt_base = os.path.join(mnt_base,
+ libvirt_driver.get_hash_str(export_string))
+ file_path = os.path.join(export_mnt_base, name)
+
+ connection_info = {'data': {'export': export_string, 'name': name}}
+ disk_info = {
+ "bus": "virtio",
+ "dev": "vde",
+ "type": "disk",
+ }
+ conf = libvirt_driver.connect_volume(connection_info, disk_info)
+ tree = conf.format_dom()
+ self.assertEqual(tree.get('type'), 'file')
+ self.assertEqual(tree.find('./source').get('file'), file_path)
+ libvirt_driver.disconnect_volume(connection_info, "vde")
+
+ expected_commands = [
+ ('stat', export_mnt_base),
+ ('mount', '-t', 'glusterfs', export_string, export_mnt_base)]
+ self.assertEqual(self.executes, expected_commands)