|
|
@ -39,6 +39,8 @@ if version_gt "$version" 4.1; then |
|
|
|
|
|
|
|
fi |
|
|
|
|
|
|
|
## This is some sort of migrating code and should be moved to upgrade |
|
|
|
## directory. |
|
|
|
|
|
|
|
if dbs=$(mongo:db:ls); then |
|
|
|
if matching_db=$(e "$dbs" | egrep "[a-zA-Z0-9.-_]*_${DBNAME}"); then |
|
|
@ -47,15 +49,25 @@ if dbs=$(mongo:db:ls); then |
|
|
|
"found along with database named '${DBNAME}'." |
|
|
|
exit 1 |
|
|
|
fi |
|
|
|
|
|
|
|
## XXXvlab: there's probably an unsolved issue here when |
|
|
|
## =ensure_db_docker_running= returned the current running |
|
|
|
## service container, that we are about to stop in the |
|
|
|
## following lines. I'm not digging much into that because |
|
|
|
## this code is probably not concerning any current live |
|
|
|
## deployment anymore: this was written for an evolution of |
|
|
|
## the charm a long time ago, and probably should be deleted |
|
|
|
## now. |
|
|
|
|
|
|
|
## Let's take for granted that only current source service is |
|
|
|
## concerned by the database. We need to restart source service |
|
|
|
## container only if already running. |
|
|
|
container_ids=($(get_running_containers_for_service "$MASTER_BASE_SERVICE_NAME")) |
|
|
|
for container_id in "${container_ids[@]}"; do |
|
|
|
mongo_url=$(docker:container:env_get "$container_id" MONGO_URL) || return 1 |
|
|
|
mongo_url=$(docker:container:env_get "$container_id" MONGO_URL) || exit 1 |
|
|
|
if [[ "$mongo_url" == */"${matching_db}"* ]]; then |
|
|
|
info "Attempting to stop current containers of service $MASTER_BASE_SERVICE_NAME" |
|
|
|
docker stop -t 5 "$container_id" |
|
|
|
docker stop -t 5 "$container_id" || exit 1 |
|
|
|
fi |
|
|
|
done |
|
|
|
|
|
|
|