45702a0d26
- Kill only the specific heat processes we want (heat-api and heat-engine). - Remove installations wherever they may be located. - More robust handling of input. Signed-off-by: Zane Bitter <zbitter@redhat.com>
79 lines
1.6 KiB
Bash
Executable File
79 lines
1.6 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|engine)$'`
|
|
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-engine
|
|
sudo rm -f $BIN_PATH/heat
|
|
|
|
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
|
|
|