Browse Source

ДОбавил export переменной в docker-entrypoint.sh и поправил healthcheck.new.sh

tomishinets.v 5 years ago
parent
commit
59903edd96
2 changed files with 24 additions and 22 deletions
  1. 1 2
      docker-entrypoint.sh
  2. 23 20
      healthceck.new.sh

+ 1 - 2
docker-entrypoint.sh

@@ -17,7 +17,7 @@ if [ ! -z "${APPNET}" ]; then
      nslookup ${ADMIN_HOST}.${APPNET}
    done
 fi
-
+export admin_ip=$(nslookup ${ADMIN_HOST}.${APPNET}|grep Address|tail -n1|cut -d " " -f2)
 echo "#Dummy" >> /etc/rc.d/init.d/functions
 source /etc/init.d/web-registry-portal status
 
@@ -27,4 +27,3 @@ then
 else
     exec ${WEB_REGISTRY_BIN} ${WEB_REGISTRY_CUSTOM_OPTS} ${WEB_REGISTRY_OPTS}
 fi
-

+ 23 - 20
healthceck.new.sh

@@ -1,23 +1,26 @@
 #!/bin/bash
 
-# Основной цикл для определения изменился ли адрес админки
-admin_ip="10.0.29.39"
-ping -c3 ${admin_ip} || new_ip=$(nslookup admin|grep Address|tail -n1|cut -d " " -f2)
-ping -c3 ${new_ip} || echo "admin not available!!! Exit"
-echo ${new_ip}
+# Определяем изменился ли адрес админки
+admin_ip="10.0.29.40"
+ping -c3 ${admin_ip}
+if [[ $? -ne 0 ]]; then
+  new_ip=$(nslookup admin|grep Address|tail -n1|cut -d " " -f2)
+  ping -c3 ${new_ip} || echo "adminhost not available!!! Exit"
+# Вычисляем адрес node и последний октет
+  admin_net=$(nslookup admin|grep Address|tail -n1|cut -d " " -f2|cut -d "." -f1-3)
+  for i in $(hostname -I)
+  do
+    if [[ $(echo ${i}|cut -d "." -f1-3) == ${admin_net} ]]; then node_ip=${i};fi
+  done
+  last_node_oct=$(echo ${node_ip}|cut -d "." -f4)
+#Вычисляем адреса task.node и сортируем последние октеты, сравниваем с последним окстетом текущей node и отправляем node на перезапуск
+  last_task_node_oct=($(echo $(nslookup tasks.node | grep Address | tail -n2 | cut -d " " -f2| cut -d "." -f4)))
+  IFS=$'\n' sorted=($(sort <<<"${last_task_node_oct[*]}"))
+  unset IFS
+  for i in ${!sorted[*]}
+  do
+    if [[ ${last_node_oct} -eq ${sorted[i]} ]];then : $((t=${i}*3));sleep ${t}m;kill 1;break;fi
+  done
+fi
 
-# Вычисляем адрес node
-admin_net=$(nslookup admin|grep Address|tail -n1|cut -d " " -f2|cut -d "." -f1-3)
-for i in $(hostname -I)
-do
-  if [[ $(echo ${i}|cut -d "." -f1-3) == ${admin_net} ]]; then node_ip=${i}; echo ${node_ip};fi
-done
-
-#Вычисляем адреса node и сортируем последние октеты, сравниваем с последним окстетом текущей node и отправляем node на перезапуск
-ip=($(echo $(nslookup tasks.node | grep Address | tail -n2 | cut -d " " -f2| cut -d "." -f4)))
-IFS=$'\n' sorted=($(sort <<<"${ip[*]}"))
-unset IFS
-for i in ${!sorted[*]}
-do
-  if [[ ${var} -eq ${sorted[i]} ]];then : $((t=${i}*3));sleep ${t}m;echo "then go to sleep ${t}";break;fi
-done
+curl -f -H 'Host:demo.infoclinica.ru' 127.0.0.1:9000/login || exit 1