]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
test: create asok files in a temp directory under $TMPDIR 16445/head
authorKefu Chai <kchai@redhat.com>
Thu, 20 Jul 2017 11:20:04 +0000 (19:20 +0800)
committerKefu Chai <kchai@redhat.com>
Fri, 21 Jul 2017 17:05:29 +0000 (01:05 +0800)
to shorten the pathname of unix domain socket created for admin socket,
so it does not exceed the limit of 107 on GNU/Linux:

* ceph-helper.sh: the temp directory is named ${TMPDIR:-/tmp}/ceph-asok.$$
* vstart.sh: the temp directory is named `mktemp -u -d "${TMPDIR:-/tmp}/ceph-asok.XXXXXX"`

Fixes: http://tracker.ceph.com/issues/16895
Signed-off-by: Kefu Chai <kchai@redhat.com>
15 files changed:
qa/workunits/ceph-helpers.sh
qa/workunits/cephtool/test.sh
run-make-check.sh
src/ceph.in
src/mrgw.sh
src/stop.sh
src/test/erasure-code/test-erasure-code-plugins.sh
src/test/erasure-code/test-erasure-code.sh
src/test/erasure-code/test-erasure-eio.sh
src/test/mon/mon-handle-forward.sh
src/test/mon/osd-crush.sh
src/test/osd/osd-config.sh
src/test/osd/osd-scrub-repair.sh
src/test/vstart_wrapper.sh
src/vstart.sh

index 265e8a94372f6e2279cbd7a09c80238c7cedc118..d1fc2c0fef7a5ca0c3ab76e1d7a20affdc0ce18f 100755 (executable)
@@ -94,6 +94,22 @@ fi
 #
 
 
+function get_asok_dir() {
+    if [ -n "$CEPH_ASOK_DIR" ]; then
+        echo "$CEPH_ASOK_DIR"
+    else
+        echo ${TMPDIR:-/tmp}/ceph-asok.$$
+    fi
+}
+
+function get_asok_path() {
+    local name=$1
+    if [ -n "$name" ]; then
+        echo $(get_asok_dir)/ceph-$name.asok
+    else
+        echo $(get_asok_dir)/\$cluster-\$name.asok
+    fi
+}
 ##
 # Cleanup any leftovers found in **dir** via **teardown**
 # and reset **dir** as an empty environment.
@@ -105,6 +121,7 @@ function setup() {
     local dir=$1
     teardown $dir || return 1
     mkdir -p $dir
+    mkdir -p $(get_asok_dir)
 }
 
 function test_setup() {
@@ -134,6 +151,7 @@ function teardown() {
         __teardown_btrfs $dir
     fi
     rm -fr $dir
+    rm -rf $(get_asok_dir)
 }
 
 function __teardown_btrfs() {
@@ -391,7 +409,7 @@ function run_mon_no_pool() {
         --chdir= \
         --mon-data=$data \
         --log-file=$dir/\$name.log \
-        --admin-socket=$dir/\$cluster-\$name.asok \
+        --admin-socket=$(get_asok_path) \
         --mon-cluster-log-file=$dir/log \
         --run-dir=$dir \
         --pid-file=$dir/\$name.pid \
@@ -436,7 +454,7 @@ function test_run_mon() {
     run_mon $dir a || return 1
     # rbd has been deleted / created, hence it does not have pool id 0
     ! ceph osd dump | grep "pool 1 'rbd'" || return 1
-    local size=$(CEPH_ARGS='' ceph --format=json daemon $dir/ceph-mon.a.asok \
+    local size=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path mon.a) \
         config get osd_pool_default_size)
     test "$size" = '{"osd_pool_default_size":"3"}' || return 1
 
@@ -446,14 +464,14 @@ function test_run_mon() {
     kill_daemons $dir || return 1
 
     run_mon $dir a --osd_pool_default_size=1 || return 1
-    local size=$(CEPH_ARGS='' ceph --format=json daemon $dir/ceph-mon.a.asok \
+    local size=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path mon.a) \
         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 $dir/ceph-mon.a.asok \
+    local size=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path mon.a) \
         config get osd_pool_default_size)
     test "$size" = '{"osd_pool_default_size":"2"}' || return 1
     kill_daemons $dir || return 1
@@ -481,7 +499,7 @@ function run_mgr() {
         --chdir= \
         --mgr-data=$data \
         --log-file=$dir/\$name.log \
-        --admin-socket=$dir/\$cluster-\$name.asok \
+        --admin-socket=$(get_asok_path) \
         --run-dir=$dir \
         --pid-file=$dir/\$name.pid \
         "$@" || return 1
@@ -567,17 +585,17 @@ function test_run_osd() {
     run_mgr $dir x || return 1
 
     run_osd $dir 0 || return 1
-    local backfills=$(CEPH_ARGS='' ceph --format=json daemon $dir//ceph-osd.0.asok \
+    local backfills=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path osd.0) \
         config get osd_max_backfills)
     echo "$backfills" | grep --quiet 'osd_max_backfills' || return 1
 
     run_osd $dir 1 --osd-max-backfills 20 || return 1
-    local backfills=$(CEPH_ARGS='' ceph --format=json daemon $dir//ceph-osd.1.asok \
+    local backfills=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path osd.1) \
         config get osd_max_backfills)
     test "$backfills" = '{"osd_max_backfills":"20"}' || return 1
 
     CEPH_ARGS="$CEPH_ARGS --osd-max-backfills 30" run_osd $dir 2 || return 1
-    local backfills=$(CEPH_ARGS='' ceph --format=json daemon $dir//ceph-osd.2.asok \
+    local backfills=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path osd.2) \
         config get osd_max_backfills)
     test "$backfills" = '{"osd_max_backfills":"30"}' || return 1
 
@@ -680,6 +698,7 @@ function activate_osd() {
     ceph_args+=" --plugin-dir=$CEPH_LIB"
     ceph_args+=" --osd-class-dir=$CEPH_LIB"
     ceph_args+=" --run-dir=$dir"
+    ceph_args+=" --admin-socket=$(get_asok_path)"
     ceph_args+=" --debug-osd=20"
     ceph_args+=" --log-file=$dir/\$name.log"
     ceph_args+=" --pid-file=$dir/\$name.pid"
@@ -708,14 +727,14 @@ function test_activate_osd() {
     run_mgr $dir x || return 1
 
     run_osd $dir 0 || return 1
-    local backfills=$(CEPH_ARGS='' ceph --format=json daemon $dir//ceph-osd.0.asok \
+    local backfills=$(CEPH_ARGS='' ceph --format=json daemon $(get_asok_path osd.0) \
         config get osd_max_backfills)
     echo "$backfills" | grep --quiet 'osd_max_backfills' || return 1
 
     kill_daemons $dir TERM osd || return 1
 
     activate_osd $dir 0 --osd-max-backfills 20 || return 1
-    local backfills=$(CEPH_ARGS='' ceph --format=json daemon $dir//ceph-osd.0.asok \
+    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
 
@@ -880,7 +899,7 @@ function get_config() {
     local config=$3
 
     CEPH_ARGS='' \
-        ceph --format json daemon $dir/ceph-$daemon.$id.asok \
+        ceph --format json daemon $(get_asok_path $daemon.$id) \
         config get $config 2> /dev/null | \
         jq -r ".$config"
 }
@@ -916,7 +935,7 @@ function set_config() {
     local config=$3
     local value=$4
 
-    test $(env CEPH_ARGS='' ceph --format json daemon $dir/ceph-$daemon.$id.asok \
+    test $(env CEPH_ARGS='' ceph --format json daemon $(get_asok_path $daemon.$id) \
                config set $config $value 2> /dev/null | \
            jq 'has("success")') == true
 }
index 694e1968feb3f7cdb37a90db2133d22a365a27f0..0b7d1ca038f0ec4b9fee9b9e8d68137a951e8884 100755 (executable)
@@ -14,9 +14,9 @@ function get_admin_socket()
 {
   local client=$1
 
-  if test -n "$CEPH_OUT_DIR";
+  if test -n "$CEPH_ASOK_DIR";
   then
-    echo $CEPH_OUT_DIR/$client.asok
+    echo $(get_asok_dir)/$client.asok
   else
     local cluster=$(echo $CEPH_ARGS | sed  -r 's/.*--cluster[[:blank:]]*([[:alnum:]]*).*/\1/')
     echo "/var/run/ceph/$cluster-$client.asok"
index 4ec97be2fcde7fc7d96bafc4cc67e9fe1d61d4fa..b23672c4f0a8b022d25103711ab2cc4a43f85049 100755 (executable)
@@ -71,7 +71,10 @@ function run() {
     $DRY_RUN ./do_cmake.sh $@ || return 1
     $DRY_RUN cd build
     $DRY_RUN make $BUILD_MAKEOPTS tests || return 1
-    $DRY_RUN ctest $CHECK_MAKEOPTS --output-on-failure || return 1
+    if ! $DRY_RUN ctest $CHECK_MAKEOPTS --output-on-failure; then
+        rm -f ${TMPDIR:-/tmp}/ceph-asok.*
+        return 1
+    fi
 }
 
 function main() {
index a51a619d298ab7c68e04582d16116ec35aa615fb..4112ed178ddf43db4be6819351a01743512196cc 100755 (executable)
@@ -781,7 +781,8 @@ def main():
             i = sys.argv.index("injectargs")
             sys.argv = sys.argv[:i] + ceph_args.split() + sys.argv[i:]
         else:
-            sys.argv.extend(ceph_args.split())
+            sys.argv.extend([arg for arg in ceph_args.split()
+                             if '--admin-socket' not in arg])
     parser, parsed_args, childargs = parse_cmdargs()
 
     if parsed_args.version:
index 8d90691ae63d29c7ded4c2bd04708d3bce9a4119..92791780b3bc9802f50d1a8cb4467ee679ca9d9e 100755 (executable)
@@ -10,6 +10,7 @@ elif [ -e $script_root/../build/CMakeCache.txt ]; then
     cd $script_root/../build
     script_root=$PWD
 fi
+ceph_bin=$script_root/bin
 vstart_path=`dirname $0`
 
 [ "$#" -lt 2 ] && echo "usage: $0 <name> <port> [params...]" && exit 1
@@ -21,7 +22,7 @@ shift 2
 
 run_root=$script_root/run/$name
 pidfile=$run_root/out/radosgw.${port}.pid
-asokfile=$run_root/out/radosgw.${port}.asok
+asokfile=$($ceph_bin/ceph-conf --show-config-value admin_socket --name radosgw.${port})
 logfile=$run_root/out/radosgw.${port}.log
 
 $vstart_path/mstop.sh $name radosgw $port
index ce219fd81dd6b68e61bd7b09d6f97af7328717a0..0eafe018559e345033ecb9a85633c54abc5e8344 100755 (executable)
@@ -19,8 +19,6 @@
 test -d dev/osd0/. && test -e dev/sudo && SUDO="sudo"
 
 if [ -e CMakeCache.txt ]; then
-  [ -z "$CEPH_BIN" ] && CEPH_BIN=src
-else
   [ -z "$CEPH_BIN" ] && CEPH_BIN=bin
 fi
 
@@ -104,6 +102,8 @@ if [ $stop_all -eq 1 ]; then
     pkill -u $MYUID -f valgrind.bin.\*ceph-mon
     $SUDO pkill -u $MYUID -f valgrind.bin.\*ceph-osd
     pkill -u $MYUID -f valgrind.bin.\*ceph-mds
+    asok_dir=`dirname $("${CEPH_BIN}"/ceph-conf --show-config-value admin_socket)`
+    rm -rf "${asok_dir}"
 else
     [ $stop_mon -eq 1 ] && do_killall ceph-mon
     [ $stop_mds -eq 1 ] && do_killall ceph-mds
index 5bdb34f3f0f7af85908338e29d12d682375a90c6..b148f3a9bb39168b5911d55d344f69ecc756bc79 100755 (executable)
@@ -44,9 +44,9 @@ function TEST_preload_warning() {
         setup $dir || return 1
         run_mon $dir a --osd_erasure_code_plugins="${plugin}" || return 1 
        run_mgr $dir x || return 1
-        CEPH_ARGS='' ceph --admin-daemon $dir/ceph-mon.a.asok log flush || return 1
+        CEPH_ARGS='' ceph --admin-daemon $(get_asok_path mon.a) log flush || return 1
         run_osd $dir 0 --osd_erasure_code_plugins="${plugin}" || return 1 
-        CEPH_ARGS='' ceph --admin-daemon $dir/ceph-osd.0.asok log flush || return 1
+        CEPH_ARGS='' ceph --admin-daemon $(get_asok_path osd.0) log flush || return 1
         grep "WARNING: osd_erasure_code_plugins contains plugin ${plugin}" $dir/mon.a.log || return 1
         grep "WARNING: osd_erasure_code_plugins contains plugin ${plugin}" $dir/osd.0.log || return 1
         teardown $dir || return 1
@@ -61,9 +61,9 @@ function TEST_preload_no_warning() {
         setup $dir || return 1
         run_mon $dir a --osd_erasure_code_plugins="${plugin}" || return 1 
        run_mgr $dir x || return 1
-        CEPH_ARGS='' ceph --admin-daemon $dir/ceph-mon.a.asok log flush || return 1
+        CEPH_ARGS='' ceph --admin-daemon $(get_asok_path mon.a) log flush || return 1
         run_osd $dir 0 --osd_erasure_code_plugins="${plugin}" || return 1 
-        CEPH_ARGS='' ceph --admin-daemon $dir/ceph-osd.0.asok log flush || return 1
+        CEPH_ARGS='' ceph --admin-daemon $(get_asok_path osd.0) log flush || return 1
         ! grep "WARNING: osd_erasure_code_plugins contains plugin" $dir/mon.a.log || return 1
         ! grep "WARNING: osd_erasure_code_plugins contains plugin" $dir/osd.0.log || return 1
         teardown $dir || return 1
@@ -77,10 +77,10 @@ function TEST_preload_no_warning_default() {
 
     setup $dir || return 1
     run_mon $dir a || return 1 
-    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-mon.a.asok log flush || return 1
+    CEPH_ARGS='' ceph --admin-daemon $(get_asok_path mon.a) log flush || return 1
     run_mgr $dir x || return 1
     run_osd $dir 0 || return 1 
-    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-osd.0.asok log flush || return 1
+    CEPH_ARGS='' ceph --admin-daemon $(get_asok_path osd.0) log flush || return 1
     ! grep "WARNING: osd_erasure_code_plugins" $dir/mon.a.log || return 1
     ! grep "WARNING: osd_erasure_code_plugins" $dir/osd.0.log || return 1
     teardown $dir || return 1
@@ -101,13 +101,13 @@ function TEST_ec_profile_warning() {
 
     for plugin in ${legacy_jerasure_plugins[*]}; do
         ceph osd erasure-code-profile set prof-${plugin} crush-failure-domain=osd technique=reed_sol_van plugin=${plugin} || return 1
-        CEPH_ARGS='' ceph --admin-daemon $dir/ceph-mon.a.asok log flush || return 1
+        CEPH_ARGS='' ceph --admin-daemon $(get_asok_path mon.a) log flush || return 1
         grep "WARNING: erasure coding profile prof-${plugin} uses plugin ${plugin}" $dir/mon.a.log || return 1
     done
 
     for plugin in ${legacy_shec_plugins[*]}; do
         ceph osd erasure-code-profile set prof-${plugin} crush-failure-domain=osd plugin=${plugin} || return 1
-        CEPH_ARGS='' ceph --admin-daemon $dir/ceph-mon.a.asok log flush || return 1
+        CEPH_ARGS='' ceph --admin-daemon $(get_asok_path mon.a) log flush || return 1
         grep "WARNING: erasure coding profile prof-${plugin} uses plugin ${plugin}" $dir/mon.a.log || return 1
     done
 
index d9eb953fe2ae15833bb8d2012e78d10e5c2abbf0..91fd32062b2b291ea6572590fb8cfd69cebb7ddd 100755 (executable)
@@ -32,14 +32,14 @@ function run() {
     run_mon $dir a || return 1
     run_mgr $dir x || return 1
     # check that erasure code plugins are preloaded
-    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-mon.a.asok log flush || return 1
+    CEPH_ARGS='' ceph --admin-daemon $(get_asok_path mon.a) log flush || return 1
     grep 'load: jerasure.*lrc' $dir/mon.a.log || return 1
     for id in $(seq 0 10) ; do
         run_osd $dir $id || return 1
     done
     wait_for_clean || return 1
     # check that erasure code plugins are preloaded
-    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-osd.0.asok log flush || return 1
+    CEPH_ARGS='' ceph --admin-daemon $(get_asok_path osd.0) log flush || return 1
     grep 'load: jerasure.*lrc' $dir/osd.0.log || return 1
     create_erasure_coded_pool ecpool || return 1
 
index 8928f19d3084c29684809abe61230ee842ca4bdb..90a225ed3cf1558592be39525020e739f4ee4037 100755 (executable)
@@ -34,7 +34,7 @@ function run() {
         run_mon $dir a || return 1
        run_mgr $dir x || return 1
         # check that erasure code plugins are preloaded
-        CEPH_ARGS='' ceph --admin-daemon $dir/ceph-mon.a.asok log flush || return 1
+        CEPH_ARGS='' ceph --admin-daemon $(get_asok_path mon.a) log flush || return 1
         grep 'load: jerasure.*lrc' $dir/mon.a.log || return 1
         $func $dir || return 1
         teardown $dir || return 1
@@ -48,7 +48,7 @@ function setup_osds() {
     wait_for_clean || return 1
 
     # check that erasure code plugins are preloaded
-    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-osd.0.asok log flush || return 1
+    CEPH_ARGS='' ceph --admin-daemon $(get_asok_path osd.0) log flush || return 1
     grep 'load: jerasure.*lrc' $dir/osd.0.log || return 1
 }
 
@@ -153,7 +153,7 @@ function inject_eio() {
     local -a initial_osds=($(get_osds $poolname $objname))
     local osd_id=${initial_osds[$shard_id]}
     set_config osd $osd_id filestore_debug_inject_read_err true || return 1
-    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-osd.$osd_id.asok \
+    CEPH_ARGS='' ceph --admin-daemon $(get_asok_path osd.$osd_id) \
              injectdataerr $poolname $objname $shard_id || return 1
 }
 
index 64e2f1e72196d75600ef06bfc04e45d912001b45..c49657004ec2d466630753145816338aae386a54 100755 (executable)
@@ -36,19 +36,19 @@ function run() {
 
     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 $(get_asok_path mon.b) 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_ARGS='' ceph --admin-daemon $(get_asok_path mon.a) 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 $(get_asok_path mon.b) 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_ARGS='' ceph --admin-daemon $(get_asok_path mon.b) 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 $(get_asok_path mon.a) 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 68d90ca9d2e71d8cca4c3eb496c2e7014aa6b0eb..2c30ac834d6f0b01bf3cbb6ca188dabd0a3e2a7a 100755 (executable)
@@ -114,7 +114,7 @@ function TEST_crush_rule_create_erasure() {
     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_ARGS='' ceph --admin-daemon $(get_asok_path mon.a) 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
index 6cb5eb2fd30f59304acb1ca1e95403b4c49bf0c9..4ef266ee98d59f6e46c4cdef39e9f1c8ea770f40 100755 (executable)
@@ -49,7 +49,7 @@ function TEST_config_init() {
         --osd-map-cache-size $cache \
         --osd-pg-epoch-persisted-max-stale $stale \
         || return 1
-    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-osd.0.asok log flush || return 1
+    CEPH_ARGS='' ceph --admin-daemon $(get_asok_path osd.0) log flush || return 1
     grep 'is not > osd_map_max_advance' $dir/osd.0.log || return 1
     grep 'is not > osd_pg_epoch_persisted_max_stale' $dir/osd.0.log || return 1
 }
@@ -73,10 +73,10 @@ function TEST_config_track() {
     ! grep 'is not > osd_map_max_advance' $dir/osd.0.log || return 1
     local cache=$(($osd_map_max_advance / 2))
     ceph tell osd.0 injectargs "--osd-map-cache-size $cache" || return 1
-    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-osd.0.asok log flush || return 1
+    CEPH_ARGS='' ceph --admin-daemon $(get_asok_path osd.0) log flush || return 1
     grep 'is not > osd_map_max_advance' $dir/osd.0.log || return 1
     rm $dir/osd.0.log
-    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-osd.0.asok log reopen || return 1
+    CEPH_ARGS='' ceph --admin-daemon $(get_asok_path osd.0) log reopen || return 1
 
     #
     # reset cache_size to the default and assert that it does not trigger the warning
@@ -84,10 +84,10 @@ function TEST_config_track() {
     ! grep 'is not > osd_map_max_advance' $dir/osd.0.log || return 1
     local cache=$osd_map_cache_size
     ceph tell osd.0 injectargs "--osd-map-cache-size $cache" || return 1
-    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-osd.0.asok log flush || return 1
+    CEPH_ARGS='' ceph --admin-daemon $(get_asok_path osd.0) log flush || return 1
     ! grep 'is not > osd_map_max_advance' $dir/osd.0.log || return 1
     rm $dir/osd.0.log
-    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-osd.0.asok log reopen || return 1
+    CEPH_ARGS='' ceph --admin-daemon $(get_asok_path osd.0) log reopen || return 1
 
     #
     # increase the osd_map_max_advance above the default cache_size
@@ -95,10 +95,10 @@ function TEST_config_track() {
     ! grep 'is not > osd_map_max_advance' $dir/osd.0.log || return 1
     local advance=$(($osd_map_cache_size * 2))
     ceph tell osd.0 injectargs "--osd-map-max-advance $advance" || return 1
-    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-osd.0.asok log flush || return 1
+    CEPH_ARGS='' ceph --admin-daemon $(get_asok_path osd.0) log flush || return 1
     grep 'is not > osd_map_max_advance' $dir/osd.0.log || return 1
     rm $dir/osd.0.log
-    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-osd.0.asok log reopen || return 1
+    CEPH_ARGS='' ceph --admin-daemon $(get_asok_path osd.0) log reopen || return 1
 
     #
     # increase the osd_pg_epoch_persisted_max_stale above the default cache_size
@@ -106,10 +106,10 @@ function TEST_config_track() {
     ! grep 'is not > osd_pg_epoch_persisted_max_stale' $dir/osd.0.log || return 1
     local stale=$(($osd_map_cache_size * 2))
     ceph tell osd.0 injectargs "--osd-pg-epoch-persisted-max-stale $stale" || return 1
-    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-osd.0.asok log flush || return 1
+    CEPH_ARGS='' ceph --admin-daemon $(get_asok_path osd.0) log flush || return 1
     grep 'is not > osd_pg_epoch_persisted_max_stale' $dir/osd.0.log || return 1
     rm $dir/osd.0.log
-    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-osd.0.asok log reopen || return 1
+    CEPH_ARGS='' ceph --admin-daemon $(get_asok_path osd.0) log reopen || return 1
 }
 
 main osd-config "$@"
index 31b76dcee8bfb4eccae1ba3c4c8b9a6b98e92216..c6648750bb6e17b34740ce0ec3e65b230fe8d51a 100755 (executable)
@@ -494,9 +494,9 @@ function TEST_corrupt_scrub_replicated() {
     local pg=$(get_pg $poolname ROBJ0)
 
     # Compute an old omap digest and save oi
-    CEPH_ARGS='' ceph daemon $dir//ceph-osd.0.asok \
+    CEPH_ARGS='' ceph daemon $(get_asok_path osd.0) \
         config set osd_deep_scrub_update_digest_min_age 0
-    CEPH_ARGS='' ceph daemon $dir//ceph-osd.1.asok \
+    CEPH_ARGS='' ceph daemon $(get_asok_path osd.1) \
         config set osd_deep_scrub_update_digest_min_age 0
     pg_deep_scrub $pg
 
@@ -593,13 +593,13 @@ function TEST_corrupt_scrub_replicated() {
 
     set_config osd 0 filestore_debug_inject_read_err true || return 1
     set_config osd 1 filestore_debug_inject_read_err true || return 1
-    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-osd.1.asok \
+    CEPH_ARGS='' ceph --admin-daemon $(get_asok_path osd.1) \
              injectdataerr $poolname ROBJ11 || return 1
-    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-osd.0.asok \
+    CEPH_ARGS='' ceph --admin-daemon $(get_asok_path osd.0) \
              injectmdataerr $poolname ROBJ12 || return 1
-    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-osd.0.asok \
+    CEPH_ARGS='' ceph --admin-daemon $(get_asok_path osd.0) \
              injectmdataerr $poolname ROBJ13 || return 1
-    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-osd.1.asok \
+    CEPH_ARGS='' ceph --admin-daemon $(get_asok_path osd.1) \
              injectdataerr $poolname ROBJ13 || return 1
 
     pg_scrub $pg
@@ -965,13 +965,13 @@ EOF
 
     set_config osd 0 filestore_debug_inject_read_err true || return 1
     set_config osd 1 filestore_debug_inject_read_err true || return 1
-    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-osd.1.asok \
+    CEPH_ARGS='' ceph --admin-daemon $(get_asok_path osd.1) \
              injectdataerr $poolname ROBJ11 || return 1
-    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-osd.0.asok \
+    CEPH_ARGS='' ceph --admin-daemon $(get_asok_path osd.0) \
              injectmdataerr $poolname ROBJ12 || return 1
-    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-osd.0.asok \
+    CEPH_ARGS='' ceph --admin-daemon $(get_asok_path osd.0) \
              injectmdataerr $poolname ROBJ13 || return 1
-    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-osd.1.asok \
+    CEPH_ARGS='' ceph --admin-daemon $(get_asok_path osd.1) \
              injectdataerr $poolname ROBJ13 || return 1
     pg_deep_scrub $pg
 
@@ -2564,7 +2564,7 @@ function TEST_periodic_scrub_replicated() {
 
     local last_scrub=$(get_last_scrub_stamp $pg)
     # Fake a schedule scrub
-    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-osd.${primary}.asok \
+    CEPH_ARGS='' ceph --admin-daemon $(get_asok_path osd.${primary}) \
              trigger_scrub $pg || return 1
     # Wait for schedule regular scrub
     wait_for_scrub $pg "$last_scrub"
@@ -2582,7 +2582,7 @@ function TEST_periodic_scrub_replicated() {
 
     # Fake a schedule scrub
     local last_scrub=$(get_last_scrub_stamp $pg)
-    CEPH_ARGS='' ceph --admin-daemon $dir/ceph-osd.${primary}.asok \
+    CEPH_ARGS='' ceph --admin-daemon $(get_asok_path osd.${primary}) \
              trigger_scrub $pg || return 1
     # Wait for schedule regular scrub
     # to notice scrub and skip it
index bc3cd9b56019abccc1220eeaf448e2de7dfd0fb8..9af1cf9b4104424661b93c11b4287a63d3d19f6a 100755 (executable)
@@ -22,6 +22,7 @@ export CEPH_VSTART_WRAPPER=1
 export CEPH_DIR="${TMPDIR:-$PWD}/td/t-$CEPH_PORT"
 export CEPH_DEV_DIR="$CEPH_DIR/dev"
 export CEPH_OUT_DIR="$CEPH_DIR/out"
+export CEPH_ASOK_DIR="$CEPH_DIR/out"
 
 export MGR_PYTHON_PATH=$CEPH_ROOT/src/pybind/mgr
 
index 68ffff35add7dbb307ab878f51335e3535f5d1d2..1b63b62689fb3f4013f5f441e3ab8a3525647ac6 100755 (executable)
@@ -327,6 +327,8 @@ if [ $kill_all -eq 1 ]; then
 fi
 
 if [ "$overwrite_conf" -eq 0 ]; then
+    CEPH_ASOK_DIR=`dirname $($CEPH_BIN/ceph-conf --show-config-value admin_socket)`
+    mkdir -p $CEPH_ASOK_DIR
     MON=`$CEPH_BIN/ceph-conf -c $conf_fn --name $VSTART_SEC num_mon 2>/dev/null` && \
         CEPH_NUM_MON="$MON"
     OSD=`$CEPH_BIN/ceph-conf -c $conf_fn --name $VSTART_SEC num_osd 2>/dev/null` && \
@@ -340,8 +342,14 @@ if [ "$overwrite_conf" -eq 0 ]; then
 else
     if [ "$new" -ne 0 ]; then
         # only delete if -n
+        asok_dir=`dirname $($CEPH_BIN/ceph-conf --show-config-value admin_socket)`
+        [ -d $asok_dir ] && rm -f $asok_dir/* && rmdir $asok_dir
+        if [ -z "$CEPH_ASOK_DIR" ]; then
+            CEPH_ASOK_DIR=`mktemp -u -d "${TMPDIR:-/tmp}/ceph-asok.XXXXXX"`
+        fi
         [ -e "$conf_fn" ] && rm -- "$conf_fn"
     else
+        CEPH_ASOK_DIR=`dirname $($CEPH_BIN/ceph-conf --show-config-value admin_socket)`
         # -k is implied... (doesn't make sense otherwise)
         overwrite_conf=0
     fi
@@ -386,7 +394,7 @@ wconf() {
 prepare_conf() {
     local DAEMONOPTS="
         log file = $CEPH_OUT_DIR/\$name.log
-        admin socket = $CEPH_OUT_DIR/\$name.asok
+        admin socket = $CEPH_ASOK_DIR/\$name.asok
         chdir = \"\"
         pid file = $CEPH_OUT_DIR/\$name.pid
         heartbeat file = $CEPH_OUT_DIR/\$name.heartbeat
@@ -453,7 +461,7 @@ EOF
 [client]
         keyring = $keyring_fn
         log file = $CEPH_OUT_DIR/\$name.\$pid.log
-        admin socket = $CEPH_OUT_DIR/\$name.\$pid.asok
+        admin socket = $CEPH_ASOK_DIR/\$name.\$pid.asok
 
 [client.rgw]
 
@@ -808,6 +816,7 @@ test -d $CEPH_DEV_DIR/osd0/. && test -e $CEPH_DEV_DIR/sudo && SUDO="sudo"
 
 prun $SUDO rm -f core*
 
+test -d $CEPH_ASOK_DIR || mkdir $CEPH_ASOK_DIR
 test -d $CEPH_OUT_DIR || mkdir $CEPH_OUT_DIR
 test -d $CEPH_DEV_DIR || mkdir $CEPH_DEV_DIR
 $SUDO rm -rf $CEPH_OUT_DIR/*