@@ -6,6 +6,8 @@ while [ -n "$1" ]; do
66 --version|-v) export VERSION=1; break ;;
77 --url) export URL=${2%/ } ; shift ;; # strip trailing slash
88 --interval) export INTERVAL=$2 ; shift ;;
9+ --management_interval) export MANAGEMENT_INTERVAL=" $2 " ; shift ;;
10+ --registration_interval) export REGISTRATION_INTERVAL=" $2 " ; shift ;;
911 --verify-ssl) export VERIFY_SSL=$2 ; shift ;;
1012 --uuid) export UUID=" $2 " ; shift ;;
1113 --key) export KEY=" $2 " ; shift ;;
@@ -60,6 +62,8 @@ if ([ -z "$UUID" ] || [ -z "$KEY" ]) && [ -z "$SHARED_SECRET" ]; then
6062fi
6163
6264INTERVAL=${INTERVAL:- 120}
65+ MANAGEMENT_INTERVAL=${MANAGEMENT_INTERVAL:- $(expr $INTERVAL / 12)}
66+ REGISTRATION_INTERVAL=${REGISTRATION_INTERVAL:- $(expr $INTERVAL / 4)}
6367VERIFY_SSL=${VERIFY_SSL:- 1}
6468MERGE_CONFIG=${MERGE_CONFIG:- 1}
6569TEST_CONFIG=${TEST_CONFIG:- 1}
@@ -641,12 +645,11 @@ discover_management_ip(){
641645 MANAGEMENT_IP=$( /usr/sbin/openwisp-get-address $MANAGEMENT_INTERFACE )
642646
643647 if [ -z " $MANAGEMENT_IP " ]; then
644- retry_after=$( expr $INTERVAL / 12)
645648 logger -s " management interface not ready (attempt $attempt of $MAX_ATTEMPTS )" \
646649 -t openwisp \
647650 -p daemon.notice
648651 if [ $attempt -lt $MAX_ATTEMPTS ]; then
649- sleep $retry_after
652+ sleep $MANAGEMENT_INTERVAL
650653 else
651654 logger -s " could not determine ip address of management interface, giving up..." \
652655 -t openwisp \
@@ -674,11 +677,11 @@ handle_sigusr1() {
674677# otherwise perform registration
675678if [ -z " $UUID " ] || [ -z " $KEY " ]; then
676679 # do not crash if controller can't be reached
677- # but retry every ($INTERVAL / 4) seconds
680+ # but retry every $REGISTRATION_INTERVAL seconds
678681 # (device might be unplugged, unconfigured or connecting)
679682 until register
680683 do
681- sleep $( expr $INTERVAL / 4 )
684+ sleep $REGISTRATION_INTERVAL
682685 done
683686 touch " $BOOTUP "
684687fi
0 commit comments