mirror of https://github.com/ceph/ceph
55 lines
1.5 KiB
Bash
Executable File
55 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
rgw_frontend=${RGW_FRONTEND:-"beast"}
|
|
script_root=$(dirname "$0")
|
|
script_root=$(cd "$script_root" && pwd)
|
|
[ -z "$BUILD_DIR" ] && BUILD_DIR=build
|
|
if [ -e CMakeCache.txt ]; then
|
|
script_root=$PWD
|
|
elif [ -e "$script_root"/../${BUILD_DIR}/CMakeCache.txt ]; then
|
|
cd "$script_root"/../${BUILD_DIR}
|
|
script_root=$PWD
|
|
fi
|
|
#ceph_bin=$script_root/bin
|
|
vstart_path=$(dirname "$0")
|
|
|
|
[ "$#" -lt 3 ] && echo "usage: $0 <name> <port> <ssl-port> [params...]" && exit 1
|
|
|
|
name=$1
|
|
port=$2
|
|
ssl_port=$3
|
|
cert_param=""
|
|
port_param="port=$port"
|
|
|
|
if [ "$ssl_port" -gt 0 ]; then
|
|
cert_param="ssl_certificate=./cert.pem"
|
|
if [ "$rgw_frontend" = "civetweb" ]; then
|
|
port_param="port=${port} port=${ssl_port}s"
|
|
else
|
|
port_param="port=${port} ssl_port=${ssl_port}"
|
|
fi
|
|
fi
|
|
|
|
if [ -n "$RGW_FRONTEND_THREADS" ]; then
|
|
set_frontend_threads="num_threads=$RGW_FRONTEND_THREADS"
|
|
fi
|
|
|
|
shift 3
|
|
|
|
run_root=$script_root/run/$name
|
|
pidfile=$run_root/out/radosgw.${port}.pid
|
|
asokfile=$run_root/out/radosgw.${port}.asok
|
|
logfile=$run_root/out/radosgw.${port}.log
|
|
|
|
"$vstart_path"/mstop.sh "$name" radosgw "$port"
|
|
|
|
"$vstart_path"/mrun "$name" ceph -c "$run_root"/ceph.conf \
|
|
-k "$run_root"/keyring auth get-or-create client.rgw."$port" mon \
|
|
'allow rw' osd 'allow rwx' mgr 'allow rw' >> "$run_root"/keyring
|
|
|
|
"$vstart_path"/mrun "$name" radosgw --rgw-frontends="$rgw_frontend $port_param $set_frontend_threads $cert_param" \
|
|
-n client.rgw."$port" --pid-file="$pidfile" \
|
|
--admin-socket="$asokfile" "$@" --log-file="$logfile"
|