-#!/bin/sh
+#!/bin/bash
# abort on failure
set -e
MON_ADDR=""
DASH_URLS=""
+RESTFUL_URLS=""
conf_fn="$CEPH_CONF_PATH/ceph.conf"
keyring_fn="$CEPH_CONF_PATH/keyring"
start_mgr() {
local mgr=0
# avoid monitors on nearby ports (which test/*.sh use extensively)
- DASH_PORT=$(($CEPH_PORT + 1000))
+ MGR_PORT=$(($CEPH_PORT + 1000))
for name in x y z a b c d e f g h i j k l m n o p
do
[ $mgr -eq $CEPH_NUM_MGR ] && break
host = $HOSTNAME
EOF
- $SUDO $CEPH_BIN/ceph config-key put mgr/$name/dashboard/server_addr $IP
- $SUDO $CEPH_BIN/ceph config-key put mgr/$name/dashboard/server_port $DASH_PORT
- DASH_URLS="$DASH_URLS http://$IP:$DASH_PORT/"
- DASH_PORT=$(($DASH_PORT - 1))
+ ceph_adm config-key put mgr/$name/dashboard/server_addr $IP
+ ceph_adm config-key put mgr/$name/dashboard/server_port $MGR_PORT
+ DASH_URLS+="http://$IP:$MGR_PORT/"
+ MGR_PORT=$(($MGR_PORT + 1000))
+
+ CERT=`mktemp`
+ PKEY=`mktemp`
+ openssl req -new -nodes -x509 \
+ -subj "/O=IT/CN=ceph-mgr-restful" \
+ -days 3650 -keyout "$PKEY" -out "$CERT" -extensions v3_ca
+ ceph_adm config-key put mgr/$name/restful/server_addr $IP
+ ceph_adm config-key put mgr/$name/restful/server_port $MGR_PORT
+ ceph_adm config-key put mgr/$name/restful/cert -i $CERT
+ ceph_adm config-key put mgr/$name/restful/pkey -i $PKEY
+ rm $CERT $PKEY
+
+ RESTFUL_URLS+="https://$IP:$MGR_PORT"
+ MGR_PORT=$(($MGR_PORT + 1000))
echo "Starting mgr.${name}"
run 'mgr' $CEPH_BIN/ceph-mgr -i $name $ARGS
done
+
+ SF=`mktemp`
+ ceph_adm --debug-ms 1 tell mgr.x create_key admin -o $SF
+ RESTFUL_SECRET=`cat $SF`
+ rm $SF
}
start_mds() {
echo ""
echo "dashboard urls: $DASH_URLS"
-
+echo " restful urls: $RESTFUL_URLS"
+echo " w/ user/pass: admin / $RESTFUL_SECRET"
echo ""
echo "export PYTHONPATH=./pybind:$PYTHONPATH"
echo "export LD_LIBRARY_PATH=$CEPH_LIB"