]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
qa/standalone/misc: make less noise for asok calculation 67096/head
authorKyr Shatskyy <kyrylo.shatskyy@clyso.com>
Tue, 27 Jan 2026 18:17:04 +0000 (19:17 +0100)
committerKefu Chai <k.chai@proxmox.com>
Sat, 4 Apr 2026 05:22:21 +0000 (13:22 +0800)
The $() notation not only calls the function, it also creates subshell,
which is a separate process. Additionally in debug mode all the content
of the function get_asok_path is printed out in the logs each time
whenever it is called, for example:

    ...stderr://home/ubuntu/cephtest/clone.client.0/qa/standalone/ceph-helpers.sh:552: run_mgr:  get_asok_path
    ...stderr://home/ubuntu/cephtest/clone.client.0/qa/standalone/ceph-helpers.sh:107: get_asok_path:  local name=
    ...stderr://home/ubuntu/cephtest/clone.client.0/qa/standalone/ceph-helpers.sh:108: get_asok_path:  '[' -n '' ']'
    ...stderr:///home/ubuntu/cephtest/clone.client.0/qa/standalone/ceph-helpers.sh:111: get_asok_path:  get_asok_dir
    ...stderr:///home/ubuntu/cephtest/clone.client.0/qa/standalone/ceph-helpers.sh:99: get_asok_dir:  '[' -n '' ']'
    ...stderr:///home/ubuntu/cephtest/clone.client.0/qa/standalone/ceph-helpers.sh:102: get_asok_dir:  echo /tmp/ceph-asok.48301
    ...stderr://home/ubuntu/cephtest/clone.client.0/qa/standalone/ceph-helpers.sh:111: get_asok_path:  echo '/tmp/ceph-asok.48301/$cluster-$name.asok'

Instead of calling get_asok_path each time we need to define osd.0,
etc. asok file path, we just predefine corresponding variables.
It not only avoids extra resource usage, but also removes a lot of
noise from the logs.

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@clyso.com>
qa/standalone/ceph-helpers.sh
qa/standalone/misc/mclock-config.sh

index aa020891d090af8dcd37e0f52c5d8b8fef234cce..ff0fa67e3d8721b04589d8204037459e5718ae5f 100755 (executable)
@@ -497,7 +497,8 @@ function test_run_mon() {
     run_osd $dir 2 || return 1
     create_rbd_pool || return 1
     ceph osd dump | grep "pool 1 'rbd'" || return 1
-    local size=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path mon.a) \
+    local mona=$(get_asok_path mon.a)
+    local size=$(CEPH_ARGS='' ceph --format=json daemon $mona \
         config get osd_pool_default_size)
     test "$size" = '{"osd_pool_default_size":"3"}' || return 1
 
@@ -507,14 +508,14 @@ function test_run_mon() {
     kill_daemons $dir || return 1
 
     run_mon $dir a --osd_pool_default_size=1 --mon_allow_pool_size_one=true || return 1
-    local size=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path mon.a) \
+    local size=$(CEPH_ARGS='' ceph --format=json daemon $mona \
         config get osd_pool_default_size)
     test "$size" = '{"osd_pool_default_size":"1"}' || return 1
     kill_daemons $dir || return 1
 
     CEPH_ARGS="$CEPH_ARGS --osd_pool_default_size=2" \
         run_mon $dir a || return 1
-    local size=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path mon.a) \
+    local size=$(CEPH_ARGS='' ceph --format=json daemon $mona \
         config get osd_pool_default_size)
     test "$size" = '{"osd_pool_default_size":"2"}' || return 1
     kill_daemons $dir || return 1
@@ -905,7 +906,8 @@ function test_activate_osd_after_mark_down() {
     run_mgr $dir x || return 1
 
     run_osd $dir 0 || return 1
-    local backfills=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path osd.0) \
+    local osd0=$(get_asok_path osd.0)
+    local backfills=$(CEPH_ARGS='' ceph --format=json daemon $osd0 \
         config get osd_max_backfills)
     echo "$backfills" | grep --quiet 'osd_max_backfills' || return 1
 
@@ -914,7 +916,7 @@ function test_activate_osd_after_mark_down() {
     wait_for_osd down 0 || return 1
 
     activate_osd $dir 0 --osd-max-backfills 20 || return 1
-    local backfills=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path osd.0) \
+    local backfills=$(CEPH_ARGS='' ceph --format=json daemon $osd0 \
         config get osd_max_backfills)
     test "$backfills" = '{"osd_max_backfills":"20"}' || return 1
 
@@ -929,13 +931,14 @@ function test_activate_osd_skip_benchmark() {
     run_mon $dir a || return 1
     run_mgr $dir x || return 1
 
+    local osd0=$(get_asok_path osd.0)
     # Skip the osd benchmark during first osd bring-up.
     run_osd $dir 0 --osd-op-queue=mclock_scheduler \
         --osd-mclock-skip-benchmark=true || return 1
     local max_iops_hdd_def=$(CEPH_ARGS='' ceph --format=json daemon \
-        $(get_asok_path osd.0) config get osd_mclock_max_capacity_iops_hdd)
+        $osd0 config get osd_mclock_max_capacity_iops_hdd)
     local max_iops_ssd_def=$(CEPH_ARGS='' ceph --format=json daemon \
-        $(get_asok_path osd.0) config get osd_mclock_max_capacity_iops_ssd)
+        $osd0 config get osd_mclock_max_capacity_iops_ssd)
 
     kill_daemons $dir TERM osd || return 1
     ceph osd down 0 || return 1
@@ -946,9 +949,9 @@ function test_activate_osd_skip_benchmark() {
     activate_osd $dir 0 --osd-op-queue=mclock_scheduler \
         --osd-mclock-skip-benchmark=true || return 1
     local max_iops_hdd_after_boot=$(CEPH_ARGS='' ceph --format=json daemon \
-        $(get_asok_path osd.0) config get osd_mclock_max_capacity_iops_hdd)
+        $osd0 config get osd_mclock_max_capacity_iops_hdd)
     local max_iops_ssd_after_boot=$(CEPH_ARGS='' ceph --format=json daemon \
-        $(get_asok_path osd.0) config get osd_mclock_max_capacity_iops_ssd)
+        $osd0 config get osd_mclock_max_capacity_iops_ssd)
 
     test "$max_iops_hdd_def" = "$max_iops_hdd_after_boot" || return 1
     test "$max_iops_ssd_def" = "$max_iops_ssd_after_boot" || return 1
@@ -1117,8 +1120,9 @@ function get_config() {
     local id=$2
     local config=$3
 
+    local daemon_asok=$(get_asok_path $daemon.$id)
     CEPH_ARGS='' \
-        ceph --format json daemon $(get_asok_path $daemon.$id) \
+        ceph --format json daemon $daemon_asok \
         config get $config 2> /dev/null | \
         jq -r ".$config"
 }
@@ -1154,7 +1158,8 @@ function set_config() {
     local config=$3
     local value=$4
 
-    test $(env CEPH_ARGS='' ceph --format json daemon $(get_asok_path $daemon.$id) \
+    local daemon_asok=$(get_asok_path $daemon.$id)
+    test $(env CEPH_ARGS='' ceph --format json daemon $daemon_asok \
                config set $config $value 2> /dev/null | \
            jq 'has("success")') == true
 }
@@ -2527,7 +2532,8 @@ function inject_eio() {
     type=$(cat $dir/$osd_id/type)
     set_config osd $osd_id ${type}_debug_inject_read_err true || return 1
     local loop=0
-    while ( CEPH_ARGS='' ceph --admin-daemon $(get_asok_path osd.$osd_id) \
+    local osd_asok=$(get_asok_path osd.$osd_id)
+    while ( CEPH_ARGS='' ceph --admin-daemon $osd_asok \
              inject${which}err $poolname $objname $shard_id | grep -q Invalid ); do
         loop=$(expr $loop + 1)
         if [ $loop = "10" ]; then
index 4ff8ef4d577917b9776028468397dbe7d130e0dd..3aa557e915132b3d85c519e9c4e598a7446859bb 100755 (executable)
@@ -46,9 +46,10 @@ function TEST_profile_builtin_to_custom() {
     local mclock_profile=$(ceph config get osd.0 osd_mclock_profile)
     test "$mclock_profile" = "balanced" || return 1
 
+    local osd0=$(get_asok_path osd.0)
     # Verify the running mClock profile
     mclock_profile=$(CEPH_ARGS='' ceph --format=json daemon \
-      $(get_asok_path osd.0) config get osd_mclock_profile |\
+      $osd0 config get osd_mclock_profile |\
       jq .osd_mclock_profile)
     mclock_profile=$(eval echo $mclock_profile)
     test "$mclock_profile" = "high_recovery_ops" || return 1
@@ -57,14 +58,14 @@ function TEST_profile_builtin_to_custom() {
     ceph tell osd.0 config set osd_mclock_profile custom || return 1
 
     # Verify that the mclock profile is set to 'custom' on the OSDs
-    mclock_profile=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path \
-      osd.0) config get osd_mclock_profile | jq .osd_mclock_profile)
+    mclock_profile=$(CEPH_ARGS='' ceph --format=json daemon $osd0 \
+      config get osd_mclock_profile | jq .osd_mclock_profile)
     mclock_profile=$(eval echo $mclock_profile)
     test "$mclock_profile" = "custom" || return 1
 
     # Change a mclock config param and confirm the change
-    local client_res=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path \
-      osd.0) config get osd_mclock_scheduler_client_res | \
+    local client_res=$(CEPH_ARGS='' ceph --format=json daemon $osd0 \
+      config get osd_mclock_scheduler_client_res | \
       jq .osd_mclock_scheduler_client_res | bc)
     echo "client_res = $client_res"
     local client_res_new=$(echo "$client_res + 0.1" | bc -l)
@@ -79,8 +80,8 @@ function TEST_profile_builtin_to_custom() {
       return 1
     fi
     # Check value in the in-memory 'values' map
-    res=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path \
-      osd.0) config get osd_mclock_scheduler_client_res | \
+    res=$(CEPH_ARGS='' ceph --format=json daemon $osd0 \
+      config get osd_mclock_scheduler_client_res | \
       jq .osd_mclock_scheduler_client_res | bc)
     if (( $(echo "$res != $client_res_new" | bc -l) )); then
       return 1
@@ -102,9 +103,10 @@ function TEST_profile_custom_to_builtin() {
     def_mclock_profile=$(ceph config get osd.0 osd_mclock_profile)
     test "$def_mclock_profile" = "balanced" || return 1
 
+    local osd0=$(get_asok_path osd.0)
     # Verify the running mClock profile
     local orig_mclock_profile=$(CEPH_ARGS='' ceph --format=json daemon \
-      $(get_asok_path osd.0) config get osd_mclock_profile |\
+      $osd0 config get osd_mclock_profile |\
       jq .osd_mclock_profile)
     orig_mclock_profile=$(eval echo $orig_mclock_profile)
     test $orig_mclock_profile = "high_recovery_ops" || return 1
@@ -114,15 +116,15 @@ function TEST_profile_custom_to_builtin() {
 
     # Verify that the mclock profile is set to 'custom' on the OSDs
     local mclock_profile=$(CEPH_ARGS='' ceph --format=json daemon \
-      $(get_asok_path osd.0) config get osd_mclock_profile | \
+      $osd0 config get osd_mclock_profile | \
       jq .osd_mclock_profile)
     mclock_profile=$(eval echo $mclock_profile)
     test $mclock_profile = "custom" || return 1
 
     # Save the original client reservations allocated to the OSDs
     local client_res
-    client_res=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path \
-      osd.0) config get osd_mclock_scheduler_client_res | \
+    client_res=$(CEPH_ARGS='' ceph --format=json daemon $osd0 \
+      config get osd_mclock_scheduler_client_res | \
       jq .osd_mclock_scheduler_client_res | bc)
     echo "Original client_res for osd.0 = $client_res"
 
@@ -138,8 +140,8 @@ function TEST_profile_custom_to_builtin() {
       return 1
     fi
     # Check value in the in-memory 'values' map
-    res=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path \
-      osd.0) config get osd_mclock_scheduler_client_res | \
+    res=$(CEPH_ARGS='' ceph --format=json daemon $osd0 \
+      config get osd_mclock_scheduler_client_res | \
       jq .osd_mclock_scheduler_client_res | bc)
     if (( $(echo "$res != $client_res_new" | bc -l) )); then
       return 1
@@ -154,7 +156,7 @@ function TEST_profile_custom_to_builtin() {
     ceph tell osd.0 config set osd_mclock_profile $orig_mclock_profile || return 1
     # Verify that the mclock profile is set back to the original on the OSD
     eval mclock_profile=$(CEPH_ARGS='' ceph --format=json daemon \
-      $(get_asok_path osd.0) config get osd_mclock_profile | \
+      $osd0 config get osd_mclock_profile | \
       jq .osd_mclock_profile)
     #mclock_profile=$(ceph config get osd.0 osd_mclock_profile)
     test "$mclock_profile" = "$orig_mclock_profile" || return 1
@@ -167,8 +169,8 @@ function TEST_profile_custom_to_builtin() {
       return 1
     fi
     # Check value in the in-memory 'values' map
-    res=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path \
-      osd.0) config get osd_mclock_scheduler_client_res | \
+    res=$(CEPH_ARGS='' ceph --format=json daemon $osd0 \
+      config get osd_mclock_scheduler_client_res | \
       jq .osd_mclock_scheduler_client_res | bc)
     if (( $(echo "$res != $client_res_new" | bc -l) )); then
       return 1
@@ -188,8 +190,8 @@ function TEST_profile_custom_to_builtin() {
     fi
 
     # Check value in the in-memory 'values' map
-    res=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path \
-      osd.0) config get osd_mclock_scheduler_client_res | \
+    res=$(CEPH_ARGS='' ceph --format=json daemon $osd0 \
+      config get osd_mclock_scheduler_client_res | \
       jq .osd_mclock_scheduler_client_res | bc)
     if (( $(echo "$res != $client_res" | bc -l) )); then
       return 1
@@ -206,7 +208,8 @@ function TEST_recovery_limit_adjustment_mclock() {
     run_mgr $dir x || return 1
 
     run_osd $dir 0 --osd_op_queue=mclock_scheduler || return 1
-    local recoveries=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path osd.0) \
+    local osd0=$(get_asok_path osd.0)
+    local recoveries=$(CEPH_ARGS='' ceph --format=json daemon $osd0 \
         config get osd_recovery_max_active)
     # Get default value
     echo "$recoveries" | grep --quiet 'osd_recovery_max_active' || return 1
@@ -216,7 +219,7 @@ function TEST_recovery_limit_adjustment_mclock() {
     # limit is retained at its default value.
     ceph config set osd.0 osd_recovery_max_active 10 || return 1
     sleep 2 # Allow time for change to take effect
-    local max_recoveries=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path osd.0) \
+    local max_recoveries=$(CEPH_ARGS='' ceph --format=json daemon $osd0 \
         config get osd_recovery_max_active)
     test "$max_recoveries" = "$recoveries" || return 1
 
@@ -225,7 +228,7 @@ function TEST_recovery_limit_adjustment_mclock() {
     ceph config set osd.0 osd_mclock_override_recovery_settings true || return 1
     ceph config set osd.0 osd_recovery_max_active 10 || return 1
     sleep 2 # Allow time for change to take effect
-    max_recoveries=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path osd.0) \
+    max_recoveries=$(CEPH_ARGS='' ceph --format=json daemon $osd0 \
         config get osd_recovery_max_active)
     test "$max_recoveries" = '{"osd_recovery_max_active":"10"}' || return 1
 
@@ -240,7 +243,8 @@ function TEST_backfill_limit_adjustment_mclock() {
     run_mgr $dir x || return 1
 
     run_osd $dir 0 --osd_op_queue=mclock_scheduler || return 1
-    local backfills=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path osd.0) \
+    local osd0=$(get_asok_path osd.0)
+    local backfills=$(CEPH_ARGS='' ceph --format=json daemon $osd0 \
         config get osd_max_backfills | jq .osd_max_backfills | bc)
     # Get default value
     echo "osd_max_backfills: $backfills" || return 1
@@ -250,15 +254,15 @@ function TEST_backfill_limit_adjustment_mclock() {
     # limit is retained at its default value.
     ceph config set osd.0 osd_max_backfills 20 || return 1
     sleep 2 # Allow time for change to take effect
-    local max_backfills=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path osd.0) \
+    local max_backfills=$(CEPH_ARGS='' ceph --format=json daemon $osd0 \
         config get osd_max_backfills | jq .osd_max_backfills | bc)
     test $max_backfills = $backfills || return 1
 
     # Verify local and async reserver settings are not changed
-    max_backfills=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path osd.0) \
+    max_backfills=$(CEPH_ARGS='' ceph --format=json daemon $osd0 \
         dump_recovery_reservations | jq .local_reservations.max_allowed | bc)
     test $max_backfills = $backfills || return 1
-    max_backfills=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path osd.0) \
+    max_backfills=$(CEPH_ARGS='' ceph --format=json daemon $osd0 \
         dump_recovery_reservations | jq .remote_reservations.max_allowed | bc)
     test $max_backfills = $backfills || return 1
 
@@ -267,15 +271,15 @@ function TEST_backfill_limit_adjustment_mclock() {
     ceph config set osd.0 osd_mclock_override_recovery_settings true || return 1
     ceph config set osd.0 osd_max_backfills 20 || return 1
     sleep 2 # Allow time for change to take effect
-    max_backfills=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path osd.0) \
+    max_backfills=$(CEPH_ARGS='' ceph --format=json daemon $osd0 \
         config get osd_max_backfills | jq .osd_max_backfills | bc)
     test $max_backfills = 20 || return 1
 
     # Verify local and async reserver settings are changed
-    max_backfills=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path osd.0) \
+    max_backfills=$(CEPH_ARGS='' ceph --format=json daemon $osd0 \
         dump_recovery_reservations | jq .local_reservations.max_allowed | bc)
     test $max_backfills = 20 || return 1
-    max_backfills=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path osd.0) \
+    max_backfills=$(CEPH_ARGS='' ceph --format=json daemon $osd0 \
         dump_recovery_reservations | jq .remote_reservations.max_allowed | bc)
     test $max_backfills = 20 || return 1
 
@@ -286,15 +290,15 @@ function TEST_backfill_limit_adjustment_mclock() {
     wait_for_osd down 0 || return 1
     activate_osd $dir 0 --osd-op-queue=mclock_scheduler || return 1
 
-    max_backfills=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path osd.0) \
+    max_backfills=$(CEPH_ARGS='' ceph --format=json daemon $osd0 \
         config get osd_max_backfills | jq .osd_max_backfills | bc)
     test $max_backfills = 20 || return 1
 
     # Verify local and async reserver settings are changed
-    max_backfills=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path osd.0) \
+    max_backfills=$(CEPH_ARGS='' ceph --format=json daemon $osd0 \
         dump_recovery_reservations | jq .local_reservations.max_allowed | bc)
     test $max_backfills = 20 || return 1
-    max_backfills=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path osd.0) \
+    max_backfills=$(CEPH_ARGS='' ceph --format=json daemon $osd0 \
         dump_recovery_reservations | jq .remote_reservations.max_allowed | bc)
     test $max_backfills = 20 || return 1