From b9d11af92bf105ef971d6c74e35dde191a45b130 Mon Sep 17 00:00:00 2001 From: Douglas Fuller Date: Thu, 27 Jul 2017 14:08:46 -0400 Subject: [PATCH] qa/cephfs: Test filtered df Add a test for filtered df for file systems with single data pools. Signed-off-by: Douglas Fuller --- qa/tasks/cephfs/test_misc.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/qa/tasks/cephfs/test_misc.py b/qa/tasks/cephfs/test_misc.py index 2774423dafb..77ca07a194a 100644 --- a/qa/tasks/cephfs/test_misc.py +++ b/qa/tasks/cephfs/test_misc.py @@ -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 -- 2.39.5