11#! /bin/bash
22
3- statefulNodes =${STATEFUL_NODES:- " cluster" }
3+ STATEFUL_NODES =${STATEFUL_NODES:- " cluster" }
44
55COMPOSE_FILE_PATH=$(
66 cd " $( dirname " ${BASH_SOURCE[0]} " ) " || exit
@@ -13,7 +13,10 @@ ROOT_PATH="${COMPOSE_FILE_PATH}/.."
1313. " ${ROOT_PATH} /utils/docker-utils.sh"
1414. " ${ROOT_PATH} /utils/log.sh"
1515
16- if [[ $statefulNodes == " cluster" ]]; then
16+ readonly KAFKA_INSTANCES=${KAFKA_INSTANCES:- 1}
17+ export KAFKA_INSTANCES
18+
19+ if [[ $STATEFUL_NODES == " cluster" ]]; then
1720 log info " Running Message Bus Kafka package in Cluster node mode"
1821 kafkaClusterComposeParam=" -c ${COMPOSE_FILE_PATH} /docker-compose.cluster.yml"
1922else
3033fi
3134
3235if [[ $1 == " init" ]] || [[ $1 == " up" ]]; then
36+ config::set_config_digests " ${COMPOSE_FILE_PATH} " /importer/docker-compose.config.yml
37+
3338 try " docker stack deploy -c ${COMPOSE_FILE_PATH} /docker-compose.yml $kafkaClusterComposeParam $kafkaDevComposeParam instant" " Failed to deploy Message Bus Kafka"
39+
40+ config::await_service_running " kafka" " ${COMPOSE_FILE_PATH} " /docker-compose.await-helper.yml " ${KAFKA_INSTANCES} "
41+
42+ try " docker stack deploy -c ${COMPOSE_FILE_PATH} /importer/docker-compose.config.yml instant" " Failed to deploy Message Bus Kafka"
43+
44+ config::remove_stale_service_configs " ${COMPOSE_FILE_PATH} " /importer/docker-compose.config.yml " ethiopia"
45+ config::remove_config_importer message-bus-kafka-config-importer
3446elif [[ $1 == " down" ]]; then
3547 try " docker service scale instant_zookeeper-1=0 instant_kafdrop=0" " Failed to scale down zookeeper and kafdrop"
3648 # You cannot scale a global service so we have to remove it
3749 try " docker service rm instant_kafka" " Failed to remove kafka"
38- if [[ $statefulNodes == " cluster" ]]; then
50+ if [[ $STATEFUL_NODES == " cluster" ]]; then
3951 try " docker service scale instant_zookeeper-2=0" " Failed to scale down zookeeper cluster"
4052 try " docker service scale instant_zookeeper-3=0" " Failed to scale down zookeeper cluster"
4153 fi
4254elif [[ $1 == " destroy" ]]; then
43- try " docker service rm instant_zookeeper-1 instant_kafka instant_kafdrop" " Failed to destroy kafka"
44-
4555 log info " Allow services to shut down before deleting volumes"
4656
47- config::await_service_removed instant_zookeeper-1
48- config::await_service_removed instant_kafka
49- config::await_service_removed instant_kafdrop
57+ docker::service_destroy zookeeper-1
58+ docker::service_destroy kafka
59+ docker::service_destroy kafdrop
60+
61+ docker::try_remove_volume zookeeper-1-volume
62+ docker::try_remove_volume kafka-volume
5063
51- try " docker volume rm instant_kafka-volume" " Failed to remove kafka volume"
52- try " docker volume rm instant_zookeeper-1-volume" " Failed to remove zookeeper volume"
64+ if [[ $STATEFUL_NODES == " cluster" ]]; then
65+ docker::service_destroy zookeeper-2
66+ docker::service_destroy zookeeper-3
5367
54- if [[ $statefulNodes == " cluster" ]]; then
55- try " docker service rm instant_zookeeper-2" " Failed to remove zookeeper cluster volumes"
56- try " docker service rm instant_zookeeper-3" " Failed to remove zookeeper cluster volumes"
68+ docker::try_remove_volume zookeeper-2-volume
69+ docker::try_remove_volume zookeeper-3-volume
5770 log notice " Volumes are only deleted on the host on which the command is run. Kafka volumes on other nodes are not deleted"
5871 fi
72+
73+ if ! docker service rm instant_message-bus-kafka-config-importer; then
74+ log warn " message-bus-kafka-config-importer not removed... it's possible the service has already been removed"
75+ fi
5976else
6077 log error " Valid options are: init, up, down, or destroy"
6178fi
0 commit comments