5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
9 # http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
18 WAIT_TIME
=340 # LCM healthcheck needs 2x(30+140) senconds
19 #SERVICES_WITH_HEALTH="nbi ro zookeeper lcm mon light-ui pol kafka"
20 SERVICES_WITH_HEALTH
="nbi ro zookeeper lcm mon pol kafka"
21 NUM_SERVICES_WITH_HEALTH
=$
(echo $SERVICES_WITH_HEALTH |
wc -w)
23 #OSM_DEPLOYMENT="light-ui nbi lcm ro mon pol keystone"
24 OSM_DEPLOYMENT
="nbi lcm ro mon pol keystone"
25 OSM_STATEFULSET
="zookeeper kafka mongo mysql prometheus"
26 NUM_K8S_PODS
=$
(echo $OSM_DEPLOYMENT $OSM_STATEFULSET |
wc -w)
28 while getopts "w:s:n:c:k" o
; do
37 NUM_SERVICES_WITH_HEALTH
=${OPTARG}
40 SERVICES_WITH_HEALTH
="${OPTARG}"
51 while [ $time -le "$WAIT_TIME" ]; do
52 if [ -n "$KUBERNETES" ]; then
53 if [ "$(kubectl get pods -n "${STACK_NAME}" | grep -i running | wc -l)" -ge "$NUM_K8S_PODS" ]; then
54 #all pods are running now.
59 if [ "$(docker ps | grep " ${STACK_NAME}_
" | grep -i healthy | wc -l)" -ge "$NUM_SERVICES_WITH_HEALTH" ]; then
60 # all dockers are healthy now.
61 # final sleep is needed until more health checks are added to validate system is ready to handle requests
71 if [ -n "$KUBERNETES" ]; then
72 echo "Not all pods are running"
73 kubectl get pods
-n "${STACK_NAME}"
74 for POD
in $OSM_DEPLOYMENT $OSM_STATEFULSET; do
75 kubectl get pods
-n "${STACK_NAME}" |
grep -i running |
grep -q ^
"${POD}-" && continue
77 echo BEGIN LOGS of pods
${POD} not running
78 LOG_POD
=$
(kubectl get pods
-n "${STACK_NAME}" | grep -e ^"${POD}-" | awk '{print $1}' )
79 [ -z "$LOG_POD" ] && echo "${POD} Failed to deploy
" || kubectl logs ${LOG_POD} -n $STACK_NAME 2>&1 | tail -n 100
80 echo END LOGS of services $POD not running
83 echo "Not all Docker services are healthy
"
84 docker ps | grep " ${STACK_NAME}_
"
85 for S_WITH_HEALTH in $SERVICES_WITH_HEALTH ; do
86 docker ps | grep " ${STACK_NAME}_
" | grep -i healthy | grep -q "_
${S_WITH_HEALTH}.
" && continue
88 echo BEGIN LOGS of container ${S_WITH_HEALTH} not healthy
89 docker service logs ${STACK_NAME}_${S_WITH_HEALTH} 2>&1 | tail -n 100
90 echo END LOGS of container ${S_WITH_HEALTH} not healthy