]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
cmake: shell scripts in test/mon passing in cmake
authorAli Maredia <amaredia@redhat.com>
Tue, 12 Jan 2016 23:22:46 +0000 (18:22 -0500)
committerAli Maredia <amaredia@redhat.com>
Fri, 15 Apr 2016 00:48:19 +0000 (20:48 -0400)
Replaced relative paths in shell scripts in test/mon
to work with CEPH_FOO environment variables set in
cmake, added CMakelists.txt to test/mon

Signed-off-by: Ali Maredia <amaredia@redhat.com>
12 files changed:
src/test/CMakeLists.txt
src/test/mon/CMakeLists.txt [new file with mode: 0644]
src/test/mon/misc.sh
src/test/mon/mkfs.sh
src/test/mon/mon-created-time.sh
src/test/mon/mon-handle-forward.sh
src/test/mon/mon-ping.sh
src/test/mon/mon-scrub.sh
src/test/mon/osd-crush.sh
src/test/mon/osd-erasure-code-profile.sh
src/test/mon/osd-pool-create.sh
src/tools/ceph-monstore-update-crush.sh

index f72a7c8d8e2181ab2622b8343bd71be8bf40adec..d5e66758dfa4684573b47268a0ad1e5121fe4c91 100644 (file)
@@ -616,24 +616,6 @@ set_target_properties(ceph_test_msgr PROPERTIES COMPILE_FLAGS
   ${UNITTEST_CXX_FLAGS})
 target_link_libraries(ceph_test_msgr os global ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${UNITTEST_LIBS})
 
-# ceph_test_mon_workloadgen
-add_executable(ceph_test_mon_workloadgen
-  mon/test_mon_workloadgen.cc
-  )
-target_link_libraries(ceph_test_mon_workloadgen
-  os
-  osdc
-  global
-  ${EXTRALIBS}
-  ${CMAKE_DL_LIBS}
-  )
-
-#test_mon_msg
-add_executable(ceph_test_mon_msg mon/test-mon-msg.cc)
-set_target_properties(ceph_test_mon_msg PROPERTIES COMPILE_FLAGS
-  ${UNITTEST_CXX_FLAGS})
-target_link_libraries(ceph_test_mon_msg os osdc global ${UNITTEST_LIBS})
-
 #ceph_perf_local
 add_executable(ceph_perf_local 
   perf_local.cc
@@ -1167,6 +1149,7 @@ add_dependencies(check
   ceph-osd
   ceph-dencoder
   ceph-objectstore-tool
+  ceph-monstore-tool
   osdmaptool
   rbd
   radosgw-admin)
@@ -1417,29 +1400,7 @@ add_executable(unittest_mds_sessionfilter EXCLUDE_FROM_ALL
 add_ceph_unittest(unittest_mds_sessionfilter ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/unittest_mds_sessionfilter)
 target_link_libraries(unittest_mds_sessionfilter mds osdc common global ${BLKID_LIBRARIES})
 
-#mon directory
-add_ceph_test(misc.sh ${CMAKE_SOURCE_DIR}/src/test/mon/misc.sh)
-add_ceph_test(mkfs.sh ${CMAKE_SOURCE_DIR}/src/test/mon/mkfs.sh)
-add_ceph_test(mon-handle-forward.sh ${CMAKE_SOURCE_DIR}/src/test/mon/mon-handle-forward.sh)
-add_ceph_test(mon-ping.sh ${CMAKE_SOURCE_DIR}/src/test/mon/mon-ping.sh)
-add_ceph_test(mon-scrub.sh ${CMAKE_SOURCE_DIR}/src/test/mon/mon-scrub.sh)
-add_ceph_test(osd-crush.sh ${CMAKE_SOURCE_DIR}/src/test/mon/osd-crush.sh)
-add_ceph_test(osd-erasure-code-profile.sh ${CMAKE_SOURCE_DIR}/src/test/mon/osd-erasure-code-profile.sh)
-add_ceph_test(osd-pool-create.sh ${CMAKE_SOURCE_DIR}/src/test/mon/osd-pool-create.sh)
-
-# unittest_mon_moncap
-add_executable(unittest_mon_moncap EXCLUDE_FROM_ALL
-  mon/moncap.cc
-  )
-add_ceph_unittest(unittest_mon_moncap ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/unittest_mon_moncap)
-target_link_libraries(unittest_mon_moncap mon global)
-
-# unittest_mon_pgmap
-add_executable(unittest_mon_pgmap EXCLUDE_FROM_ALL
-  mon/PGMap.cc
-  )
-add_ceph_unittest(unittest_mon_pgmap ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/unittest_mon_pgmap)
-target_link_libraries(unittest_mon_pgmap mon global)
+add_subdirectory(mon)
 
 #objectstore directory
 
diff --git a/src/test/mon/CMakeLists.txt b/src/test/mon/CMakeLists.txt
new file mode 100644 (file)
index 0000000..7474b41
--- /dev/null
@@ -0,0 +1,45 @@
+# ceph_test_mon_workloadgen
+add_executable(ceph_test_mon_workloadgen
+  test_mon_workloadgen.cc
+  )
+target_link_libraries(ceph_test_mon_workloadgen
+  os
+  osdc
+  global
+  ${EXTRALIBS}
+  ${CMAKE_DL_LIBS}
+  )
+
+# ceph_test_mon_msg
+add_executable(ceph_test_mon_msg 
+  test-mon-msg.cc
+  )
+target_link_libraries(ceph_test_mon_msg os osdc global ${UNITTEST_LIBS})
+set_target_properties(ceph_test_mon_msg PROPERTIES COMPILE_FLAGS
+  ${UNITTEST_CXX_FLAGS})
+
+#scripts
+add_ceph_test(misc.sh ${CMAKE_CURRENT_SOURCE_DIR}/misc.sh)
+add_ceph_test(mkfs.sh ${CMAKE_CURRENT_SOURCE_DIR}/mkfs.sh)
+add_ceph_test(mon-created-time.sh ${CMAKE_CURRENT_SOURCE_DIR}/mon-created-time.sh)
+add_ceph_test(mon-handle-forward.sh ${CMAKE_CURRENT_SOURCE_DIR}/mon-handle-forward.sh)
+add_ceph_test(mon-ping.sh ${CMAKE_CURRENT_SOURCE_DIR}/mon-ping.sh)
+add_ceph_test(mon-scrub.sh ${CMAKE_CURRENT_SOURCE_DIR}/mon-scrub.sh)
+add_ceph_test(osd-crush.sh ${CMAKE_CURRENT_SOURCE_DIR}/osd-crush.sh)
+add_ceph_test(osd-erasure-code-profile.sh ${CMAKE_CURRENT_SOURCE_DIR}/osd-erasure-code-profile.sh)
+add_ceph_test(osd-pool-create.sh ${CMAKE_CURRENT_SOURCE_DIR}/osd-pool-create.sh)
+
+# unittest_mon_moncap
+add_executable(unittest_mon_moncap EXCLUDE_FROM_ALL
+  moncap.cc
+  )
+add_ceph_unittest(unittest_mon_moncap ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/unittest_mon_moncap)
+target_link_libraries(unittest_mon_moncap mon global)
+
+# unittest_mon_pgmap
+add_executable(unittest_mon_pgmap EXCLUDE_FROM_ALL
+  PGMap.cc
+  )
+add_ceph_unittest(unittest_mon_pgmap ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/unittest_mon_pgmap)
+target_link_libraries(unittest_mon_pgmap mon global)
+
index 1f8f755d2fa8a858ca780ea6a9830d89aa612ee9..53f7bff2409107fc6e9fb241319e3a8f7e3855a8 100755 (executable)
@@ -15,7 +15,7 @@
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU Library Public License for more details.
 #
-source ../qa/workunits/ceph-helpers.sh
+source $CEPH_ROOT/qa/workunits/ceph-helpers.sh
 
 function run() {
     local dir=$1
index f165fc6a81ec992e4d9531d3512d3788bf93df82..270736cd36bbe91baf5320332a1665fa4f334139 100755 (executable)
@@ -39,11 +39,11 @@ function teardown() {
 function mon_mkfs() {
     local fsid=$(uuidgen)
 
-    ./ceph-mon \
+    ceph-mon \
         --id $MON_ID \
         --fsid $fsid \
-        --erasure-code-dir=.libs \
-        --compression-dir=.libs \
+        --erasure-code-dir=$CEPH_LIB \
+        --compression-dir=$CEPH_LIB \
         --mkfs \
         --mon-data=$MON_DIR \
         --mon-initial-members=$MON_ID \
@@ -52,13 +52,13 @@ function mon_mkfs() {
 }
 
 function mon_run() {
-    ./ceph-mon \
+    ceph-mon \
         --id $MON_ID \
         --chdir= \
         --mon-osd-full-ratio=.99 \
         --mon-data-avail-crit=1 \
-        --erasure-code-dir=.libs \
-        --compression-dir=.libs \
+        --erasure-code-dir=$CEPH_LIB \
+        --compression-dir=$CEPH_LIB \
         --mon-data=$MON_DIR \
         --log-file=$MON_DIR/log \
         --mon-cluster-log-file=$MON_DIR/log \
@@ -81,12 +81,12 @@ function kill_daemons() {
 function auth_none() {
     mon_mkfs --auth-supported=none
 
-    ./ceph-mon \
+    ceph-mon \
         --id $MON_ID \
         --mon-osd-full-ratio=.99 \
         --mon-data-avail-crit=1 \
-        --erasure-code-dir=.libs \
-        --compression-dir=.libs \
+        --erasure-code-dir=$CEPH_LIB \
+        --compression-dir=$CEPH_LIB \
         --mon-data=$MON_DIR \
         --extract-monmap $MON_DIR/monmap
 
@@ -96,7 +96,7 @@ function auth_none() {
 
     mon_run --auth-supported=none
     
-    timeout $TIMEOUT ./ceph --mon-host $CEPH_MON mon stat || return 1
+    timeout $TIMEOUT ceph --mon-host $CEPH_MON mon stat || return 1
 }
 
 function auth_cephx_keyring() {
@@ -112,7 +112,7 @@ EOF
 
     mon_run
 
-    timeout $TIMEOUT ./ceph \
+    timeout $TIMEOUT ceph \
         --name mon. \
         --keyring $MON_DIR/keyring \
         --mon-host $CEPH_MON mon stat || return 1
@@ -124,7 +124,7 @@ function auth_cephx_key() {
        return 1
     fi  
 
-    local key=$(./ceph-authtool --gen-print-key)
+    local key=$(ceph-authtool --gen-print-key)
 
     if mon_mkfs --key='corrupted key' ; then
         return 1
@@ -139,7 +139,7 @@ function auth_cephx_key() {
 
     mon_run
 
-    timeout $TIMEOUT ./ceph \
+    timeout $TIMEOUT ceph \
         --name mon. \
         --keyring $MON_DIR/keyring \
         --mon-host $CEPH_MON mon stat || return 1
@@ -149,12 +149,12 @@ function makedir() {
     local toodeep=$MON_DIR/toodeep
 
     # fail if recursive directory creation is needed
-    ./ceph-mon \
+    ceph-mon \
         --id $MON_ID \
         --mon-osd-full-ratio=.99 \
         --mon-data-avail-crit=1 \
-        --erasure-code-dir=.libs \
-        --compression-dir=.libs \
+        --compression-dir=$CEPH_LIB \
+        --erasure-code-dir=$CEPH_LIB \
         --mkfs \
         --mon-data=$toodeep 2>&1 | tee $DIR/makedir.log
     grep 'toodeep.*No such file' $DIR/makedir.log > /dev/null
index b4f7d1a788724146fb3e41ea43772f956408fc54..0022a23f9f2debfffa0c1ddd9651aa75108ca6e4 100755 (executable)
@@ -12,7 +12,7 @@
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU Library Public License for more details.
 #
-source ../qa/workunits/ceph-helpers.sh
+source $CEPH_ROOT/qa/workunits/ceph-helpers.sh
 
 function run() {
     local dir=$1
@@ -36,13 +36,13 @@ function TEST_mon_created_time() {
 
     run_mon $dir a || return 1
 
-    ./ceph mon dump || return 1
+    ceph mon dump || return 1
 
-    if test "$(./ceph mon dump 2>/dev/null | sed -n '/created/p' | awk '{print $NF}')"x = ""x ; then
+    if test "$(ceph mon dump 2>/dev/null | sed -n '/created/p' | awk '{print $NF}')"x = ""x ; then
         return 1
     fi
  
-    if test "$(./ceph mon dump 2>/dev/null | sed -n '/created/p' | awk '{print $NF}')"x = "0.000000"x ; then
+    if test "$(ceph mon dump 2>/dev/null | sed -n '/created/p' | awk '{print $NF}')"x = "0.000000"x ; then
         return 1
     fi
 }
index 18f6db532bad734a50ec3eab5241e374bbc9e4f6..f10e6e54be138ebb9db6e34cb2fa8a266e08d21a 100755 (executable)
@@ -15,7 +15,7 @@
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU Library Public License for more details.
 #
-source ../qa/workunits/ceph-helpers.sh
+source $CEPH_ROOT/qa/workunits/ceph-helpers.sh
 
 function run() {
     local dir=$1
@@ -33,21 +33,21 @@ function run() {
         run_mon $dir b --public-addr $MONB || return 1
     )
 
-    timeout 360 ./ceph --mon-host $MONA mon stat || return 1
+    timeout 360 ceph --mon-host $MONA mon stat || return 1
     # check that MONB is indeed a peon
-    ./ceph --admin-daemon $dir/ceph-mon.b.asok mon_status |
+    ceph --admin-daemon $dir/ceph-mon.b.asok mon_status |
        grep '"peon"' || return 1
     # when the leader ( MONA ) is used, there is no message forwarding
-    ./ceph --mon-host $MONA osd pool create POOL1 12 
-    CEPH_ARGS='' ./ceph --admin-daemon $dir/ceph-mon.a.asok log flush || return 1
+    ceph --mon-host $MONA osd pool create POOL1 12 
+    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-mon.a.asok log flush || return 1
     grep 'mon_command(.*"POOL1"' $dir/a/mon.a.log
-    CEPH_ARGS='' ./ceph --admin-daemon $dir/ceph-mon.b.asok log flush || return 1
+    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-mon.b.asok log flush || return 1
     grep 'mon_command(.*"POOL1"' $dir/mon.b.log && return 1
     # when the peon ( MONB ) is used, the message is forwarded to the leader
-    ./ceph --mon-host $MONB osd pool create POOL2 12
-    CEPH_ARGS='' ./ceph --admin-daemon $dir/ceph-mon.b.asok log flush || return 1
+    ceph --mon-host $MONB osd pool create POOL2 12
+    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-mon.b.asok log flush || return 1
     grep 'forward_request.*mon_command(.*"POOL2"' $dir/mon.b.log
-    CEPH_ARGS='' ./ceph --admin-daemon $dir/ceph-mon.a.asok log flush || return 1
+    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-mon.a.asok log flush || return 1
     grep ' forward(mon_command(.*"POOL2"' $dir/mon.a.log
     # forwarded messages must retain features from the original connection
     features=$(sed -n -e 's|.*127.0.0.1:0.*accept features \([0-9][0-9]*\)|\1|p' < \
index c27dc7b9bd28751490f1b7c7673702f0576c3fdb..d3adf5c55d31ef07a53dafc0462d381aa0d06d3a 100755 (executable)
@@ -12,7 +12,7 @@
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU Library Public License for more details.
 #
-source ../qa/workunits/ceph-helpers.sh
+source $CEPH_ROOT/qa/workunits/ceph-helpers.sh
 
 function run() {
     local dir=$1
@@ -36,7 +36,7 @@ function TEST_mon_ping() {
 
     run_mon $dir a || return 1
 
-    ./ceph ping mon.a || return 1
+    ceph ping mon.a || return 1
 }
 
 main mon-ping "$@"
index b8698393a70bebacf1f61569355e9df1c912ce02..b4205392d66ae8e0c9e7353c499666388b4c0640 100755 (executable)
@@ -15,7 +15,7 @@
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU Library Public License for more details.
 #
-source ../qa/workunits/ceph-helpers.sh
+source $CEPH_ROOT/qa/workunits/ceph-helpers.sh
 
 function run() {
     local dir=$1
@@ -39,7 +39,7 @@ function TEST_mon_scrub() {
 
     run_mon $dir a || return 1
 
-    ./ceph mon scrub || return 1
+    ceph mon scrub || return 1
 }
 
 main mon-scrub "$@"
index 4dbbd0442d919c664d61d4e53123c19cfb1f9851..787fefb5da59bcab1f2f617e79449272eb515ffd 100755 (executable)
@@ -15,7 +15,7 @@
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU Library Public License for more details.
 #
-source ../qa/workunits/ceph-helpers.sh
+source $CEPH_ROOT/qa/workunits/ceph-helpers.sh
 
 function run() {
     local dir=$1
@@ -39,20 +39,20 @@ function TEST_crush_rule_create_simple() {
 
     run_mon $dir a || return 1
 
-    ./ceph --format xml osd crush rule dump replicated_ruleset | \
+    ceph --format xml osd crush rule dump replicated_ruleset | \
         egrep '<op>take</op><item>[^<]+</item><item_name>default</item_name>' | \
         grep '<op>choose_firstn</op><num>0</num><type>osd</type>' || return 1
     local ruleset=ruleset0
     local root=host1
-    ./ceph osd crush add-bucket $root host
+    ceph osd crush add-bucket $root host
     local failure_domain=osd
-    ./ceph osd crush rule create-simple $ruleset $root $failure_domain || return 1
-    ./ceph osd crush rule create-simple $ruleset $root $failure_domain 2>&1 | \
+    ceph osd crush rule create-simple $ruleset $root $failure_domain || return 1
+    ceph osd crush rule create-simple $ruleset $root $failure_domain 2>&1 | \
         grep "$ruleset already exists" || return 1
-    ./ceph --format xml osd crush rule dump $ruleset | \
+    ceph --format xml osd crush rule dump $ruleset | \
         egrep '<op>take</op><item>[^<]+</item><item_name>'$root'</item_name>' | \
         grep '<op>choose_firstn</op><num>0</num><type>'$failure_domain'</type>' || return 1
-    ./ceph osd crush rule rm $ruleset || return 1
+    ceph osd crush rule rm $ruleset || return 1
 }
 
 function TEST_crush_rule_dump() {
@@ -61,14 +61,14 @@ function TEST_crush_rule_dump() {
     run_mon $dir a || return 1
 
     local ruleset=ruleset1
-    ./ceph osd crush rule create-erasure $ruleset || return 1
+    ceph osd crush rule create-erasure $ruleset || return 1
     local expected
     expected="<rule_name>$ruleset</rule_name>"
-    ./ceph --format xml osd crush rule dump $ruleset | grep $expected || return 1
+    ceph --format xml osd crush rule dump $ruleset | grep $expected || return 1
     expected='"rule_name": "'$ruleset'"'
-    ./ceph osd crush rule dump | grep "$expected" || return 1
-    ! ./ceph osd crush rule dump non_existent_ruleset || return 1
-    ./ceph osd crush rule rm $ruleset || return 1
+    ceph osd crush rule dump | grep "$expected" || return 1
+    ! ceph osd crush rule dump non_existent_ruleset || return 1
+    ceph osd crush rule rm $ruleset || return 1
 }
 
 function TEST_crush_rule_rm() {
@@ -76,10 +76,10 @@ function TEST_crush_rule_rm() {
 
     run_mon $dir a || return 1
 
-    ./ceph osd crush rule create-erasure $ruleset default || return 1
-    ./ceph osd crush rule ls | grep $ruleset || return 1
-    ./ceph osd crush rule rm $ruleset || return 1
-    ! ./ceph osd crush rule ls | grep $ruleset || return 1
+    ceph osd crush rule create-erasure $ruleset default || return 1
+    ceph osd crush rule ls | grep $ruleset || return 1
+    ceph osd crush rule rm $ruleset || return 1
+    ! ceph osd crush rule ls | grep $ruleset || return 1
 }
 
 function TEST_crush_rule_create_erasure() {
@@ -93,32 +93,32 @@ function TEST_crush_rule_create_erasure() {
     #
     # create a new ruleset with the default profile, implicitly
     #
-    ./ceph osd crush rule create-erasure $ruleset || return 1
-    ./ceph osd crush rule create-erasure $ruleset 2>&1 | \
+    ceph osd crush rule create-erasure $ruleset || return 1
+    ceph osd crush rule create-erasure $ruleset 2>&1 | \
         grep "$ruleset already exists" || return 1
-    ./ceph --format xml osd crush rule dump $ruleset | \
+    ceph --format xml osd crush rule dump $ruleset | \
         egrep '<op>take</op><item>[^<]+</item><item_name>default</item_name>' | \
         grep '<op>chooseleaf_indep</op><num>0</num><type>host</type>' || return 1
-    ./ceph osd crush rule rm $ruleset || return 1
-    ! ./ceph osd crush rule ls | grep $ruleset || return 1
+    ceph osd crush rule rm $ruleset || return 1
+    ! ceph osd crush rule ls | grep $ruleset || return 1
     #
     # create a new ruleset with the default profile, explicitly
     #
-    ./ceph osd crush rule create-erasure $ruleset default || return 1
-    ./ceph osd crush rule ls | grep $ruleset || return 1
-    ./ceph osd crush rule rm $ruleset || return 1
-    ! ./ceph osd crush rule ls | grep $ruleset || return 1
+    ceph osd crush rule create-erasure $ruleset default || return 1
+    ceph osd crush rule ls | grep $ruleset || return 1
+    ceph osd crush rule rm $ruleset || return 1
+    ! ceph osd crush rule ls | grep $ruleset || return 1
     #
     # create a new ruleset and the default profile, implicitly
     #
-    ./ceph osd erasure-code-profile rm default || return 1
-    ! ./ceph osd erasure-code-profile ls | grep default || return 1
-    ./ceph osd crush rule create-erasure $ruleset || return 1
-    CEPH_ARGS='' ./ceph --admin-daemon $dir/ceph-mon.a.asok log flush || return 1
+    ceph osd erasure-code-profile rm default || return 1
+    ! ceph osd erasure-code-profile ls | grep default || return 1
+    ceph osd crush rule create-erasure $ruleset || return 1
+    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-mon.a.asok log flush || return 1
     grep 'profile set default' $dir/mon.a.log || return 1
-    ./ceph osd erasure-code-profile ls | grep default || return 1
-    ./ceph osd crush rule rm $ruleset || return 1
-    ! ./ceph osd crush rule ls | grep $ruleset || return 1
+    ceph osd erasure-code-profile ls | grep default || return 1
+    ceph osd crush rule rm $ruleset || return 1
+    ! ceph osd crush rule ls | grep $ruleset || return 1
     #
     # verify that if the crushmap contains a bugous ruleset,
     # it will prevent the creation of a pool.
@@ -127,32 +127,32 @@ function TEST_crush_rule_create_erasure() {
     ceph tell mon.\* injectargs --crushtool "false"
 
     expect_failure $dir "Error EINVAL" \
-        ./ceph osd pool create mypool 1 1 erasure || return 1
+        ceph osd pool create mypool 1 1 erasure || return 1
 }
 
 function check_ruleset_id_match_rule_id() {
     local rule_name=$1
-    rule_id=`./ceph osd crush rule dump $rule_name | grep "\"rule_id\":" | awk -F ":|," '{print int($2)}'`
-    ruleset_id=`./ceph osd crush rule dump $rule_name | grep "\"ruleset\":"| awk -F ":|," '{print int($2)}'`
+    rule_id=`ceph osd crush rule dump $rule_name | grep "\"rule_id\":" | awk -F ":|," '{print int($2)}'`
+    ruleset_id=`ceph osd crush rule dump $rule_name | grep "\"ruleset\":"| awk -F ":|," '{print int($2)}'`
     test $ruleset_id = $rule_id || return 1
 }
 
 function generate_manipulated_rules() {
     local dir=$1
-    ./ceph osd crush add-bucket $root host
-    ./ceph osd crush rule create-simple test_rule1 $root osd firstn || return 1
-    ./ceph osd crush rule create-simple test_rule2 $root osd firstn || return 1
-    ./ceph osd getcrushmap -o $dir/original_map
-    ./crushtool -d $dir/original_map -o $dir/decoded_original_map
+    ceph osd crush add-bucket $root host
+    ceph osd crush rule create-simple test_rule1 $root osd firstn || return 1
+    ceph osd crush rule create-simple test_rule2 $root osd firstn || return 1
+    ceph osd getcrushmap -o $dir/original_map
+    crushtool -d $dir/original_map -o $dir/decoded_original_map
     #manipulate the rulesets , to make the rule_id != ruleset_id
     sed -i 's/ruleset 0/ruleset 3/' $dir/decoded_original_map
     sed -i 's/ruleset 2/ruleset 0/' $dir/decoded_original_map
     sed -i 's/ruleset 1/ruleset 2/' $dir/decoded_original_map
 
-    ./crushtool -c $dir/decoded_original_map -o $dir/new_map
-    ./ceph osd setcrushmap -i $dir/new_map
+    crushtool -c $dir/decoded_original_map -o $dir/new_map
+    ceph osd setcrushmap -i $dir/new_map
 
-    ./ceph osd crush rule dump
+    ceph osd crush rule dump
 }
 
 function TEST_crush_ruleset_match_rule_when_creating() {
@@ -164,9 +164,9 @@ function TEST_crush_ruleset_match_rule_when_creating() {
 
     generate_manipulated_rules $dir
 
-    ./ceph osd crush rule create-simple special_rule_simple $root osd firstn || return 1
+    ceph osd crush rule create-simple special_rule_simple $root osd firstn || return 1
 
-    ./ceph osd crush rule dump
+    ceph osd crush rule dump
     #show special_rule_simple has same rule_id and ruleset_id
     check_ruleset_id_match_rule_id special_rule_simple || return 1
 }
@@ -178,11 +178,11 @@ function TEST_add_ruleset_failed() {
 
     local root=host1
 
-    ./ceph osd crush add-bucket $root host
-    ./ceph osd crush rule create-simple test_rule1 $root osd firstn || return 1
-    ./ceph osd crush rule create-simple test_rule2 $root osd firstn || return 1
-    ./ceph osd getcrushmap > $dir/crushmap || return 1
-    ./crushtool --decompile $dir/crushmap > $dir/crushmap.txt || return 1
+    ceph osd crush add-bucket $root host
+    ceph osd crush rule create-simple test_rule1 $root osd firstn || return 1
+    ceph osd crush rule create-simple test_rule2 $root osd firstn || return 1
+    ceph osd getcrushmap > $dir/crushmap || return 1
+    crushtool --decompile $dir/crushmap > $dir/crushmap.txt || return 1
     for i in $(seq 3 255)
         do
             cat <<EOF
@@ -197,9 +197,9 @@ rule test_rule$i {
 }
 EOF
     done >> $dir/crushmap.txt
-    ./crushtool --compile $dir/crushmap.txt -o $dir/crushmap || return 1
-    ./ceph osd setcrushmap -i $dir/crushmap  || return 1
-    ./ceph osd crush rule create-simple test_rule_nospace $root osd firstn 2>&1 | grep "Error ENOSPC" || return 1
+    crushtool --compile $dir/crushmap.txt -o $dir/crushmap || return 1
+    ceph osd setcrushmap -i $dir/crushmap  || return 1
+    ceph osd crush rule create-simple test_rule_nospace $root osd firstn 2>&1 | grep "Error ENOSPC" || return 1
 
 }
 
@@ -208,12 +208,12 @@ function TEST_crush_rename_bucket() {
 
     run_mon $dir a || return 1
 
-    ./ceph osd crush add-bucket host1 host
-    ! ./ceph osd tree | grep host2 || return 1
-    ./ceph osd crush rename-bucket host1 host2 || return 1
-    ./ceph osd tree | grep host2 || return 1
-    ./ceph osd crush rename-bucket host1 host2 || return 1 # idempotency
-    ./ceph osd crush rename-bucket nonexistent something 2>&1 | grep "Error ENOENT" || return 1
+    ceph osd crush add-bucket host1 host
+    ! ceph osd tree | grep host2 || return 1
+    ceph osd crush rename-bucket host1 host2 || return 1
+    ceph osd tree | grep host2 || return 1
+    ceph osd crush rename-bucket host1 host2 || return 1 # idempotency
+    ceph osd crush rename-bucket nonexistent something 2>&1 | grep "Error ENOENT" || return 1
 }
 
 function TEST_crush_reject_empty() {
@@ -224,17 +224,17 @@ function TEST_crush_reject_empty() {
 
     local empty_map=$dir/empty_map
     :> $empty_map.txt
-    ./crushtool -c $empty_map.txt -o $empty_map.map || return 1
+    crushtool -c $empty_map.txt -o $empty_map.map || return 1
     expect_failure $dir "Error EINVAL" \
-        ./ceph osd setcrushmap -i $empty_map.map || return 1
+        ceph osd setcrushmap -i $empty_map.map || return 1
 }
 
 function TEST_crush_tree() {
     local dir=$1
     run_mon $dir a || return 1
 
-    ./ceph osd crush tree --format=xml | \
-        $XMLSTARLET val -e -r test/mon/osd-crush-tree.rng - || return 1
+    ceph osd crush tree --format=xml | \
+        $XMLSTARLET val -e -r $CEPH_ROOT/src/test/mon/osd-crush-tree.rng - || return 1
 }
 
 # NB: disable me if i am too time consuming
@@ -254,7 +254,7 @@ function TEST_crush_repair_faulty_crushmap() {
 
     local empty_map=$dir/empty_map
     :> $empty_map.txt
-    ./crushtool -c $empty_map.txt -o $empty_map.map || return 1
+    crushtool -c $empty_map.txt -o $empty_map.map || return 1
 
     local crushtool_path_old=`ceph-conf --show-config-value crushtool`
     ceph tell mon.\* injectargs --crushtool "true"
@@ -267,7 +267,7 @@ function TEST_crush_repair_faulty_crushmap() {
     # vain, after mon.a is offline
     kill_daemons $dir || return 1
     # rewrite the monstore with the good crush map,
-    ./tools/ceph-monstore-update-crush.sh --rewrite $dir/a || return 1
+    $CEPH_ROOT/src/tools/ceph-monstore-update-crush.sh --rewrite $dir/a || return 1
 
     run_mon $dir a --public-addr $MONA || return 1
     run_mon $dir b --public-addr $MONB || return 1
index 8e9491f4558d6f27306b1fb1917deaf7ae381103..65c410ad7181a76641d8ad62f8c73b3f40b7d84e 100755 (executable)
@@ -15,7 +15,7 @@
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU Library Public License for more details.
 #
-source ../qa/workunits/ceph-helpers.sh
+source $CEPH_ROOT/qa/workunits/ceph-helpers.sh
 
 function run() {
     local dir=$1
@@ -44,27 +44,27 @@ function TEST_set() {
     #
     # no key=value pairs : use the default configuration
     #
-    ./ceph osd erasure-code-profile set $profile 2>&1 || return 1
-    ./ceph osd erasure-code-profile get $profile | \
+    ceph osd erasure-code-profile set $profile 2>&1 || return 1
+    ceph osd erasure-code-profile get $profile | \
         grep plugin=jerasure || return 1
-    ./ceph osd erasure-code-profile rm $profile
+    ceph osd erasure-code-profile rm $profile
     #
     # key=value pairs override the default
     #
-    ./ceph osd erasure-code-profile set $profile \
+    ceph osd erasure-code-profile set $profile \
         key=value plugin=example || return 1
-    ./ceph osd erasure-code-profile get $profile | \
+    ceph osd erasure-code-profile get $profile | \
         grep -e key=value -e plugin=example || return 1
     #
     # --force is required to override an existing profile
     #
-    ! ./ceph osd erasure-code-profile set $profile > $dir/out 2>&1 || return 1
+    ! ceph osd erasure-code-profile set $profile > $dir/out 2>&1 || return 1
     grep 'will not override' $dir/out || return 1
-    ./ceph osd erasure-code-profile set $profile key=other --force || return 1
-    ./ceph osd erasure-code-profile get $profile | \
+    ceph osd erasure-code-profile set $profile key=other --force || return 1
+    ceph osd erasure-code-profile get $profile | \
         grep key=other || return 1
 
-    ./ceph osd erasure-code-profile rm $profile # cleanup
+    ceph osd erasure-code-profile rm $profile # cleanup
 }
 
 function TEST_ls() {
@@ -74,13 +74,13 @@ function TEST_ls() {
     run_mon $dir a || return 1
 
     local profile=myprofile
-    ! ./ceph osd erasure-code-profile ls | grep $profile || return 1
-    ./ceph osd erasure-code-profile set $profile 2>&1 || return 1
-    ./ceph osd erasure-code-profile ls | grep $profile || return 1
-    ./ceph --format xml osd erasure-code-profile ls | \
+    ! ceph osd erasure-code-profile ls | grep $profile || return 1
+    ceph osd erasure-code-profile set $profile 2>&1 || return 1
+    ceph osd erasure-code-profile ls | grep $profile || return 1
+    ceph --format xml osd erasure-code-profile ls | \
         grep "<profile>$profile</profile>" || return 1
 
-    ./ceph osd erasure-code-profile rm $profile # cleanup
+    ceph osd erasure-code-profile rm $profile # cleanup
 }
 
 function TEST_rm() {
@@ -90,21 +90,21 @@ function TEST_rm() {
     run_mon $dir a || return 1
 
     local profile=myprofile
-    ./ceph osd erasure-code-profile set $profile 2>&1 || return 1
-    ./ceph osd erasure-code-profile ls | grep $profile || return 1
-    ./ceph osd erasure-code-profile rm $profile || return 1
-    ! ./ceph osd erasure-code-profile ls | grep $profile || return 1
-    ./ceph osd erasure-code-profile rm WRONG 2>&1 | \
+    ceph osd erasure-code-profile set $profile 2>&1 || return 1
+    ceph osd erasure-code-profile ls | grep $profile || return 1
+    ceph osd erasure-code-profile rm $profile || return 1
+    ! ceph osd erasure-code-profile ls | grep $profile || return 1
+    ceph osd erasure-code-profile rm WRONG 2>&1 | \
         grep "WRONG does not exist" || return 1
 
-    ./ceph osd erasure-code-profile set $profile || return 1
-    ./ceph osd pool create poolname 12 12 erasure $profile || return 1
-    ! ./ceph osd erasure-code-profile rm $profile > $dir/out 2>&1 || return 1
+    ceph osd erasure-code-profile set $profile || return 1
+    ceph osd pool create poolname 12 12 erasure $profile || return 1
+    ! ceph osd erasure-code-profile rm $profile > $dir/out 2>&1 || return 1
     grep "poolname.*using.*$profile" $dir/out || return 1
-    ./ceph osd pool delete poolname poolname --yes-i-really-really-mean-it || return 1
-    ./ceph osd erasure-code-profile rm $profile || return 1
+    ceph osd pool delete poolname poolname --yes-i-really-really-mean-it || return 1
+    ceph osd erasure-code-profile rm $profile || return 1
 
-    ./ceph osd erasure-code-profile rm $profile # cleanup
+    ceph osd erasure-code-profile rm $profile # cleanup
 }
 
 function TEST_get() {
@@ -114,11 +114,11 @@ function TEST_get() {
     run_mon $dir a || return 1
 
     local default_profile=default
-    ./ceph osd erasure-code-profile get $default_profile | \
+    ceph osd erasure-code-profile get $default_profile | \
         grep plugin=jerasure || return 1
-    ./ceph --format xml osd erasure-code-profile get $default_profile | \
+    ceph --format xml osd erasure-code-profile get $default_profile | \
         grep '<plugin>jerasure</plugin>' || return 1
-    ! ./ceph osd erasure-code-profile get WRONG > $dir/out 2>&1 || return 1
+    ! ceph osd erasure-code-profile get WRONG > $dir/out 2>&1 || return 1
     grep -q "unknown erasure code profile 'WRONG'" $dir/out || return 1
 }
 
@@ -132,7 +132,7 @@ function TEST_set_idempotent() {
     # ceph osd erasure-code-profile set: verify that it is idempotent,
     # as if it was using the same code path.
     #
-    ./ceph osd erasure-code-profile set default k=2 m=1 2>&1 || return 1
+    ceph osd erasure-code-profile set default k=2 m=1 2>&1 || return 1
     local profile
     #
     # Because plugin=jerasure is the default, it uses a slightly
@@ -140,21 +140,21 @@ function TEST_set_idempotent() {
     # implicitly.
     #
     profile=profileidempotent1
-    ! ./ceph osd erasure-code-profile ls | grep $profile || return 1
-    ./ceph osd erasure-code-profile set $profile k=2 ruleset-failure-domain=osd 2>&1 || return 1
-    ./ceph osd erasure-code-profile ls | grep $profile || return 1
-    ./ceph osd erasure-code-profile set $profile k=2 ruleset-failure-domain=osd 2>&1 || return 1
-    ./ceph osd erasure-code-profile rm $profile # cleanup
+    ! ceph osd erasure-code-profile ls | grep $profile || return 1
+    ceph osd erasure-code-profile set $profile k=2 ruleset-failure-domain=osd 2>&1 || return 1
+    ceph osd erasure-code-profile ls | grep $profile || return 1
+    ceph osd erasure-code-profile set $profile k=2 ruleset-failure-domain=osd 2>&1 || return 1
+    ceph osd erasure-code-profile rm $profile # cleanup
 
     #
     # In the general case the profile is exactly what is on
     #
     profile=profileidempotent2
-    ! ./ceph osd erasure-code-profile ls | grep $profile || return 1
-    ./ceph osd erasure-code-profile set $profile plugin=lrc k=4 m=2 l=3 ruleset-failure-domain=osd 2>&1 || return 1
-    ./ceph osd erasure-code-profile ls | grep $profile || return 1
-    ./ceph osd erasure-code-profile set $profile plugin=lrc k=4 m=2 l=3 ruleset-failure-domain=osd 2>&1 || return 1
-    ./ceph osd erasure-code-profile rm $profile # cleanup
+    ! ceph osd erasure-code-profile ls | grep $profile || return 1
+    ceph osd erasure-code-profile set $profile plugin=lrc k=4 m=2 l=3 ruleset-failure-domain=osd 2>&1 || return 1
+    ceph osd erasure-code-profile ls | grep $profile || return 1
+    ceph osd erasure-code-profile set $profile plugin=lrc k=4 m=2 l=3 ruleset-failure-domain=osd 2>&1 || return 1
+    ceph osd erasure-code-profile rm $profile # cleanup
 }
 
 function TEST_format_invalid() {
@@ -165,7 +165,7 @@ function TEST_format_invalid() {
     # valid JSON but not of the expected type
     run_mon $dir a \
         --osd_pool_default_erasure-code-profile 1 || return 1
-    ! ./ceph osd erasure-code-profile set $profile > $dir/out 2>&1 || return 1
+    ! ceph osd erasure-code-profile set $profile > $dir/out 2>&1 || return 1
     cat $dir/out
     grep 'must be a JSON object' $dir/out || return 1
 }
@@ -177,7 +177,7 @@ function TEST_format_json() {
     expected='"plugin":"example"'
     run_mon $dir a \
         --osd_pool_default_erasure-code-profile "{$expected}" || return 1
-    ./ceph --format json osd erasure-code-profile get default | \
+    ceph --format json osd erasure-code-profile get default | \
         grep "$expected" || return 1
 }
 
@@ -188,7 +188,7 @@ function TEST_format_plain() {
     expected='"plugin":"example"'
     run_mon $dir a \
         --osd_pool_default_erasure-code-profile "plugin=example" || return 1
-    ./ceph --format json osd erasure-code-profile get default | \
+    ceph --format json osd erasure-code-profile get default | \
         grep "$expected" || return 1
 }
 
@@ -199,7 +199,7 @@ function TEST_profile_k_sanity() {
     run_mon $dir a || return 1
 
     expect_failure $dir 'k must be a multiple of (k + m) / l' \
-        ./ceph osd erasure-code-profile set $profile \
+        ceph osd erasure-code-profile set $profile \
         plugin=lrc \
         l=1 \
         k=1 \
@@ -207,7 +207,7 @@ function TEST_profile_k_sanity() {
 
     if erasure_code_plugin_exists isa ; then
         expect_failure $dir 'k=1 must be >= 2' \
-            ./ceph osd erasure-code-profile set $profile \
+            ceph osd erasure-code-profile set $profile \
             plugin=isa \
             k=1 \
             m=1 || return 1
@@ -216,7 +216,7 @@ function TEST_profile_k_sanity() {
     fi
 
     expect_failure $dir 'k=1 must be >= 2' \
-        ./ceph osd erasure-code-profile set $profile \
+        ceph osd erasure-code-profile set $profile \
         plugin=jerasure \
         k=1 \
         m=1 || return 1
index 0d11a239b96c4c42ab6e5e0cc9042c25b995d3de..4a19d13410b8e19f32d8054cedea95a4bb393f81 100755 (executable)
@@ -15,7 +15,7 @@
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU Library Public License for more details.
 #
-source ../qa/workunits/ceph-helpers.sh
+source $CEPH_ROOT/qa/workunits/ceph-helpers.sh
 
 function run() {
     local dir=$1
@@ -40,9 +40,9 @@ function TEST_default_deprectated_0() {
     local expected=66
     run_mon $dir a \
         --osd_pool_default_crush_replicated_ruleset $expected || return 1
-    ./ceph osd pool get rbd crush_ruleset | grep 'ruleset: '$expected || return 1
-    ./ceph osd crush rule dump replicated_ruleset | grep '"ruleset": '$expected || return 1
-    CEPH_ARGS='' ./ceph --admin-daemon $dir/ceph-mon.a.asok log flush || return 1
+    ceph osd pool get rbd crush_ruleset | grep 'ruleset: '$expected || return 1
+    ceph osd crush rule dump replicated_ruleset | grep '"ruleset": '$expected || return 1
+    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-mon.a.asok log flush || return 1
     ! grep "osd_pool_default_crush_rule is deprecated " $dir/mon.a.log || return 1
 }
 
@@ -52,9 +52,9 @@ function TEST_default_deprectated_1() {
     local expected=55
     run_mon $dir a \
         --osd_pool_default_crush_rule $expected || return 1
-    ./ceph osd pool get rbd crush_ruleset | grep 'ruleset: '$expected || return 1
-    ./ceph osd crush rule dump replicated_ruleset | grep '"ruleset": '$expected || return 1
-    CEPH_ARGS='' ./ceph --admin-daemon $dir/ceph-mon.a.asok log flush || return 1
+    ceph osd pool get rbd crush_ruleset | grep 'ruleset: '$expected || return 1
+    ceph osd crush rule dump replicated_ruleset | grep '"ruleset": '$expected || return 1
+    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-mon.a.asok log flush || return 1
     grep "osd_pool_default_crush_rule is deprecated " $dir/mon.a.log || return 1
 }
 
@@ -65,10 +65,10 @@ function TEST_default_deprectated_2() {
     run_mon $dir a \
         --osd_pool_default_crush_rule $expected \
         --osd_pool_default_crush_replicated_ruleset $unexpected || return 1
-    ./ceph osd pool get rbd crush_ruleset | grep 'ruleset: '$expected || return 1
-    ! ./ceph --format json osd dump | grep '"crush_ruleset":'$unexpected || return 1
-    ./ceph osd crush rule dump replicated_ruleset | grep '"ruleset": '$expected || return 1
-    CEPH_ARGS='' ./ceph --admin-daemon $dir/ceph-mon.a.asok log flush || return 1
+    ceph osd pool get rbd crush_ruleset | grep 'ruleset: '$expected || return 1
+    ! ceph --format json osd dump | grep '"crush_ruleset":'$unexpected || return 1
+    ceph osd crush rule dump replicated_ruleset | grep '"ruleset": '$expected || return 1
+    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-mon.a.asok log flush || return 1
     grep "osd_pool_default_crush_rule is deprecated " $dir/mon.a.log || return 1
 }
 
@@ -78,8 +78,8 @@ function TEST_erasure_invalid_profile() {
     run_mon $dir a || return 1
     local poolname=pool_erasure
     local notaprofile=not-a-valid-erasure-code-profile
-    ! ./ceph osd pool create $poolname 12 12 erasure $notaprofile || return 1
-    ! ./ceph osd erasure-code-profile ls | grep $notaprofile || return 1
+    ! ceph osd pool create $poolname 12 12 erasure $notaprofile || return 1
+    ! ceph osd erasure-code-profile ls | grep $notaprofile || return 1
 }
 
 function TEST_erasure_crush_rule() {
@@ -89,45 +89,45 @@ function TEST_erasure_crush_rule() {
     # choose the crush ruleset used with an erasure coded pool
     #
     local crush_ruleset=myruleset
-    ! ./ceph osd crush rule ls | grep $crush_ruleset || return 1
-    ./ceph osd crush rule create-erasure $crush_ruleset
-    ./ceph osd crush rule ls | grep $crush_ruleset
+    ! ceph osd crush rule ls | grep $crush_ruleset || return 1
+    ceph osd crush rule create-erasure $crush_ruleset
+    ceph osd crush rule ls | grep $crush_ruleset
     local poolname
     poolname=pool_erasure1
-    ! ./ceph --format json osd dump | grep '"crush_ruleset":1' || return 1
-    ./ceph osd pool create $poolname 12 12 erasure default $crush_ruleset
-    ./ceph --format json osd dump | grep '"crush_ruleset":1' || return 1
+    ! ceph --format json osd dump | grep '"crush_ruleset":1' || return 1
+    ceph osd pool create $poolname 12 12 erasure default $crush_ruleset
+    ceph --format json osd dump | grep '"crush_ruleset":1' || return 1
     #
     # a crush ruleset by the name of the pool is implicitly created
     #
     poolname=pool_erasure2
-    ./ceph osd erasure-code-profile set myprofile
-    ./ceph osd pool create $poolname 12 12 erasure myprofile
-    ./ceph osd crush rule ls | grep $poolname || return 1
+    ceph osd erasure-code-profile set myprofile
+    ceph osd pool create $poolname 12 12 erasure myprofile
+    ceph osd crush rule ls | grep $poolname || return 1
     #
     # a non existent crush ruleset given in argument is an error
     # http://tracker.ceph.com/issues/9304
     #
     poolname=pool_erasure3
-    ! ./ceph osd pool create $poolname 12 12 erasure myprofile INVALIDRULESET || return 1
+    ! ceph osd pool create $poolname 12 12 erasure myprofile INVALIDRULESET || return 1
 }
 
 function TEST_erasure_code_profile_default() {
     local dir=$1
     run_mon $dir a || return 1
-    ./ceph osd erasure-code-profile rm default || return 1
-    ! ./ceph osd erasure-code-profile ls | grep default || return 1
-    ./ceph osd pool create $poolname 12 12 erasure default
-    ./ceph osd erasure-code-profile ls | grep default || return 1
+    ceph osd erasure-code-profile rm default || return 1
+    ! ceph osd erasure-code-profile ls | grep default || return 1
+    ceph osd pool create $poolname 12 12 erasure default
+    ceph osd erasure-code-profile ls | grep default || return 1
 }
 
 function TEST_erasure_crush_stripe_width() {
     local dir=$1
     # the default stripe width is used to initialize the pool
     run_mon $dir a --public-addr $CEPH_MON
-    stripe_width=$(./ceph-conf --show-config-value osd_pool_erasure_code_stripe_width)
-    ./ceph osd pool create pool_erasure 12 12 erasure
-    ./ceph --format json osd dump | tee $dir/osd.json
+    stripe_width=$(ceph-conf --show-config-value osd_pool_erasure_code_stripe_width)
+    ceph osd pool create pool_erasure 12 12 erasure
+    ceph --format json osd dump | tee $dir/osd.json
     grep '"stripe_width":'$stripe_width $dir/osd.json > /dev/null || return 1
 }
 
@@ -146,24 +146,24 @@ function TEST_erasure_crush_stripe_width_padded() {
     run_mon $dir a \
         --osd_pool_erasure_code_stripe_width $desired_stripe_width \
         --osd_pool_default_erasure_code_profile "$profile" || return 1
-    ./ceph osd pool create pool_erasure 12 12 erasure
-    ./ceph osd dump | tee $dir/osd.json
+    ceph osd pool create pool_erasure 12 12 erasure
+    ceph osd dump | tee $dir/osd.json
     grep "stripe_width $actual_stripe_width" $dir/osd.json > /dev/null || return 1
 }
 
 function TEST_erasure_code_pool() {
     local dir=$1
     run_mon $dir a || return 1
-    ./ceph --format json osd dump > $dir/osd.json
+    ceph --format json osd dump > $dir/osd.json
     local expected='"erasure_code_profile":"default"'
     ! grep "$expected" $dir/osd.json || return 1
-    ./ceph osd pool create erasurecodes 12 12 erasure
-    ./ceph --format json osd dump | tee $dir/osd.json
+    ceph osd pool create erasurecodes 12 12 erasure
+    ceph --format json osd dump | tee $dir/osd.json
     grep "$expected" $dir/osd.json > /dev/null || return 1
 
-    ./ceph osd pool create erasurecodes 12 12 erasure 2>&1 | \
+    ceph osd pool create erasurecodes 12 12 erasure 2>&1 | \
         grep 'already exists' || return 1
-    ./ceph osd pool create erasurecodes 12 12 2>&1 | \
+    ceph osd pool create erasurecodes 12 12 2>&1 | \
         grep 'cannot change to type replicated' || return 1
 }
 
@@ -172,18 +172,18 @@ function TEST_replicated_pool_with_ruleset() {
     run_mon $dir a
     local ruleset=ruleset0
     local root=host1
-    ./ceph osd crush add-bucket $root host
+    ceph osd crush add-bucket $root host
     local failure_domain=osd
     local poolname=mypool
-    ./ceph osd crush rule create-simple $ruleset $root $failure_domain || return 1
-    ./ceph osd crush rule ls | grep $ruleset
-    ./ceph osd pool create $poolname 12 12 replicated $ruleset 2>&1 | \
+    ceph osd crush rule create-simple $ruleset $root $failure_domain || return 1
+    ceph osd crush rule ls | grep $ruleset
+    ceph osd pool create $poolname 12 12 replicated $ruleset 2>&1 | \
         grep "pool 'mypool' created" || return 1
-    rule_id=`./ceph osd crush rule dump $ruleset | grep "rule_id" | awk -F[' ':,] '{print $4}'`
-    ./ceph osd pool get $poolname crush_ruleset  2>&1 | \
+    rule_id=`ceph osd crush rule dump $ruleset | grep "rule_id" | awk -F[' ':,] '{print $4}'`
+    ceph osd pool get $poolname crush_ruleset  2>&1 | \
         grep "crush_ruleset: $rule_id" || return 1
     #non-existent crush ruleset
-    ./ceph osd pool create newpool 12 12 replicated non-existent 2>&1 | \
+    ceph osd pool create newpool 12 12 replicated non-existent 2>&1 | \
         grep "doesn't exist" || return 1
 }
 
@@ -191,11 +191,11 @@ function TEST_replicated_pool_with_non_existent_default_ruleset_0() {
     local dir=$1
     run_mon $dir a || return 1
     # change the default crush rule
-    ./ceph tell mon.a injectargs -- \
+    ceph tell mon.a injectargs -- \
         --osd_pool_default_crush_replicated_ruleset 66 || return 1
-    ./ceph osd pool create mypool 12 12 replicated 2>&1 | \
+    ceph osd pool create mypool 12 12 replicated 2>&1 | \
         grep "No suitable CRUSH ruleset exists" || return 1
-    CEPH_ARGS='' ./ceph --admin-daemon $dir/ceph-mon.a.asok log flush || return 1
+    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-mon.a.asok log flush || return 1
     ! grep "osd_pool_default_crush_rule is deprecated " $dir/mon.a.log || return 1
 }
 
@@ -203,23 +203,23 @@ function TEST_replicated_pool_with_non_existent_default_ruleset_1() {
     local dir=$1
     run_mon $dir a || return 1
     # change the default crush rule using deprecated option
-    ./ceph tell mon.a injectargs -- \
+    ceph tell mon.a injectargs -- \
         --osd_pool_default_crush_rule 55 || return 1
-    ./ceph osd pool create mypool 12 12 replicated 2>&1 | \
+    ceph osd pool create mypool 12 12 replicated 2>&1 | \
         grep "No suitable CRUSH ruleset exists" || return 1
-    CEPH_ARGS='' ./ceph --admin-daemon $dir/ceph-mon.a.asok log flush || return 1
+    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-mon.a.asok log flush || return 1
     grep "osd_pool_default_crush_rule is deprecated " $dir/mon.a.log || return 1
 }
 
 function TEST_replicated_pool_with_non_existent_default_ruleset_2() {
     local dir=$1
     run_mon $dir a || return 1
-    ./ceph tell mon.a injectargs -- \
+    ceph tell mon.a injectargs -- \
         --osd_pool_default_crush_rule 77 \
         --osd_pool_default_crush_replicated_ruleset 33 || return 1
-    ./ceph osd pool create mypool 12 12 replicated 2>&1 | \
+    ceph osd pool create mypool 12 12 replicated 2>&1 | \
         grep "No suitable CRUSH ruleset exists" || return 1
-    CEPH_ARGS='' ./ceph --admin-daemon $dir/ceph-mon.a.asok log flush || return 1
+    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-mon.a.asok log flush || return 1
     grep "osd_pool_default_crush_rule is deprecated " $dir/mon.a.log || return 1
 }
 
@@ -227,46 +227,46 @@ function TEST_erasure_code_pool_lrc() {
     local dir=$1
     run_mon $dir a || return 1
 
-    ./ceph osd erasure-code-profile set LRCprofile \
+    ceph osd erasure-code-profile set LRCprofile \
              plugin=lrc \
              mapping=DD_ \
              layers='[ [ "DDc", "" ] ]' || return 1
 
-    ./ceph --format json osd dump > $dir/osd.json
+    ceph --format json osd dump > $dir/osd.json
     local expected='"erasure_code_profile":"LRCprofile"'
     local poolname=erasurecodes
     ! grep "$expected" $dir/osd.json || return 1
-    ./ceph osd pool create $poolname 12 12 erasure LRCprofile
-    ./ceph --format json osd dump | tee $dir/osd.json
+    ceph osd pool create $poolname 12 12 erasure LRCprofile
+    ceph --format json osd dump | tee $dir/osd.json
     grep "$expected" $dir/osd.json > /dev/null || return 1
-    ./ceph osd crush rule ls | grep $poolname || return 1
+    ceph osd crush rule ls | grep $poolname || return 1
 }
 
 function TEST_replicated_pool() {
     local dir=$1
     run_mon $dir a || return 1
-    ./ceph osd pool create replicated 12 12 replicated replicated_ruleset 2>&1 | \
+    ceph osd pool create replicated 12 12 replicated replicated_ruleset 2>&1 | \
         grep "pool 'replicated' created" || return 1
-    ./ceph osd pool create replicated 12 12 replicated replicated_ruleset 2>&1 | \
+    ceph osd pool create replicated 12 12 replicated replicated_ruleset 2>&1 | \
         grep 'already exists' || return 1
     # default is replicated
-    ./ceph osd pool create replicated1 12 12 2>&1 | \
+    ceph osd pool create replicated1 12 12 2>&1 | \
         grep "pool 'replicated1' created" || return 1
     # default is replicated, pgp_num = pg_num
-    ./ceph osd pool create replicated2 12 2>&1 | \
+    ceph osd pool create replicated2 12 2>&1 | \
         grep "pool 'replicated2' created" || return 1
-    ./ceph osd pool create replicated 12 12 erasure 2>&1 | \
+    ceph osd pool create replicated 12 12 erasure 2>&1 | \
         grep 'cannot change to type erasure' || return 1
 }
 
 function TEST_no_pool_delete() {
     local dir=$1
     run_mon $dir a || return 1
-    ./ceph osd pool create foo 1 || return 1
-    ./ceph tell mon.a injectargs -- --no-mon-allow-pool-delete || return 1
-    ! ./ceph osd pool delete foo foo --yes-i-really-really-mean-it || return 1
-    ./ceph tell mon.a injectargs -- --mon-allow-pool-delete || return 1
-    ./ceph osd pool delete foo foo --yes-i-really-really-mean-it || return 1
+    ceph osd pool create foo 1 || return 1
+    ceph tell mon.a injectargs -- --no-mon-allow-pool-delete || return 1
+    ! ceph osd pool delete foo foo --yes-i-really-really-mean-it || return 1
+    ceph tell mon.a injectargs -- --mon-allow-pool-delete || return 1
+    ceph osd pool delete foo foo --yes-i-really-really-mean-it || return 1
 }
 
 function TEST_utf8_cli() {
@@ -276,13 +276,13 @@ function TEST_utf8_cli() {
     # the fix for http://tracker.ceph.com/issues/7387.  If it turns out
     # to not be OK (when is the default encoding *not* UTF-8?), maybe
     # the character '黄' can be replaced with the escape $'\xe9\xbb\x84'
-    ./ceph osd pool create 黄 1024 2>&1 | \
+    ceph osd pool create 黄 1024 2>&1 | \
         grep "pool '黄' created" || return 1
-    ./ceph osd lspools 2>&1 | \
+    ceph osd lspools 2>&1 | \
         grep "黄" || return 1
-    ./ceph -f json-pretty osd dump | \
+    ceph -f json-pretty osd dump | \
         python -c "import json; import sys; json.load(sys.stdin)" || return 1
-    ./ceph osd pool delete 黄 黄 --yes-i-really-really-mean-it
+    ceph osd pool delete 黄 黄 --yes-i-really-really-mean-it
 }
 
 main osd-pool-create "$@"
index 7fc41e062c8b11debcb582a1a1a28f377b241422..1508f06ddaf0310851b970f61a79884518f17ed7 100755 (executable)
@@ -34,10 +34,10 @@ function osdmap_get() {
     local epoch=${3:+-v $3}
     local osdmap=`mktemp`
 
-    ceph-monstore-tool $store_path get osdmap -- \
+    $CEPH_BIN/ceph-monstore-tool $store_path get osdmap -- \
                        $epoch -o $osdmap > /dev/null || return
 
-    echo $(osdmaptool --dump xml $osdmap 2> /dev/null | \
+    echo $($CEPH_BIN/osdmaptool --dump xml $osdmap 2> /dev/null | \
            $XMLSTARLET sel -t -m "$query" -v .)
 
     rm -f $osdmap
@@ -50,11 +50,11 @@ function test_crush() {
     local crush=$4
     local osdmap=`mktemp`
 
-    ceph-monstore-tool $store_path get osdmap -- \
+    $CEPH_BIN/ceph-monstore-tool $store_path get osdmap -- \
                        -v $epoch -o $osdmap > /dev/null
-    osdmaptool --export-crush $crush $osdmap &> /dev/null
+    $CEPH_BIN/osdmaptool --export-crush $crush $osdmap &> /dev/null
 
-    if crushtool --test --check $max_osd -i $crush > /dev/null; then
+    if $CEPH_BIN/crushtool --test --check $max_osd -i $crush > /dev/null; then
         good=true
     else
         good=false
@@ -157,14 +157,14 @@ function main() {
     if test $good_epoch -eq $last_osdmap_epoch; then
         echo "and mon store has no faulty crush maps."
     elif test $output; then
-        crushtool --decompile $good_crush --outfn $output
+        $CEPH_BIN/crushtool --decompile $good_crush --outfn $output
     elif test $rewrite; then
-        ceph-monstore-tool $store_path rewrite-crush --  \
+        $CEPH_BIN/ceph-monstore-tool $store_path rewrite-crush --  \
                            --crush $good_crush      \
                            --good-epoch $good_epoch
     else
         echo
-        crushtool --decompile $good_crush
+        $CEPH_BIN/crushtool --decompile $good_crush
     fi
     rm -f $good_crush
 }