]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
qa/standalone: osd-backfill-space.sh wip-ksirivad-fix-74524
authorKamoltat (Junior) Sirivadhna <ksirivad@redhat.com>
Wed, 11 Feb 2026 22:53:59 +0000 (22:53 +0000)
committerKamoltat (Junior) Sirivadhna <ksirivad@redhat.com>
Tue, 17 Feb 2026 19:50:19 +0000 (19:50 +0000)
Problem:
In TEST_backfill_test_sametarget
test fails to keep 1 PG at backfill-toofull
and 1 PG at active+clean due to not giving enough
time from 1 backfill to the other

In TEST_ec_backfill_multi
Similar to the test_sametarget above, not enough
time from 1 backfill to the other

Solution:
Give more time gap between one backfill request
from another using sleep <duration> bash command

Fixes: https://tracker.ceph.com/issues/74524
Signed-off-by: Kamoltat (Junior) Sirivadhna <ksirivad@redhat.com>
qa/standalone/osd-backfill/osd-backfill-space.sh

index 84b9703bbfc8144eef0cc6535cd6d07f7e09cb8f..4f3887cb23bc051a22d37564446b1b7acaf4d7ce 100755 (executable)
@@ -290,7 +290,7 @@ function TEST_backfill_test_multi() {
 # Set size back to 2
 # The 2 pools should race to backfill.
 # One pool goes active+clean
-# The other goes acitve+...+backfill_toofull
+# The other goes active+...+backfill_toofull
 function TEST_backfill_test_sametarget() {
     local dir=$1
     local pools=10
@@ -311,6 +311,7 @@ function TEST_backfill_test_sametarget() {
     do
       create_pool "${poolprefix}$p" 1 1
       ceph osd pool set "${poolprefix}$p" size 2
+      ceph osd pool set "${poolprefix}$p" pg_autoscale_mode off
     done
     sleep 5
 
@@ -346,6 +347,7 @@ function TEST_backfill_test_sametarget() {
         PG2="${p}.0"
         POOLNUM2=$p
         pool2="${poolprefix}$p"
+        echo "Found pools $pool1 and $pool2 with same non-primary osd $chk_osd2"
         break
       fi
     done
@@ -373,11 +375,12 @@ function TEST_backfill_test_sametarget() {
     dd if=/dev/urandom of=$dir/datafile bs=1024 count=4
     for i in $(seq 1 $objects)
     do
-       rados -p $pool1 put obj$i $dir/datafile
+             rados -p $pool1 put obj$i $dir/datafile
         rados -p $pool2 put obj$i $dir/datafile
     done
 
     ceph osd pool set $pool1 size 2
+    sleep 10
     ceph osd pool set $pool2 size 2
     sleep 30
 
@@ -396,7 +399,7 @@ function TEST_backfill_test_sametarget() {
       echo "One didn't finish backfill"
       ERRORS="$(expr $ERRORS + 1)"
     fi
-
+    ceph osd df
     ceph pg dump pgs
 
     if [ $ERRORS != "0" ];
@@ -823,6 +826,7 @@ function TEST_ec_backfill_multi() {
     for p in $(seq 1 $pools)
     do
       ceph osd pg-upmap $(expr $p + 1).0 ${nonfillosds% *} $fillosd
+      sleep 10
     done
 
     sleep 30