]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
tasks/cephfs: add Filesystem.delete_all
authorJohn Spray <john.spray@redhat.com>
Tue, 21 Jul 2015 15:30:38 +0000 (16:30 +0100)
committerJohn Spray <john.spray@redhat.com>
Fri, 2 Oct 2015 16:41:15 +0000 (17:41 +0100)
So that we can clear down filesysteems created by
someone other than ourselves (like vstart.sh)

Signed-off-by: John Spray <john.spray@redhat.com>
tasks/cephfs/cephfs_test_case.py
tasks/cephfs/filesystem.py

index 6608fa2ee22e96c9ce333101ef5a7def272b938b..da827923efdc2e12a40d6c07c4d8387ed7bc130f 100644 (file)
@@ -88,7 +88,7 @@ class CephFSTestCase(unittest.TestCase):
         # the filesystem rather than just doing a rm -rf of files
         self.fs.mds_stop()
         self.fs.mds_fail()
-        self.fs.delete()
+        self.fs.delete_all()
         self.fs.create()
 
         # In case the previous filesystem had filled up the RADOS cluster, wait for that
index 5215e1ce9d7b90ff2abbe214ddaf205b52e09303..da8be76258ff379e873b31c6f130c42706b26273 100644 (file)
@@ -77,12 +77,20 @@ class Filesystem(object):
         self.mon_manager.raw_cluster_cmd('osd', 'pool', 'create', 'data', pgs_per_fs_pool.__str__())
         self.mon_manager.raw_cluster_cmd('fs', 'new', 'default', 'metadata', 'data')
 
-    def delete(self):
-        self.mon_manager.raw_cluster_cmd('fs', 'rm', 'default', '--yes-i-really-mean-it')
-        self.mon_manager.raw_cluster_cmd('osd', 'pool', 'delete',
-                                  'metadata', 'metadata', '--yes-i-really-really-mean-it')
-        self.mon_manager.raw_cluster_cmd('osd', 'pool', 'delete',
-                                  'data', 'data', '--yes-i-really-really-mean-it')
+    def delete_all(self):
+        """
+        Remove all filesystems that exist, and any pools in use by them.
+        """
+        fs_list = json.loads(self.mon_manager.raw_cluster_cmd('fs', 'ls', '--format=json-pretty'))
+        for fs_data in fs_list:
+            self.mon_manager.raw_cluster_cmd('fs', 'rm', fs_data['name'], '--yes-i-really-mean-it')
+            self.mon_manager.raw_cluster_cmd('osd', 'pool', 'delete',
+                                             fs_data['metadata_pool'], fs_data['metadata_pool'],
+                                             '--yes-i-really-really-mean-it')
+            for data_pool in fs_data['data_pools']:
+                self.mon_manager.raw_cluster_cmd('osd', 'pool', 'delete',
+                                                 data_pool, data_pool,
+                                                 '--yes-i-really-really-mean-it')
 
     def legacy_configured(self):
         """