9a413abc |
#!/bin/bash |
995eb927 |
# **clean.sh**
# ``clean.sh`` does its best to eradicate traces of a Grenade
# run except for the following:
# - both base and target code repos are left alone
# - packages (system and pip) are left alone
# This means that all data files are removed. More??
# Keep track of the current devstack directory.
TOP_DIR=$(cd $(dirname "$0") && pwd)
# Import common functions
source $TOP_DIR/functions
|
b9e25135 |
FILES=$TOP_DIR/files
|
995eb927 |
# Load local configuration |
53753293 |
source $TOP_DIR/openrc |
995eb927 |
# Get the variables that are set in stack.sh |
58f9cf76 |
if [[ -r $TOP_DIR/.stackenv ]]; then
source $TOP_DIR/.stackenv
fi |
995eb927 |
# Determine what system we are running on. This provides ``os_VENDOR``,
# ``os_RELEASE``, ``os_UPDATE``, ``os_PACKAGE``, ``os_CODENAME``
# and ``DISTRO``
GetDistro
|
53ffc713 |
# Import apache functions
source $TOP_DIR/lib/apache
source $TOP_DIR/lib/ldap |
995eb927 |
# Import database library
source $TOP_DIR/lib/database
source $TOP_DIR/lib/rpc_backend
source $TOP_DIR/lib/tls |
53ffc713 |
|
59d9cecb |
source $TOP_DIR/lib/oslo |
67168e80 |
source $TOP_DIR/lib/lvm |
995eb927 |
source $TOP_DIR/lib/horizon
source $TOP_DIR/lib/keystone
source $TOP_DIR/lib/glance
source $TOP_DIR/lib/nova
source $TOP_DIR/lib/cinder
source $TOP_DIR/lib/swift
source $TOP_DIR/lib/heat |
5a9739a4 |
source $TOP_DIR/lib/neutron-legacy |
53ffc713 |
source $TOP_DIR/lib/ironic
|
995eb927 |
|
cdf3d766 |
# Extras Source
# --------------
# Phase: source
if [[ -d $TOP_DIR/extras.d ]]; then
for i in $TOP_DIR/extras.d/*.sh; do
[[ -r $i ]] && source $i source
done
fi |
995eb927 |
# See if there is anything running...
# need to adapt when run_service is merged
SESSION=$(screen -ls | awk '/[0-9].stack/ { print $1 }')
if [[ -n "$SESSION" ]]; then
# Let unstack.sh do its thing first
$TOP_DIR/unstack.sh --all
fi
|
cdf3d766 |
# Run extras
# ==========
# Phase: clean |
e6843e5e |
load_plugin_settings |
a1701fab |
run_phase clean
|
cdf3d766 |
if [[ -d $TOP_DIR/extras.d ]]; then
for i in $TOP_DIR/extras.d/*.sh; do
[[ -r $i ]] && source $i clean
done
fi
|
995eb927 |
# Clean projects |
9a413abc |
# BUG: cinder tgt doesn't exit cleanly if it's not running.
cleanup_cinder || /bin/true
|
995eb927 |
cleanup_glance
cleanup_keystone
cleanup_nova |
b05c8769 |
cleanup_neutron |
995eb927 |
cleanup_swift
|
b9e25135 |
if is_service_enabled ldap; then
cleanup_ldap
fi
|
2aa2a89c |
# Do the hypervisor cleanup until this can be moved back into lib/nova |
e4fa7213 |
if is_service_enabled nova && [[ -r $NOVA_PLUGINS/hypervisor-$VIRT_DRIVER ]]; then |
2aa2a89c |
cleanup_nova_hypervisor
fi
|
995eb927 |
# Clean out /etc |
b00e4181 |
sudo rm -rf /etc/keystone /etc/glance /etc/nova /etc/cinder /etc/swift /etc/heat /etc/neutron |
995eb927 |
# Clean out tgt |
53ffc713 |
sudo rm -f /etc/tgt/conf.d/* |
995eb927 |
# Clean up the message queue
cleanup_rpc_backend
cleanup_database
|
93d09c24 |
# Clean out data and status
sudo rm -rf $DATA_DIR $DEST/status
# Clean out the log file and log directories
if [[ -n "$LOGFILE" ]] && [[ -f "$LOGFILE" ]]; then
sudo rm -f $LOGFILE
fi
if [[ -n "$LOGDIR" ]] && [[ -d "$LOGDIR" ]]; then
sudo rm -rf $LOGDIR
fi |
53ffc713 |
if [[ -n "$SCREEN_LOGDIR" ]] && [[ -d "$SCREEN_LOGDIR" ]]; then
sudo rm -rf $SCREEN_LOGDIR
fi
|
b1d8e8e2 |
# Clean up venvs |
61045ca5 |
DIRS_TO_CLEAN="$WHEELHOUSE ${PROJECT_VENV[@]} .config/openstack" |
b1d8e8e2 |
rm -rf $DIRS_TO_CLEAN
|
995eb927 |
# Clean up files |
2e2b28b5 |
|
ecd05637 |
FILES_TO_CLEAN=".localrc.auto docs/files docs/html shocco/ stack-screenrc test*.conf* test.ini*" |
2e2b28b5 |
FILES_TO_CLEAN+=".stackenv .prereqs"
|
cb415697 |
for file in $FILES_TO_CLEAN; do |
ecd05637 |
rm -rf $TOP_DIR/$file |
2e2b28b5 |
done |