]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
test: add test to verify adding an active peer back to source
authorVenky Shankar <vshankar@redhat.com>
Thu, 22 Apr 2021 08:48:48 +0000 (04:48 -0400)
committerVenky Shankar <vshankar@redhat.com>
Mon, 21 Jun 2021 04:43:48 +0000 (00:43 -0400)
Fixes: http://tracker.ceph.com/issues/50447
Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit 074f55006edb605b35e3c9c20cdc70c4fa8d96e9)

qa/tasks/cephfs/test_mirroring.py

index ea41d071bc7707f0106c7981bc67bfff80d8a06b..6ea3d5d3022550caa05e8eae63206609493bf399 100644 (file)
@@ -26,6 +26,7 @@ class TestMirroring(CephFSTestCase):
         self.primary_fs_name = self.fs.name
         self.primary_fs_id = self.fs.id
         self.secondary_fs_name = self.backup_fs.name
+        self.secondary_fs_id = self.backup_fs.id
         self.enable_mirroring_module()
 
     def tearDown(self):
@@ -1149,3 +1150,19 @@ class TestMirroring(CephFSTestCase):
         self.verify_snapshot(repo_path, 'snap_b')
 
         self.disable_mirroring(self.primary_fs_name, self.primary_fs_id)
+
+    def test_cephfs_mirror_peer_add_primary(self):
+        self.enable_mirroring(self.primary_fs_name, self.primary_fs_id)
+        self.peer_add(self.primary_fs_name, self.primary_fs_id, "client.mirror_remote@ceph", self.secondary_fs_name)
+
+        # try adding the primary file system as a peer to secondary file
+        # system
+        try:
+            self.peer_add(self.secondary_fs_name, self.secondary_fs_id, "client.mirror_remote@ceph", self.primary_fs_name)
+        except CommandFailedError as ce:
+            if ce.exitstatus != errno.EINVAL:
+                raise RuntimeError('invalid errno when adding a primary file system')
+        else:
+            raise RuntimeError('adding peer should fail')
+
+        self.disable_mirroring(self.primary_fs_name, self.primary_fs_id)