Fix check-sanity + save-state /w disabled services
This adds a mapping for all process names described in BASE_SERVICES and TARGET_SERVICES, allowing check-sanity to skip checking for running processes of services that are disabled according to ENABLED_SERVICES. It also updates grenade.sh and save-state to only dump databases that exist. These changes allow grenade to pass against deployments that have disabled non-essential services in devstack. Change-Id: Ic4b2bab88b12f33f939b9bf7aca47e930d799f3f Closes-bug: #1355499
This commit is contained in:
parent
4909db4800
commit
376e301d48
31
check-sanity
31
check-sanity
@ -26,6 +26,8 @@ source $GRENADE_DIR/grenaderc
|
||||
# We need the OS_ credentials
|
||||
source $TARGET_DEVSTACK_DIR/openrc
|
||||
source $TARGET_DEVSTACK_DIR/functions
|
||||
source $TARGET_DEVSTACK_DIR/localrc
|
||||
|
||||
|
||||
function is_a_service {
|
||||
local name=$1
|
||||
@ -79,13 +81,34 @@ function test_all_enabled_services {
|
||||
fi
|
||||
}
|
||||
|
||||
# For a given process name, resolve the corresponding devstack service
|
||||
# name as it would appear in ENABLED_SERVICES.
|
||||
function process_to_service {
|
||||
case "$1" in
|
||||
"nova-api") echo "n-api" ;;
|
||||
"nova-conductor") echo "n-cond" ;;
|
||||
"nova-compute") echo "n-cpu" ;;
|
||||
"keystone") echo "key" ;;
|
||||
"glance-api") echo "g-api" ;;
|
||||
"cinder-api") echo "c-api" ;;
|
||||
"swift-object-server") echo "s-obj" ;;
|
||||
"swift-proxy-server") echo "s-proxy" ;;
|
||||
*) echo "$1" ;;
|
||||
esac
|
||||
}
|
||||
|
||||
test_all_enabled_services
|
||||
|
||||
# all the services should actually be running that we expect
|
||||
NOT_RUNNING=""
|
||||
for name in ${TARGET_SERVICES}; do
|
||||
if ! is_running ${name}; then
|
||||
NOT_RUNNING="$NOT_RUNNING $name"
|
||||
RUNNING=""
|
||||
for proc_name in ${TARGET_SERVICES}; do
|
||||
if is_service_enabled "$(process_to_service $proc_name)" ; then
|
||||
if ! is_running ${proc_name}; then
|
||||
NOT_RUNNING="$NOT_RUNNING $proc_name"
|
||||
else
|
||||
RUNNING="$RUNNING $proc_name"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
@ -94,7 +117,7 @@ if [[ -n "$NOT_RUNNING" ]]; then
|
||||
$GRENADE_DIR/tools/worlddump.py -d $LOGDIR
|
||||
exit 1
|
||||
else
|
||||
echo "the following services are running: $TARGET_SERVICES"
|
||||
echo "the following services are running: $RUNNING"
|
||||
fi
|
||||
|
||||
echo "*********************************************************************"
|
||||
|
@ -380,7 +380,9 @@ if [[ "$RUN_TARGET" == "True" ]]; then
|
||||
mongodump --db ceilometer --out $SAVE_DIR/ceilometer-dump.$TARGET_RELEASE
|
||||
fi
|
||||
for db in $MYSQL_SERVICES ; do
|
||||
mysqldump -uroot -p$MYSQL_PASSWORD $db >$SAVE_DIR/$db.sql.$TARGET_RELEASE
|
||||
if mysql -uroot -p$MYSQL_PASSWORD -c $db -e ''; then
|
||||
mysqldump -uroot -p$MYSQL_PASSWORD $db >$SAVE_DIR/$db.sql.$TARGET_RELEASE
|
||||
fi
|
||||
done
|
||||
neutron_db_names=$(mysql -uroot -p$MYSQL_PASSWORD -e "show databases;" | grep neutron || :)
|
||||
for neutron_db in $neutron_db_names; do
|
||||
|
@ -48,7 +48,9 @@ elif grep -q 'connection *= *mongo' /etc/ceilometer/ceilometer.conf; then
|
||||
mongodump --db ceilometer --out $SAVE_DIR/ceilometer-dump.$BASE_RELEASE
|
||||
fi
|
||||
for db in $MYSQL_SERVICES ; do
|
||||
mysqldump -uroot -p$MYSQL_PASSWORD $db >$SAVE_DIR/$db.sql.$BASE_RELEASE
|
||||
if mysql -uroot -p$MYSQL_PASSWORD -c $db -e ''; then
|
||||
mysqldump -uroot -p$MYSQL_PASSWORD $db >$SAVE_DIR/$db.sql.$BASE_RELEASE
|
||||
fi
|
||||
done
|
||||
neutron_db_names=$(mysql -uroot -p$MYSQL_PASSWORD -e "show databases;" | grep neutron || :)
|
||||
for neutron_db in $neutron_db_names; do
|
||||
|
Loading…
Reference in New Issue
Block a user