X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Fceph_common.sh;fp=src%2Fceph%2Fsrc%2Fceph_common.sh;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=20a2db04c4be9695222230bc22d9ca8c7a25649f;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/ceph_common.sh b/src/ceph/src/ceph_common.sh deleted file mode 100644 index 20a2db0..0000000 --- a/src/ceph/src/ceph_common.sh +++ /dev/null @@ -1,242 +0,0 @@ -#!/bin/sh - -CCONF="$BINDIR/ceph-conf" - -default_conf=$ETCDIR"/ceph.conf" -conf=$default_conf - -hostname=`hostname -s` - -verify_conf() { - # fetch conf? - if [ -x "$ETCDIR/fetch_config" ] && [ "$conf" = "$default_conf" ]; then - conf="/tmp/fetched.ceph.conf.$$" - echo "[$ETCDIR/fetch_config $conf]" - if $ETCDIR/fetch_config $conf && [ -e $conf ]; then true ; else - echo "$0: failed to fetch config with '$ETCDIR/fetch_config $conf'" - exit 1 - fi - # yay! - else - # make sure ceph.conf exists - if [ ! -e $conf ]; then - if [ "$conf" = "$default_conf" ]; then - echo "$0: ceph conf $conf not found; system is not configured." - exit 0 - fi - echo "$0: ceph conf $conf not found!" - usage_exit - fi - fi -} - - -check_host() { - # what host is this daemon assigned to? - host=`$CCONF -c $conf -n $type.$id host` - if [ "$host" = "localhost" ]; then - echo "$0: use a proper short hostname (hostname -s), not 'localhost', in $conf section $type.$id; skipping entry" - return 1 - fi - if expr match "$host" '.*\.' > /dev/null 2>&1; then - echo "$0: $conf section $type.$id" - echo "contains host=$host, which contains dots; this is probably wrong" - echo "It must match the result of hostname -s" - fi - ssh="" - rootssh="" - sshdir=$PWD - get_conf user "" "user" - - #echo host for $name is $host, i am $hostname - - 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/$cluster-$id/sysvinit" ]; then - host="$hostname" - echo "=== $type.$id === " - return 0 - fi - - # ignore all sections without 'host' defined - if [ -z "$host" ]; then - return 1 - fi - - if [ "$host" != "$hostname" ]; then - # skip, unless we're starting remote daemons too - if [ $allhosts -eq 0 ]; then - return 1 - fi - - # we'll need to ssh into that host - if [ -z "$user" ]; then - ssh="ssh $host" - else - ssh="ssh $user@$host" - fi - rootssh="ssh root@$host" - get_conf sshdir "$sshdir" "ssh path" - fi - - echo "=== $type.$id === " - - return 0 -} - -do_cmd() { - if [ -z "$ssh" ]; then - [ $verbose -eq 1 ] && echo "--- $host# $1" - ulimit -c unlimited - whoami=`whoami` - if [ "$whoami" = "$user" ] || [ -z "$user" ]; then - bash -c "$1" || { [ -z "$3" ] && echo "failed: '$1'" && exit 1; } - else - sudo su $user -c "$1" || { [ -z "$3" ] && echo "failed: '$1'" && exit 1; } - fi - else - [ $verbose -eq 1 ] && echo "--- $ssh $2 \"if [ ! -d $sshdir ]; then mkdir -p $sshdir; fi; cd $sshdir ; ulimit -c unlimited ; $1\"" - $ssh $2 "if [ ! -d $sshdir ]; then mkdir -p $sshdir; fi; cd $sshdir ; ulimit -c unlimited ; $1" || { [ -z "$3" ] && echo "failed: '$ssh $1'" && exit 1; } - fi -} - -do_cmd_okfail() { - ERR=0 - if [ -z "$ssh" ]; then - [ $verbose -eq 1 ] && echo "--- $host# $1" - ulimit -c unlimited - whoami=`whoami` - if [ "$whoami" = "$user" ] || [ -z "$user" ]; then - bash -c "$1" || { [ -z "$3" ] && echo "failed: '$1'" && ERR=1 && return 1; } - else - sudo su $user -c "$1" || { [ -z "$3" ] && echo "failed: '$1'" && ERR=1 && return 1; } - fi - else - [ $verbose -eq 1 ] && echo "--- $ssh $2 \"if [ ! -d $sshdir ]; then mkdir -p $sshdir; fi; cd $sshdir ; ulimit -c unlimited ; $1\"" - $ssh $2 "if [ ! -d $sshdir ]; then mkdir -p $sshdir; fi; cd $sshdir ; ulimit -c unlimited ; $1" || { [ -z "$3" ] && echo "failed: '$ssh $1'" && ERR=1 && return 1; } - fi - return 0 -} - -do_root_cmd() { - if [ -z "$ssh" ]; then - [ $verbose -eq 1 ] && echo "--- $host# $1" - ulimit -c unlimited - whoami=`whoami` - if [ "$whoami" = "root" ]; then - bash -c "$1" || { echo "failed: '$1'" ; exit 1; } - else - sudo bash -c "$1" || { echo "failed: '$1'" ; exit 1; } - fi - else - [ $verbose -eq 1 ] && echo "--- $rootssh $2 \"if [ ! -d $sshdir ]; then mkdir -p $sshdir; fi ; cd $sshdir ; ulimit -c unlimited ; $1\"" - $rootssh $2 "if [ ! -d $sshdir ]; then mkdir -p $sshdir; fi ; cd $sshdir; ulimit -c unlimited ; $1" || { echo "failed: '$rootssh $1'" ; exit 1; } - fi -} - -do_root_cmd_okfail() { - ERR=0 - if [ -z "$ssh" ]; then - [ $verbose -eq 1 ] && echo "--- $host# $1" - ulimit -c unlimited - whoami=`whoami` - if [ "$whoami" = "root" ]; then - bash -c "$1" || { [ -z "$3" ] && echo "failed: '$1'" && ERR=1 && return 1; } - else - sudo bash -c "$1" || { [ -z "$3" ] && echo "failed: '$1'" && ERR=1 && return 1; } - fi - else - [ $verbose -eq 1 ] && echo "--- $rootssh $2 \"if [ ! -d $sshdir ]; then mkdir -p $sshdir; fi; cd $sshdir ; ulimit -c unlimited ; $1\"" - $rootssh $2 "if [ ! -d $sshdir ]; then mkdir -p $sshdir; fi; cd $sshdir ; ulimit -c unlimited ; $1" || { [ -z "$3" ] && echo "failed: '$rootssh $1'" && ERR=1 && return 1; } - fi - return 0 -} - -get_local_daemon_list() { - type=$1 - if [ -d "/var/lib/ceph/$type" ]; then - for p in `find -L /var/lib/ceph/$type -mindepth 1 -maxdepth 1 -type d`; do - i=`basename $p` - if [ -e "/var/lib/ceph/$type/$i/sysvinit" ]; then - id=`echo $i | sed 's/[^-]*-//'` - local="$local $type.$id" - fi - done - fi -} - -get_local_name_list() { - # enumerate local directories - local="" - get_local_daemon_list "mon" - get_local_daemon_list "osd" - get_local_daemon_list "mds" - get_local_daemon_list "mgr" -} - -get_name_list() { - orig="$*" - - # extract list of monitors, mdss, osds, mgrs defined in startup.conf - allconf="$local "`$CCONF -c $conf -l mon | egrep -v '^mon$' || true ; \ - $CCONF -c $conf -l mds | egrep -v '^mds$' || true ; \ - $CCONF -c $conf -l mgr | egrep -v '^mgr$' || true ; \ - $CCONF -c $conf -l osd | egrep -v '^osd$' || true` - - if [ -z "$orig" ]; then - what="$allconf" - return - fi - - what="" - for f in $orig; do - type=`echo $f | cut -c 1-3` # e.g. 'mon', if $item is 'mon1' - id=`echo $f | cut -c 4- | sed 's/\\.//'` - case $f in - mon | osd | mds | mgr) - for d in $allconf; do - if echo $d | grep -q ^$type; then - what="$what $d" - fi - done - ;; - *) - if ! echo " " $allconf $local " " | egrep -q "( $type$id | $type.$id )"; then - echo "$0: $type.$id not found ($conf defines" $allconf", /var/lib/ceph defines" $local")" - exit 1 - fi - what="$what $f" - ;; - esac - done -} - -get_conf() { - var=$1 - def=$2 - key=$3 - shift; shift; shift - - if [ -z "$1" ]; then - [ "$verbose" -eq 1 ] && echo "$CCONF -c $conf -n $type.$id \"$key\"" - eval "$var=\"`$CCONF -c $conf -n $type.$id \"$key\" || printf \"$def\"`\"" - else - [ "$verbose" -eq 1 ] && echo "$CCONF -c $conf -s $1 \"$key\"" - eval "$var=\"`$CCONF -c $conf -s $1 \"$key\" || eval printf \"$def\"`\"" - fi -} - -get_conf_bool() { - get_conf "$@" - - eval "val=$"$1 - [ "$val" = "0" ] && export $1=0 - [ "$val" = "false" ] && export $1=0 - [ "$val" = "1" ] && export $1=1 - [ "$val" = "true" ] && export $1=1 -} -