Hi, we found some bugs when cluster name is not ‘ceph' in version 0.80.1,
-----
diff --git a/src/ceph-disk b/src/ceph-disk
index f79e341..153e344 100755
--- a/src/ceph-disk
+++ b/src/ceph-disk
@@ -1611,6 +1611,8 @@ def start_daemon(
                 [
                     svc,
                     'ceph',
+                    '-c',
+                    '/etc/ceph/{cluster}.conf'.format(cluster=cluster),
                     'start',
                     'osd.{osd_id}'.format(osd_id=osd_id),
                     ],
diff --git a/src/ceph_common.sh b/src/ceph_common.sh
index 01781b7..8d14a3c 100644
--- a/src/ceph_common.sh
+++ b/src/ceph_common.sh
@@ -49,13 +49,13 @@ check_host() {
     get_conf user "" "user"
 
     #echo host for $name is $host, i am $hostname
-
-    if [ -e "/var/lib/ceph/$type/ceph-$id/upstart" ]; then
+    cluster=$1
+    if [ -e "/var/lib/ceph/$type/$cluster-$id/upstart" ]; then
        return 1
     fi
 
     # sysvinit managed instance in standard location?
-    if [ -e "/var/lib/ceph/$type/ceph-$id/sysvinit" ]; then
+    if [ -e "/var/lib/ceph/$type/$cluster-$id/sysvinit" ]; then
        host="$hostname"
        echo "=== $type.$id === "
        return 0
diff --git a/src/init-ceph.in b/src/init-ceph.in
index 846bd57..24c52d9 100644
--- a/src/init-ceph.in
+++ b/src/init-ceph.in
@@ -189,7 +189,7 @@ for name in $what; do
     num=$id
     name="$type.$id"
 
-    check_host || continue
+    check_host $cluster|| continue
 
     binary="$BINDIR/ceph-$type"
     cmd="$binary -i $id"
@@ -231,7 +231,7 @@ for name in $what; do
     cmd="$cmd -c $conf"
 
     if echo $name | grep -q ^osd; then
-       get_conf osd_data "/var/lib/ceph/osd/ceph-$id" "osd data"
+       get_conf osd_data "/var/lib/ceph/osd/$cluster-$id" "osd data"
        get_conf fs_path "$osd_data" "fs path"  # mount point defaults so osd 
data
         get_conf fs_devs "" "devs"
        if [ -z "$fs_devs" ]; then
@@ -323,7 +323,7 @@ for name in $what; do
                if [ "${update_crush:-1}" = "1" -o "${update_crush:-1}" = 
"true" ]; then
                    # update location in crush
                    get_conf osd_location_hook "$BINDIR/ceph-crush-location" 
"osd crush location hook"
-                   osd_location=`$osd_location_hook --cluster ceph --id $id 
--type osd`
+                   osd_location=`$osd_location_hook --cluster $cluster --id 
$id --type osd`
                    get_conf osd_weight "" "osd crush initial weight"
                    defaultweight="$(df -P -k $osd_data/. | tail -1 | awk '{ 
print sprintf("%.2f",$2/1073741824) }')"
                    get_conf osd_keyring "$osd_data/keyring" "keyring"
@@ -354,7 +354,7 @@ for name in $what; do
                get_conf mon_data "/var/lib/ceph/mon/ceph-$id" "mon data"
                if [ "$mon_data" = "/var/lib/ceph/mon/ceph-$id" -a "$asok" = 
"/var/run/ceph/ceph-mon.$id.asok" ]; then
                    echo Starting ceph-create-keys on $host...
-                   cmd2="$SBINDIR/ceph-create-keys -i $id 2> /dev/null &"
+                   cmd2="$SBINDIR/ceph-create-keys --cluster $cluster -i $id 
2> /dev/null &"
                    do_cmd "$cmd2"
                fi
            fi

-----------
Best regards,
yy,
eXtreme Spring Network Technology Limited. Co.

Reply via email to