]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
tests: generic ceph-disk qa check_osd_status
authorLoic Dachary <ldachary@redhat.com>
Thu, 28 Jan 2016 06:48:00 +0000 (13:48 +0700)
committerLoic Dachary <ldachary@redhat.com>
Thu, 4 Feb 2016 07:38:08 +0000 (14:38 +0700)
The helper function no longer has journal hardcoded.

Signed-off-by: Loic Dachary <loic@dachary.org>
qa/workunits/ceph-disk/ceph-disk-test.py

index f36055d8073e4274c88b3885e46801ea95639349..8ab50b91b54c80c0d5822b7c39bbae107e96aac0 100644 (file)
@@ -130,19 +130,22 @@ class CephDisk:
         raise Exception("uuid = " + uuid + " not found in " + str(disks))
 
     def get_journal_partition(self, uuid):
+        return self.get_space_partition('journal', uuid)
+
+    def get_space_partition(self, name, uuid):
         data_partition = self.get_osd_partition(uuid)
-        journal_dev = data_partition['journal_dev']
+        space_dev = data_partition[name + '_dev']
         disks = json.loads(self.sh("ceph-disk list --format json"))
         for disk in disks:
             if 'partitions' in disk:
                 for partition in disk['partitions']:
-                    if partition['path'] == journal_dev:
-                        if 'journal_for' in partition:
+                    if partition['path'] == space_dev:
+                        if name + '_for' in partition:
                             assert partition[
-                                'journal_for'] == data_partition['path']
+                                name + '_for'] == data_partition['path']
                         return partition
         raise Exception(
-            "journal for uuid = " + uuid + " not found in " + str(disks))
+            name + " for uuid = " + uuid + " not found in " + str(disks))
 
     def destroy_osd(self, uuid):
         id = self.sh("ceph osd create " + uuid).strip()
@@ -187,13 +190,13 @@ class CephDisk:
             time.sleep(delay)
         raise Exception('timeout waiting for osd ' + uuid + ' to be ' + info)
 
-    def check_osd_status(self, uuid, have_journal=False):
+    def check_osd_status(self, uuid, space_name=None):
         data_partition = self.get_osd_partition(uuid)
         assert data_partition['type'] == 'data'
         assert data_partition['state'] == 'active'
-        if have_journal:
-            journal_partition = self.get_journal_partition(uuid)
-            assert journal_partition
+        if space_name is not None:
+            space_partition = self.get_space_partition(space_name, uuid)
+            assert space_partition
 
 
 class TestCephDisk(object):
@@ -215,7 +218,6 @@ class TestCephDisk(object):
 
     def test_deactivate_reactivate_osd(self):
         c = CephDisk()
-        have_journal = True
         disk = c.unused_disks()[0]
         osd_uuid = str(uuid.uuid1())
         c.sh("ceph-disk --verbose zap " + disk)
@@ -224,7 +226,7 @@ class TestCephDisk(object):
         c.wait_for_osd_up(osd_uuid)
         device = json.loads(c.sh("ceph-disk list --format json " + disk))[0]
         assert len(device['partitions']) == 2
-        c.check_osd_status(osd_uuid, have_journal)
+        c.check_osd_status(osd_uuid, 'journal')
         data_partition = c.get_osd_partition(osd_uuid)
         c.sh("ceph-disk --verbose deactivate " + data_partition['path'])
         c.wait_for_osd_down(osd_uuid)
@@ -233,7 +235,7 @@ class TestCephDisk(object):
         c.wait_for_osd_up(osd_uuid)
         device = json.loads(c.sh("ceph-disk list --format json " + disk))[0]
         assert len(device['partitions']) == 2
-        c.check_osd_status(osd_uuid, have_journal)
+        c.check_osd_status(osd_uuid, 'journal')
         c.helper("pool_read_write")
         c.destroy_osd(osd_uuid)
 
@@ -272,7 +274,6 @@ class TestCephDisk(object):
 
     def activate_reactivate_dmcrypt(self, type):
         c = CephDisk()
-        have_journal = True
         disk = c.unused_disks()[0]
         osd_uuid = str(uuid.uuid1())
         journal_uuid = str(uuid.uuid1())
@@ -283,14 +284,14 @@ class TestCephDisk(object):
              " --dmcrypt " +
              " " + disk)
         c.wait_for_osd_up(osd_uuid)
-        c.check_osd_status(osd_uuid, have_journal)
+        c.check_osd_status(osd_uuid, 'journal')
         data_partition = c.get_osd_partition(osd_uuid)
         c.sh("ceph-disk --verbose deactivate " + data_partition['path'])
         c.wait_for_osd_down(osd_uuid)
         c.sh("ceph-disk --verbose activate-journal " + data_partition['journal_dev'] +
              " --reactivate" + " --dmcrypt")
         c.wait_for_osd_up(osd_uuid)
-        c.check_osd_status(osd_uuid, have_journal)
+        c.check_osd_status(osd_uuid, 'journal')
         c.destroy_osd(osd_uuid)
 
     def test_activate_dmcrypt_plain(self):
@@ -306,7 +307,6 @@ class TestCephDisk(object):
 
     def activate_dmcrypt(self, type):
         c = CephDisk()
-        have_journal = True
         disk = c.unused_disks()[0]
         osd_uuid = str(uuid.uuid1())
         journal_uuid = str(uuid.uuid1())
@@ -317,7 +317,7 @@ class TestCephDisk(object):
              " --dmcrypt " +
              " " + disk)
         c.wait_for_osd_up(osd_uuid)
-        c.check_osd_status(osd_uuid, have_journal)
+        c.check_osd_status(osd_uuid, 'journal')
         c.destroy_osd(osd_uuid)
 
     def test_activate_no_journal(self):
@@ -340,9 +340,8 @@ class TestCephDisk(object):
         c.destroy_osd(osd_uuid)
         c.save_conf()
 
-    def test_activate_with_journal(self):
+    def test_activate_with_journal_dev_no_symlink(self):
         c = CephDisk()
-        have_journal = True
         disk = c.unused_disks()[0]
         osd_uuid = str(uuid.uuid1())
         c.sh("ceph-disk --verbose zap " + disk)
@@ -351,7 +350,7 @@ class TestCephDisk(object):
         c.wait_for_osd_up(osd_uuid)
         device = json.loads(c.sh("ceph-disk list --format json " + disk))[0]
         assert len(device['partitions']) == 2
-        c.check_osd_status(osd_uuid, have_journal)
+        c.check_osd_status(osd_uuid, 'journal')
         c.helper("pool_read_write")
         c.destroy_osd(osd_uuid)
 
@@ -410,7 +409,6 @@ class TestCephDisk(object):
 
     def activate_separated_journal(self, data_disk, journal_disk):
         c = CephDisk()
-        have_journal = True
         osd_uuid = str(uuid.uuid1())
         c.sh("ceph-disk --verbose prepare --osd-uuid " + osd_uuid +
              " " + data_disk + " " + journal_disk)
@@ -418,7 +416,7 @@ class TestCephDisk(object):
         device = json.loads(
             c.sh("ceph-disk list --format json " + data_disk))[0]
         assert len(device['partitions']) == 1
-        c.check_osd_status(osd_uuid, have_journal)
+        c.check_osd_status(osd_uuid, 'journal')
         return osd_uuid
 
     #