Specialize Zaqar's cleanup function
Instead of having mongodb specific cleanup logic in `cleanup_zaqar`,
specialize it to perform clean ups based on the driver that has been
enabled.
Change-Id: I5807a83443b87b2c8d184e0cd2d5563a649c6273
diff --git a/lib/zaqar b/lib/zaqar
index 93b727e..fe25e1f 100644
--- a/lib/zaqar
+++ b/lib/zaqar
@@ -20,6 +20,7 @@
# start_zaqar
# stop_zaqar
# cleanup_zaqar
+# cleanup_zaqar_mongodb
# Save trace setting
XTRACE=$(set +o | grep xtrace)
@@ -72,9 +73,17 @@
return 1
}
-# cleanup_zaqar() - Remove residual data files, anything left over from previous
-# runs that a clean run would need to clean up
+# cleanup_zaqar() - Cleans up general things from previous
+# runs and storage specific left overs.
function cleanup_zaqar {
+ if [ "$ZAQAR_BACKEND" = 'mongodb' ] ; then
+ cleanup_zaqar_mongodb
+ fi
+}
+
+# cleanup_zaqar_mongodb() - Remove residual data files, anything left over from previous
+# runs that a clean run would need to clean up
+function cleanup_zaqar_mongodb {
if ! timeout $SERVICE_TIMEOUT sh -c "while ! mongo zaqar --eval 'db.dropDatabase();'; do sleep 1; done"; then
die $LINENO "Mongo DB did not start"
else
@@ -116,8 +125,9 @@
iniset $ZAQAR_CONF drivers storage mongodb
iniset $ZAQAR_CONF 'drivers:storage:mongodb' uri mongodb://localhost:27017/zaqar
configure_mongodb
- cleanup_zaqar
fi
+
+ cleanup_zaqar
}
function configure_mongodb {