mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-16 22:50:10 +03:00
(cherry picked from commit dd0763209f907d127e1b7a8752494e336f2e4826)
This commit is contained in:
parent
c660077f15
commit
8caef8d6c1
@ -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
|
||||
;;
|
||||
|
||||
*)
|
||||
|
@ -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]
|
||||
|
Loading…
x
Reference in New Issue
Block a user