]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
qa/cephfs: Test filtered df
authorDouglas Fuller <dfuller@redhat.com>
Thu, 27 Jul 2017 18:08:46 +0000 (14:08 -0400)
committerDouglas Fuller <dfuller@redhat.com>
Thu, 3 Aug 2017 18:11:47 +0000 (14:11 -0400)
Add a test for filtered df for file systems with single data pools.

Signed-off-by: Douglas Fuller <dfuller@redhat.com>
qa/tasks/cephfs/test_misc.py

index 2774423dafb3a327a85d84ee0be3ca45f4a8e109..77ca07a194a1824bb663be2461088b219f62ced5 100644 (file)
@@ -5,6 +5,7 @@ from tasks.cephfs.cephfs_test_case import CephFSTestCase
 from teuthology.orchestra.run import CommandFailedError
 import errno
 import time
+import json
 
 
 class TestMisc(CephFSTestCase):
@@ -130,3 +131,21 @@ class TestMisc(CephFSTestCase):
         time.sleep(self.mds_session_autoclose * 1.5)
         ls_data = self.fs.mds_asok(['session', 'ls'])
         self.assert_session_count(1, ls_data)
+
+    def test_filtered_df(self):
+        pool_name = self.fs.get_data_pool_name()
+        raw_df = self.fs.get_pool_df(pool_name)
+        raw_avail = float(raw_df["max_avail"])
+        out = self.fs.mon_manager.raw_cluster_cmd('osd', 'pool', 'get',
+                                                  pool_name, 'size',
+                                                  '-f', 'json-pretty')
+        j = json.loads(out)
+        pool_size = int(j['size'])
+
+        proc = self.mount_a.run_shell(['df', '.'])
+        output = proc.stdout.getvalue()
+        fs_avail = output.split('\n')[1].split()[3]
+        fs_avail = float(fs_avail) * 1024
+
+        ratio = (raw_avail / pool_size) / fs_avail
+        assert 0.9 < ratio < 1.1