+++ /dev/null
-#!/bin/sh
-#
-# Copyright (C) 2013 Inktank <info@inktank.com>
-# Copyright (C) 2013 Cloudwatt <libre.licensing@cloudwatt.com>
-#
-# Author: Loic Dachary <loic@dachary.org>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU Library Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Library Public License for more details.
-#
-
-test -d dev/osd0/. && test -e dev/sudo && SUDO="sudo"
-
-if [ -e CMakeCache.txt ]; then
- [ -z "$CEPH_BIN" ] && CEPH_BIN=bin
-fi
-
-MYUID=$(id -u)
-MYNAME=$(id -nu)
-
-do_killall() {
- pg=`pgrep -u $MYUID -f ceph-run.*$1`
- [ -n "$pg" ] && kill $pg
- $SUDO killall -u $MYNAME $1
-}
-
-usage="usage: $0 [all] [mon] [mds] [osd] [rgw]\n"
-
-stop_all=1
-stop_mon=0
-stop_mds=0
-stop_osd=0
-stop_mgr=0
-stop_rgw=0
-
-while [ $# -ge 1 ]; do
- case $1 in
- all )
- stop_all=1
- ;;
- mon | ceph-mon )
- stop_mon=1
- stop_all=0
- ;;
- mgr | ceph-mgr )
- stop_mgr=1
- stop_all=0
- ;;
- mds | ceph-mds )
- stop_mds=1
- stop_all=0
- ;;
- osd | ceph-osd )
- stop_osd=1
- stop_all=0
- ;;
- rgw | ceph-rgw )
- stop_rgw=1
- stop_all=0
- ;;
- * )
- printf "$usage"
- exit
- esac
- shift
-done
-
-if [ $stop_all -eq 1 ]; then
- if "${CEPH_BIN}"/rbd showmapped >/dev/null 2>&1; then
- "${CEPH_BIN}"/rbd showmapped | tail -n +2 |
- while read DEV; do
- # While it is currently possible to create an rbd image with
- # whitespace chars in its name, krbd will refuse mapping such
- # an image, so we can safely split on whitespace here. (The
- # same goes for whitespace chars in names of the pools that
- # contain rbd images).
- DEV="$(echo "${DEV}" | tr -s '[:space:]' | awk '{ print $5 }')"
- sudo "${CEPH_BIN}"/rbd unmap "${DEV}"
- done
-
- if [ -n "$("${CEPH_BIN}"/rbd showmapped)" ]; then
- echo "WARNING: Some rbd images are still mapped!" >&2
- fi
- fi
-
- for p in ceph-mon ceph-mds ceph-osd ceph-mgr radosgw lt-radosgw apache2 ; do
- for try in 0 1 1 1 1 ; do
- if ! pkill -u $MYUID $p ; then
- break
- fi
- sleep $try
- done
- done
-
- 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
- [ $stop_osd -eq 1 ] && do_killall ceph-osd
- [ $stop_mgr -eq 1 ] && do_killall ceph-mgr
- [ $stop_rgw -eq 1 ] && do_killall radosgw lt-radosgw apache2
-fi