Commit 2a7a9e4e authored by Cédric Le Ninivin's avatar Cédric Le Ninivin

Added retry slapformat if openvpn crash

parent 95625c99
#!/bin/sh #!/bin/bash
IPV6CHECK=ipv6.google.com IPV6CHECK=ipv6.google.com
IPV4CHECK=google.com IPV4CHECK=google.com
IPV6WAITTIME=5 IPV6WAITTIME=5
SLAPOS_CONFIGURATION=/etc/opt/slapos/ SLAPOS_CONFIGURATION=/etc/opt/slapos/
${ONLY_SLAPFORMAT:=false}
if [ ! -f $SLAPOS_CONFIGURATION/slapos.cfg ]; then
echo "No slapos.cfg found"
exit 0
fi
echo "Starting slap script" if [ $ONLY_SLAPFORMAT = false ]; then
if [ ! -f $SLAPOS_CONFIGURATION/slapos.cfg ]; then
echo "No slapos.cfg found"
exit 0
fi
echo "Starting slap script"
# Check ipv4 # Check ipv4
ping -c 2 $IPV4CHECK
while [ $? != 0 ]; do
sleep $(($i*5))
if [[ $i < 40 ]]; then
let i++
fi
ping -c 2 $IPV4CHECK ping -c 2 $IPV4CHECK
done while [ $? != 0 ]; do
sleep $(($i * 5))
if [[ $i < 40 ]]; then
let i++
fi
ping -c 2 $IPV4CHECK
done
# Launch openvpn # Launch openvpn
if [ -f $SLAPOS_CONFIGURATION/openvpn-needed ]; then if [ -f $SLAPOS_CONFIGURATION/openvpn-needed ]; then
/etc/init.d/openvpn start /etc/init.d/openvpn start
sleep 10 sleep 10
fi fi
# Wait for ipv6 connection to be ready # Wait for ipv6 connection to be ready
i=0 i=0
ping6 -c 2 $IPV6CHECK
while [ $? != 0 ];
do
sleep $(($i*10))
if [[ $i < 40 ]]; then
let i++
fi
ping6 -c 2 $IPV6CHECK ping6 -c 2 $IPV6CHECK
done while [ $? != 0 ];
do
sleep $(($i * 10))
if [[ $i < 40 ]]; then
let i++
fi
ping6 -c 2 $IPV6CHECK
done
else
sleep 15
fi
# Run slapformat # Run slapformat
i=1 i=1
...@@ -56,19 +60,21 @@ while [ $? != 0 ]; do ...@@ -56,19 +60,21 @@ while [ $? != 0 ]; do
/opt/slapos/bin/slapformat --now --console --verbose --verbose --log_file=/opt/slapos/slapformat.log $SLAPOS_CONFIGURATION/slapos.cfg /opt/slapos/bin/slapformat --now --console --verbose --verbose --log_file=/opt/slapos/slapformat.log $SLAPOS_CONFIGURATION/slapos.cfg
done done
if [ $ONLY_SLAPFORMAT = false ]; then
# Run bang # Run bang
i=1 i=1
echo -n "Banging..." echo -n "Banging..."
/opt/slapos/bin/bang -m "Rebooted" $SLAPOS_CONFIGURATION/slapos.cfg
while [ $? != 0 ]; do
sleep $(($i*60))
if [ $i < 20 ]; then
let i++
fi
echo "Retrying Bang"
/opt/slapos/bin/bang -m "Rebooted" $SLAPOS_CONFIGURATION/slapos.cfg /opt/slapos/bin/bang -m "Rebooted" $SLAPOS_CONFIGURATION/slapos.cfg
done while [ $? != 0 ]; do
echo "done." sleep $(($i*60))
if [ $i < 20 ]; then
let i++
fi
echo "Retrying Bang"
/opt/slapos/bin/bang -m "Rebooted" $SLAPOS_CONFIGURATION/slapos.cfg
done
echo "done."
# Run slapgrid on all computer partitions # Run slapgrid on all computer partitions
/opt/slapos/bin/slapgrid-cp --verbose --develop --now --logfile=/opt/slapos/slapgrid-cp.log --pidfile=/opt/slapos/slapgrid-cp.pid $SLAPOS_CONFIGURATION/slapos.cfg >> /opt/slapos/slapgrid-cp.log 2>&1 /opt/slapos/bin/slapgrid-cp --verbose --develop --now --logfile=/opt/slapos/slapgrid-cp.log --pidfile=/opt/slapos/slapgrid-cp.pid $SLAPOS_CONFIGURATION/slapos.cfg >> /opt/slapos/slapgrid-cp.log 2>&1
\ No newline at end of file fi
\ No newline at end of file
...@@ -11,4 +11,10 @@ ca /etc/openvpn/vifib-keys/ca.crt ...@@ -11,4 +11,10 @@ ca /etc/openvpn/vifib-keys/ca.crt
cert /etc/openvpn/vifib-keys/client-vifib.crt cert /etc/openvpn/vifib-keys/client-vifib.crt
key /etc/openvpn/vifib-keys/client-vifib.key key /etc/openvpn/vifib-keys/client-vifib.key
ns-cert-type server ns-cert-type server
verb 3 verb 3
\ No newline at end of file
# Retry slapformat in case of failure
script-security 3 system
up-restart
up 'ONLY_SLAPFORMAT=true /usr/sbin/slapos-start & echo foo'
log /var/log/openvpn.log
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment