aboutsummaryrefslogtreecommitdiffstats
path: root/kubernetes/config/docker
diff options
context:
space:
mode:
authorgfraboni <gino.fraboni@amdocs.com>2017-09-22 15:31:48 -0400
committergfraboni <gino.fraboni@amdocs.com>2017-09-22 15:32:02 -0400
commitd0769519dbad546eee9ca9ab37ee2cf37f6aee9d (patch)
treed62fc1598f928b9bd7fca917d130772872ec9e6d /kubernetes/config/docker
parent3e130463a0062cdb7aef9717c46ee5bc9958a32e (diff)
Add Consul health check support for SDC
This push adds health checks for the SDC components. Issue-ID: OOM-86 Change-Id: I67c861a7a3e98f2aaa88c30e3132500cfc429118 Signed-off-by: gfraboni <gino.fraboni@amdocs.com>
Diffstat (limited to 'kubernetes/config/docker')
-rw-r--r--kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdc-be-script.sh18
-rw-r--r--kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdc-cs-script.sh18
-rw-r--r--kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdc-fe-script.sh18
-rw-r--r--kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdc-titan-script.sh18
-rw-r--r--kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdc-health.json49
5 files changed, 121 insertions, 0 deletions
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdc-be-script.sh b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdc-be-script.sh
new file mode 100644
index 0000000000..f460a3f116
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdc-be-script.sh
@@ -0,0 +1,18 @@
+## Query the health check API.
+HEALTH_CHECK_ENDPOINT="http://sdc-fe.onap-sdc:8181/sdc1/rest/healthCheck"
+HEALTH_CHECK_RESPONSE=$(curl -s $HEALTH_CHECK_ENDPOINT)
+
+## Strip out the ON_BOARDING section from the response XML (otherwise we will
+## get duplicate results when we search for component BE) and check to see if
+## the BE component is reported as up.
+READY=$(echo "$HEALTH_CHECK_RESPONSE" | sed '/ON_BOARDING/,/]/d' | grep -A 1 "BE" | grep "UP")
+
+if [ -n $READY ]; then
+ echo "Query against health check endpoint: $HEALTH_CHECK_ENDPOINT"
+ echo "Produces response: $HEALTH_CHECK_RESPONSE"
+ echo "Application is not in an available state"
+ return 2
+else
+ echo "Application is available."
+ return 0
+fi
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdc-cs-script.sh b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdc-cs-script.sh
new file mode 100644
index 0000000000..31cd8d3fa6
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdc-cs-script.sh
@@ -0,0 +1,18 @@
+## Query the health check API.
+HEALTH_CHECK_ENDPOINT="http://sdc-fe.onap-sdc:8181/sdc1/rest/healthCheck"
+HEALTH_CHECK_RESPONSE=$(curl -s $HEALTH_CHECK_ENDPOINT)
+
+## Strip out the ON_BOARDING section from the response XML (otherwise we will
+## get duplicate results when we search for component CASSANDRA) and check to see if
+## the CASSANDRA component is reported as up.
+READY=$(echo "$HEALTH_CHECK_RESPONSE" | sed '/ON_BOARDING/,/]/d' | grep -A 1 "CASSANDRA" | grep "UP")
+
+if [ -n $READY ]; then
+ echo "Query against health check endpoint: $HEALTH_CHECK_ENDPOINT"
+ echo "Produces response: $HEALTH_CHECK_RESPONSE"
+ echo "Application is not in an available state"
+ return 2
+else
+ echo "Application is available."
+ return 0
+fi
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdc-fe-script.sh b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdc-fe-script.sh
new file mode 100644
index 0000000000..6a1d035ecd
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdc-fe-script.sh
@@ -0,0 +1,18 @@
+## Query the health check API.
+HEALTH_CHECK_ENDPOINT="http://sdc-fe.onap-sdc:8181/sdc1/rest/healthCheck"
+HEALTH_CHECK_RESPONSE=$(curl -s $HEALTH_CHECK_ENDPOINT)
+
+## Strip out the ON_BOARDING section from the response XML (otherwise we will
+## get duplicate results when we search for component FE) and check to see if
+## the FE component is reported as up.
+READY=$(echo "$HEALTH_CHECK_RESPONSE" | sed '/ON_BOARDING/,/]/d' | grep -A 1 "FE" | grep "UP")
+
+if [ -n $READY ]; then
+ echo "Query against health check endpoint: $HEALTH_CHECK_ENDPOINT"
+ echo "Produces response: $HEALTH_CHECK_RESPONSE"
+ echo "Application is not in an available state"
+ return 2
+else
+ echo "Application is available."
+ return 0
+fi
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdc-titan-script.sh b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdc-titan-script.sh
new file mode 100644
index 0000000000..6993402653
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdc-titan-script.sh
@@ -0,0 +1,18 @@
+## Query the health check API.
+HEALTH_CHECK_ENDPOINT="http://sdc-fe.onap-sdc:8181/sdc1/rest/healthCheck"
+HEALTH_CHECK_RESPONSE=$(curl -s $HEALTH_CHECK_ENDPOINT)
+
+## Strip out the ON_BOARDING section from the response XML (otherwise we will
+## get duplicate results when we search for component TITAN) and check to see if
+## the TITAN component is reported as up.
+READY=$(echo "$HEALTH_CHECK_RESPONSE" | sed '/ON_BOARDING/,/]/d' | grep -A 1 "TITAN" | grep "UP")
+
+if [ -n $READY ]; then
+ echo "Query against health check endpoint: $HEALTH_CHECK_ENDPOINT"
+ echo "Produces response: $HEALTH_CHECK_RESPONSE"
+ echo "Application is not in an available state"
+ return 2
+else
+ echo "Application is available."
+ return 0
+fi
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdc-health.json b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdc-health.json
new file mode 100644
index 0000000000..849e199589
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdc-health.json
@@ -0,0 +1,49 @@
+{
+ "service": {
+ "name": "Health Check: SDC",
+ "checks": [
+ {
+ "id": "sdc-fe-healthcheck",
+ "name": "SDC Front End Health Check",
+ "script": "/consul/config/scripts/sdc-fe-script.sh",
+ "interval": "10s",
+ "timeout": "1s"
+ },
+ {
+ "id": "sdc-be-healthcheck",
+ "name": "SDC Back End Health Check",
+ "script": "/consul/config/scripts/sdc-be-script.sh",
+ "interval": "10s",
+ "timeout": "1s"
+ },
+ {
+ "id": "sdc-titan-healthcheck",
+ "name": "SDC Titan Health Check",
+ "script": "/consul/config/scripts/sdc-titan-script.sh",
+ "interval": "10s",
+ "timeout": "1s"
+ },
+ {
+ "id": "sdc-cs-healthcheck",
+ "name": "SDC Cassandra Health Check",
+ "script": "/consul/config/scripts/sdc-cs-script.sh",
+ "interval": "10s",
+ "timeout": "1s"
+ },
+ {
+ "id": "sdc-catalog-healthcheck",
+ "name": "SDC Catalog Health Check",
+ "http": "https://sdc-be.onap-sdc:8443/asdc/v1/catalog/services",
+ "header": {
+ "Authorization": ["Basic dmlkOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU="],
+ "X-ECOMP-InstanceID": ["VID"],
+ "Content-Type": ["application/json"],
+ "Accept": ["application/json"]
+ },
+ "tls_skip_verify": true,
+ "interval": "15s",
+ "timeout": "1s"
+ }
+ ]
+ }
+}