1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-16 22:50:10 +03:00

B #1733: Make vip.sh less error prone (#1734)

(cherry picked from commit dd0763209f907d127e1b7a8752494e336f2e4826)
This commit is contained in:
Vlastimil Holer 2018-02-12 16:33:03 +01:00 committed by Tino Vazquez
parent c660077f15
commit 8caef8d6c1
2 changed files with 25 additions and 11 deletions

View File

@ -2,33 +2,47 @@
ACTION="$1"
INTERFACE="$2"
IP="$3"
IFADDR="$3"
IP="${IFADDR%%/*}"
if [ -z "$INTERFACE" ]; then
echo "Missing interface." >&2
exit 1
fi
if [ -z "$IP" ]; then
if [ -z "$IFADDR" ]; then
echo "Missing IP." >&2
exit 1
fi
case $ACTION in
leader)
sudo ip address add $IP dev $INTERFACE
sudo ip address add $IFADDR dev $INTERFACE
for i in $(seq 5); do
sudo arping -c 1 -U -I $INTERFACE ${IP%%/*}
sudo arping -c 1 -U -I $INTERFACE ${IP}
sleep 1
sudo arping -c 1 -A -I $INTERFACE ${IP%%/*}
sudo arping -c 1 -A -I $INTERFACE ${IP}
sleep 1
done
oneflow-server start
if which oneflow-server &>/dev/null &&
[ ! -e /var/run/one/oneflow.pid ];
then
oneflow-server start
fi
;;
follower)
sudo ip address del $IP dev $INTERFACE
oneflow-server stop
if sudo ip address show dev $INTERFACE | grep -qi " ${IP}/"; then
sudo ip address del $IFADDR dev $INTERFACE
fi
if which oneflow-server &>/dev/null &&
[ -e /var/run/one/oneflow.pid ];
then
oneflow-server stop
fi
;;
*)

View File

@ -4,11 +4,11 @@ After=syslog.target
After=network.target
[Service]
Type=simple
Type=forking
Group=oneadmin
User=oneadmin
ExecStart=/usr/bin/ruby /usr/lib/one/oneflow/oneflow-server.rb
ExecStart=/usr/bin/oneflow-server start
ExecStop=/usr/bin/oneflow-server stop
PIDFile=/var/run/one/oneflow.pid
[Install]