[lvm-devel] master - lvmdbustest.py: Validate LV lookups
Tony Asleson
tasleson at sourceware.org
Wed Mar 1 23:58:58 UTC 2017
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=7b0371e74ecb4ceab18e937508daa66a8d636259
Commit: 7b0371e74ecb4ceab18e937508daa66a8d636259
Parent: 83249f332709037256bf0f3c7c3d3663addaffc6
Author: Tony Asleson <tasleson at redhat.com>
AuthorDate: Wed Mar 1 17:26:23 2017 -0600
Committer: Tony Asleson <tasleson at redhat.com>
CommitterDate: Wed Mar 1 17:47:04 2017 -0600
lvmdbustest.py: Validate LV lookups
Ensure that the LV lookups work as expected for newly created LVs.
---
test/dbus/lvmdbustest.py | 108 ++++++++++++++++++++++++++++++++--------------
1 files changed, 76 insertions(+), 32 deletions(-)
diff --git a/test/dbus/lvmdbustest.py b/test/dbus/lvmdbustest.py
index 800f590..c0a3d64 100755
--- a/test/dbus/lvmdbustest.py
+++ b/test/dbus/lvmdbustest.py
@@ -267,6 +267,9 @@ class TestDbusService(unittest.TestCase):
def _create_raid5_thin_pool(self, vg=None):
+ meta_name = "meta_r5"
+ data_name = "data_r5"
+
if not vg:
pv_paths = []
for pp in self.objs[PV_INT]:
@@ -276,7 +279,7 @@ class TestDbusService(unittest.TestCase):
lv_meta_path = self.handle_return(
vg.LvCreateRaid(
- dbus.String("meta_r5"),
+ dbus.String(meta_name),
dbus.String("raid5"),
dbus.UInt64(mib(4)),
dbus.UInt32(0),
@@ -284,10 +287,11 @@ class TestDbusService(unittest.TestCase):
dbus.Int32(g_tmo),
EOD)
)
+ self._validate_lookup("%s/%s" % (vg.Name, meta_name), lv_meta_path)
lv_data_path = self.handle_return(
vg.LvCreateRaid(
- dbus.String("data_r5"),
+ dbus.String(data_name),
dbus.String("raid5"),
dbus.UInt64(mib(16)),
dbus.UInt32(0),
@@ -296,6 +300,8 @@ class TestDbusService(unittest.TestCase):
EOD)
)
+ self._validate_lookup("%s/%s" % (vg.Name, data_name), lv_data_path)
+
thin_pool_path = self.handle_return(
vg.CreateThinPool(
dbus.ObjectPath(lv_meta_path),
@@ -492,6 +498,9 @@ class TestDbusService(unittest.TestCase):
dbus.Int32(g_tmo),
EOD))
+ self._validate_lookup(
+ "%s/%s" % (vg_name_start, lv_name), thin_lv_path)
+
self.assertTrue(thin_lv_path != '/')
full_name = "%s/%s" % (vg_name_start, lv_name)
@@ -549,75 +558,88 @@ class TestDbusService(unittest.TestCase):
return lv
def test_lv_create(self):
+ lv_name = lv_n()
vg = self._vg_create().Vg
- self._test_lv_create(
+ lv = self._test_lv_create(
vg.LvCreate,
- (dbus.String(lv_n()), dbus.UInt64(mib(4)),
+ (dbus.String(lv_name), dbus.UInt64(mib(4)),
dbus.Array([], signature='(ott)'), dbus.Int32(g_tmo),
EOD), vg, LV_BASE_INT)
+ self._validate_lookup("%s/%s" % (vg.Name, lv_name), lv.object_path)
def test_lv_create_job(self):
-
+ lv_name = lv_n()
vg = self._vg_create().Vg
(object_path, job_path) = vg.LvCreate(
- dbus.String(lv_n()), dbus.UInt64(mib(4)),
+ dbus.String(lv_name), dbus.UInt64(mib(4)),
dbus.Array([], signature='(ott)'), dbus.Int32(0),
EOD)
self.assertTrue(object_path == '/')
self.assertTrue(job_path != '/')
object_path = self._wait_for_job(job_path)
+
+ self._validate_lookup("%s/%s" % (vg.Name, lv_name), object_path)
self.assertTrue(object_path != '/')
def test_lv_create_linear(self):
+ lv_name = lv_n()
vg = self._vg_create().Vg
- self._test_lv_create(
+ lv = self._test_lv_create(
vg.LvCreateLinear,
- (dbus.String(lv_n()), dbus.UInt64(mib(4)), dbus.Boolean(False),
+ (dbus.String(lv_name), dbus.UInt64(mib(4)), dbus.Boolean(False),
dbus.Int32(g_tmo), EOD),
vg, LV_BASE_INT)
+ self._validate_lookup("%s/%s" % (vg.Name, lv_name), lv.object_path)
def test_lv_create_striped(self):
+ lv_name = lv_n()
pv_paths = []
for pp in self.objs[PV_INT]:
pv_paths.append(pp.object_path)
vg = self._vg_create(pv_paths).Vg
- self._test_lv_create(
+ lv = self._test_lv_create(
vg.LvCreateStriped,
- (dbus.String(lv_n()), dbus.UInt64(mib(4)),
+ (dbus.String(lv_name), dbus.UInt64(mib(4)),
dbus.UInt32(2), dbus.UInt32(8), dbus.Boolean(False),
dbus.Int32(g_tmo), EOD),
vg, LV_BASE_INT)
+ self._validate_lookup("%s/%s" % (vg.Name, lv_name), lv.object_path)
def test_lv_create_mirror(self):
+ lv_name = lv_n()
pv_paths = []
for pp in self.objs[PV_INT]:
pv_paths.append(pp.object_path)
vg = self._vg_create(pv_paths).Vg
- self._test_lv_create(
+ lv = self._test_lv_create(
vg.LvCreateMirror,
- (dbus.String(lv_n()), dbus.UInt64(mib(4)), dbus.UInt32(2),
+ (dbus.String(lv_name), dbus.UInt64(mib(4)), dbus.UInt32(2),
dbus.Int32(g_tmo), EOD), vg, LV_BASE_INT)
+ self._validate_lookup("%s/%s" % (vg.Name, lv_name), lv.object_path)
def test_lv_create_raid(self):
+ lv_name = lv_n()
pv_paths = []
for pp in self.objs[PV_INT]:
pv_paths.append(pp.object_path)
vg = self._vg_create(pv_paths).Vg
- self._test_lv_create(
+ lv = self._test_lv_create(
vg.LvCreateRaid,
- (dbus.String(lv_n()), dbus.String('raid5'), dbus.UInt64(mib(16)),
+ (dbus.String(lv_name), dbus.String('raid5'), dbus.UInt64(mib(16)),
dbus.UInt32(2), dbus.UInt32(8), dbus.Int32(g_tmo),
EOD),
vg,
LV_BASE_INT)
+ self._validate_lookup("%s/%s" % (vg.Name, lv_name), lv.object_path)
def _create_lv(self, thinpool=False, size=None, vg=None):
+ lv_name = lv_n()
interfaces = list(LV_BASE_INT)
if thinpool:
@@ -633,12 +655,15 @@ class TestDbusService(unittest.TestCase):
if size is None:
size = mib(4)
- return self._test_lv_create(
+ lv = self._test_lv_create(
vg.LvCreateLinear,
- (dbus.String(lv_n()), dbus.UInt64(size),
+ (dbus.String(lv_name), dbus.UInt64(size),
dbus.Boolean(thinpool), dbus.Int32(g_tmo), EOD),
vg, interfaces)
+ self._validate_lookup("%s/%s" % (vg.Name, lv_name), lv.object_path)
+ return lv
+
def test_lv_create_rounding(self):
self._create_lv(size=(mib(2) + 13))
@@ -682,26 +707,32 @@ class TestDbusService(unittest.TestCase):
# This returns a LV with the LV interface, need to get a proxy for
# thinpool interface too
- tp = self._create_lv(True)
+ vg = self._vg_create().Vg
+ tp = self._create_lv(thinpool=True, vg=vg)
+
+ lv_name = lv_n('_thin_lv')
thin_path = self.handle_return(
tp.ThinPool.LvCreate(
- dbus.String(lv_n('_thin_lv')),
+ dbus.String(lv_name),
dbus.UInt64(mib(8)),
dbus.Int32(g_tmo),
EOD)
)
+ self._validate_lookup("%s/%s" % (vg.Name, lv_name), thin_path)
lv = ClientProxy(self.bus, thin_path,
interfaces=(LV_COMMON_INT, LV_INT))
+ re_named = 'rename_test' + lv.LvCommon.Name
rc = self.handle_return(
lv.Lv.Rename(
- dbus.String('rename_test' + lv.LvCommon.Name),
+ dbus.String(re_named),
dbus.Int32(g_tmo),
EOD)
)
+ self._validate_lookup("%s/%s" % (vg.Name, re_named), thin_path)
self.assertTrue(rc == '/')
self._check_consistency()
@@ -753,18 +784,18 @@ class TestDbusService(unittest.TestCase):
def test_lv_create_pv_specific(self):
vg = self._vg_create().Vg
-
+ lv_name = lv_n()
pv = vg.Pvs
-
pvp = ClientProxy(self.bus, pv[0], interfaces=(PV_INT,))
- self._test_lv_create(
+ lv = self._test_lv_create(
vg.LvCreate, (
- dbus.String(lv_n()),
+ dbus.String(lv_name),
dbus.UInt64(mib(4)),
dbus.Array([[pvp.object_path, 0, (pvp.Pv.PeCount - 1)]],
signature='(ott)'),
dbus.Int32(g_tmo), EOD), vg, LV_BASE_INT)
+ self._validate_lookup("%s/%s" % (vg.Name, lv_name), lv.object_path)
def test_lv_resize(self):
@@ -951,17 +982,20 @@ class TestDbusService(unittest.TestCase):
vg_proxy = self._vg_create(pv_paths)
for i in range(0, num_lvs):
-
+ lv_name = lv_n()
vg_proxy.update()
if vg_proxy.Vg.FreeCount > 0:
- job = self.handle_return(
+ lv_path = self.handle_return(
vg_proxy.Vg.LvCreateLinear(
- dbus.String(lv_n()),
+ dbus.String(lv_name),
dbus.UInt64(mib(4)),
dbus.Boolean(False),
dbus.Int32(g_tmo),
EOD))
- self.assertTrue(job != '/')
+ self.assertTrue(lv_path != '/')
+ self._validate_lookup(
+ "%s/%s" % (vg_proxy.Vg.Name, lv_name), lv_path)
+
else:
# We ran out of space, test will probably fail
break
@@ -1070,15 +1104,18 @@ class TestDbusService(unittest.TestCase):
def test_lv_tags(self):
vg = self._vg_create().Vg
+ lv_name = lv_n()
lv = self._test_lv_create(
vg.LvCreateLinear,
- (dbus.String(lv_n()),
+ (dbus.String(lv_name),
dbus.UInt64(mib(4)),
dbus.Boolean(False),
dbus.Int32(g_tmo),
EOD),
vg, LV_BASE_INT)
+ self._validate_lookup("%s/%s" % (vg.Name, lv_name), lv.object_path)
+
t = ['Testing', 'tags']
self.handle_return(
@@ -1154,15 +1191,18 @@ class TestDbusService(unittest.TestCase):
def test_vg_activate_deactivate(self):
vg = self._vg_create().Vg
- self._test_lv_create(
+ lv_name = lv_n()
+ lv = self._test_lv_create(
vg.LvCreateLinear, (
- dbus.String(lv_n()),
+ dbus.String(lv_name),
dbus.UInt64(mib(4)),
dbus.Boolean(False),
dbus.Int32(g_tmo),
EOD),
vg, LV_BASE_INT)
+ self._validate_lookup("%s/%s" % (vg.Name, lv_name), lv.object_path)
+
vg.update()
rc = self.handle_return(
@@ -1367,15 +1407,19 @@ class TestDbusService(unittest.TestCase):
def test_snapshot_merge_thin(self):
# Create a thin LV, snapshot it and merge it
- tp = self._create_lv(True)
+ vg = self._vg_create().Vg
+ tp = self._create_lv(thinpool=True, vg=vg)
+ lv_name = lv_n('_thin_lv')
thin_path = self.handle_return(
tp.ThinPool.LvCreate(
- dbus.String(lv_n('_thin_lv')),
+ dbus.String(lv_name),
dbus.UInt64(mib(10)),
dbus.Int32(g_tmo),
EOD))
+ self._validate_lookup("%s/%s" % (vg.Name, lv_name), thin_path)
+
lv_p = ClientProxy(self.bus, thin_path,
interfaces=(LV_INT, LV_COMMON_INT))
More information about the lvm-devel
mailing list