Revision 1db0b7cf doc/examples/hooks/ethers

b/doc/examples/hooks/ethers
36 36
TARGET_BRIDGE="br0"
37 37
DAEMON_PID_FILE="/var/run/dnsmasq.pid"
38 38
LOCKFILE="/var/lock/ganeti_ethers.lock"
39
LOCKTIMEOUT=10
40
LOCKSLEEP=2
39 41

  
40 42
hooks_path=$GANETI_HOOKS_PATH
41 43
[ -n "$hooks_path" ] || exit 1
......
44 46
nic_count=$GANETI_INSTANCE_NIC_COUNT
45 47

  
46 48
acquire_lockfile() {
47
  if ! ( set -o noclobber; echo "$$" > $LOCKFILE) 2> /dev/null; then
48
    logger -s "Cannot acquire lockfile for ethers update"
49
    exit 1
50
  fi
49
  NOW=$(date +%s)
50
  TIMEOUT=$(($NOW + $LOCKTIMEOUT))
51
  while ! ( set -o noclobber; echo "$$" > $LOCKFILE) 2> /dev/null ; do
52
    NOW=$(date +%s)
53
    if [ $NOW -ge $TIMEOUT ]; then
54
      echo "Cannot acquire lockfile for ethers update, giving up"
55
      exit 1
56
    fi
57
    echo "Cannot acquire lockfile for ethers update, waiting"
58
    sleep $LOCKSLEEP
59
  done
51 60
  trap "rm -f $LOCKFILE" EXIT
52 61
}
53 62

  

Also available in: Unified diff