]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
qa/standalone: Fix test_activate_osd() test in ceph-helpers.sh 45654/head
authorSridhar Seshasayee <sseshasa@redhat.com>
Fri, 25 Mar 2022 16:40:31 +0000 (22:10 +0530)
committerLaura Flores <lflores@redhat.com>
Fri, 25 Mar 2022 17:51:16 +0000 (12:51 -0500)
Modify test_activate_osd() to get the type of scheduler in use and then
verify the value of osd_max_backfills. This is because mclock scheduler
overrides this option to 1000 upon OSD initialization.

The test earlier used to pass because the OSD daemon was killed but not
marked down and upon being brought up, the wait for OSD up check was
passing quickly. But the OSD still didn't have the latest config values.

But now upon killing the OSD, the osd_fast_shutdown sequence notifies the
mon (see PR: https://github.com/ceph/ceph/pull/44807) and is marked down
and dead. Upon bringing it up, the wait for OSD up check takes a longer
time and this is sufficient for the config values to be updated. This
results in the correct values being read from the config 'Values' map.

Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
(cherry picked from commit 3aa2df2e0f6f5bafadc96fd72935e5cf8b2fcf17)

qa/standalone/ceph-helpers.sh

index d945ccf0707ee6d3c10b0fbfdac0034f7c347bde..58786e8c1a59d2ebc9f9dce79394af759eb044a6 100755 (executable)
@@ -896,9 +896,14 @@ function test_activate_osd() {
     kill_daemons $dir TERM osd || return 1
 
     activate_osd $dir 0 --osd-max-backfills 20 || return 1
+    local scheduler=$(get_op_scheduler 0)
     local backfills=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path osd.0) \
         config get osd_max_backfills)
-    test "$backfills" = '{"osd_max_backfills":"20"}' || return 1
+    if [ "$scheduler" = "mclock_scheduler" ]; then
+      test "$backfills" = '{"osd_max_backfills":"1000"}' || return 1
+    else
+      test "$backfills" = '{"osd_max_backfills":"20"}' || return 1
+    fi
 
     teardown $dir || return 1
 }