heat/tools/uninstall-heat
DennyZhang 6e2dc8ab58 Improve tools/uninstall-heat
Inform users that the script doesn't remove related role/user from keystone.

Change-Id: Ia0a7cb37ae568e37c86ff9047361c42186c21ab4
2014-01-03 10:09:40 -06:00

80 lines
1.7 KiB
Bash
Executable File

#!/bin/bash
TOOLS_DIR=`dirname $0`
if [ "$1" = "-y" ] || [ "$1" = "--yes" ]; then
SKIP_ASK=y
shift
fi
user_wants() {
if [ "$SKIP_ASK" = "y" ]; then return 0; fi
while true; do
read -n 1 -p "$1 " cont
echo 1>&2
case $cont in
y|Y)
return 0
;;
n|N)
return 1
;;
*)
;;
esac
done
}
HEAT_PIDS=`pgrep '^heat-(api|api-cfn|engine|metadata)$'`
if [ -n "$HEAT_PIDS" ]; then
echo 'The following Heat processes are running:' 1>&2
ps $HEAT_PIDS 1>&2
if user_wants 'Kill them?'; then
sudo kill $HEAT_PIDS
fi
echo 1>&2
fi
if user_wants 'Drop Heat database tables?'; then
$TOOLS_DIR/heat-db-drop $*
echo 1>&2
fi
if user_wants 'Erase OpenStack installation?'; then
$TOOLS_DIR/openstack erase $*
echo 1>&2
fi
HEAT_EGGS=`python -c 'import sys; print "\n".join(sys.path)' | grep '/heat-[^/]*\.egg$'`
if [ -n "$HEAT_EGGS" ]; then
echo 'The following Heat installations were found:' 1>&2
echo "$HEAT_EGGS" 1>&2
if user_wants 'Delete them?'; then
sudo rm -rf $HEAT_EGGS
fi
echo 1>&2
fi
if user_wants 'Delete Heat binaries?'; then
BIN_PATH=/usr/bin
sudo rm -f $BIN_PATH/heat-db-setup
sudo rm -f $BIN_PATH/heat-metadata
sudo rm -f $BIN_PATH/heat-api
sudo rm -f $BIN_PATH/heat-api-cfn
sudo rm -f $BIN_PATH/heat-engine
echo 1>&2
fi
if user_wants 'Delete Heat configuration?'; then
sudo rm -rf /etc/heat
echo 1>&2
fi
if user_wants 'Delete Heat logs?'; then
sudo rm -rf /var/log/heat
echo 1>&2
fi
echo 'Warning: You shall explicitly remove related tenants, role, and users from keystone' 1>&2