diff options
author | gfraboni <gino.fraboni@amdocs.com> | 2017-09-22 15:31:48 -0400 |
---|---|---|
committer | gfraboni <gino.fraboni@amdocs.com> | 2017-09-22 15:32:02 -0400 |
commit | d0769519dbad546eee9ca9ab37ee2cf37f6aee9d (patch) | |
tree | d62fc1598f928b9bd7fca917d130772872ec9e6d | |
parent | 3e130463a0062cdb7aef9717c46ee5bc9958a32e (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>
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" + } + ] + } +} |