]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
tasks/cephfs: fix timing in test_full
authorJohn Spray <jspray@redhat.com>
Wed, 27 May 2015 11:40:49 +0000 (12:40 +0100)
committerJohn Spray <jspray@redhat.com>
Wed, 27 May 2015 11:40:49 +0000 (12:40 +0100)
The interval between writes was too short because
it was not taking account of the way OSDMap full
flags are set on tick rather than immediately.

Fixes: #11779
Signed-off-by: John Spray <john.spray@redhat.com>
tasks/cephfs/test_full.py

index d1de78033d87edea9f54310d6333de64fee66bdd..3bba361c9bce22e56b86a3152cf54690c4da512f 100644 (file)
@@ -207,12 +207,16 @@ class FullnessTestCase(CephFSTestCase):
 
         # Enough to trip the full flag
         osd_mon_report_interval_max = int(self.fs.get_config("osd_mon_report_interval_max", service_type='osd'))
+        mon_tick_interval = int(self.fs.get_config("mon_tick_interval", service_type="mon"))
 
         # Sufficient data to cause RADOS cluster to go 'full'
         log.info("pool capacity {0}, {1}MB should be enough to fill it".format(self.pool_capacity, self.fill_mb))
 
         # Long enough for RADOS cluster to notice it is full and set flag on mons
-        full_wait = osd_mon_report_interval_max * 1.5
+        # (report_interval for mon to learn PG stats, tick interval for it to update OSD map,
+        #  factor of 1.5 for I/O + network latency in committing OSD map and distributing it
+        #  to the OSDs)
+        full_wait = (osd_mon_report_interval_max + mon_tick_interval) * 1.5
 
         # Configs for this test should bring this setting down in order to
         # run reasonably quickly