From 16a74e7cfd6f0fd9165e164298a3127d3130bc63 Mon Sep 17 00:00:00 2001 From: gfraboni Date: Fri, 22 Sep 2017 09:40:53 -0400 Subject: [PATCH] Add Consul health check support for message-router This push adds health checks for the following message-router components: DMaaP, Kafka, and ZooKeeper. Issue-ID: OOM-86 Change-Id: Icb557a27208eea94ea7ee6d8eadfb1f02481d7b4 Signed-off-by: gfraboni --- .../config/consul/consul-agent-config/mr-dmaap-health.json | 10 ++++++++++ .../config/consul/consul-agent-config/mr-kafka-health.json | 10 ++++++++++ .../consul/consul-agent-config/mr-zookeeper-health.json | 10 ++++++++++ .../consul/consul-agent-config/scripts/mr-kafka-health.sh | 13 +++++++++++++ .../consul-agent-config/scripts/mr-zookeeper-health.sh | 13 +++++++++++++ 5 files changed, 56 insertions(+) create mode 100644 kubernetes/config/docker/init/src/config/consul/consul-agent-config/mr-dmaap-health.json create mode 100644 kubernetes/config/docker/init/src/config/consul/consul-agent-config/mr-kafka-health.json create mode 100644 kubernetes/config/docker/init/src/config/consul/consul-agent-config/mr-zookeeper-health.json create mode 100644 kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/mr-kafka-health.sh create mode 100644 kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/mr-zookeeper-health.sh diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/mr-dmaap-health.json b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/mr-dmaap-health.json new file mode 100644 index 0000000000..bd01bc5d95 --- /dev/null +++ b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/mr-dmaap-health.json @@ -0,0 +1,10 @@ +{ + "service": { + "name": "Health Check: Message Router - DMaaP", + "check": { + "http": "http://dmaap.onap-message-router:3904/topics", + "interval": "30s", + "timeout": "1s" + } + } +} diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/mr-kafka-health.json b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/mr-kafka-health.json new file mode 100644 index 0000000000..128cf94460 --- /dev/null +++ b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/mr-kafka-health.json @@ -0,0 +1,10 @@ +{ + "service": { + "name": "Health Check: Message Router - Kafka", + "check": { + "script": "/consul/config/scripts/mr-kafka-health.sh", + "interval": "30s", + "timeout": "1s" + } + } +} diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/mr-zookeeper-health.json b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/mr-zookeeper-health.json new file mode 100644 index 0000000000..5268747349 --- /dev/null +++ b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/mr-zookeeper-health.json @@ -0,0 +1,10 @@ +{ + "service": { + "name": "Health Check: Message Router - ZooKeeper", + "check": { + "script": "/consul/config/scripts/mr-zookeeper-health.sh", + "interval": "30s", + "timeout": "1s" + } + } +} diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/mr-kafka-health.sh b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/mr-kafka-health.sh new file mode 100644 index 0000000000..317c2a699c --- /dev/null +++ b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/mr-kafka-health.sh @@ -0,0 +1,13 @@ +kafkapod=$(/consul/config/bin/kubectl -n onap-message-router get pod | grep -o "global-kafka-[^[:space:]]*") +if [ -n "$kafkapod" ]; then + if /consul/config/bin/kubectl -n onap-message-router exec -it $kafkapod -- ps ef | grep -i kafka; then + echo Success. Kafka process is running. 2>&1 + exit 0 + else + echo Failed. Kafka is not running. 2>&1 + exit 1 + fi +else + echo Failed. Kafka container is offline. 2>&1 + exit 1 +fi diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/mr-zookeeper-health.sh b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/mr-zookeeper-health.sh new file mode 100644 index 0000000000..3da456c05a --- /dev/null +++ b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/mr-zookeeper-health.sh @@ -0,0 +1,13 @@ +zkpod=$(/consul/config/bin/kubectl -n onap-message-router get pod | grep -o "zookeeper-[^[:space:]]*") +if [ -n "$zkpod" ]; then + if /consul/config/bin/kubectl -n onap-message-router exec -it $zkpod -- ps ef | grep -i zookeeper; then + echo Success. Zookeeper process is running. 2>&1 + exit 0 + else + echo Failed. Zookeeper is not running. 2>&1 + exit 1 + fi +else + echo Failed. Zookeeper container is offline. 2>&1 + exit 1 +fi -- 2.16.6