[lvm-devel] master - lvmdbusd: Add test for DataLv & MetaDataLv
tasleson
tasleson at fedoraproject.org
Fri Jun 10 21:06:37 UTC 2016
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=a1febff85783b46b5b044bce6f29ece8413ce934
Commit: a1febff85783b46b5b044bce6f29ece8413ce934
Parent: cdf06044e189ec1adeaba101a21598c31752b9cd
Author: Tony Asleson <tasleson at redhat.com>
AuthorDate: Fri Jun 10 13:36:53 2016 -0500
Committer: Tony Asleson <tasleson at redhat.com>
CommitterDate: Fri Jun 10 16:05:03 2016 -0500
lvmdbusd: Add test for DataLv & MetaDataLv
Added tests which expose an issue found with these properties.
---
test/dbus/lvmdbustest.py | 60 +++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 57 insertions(+), 3 deletions(-)
diff --git a/test/dbus/lvmdbustest.py b/test/dbus/lvmdbustest.py
index 4c58552..0cb3bb6 100755
--- a/test/dbus/lvmdbustest.py
+++ b/test/dbus/lvmdbustest.py
@@ -158,6 +158,58 @@ class TestDbusService(unittest.TestCase):
self.assertTrue(rc == '/')
self.assertEqual(self._refresh(), 0)
+
+ def _create_raid5_thin_pool(self, vg = None):
+
+ if not vg:
+ pv_paths = []
+ for pp in self.objs[PV_INT]:
+ pv_paths.append(pp.object_path)
+
+ vg = self._vg_create(pv_paths).Vg
+
+ lv_meta_path = vg.LvCreateRaid(
+ "meta_r5", "raid5", mib(4), 0, 0, -1, {})[0]
+
+ lv_data_path = vg.LvCreateRaid(
+ "data_r5", "raid5", mib(16), 0, 0, -1, {})[0]
+
+ thin_pool_path = vg.CreateThinPool(
+ lv_meta_path, lv_data_path, -1, {})[0]
+
+ # Get thin pool client proxy
+ thin_pool = ClientProxy(self.bus, thin_pool_path)
+
+ return vg, thin_pool
+
+ def test_meta_lv_data_lv_props(self):
+ # Ensure that metadata lv and data lv for thin pools and cache pools
+ # point to a valid LV
+ (vg, thin_pool) = self._create_raid5_thin_pool()
+
+ # Check properties on thin pool
+ self.assertTrue(thin_pool.ThinPool.DataLv != '/')
+ self.assertTrue(thin_pool.ThinPool.MetaDataLv != '/')
+
+ (vg, cache_pool) = self._create_cache_pool(vg)
+
+ self.assertTrue(cache_pool.CachePool.DataLv != '/')
+ self.assertTrue(cache_pool.CachePool.MetaDataLv != '/')
+
+ # Cache the thin pool
+ cached_thin_pool_path = cache_pool.\
+ CachePool.CacheLv(thin_pool.object_path, -1, {})[0]
+
+
+ # Get object proxy for cached thin pool
+ cached_thin_pool_object = ClientProxy(self.bus, cached_thin_pool_path)
+
+ # Check properties on cache pool
+ self.assertTrue(cached_thin_pool_object.ThinPool.DataLv != '/')
+ self.assertTrue(cached_thin_pool_object.ThinPool.MetaDataLv != '/')
+
+ self.assertTrue(cached_thin_pool_path != '/')
+
def _lookup(self, lvm_id):
return self.objs[MANAGER_INT][0].Manager.LookUpByLvmId(lvm_id)
@@ -974,8 +1026,10 @@ class TestDbusService(unittest.TestCase):
self.assertTrue(job_path != '/')
self._wait_for_job(job_path)
- def _create_cache_pool(self):
- vg = self._vg_create().Vg
+ def _create_cache_pool(self, vg=None):
+
+ if not vg:
+ vg = self._vg_create().Vg
md = self._create_lv(size=(mib(8)), vg=vg)
data = self._create_lv(size=(mib(8)), vg=vg)
@@ -985,7 +1039,7 @@ class TestDbusService(unittest.TestCase):
cp = ClientProxy(self.bus, cache_pool_path)
- return (vg, cp)
+ return vg, cp
def test_cache_pool_create(self):
More information about the lvm-devel
mailing list