corosync.conf.in 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. # corosync - Corosync Cluster Engine
  2. #
  3. # Starts corosync
  4. expect fork
  5. env prog=corosync
  6. env rpm_sysconf=@SYSCONFDIR@/sysconfig/corosync
  7. env rpm_lockfile=@LOCALSTATEDIR@/lock/subsys/corosync
  8. env deb_sysconf=@SYSCONFDIR@/default/corosync
  9. env deb_lockfile=@LOCALSTATEDIR@/lock/corosync
  10. script
  11. [ -f "$rpm_sysconf" ] && . $rpm_sysconf
  12. [ -f "$deb_sysconf" ] && . $deb_sysconf
  13. exec $prog $COROSYNC_OPTIONS
  14. end script
  15. pre-start script
  16. mkdir -p @LOCALSTATEDIR@/run
  17. # rewrite according to environment.
  18. #[ -c /dev/watchdog ] || modprobe softdog
  19. end script
  20. post-start script
  21. wait_for_ipc()
  22. {
  23. [ -f "$rpm_sysconf" ] && . $rpm_sysconf
  24. [ -f "$deb_sysconf" ] && . $deb_sysconf
  25. try=0
  26. max_try=$((COROSYNC_INIT_TIMEOUT*2-1))
  27. [ "$max_try" -le "0" ] && max_try=120
  28. while [ "$try" -le "$max_try" ]; do
  29. if corosync-cfgtool -s > /dev/null 2>&1; then
  30. return 0
  31. fi
  32. sleep 0.5
  33. try=$((try + 1))
  34. done
  35. logger -i -t "$UPSTART_JOB" "ERROR: Any interfaces are faulty!"
  36. return 1
  37. }
  38. wait_for_ipc || { stop; exit 1; }
  39. [ -f "$rpm_sysconf" ] && . $rpm_sysconf
  40. [ -f "$deb_sysconf" ] && . $deb_sysconf
  41. [ -z "$LOCK_FILE" -a -d @SYSCONFDIR@/sysconfig ] && LOCK_FILE="$rpm_lockfile"
  42. [ -z "$LOCK_FILE" -a -d @SYSCONFDIR@/default ] && LOCK_FILE="$deb_lockfile"
  43. touch $LOCK_FILE
  44. end script
  45. post-stop script
  46. [ -f "$rpm_sysconf" ] && . $rpm_sysconf
  47. [ -f "$deb_sysconf" ] && . $deb_sysconf
  48. [ -z "$LOCK_FILE" -a -d @SYSCONFDIR@/sysconfig ] && LOCK_FILE="$rpm_lockfile"
  49. [ -z "$LOCK_FILE" -a -d @SYSCONFDIR@/default ] && LOCK_FILE="$deb_lockfile"
  50. rm -f $LOCK_FILE
  51. end script