X-Git-Url: https://gerrit.akraino.org/r/gitweb?p=ta%2Fmonitoring.git;a=blobdiff_plain;f=active-standby-services%2Factive-standby-monitor.sh;fp=active-standby-services%2Factive-standby-monitor.sh;h=33e04298fa186158ae0c6e2ab53e740692599dc9;hp=0000000000000000000000000000000000000000;hb=461929b69c0526c3b8c25a11dbbd5d4b301dbac5;hpb=e04550241c9c27272fbcff079222878b5b88bff3 diff --git a/active-standby-services/active-standby-monitor.sh b/active-standby-services/active-standby-monitor.sh new file mode 100755 index 0000000..33e0429 --- /dev/null +++ b/active-standby-services/active-standby-monitor.sh @@ -0,0 +1,41 @@ +#! /bin/bash + +# Copyright 2019 Nokia + +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +echo "active-cold-standby started" + +SERVICESDIR=/etc/monitoring/active-standby-services/ +VIP=$1 +while [ 1 ]; do + allocated=$(/usr/sbin/ip -4 a | grep $VIP | wc -l) + if [ $allocated -gt 0 ]; then + for service in $(ls $SERVICESDIR); do + /bin/systemctl is-active --quiet $service + if [ $? -ne 0 ]; then + echo "monitoring starting $service" + systemctl start --no-block $service + fi + done + else + for service in $(ls $SERVICESDIR); do + /bin/systemctl is-active --quiet $service + if [ $? -eq 0 ]; then + echo "monitoring stopping $service" + systemctl stop --no-block $service + fi + done + fi + sleep 10 +done