corosync.conf.in 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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. end script
  18. post-start script
  19. wait_for_ipc()
  20. {
  21. [ -f "$rpm_sysconf" ] && . $rpm_sysconf
  22. [ -f "$deb_sysconf" ] && . $deb_sysconf
  23. try=0
  24. max_try=$((COROSYNC_INIT_TIMEOUT*2-1))
  25. [ "$max_try" -le "0" ] && max_try=120
  26. while [ "$try" -le "$max_try" ]; do
  27. if corosync-cfgtool -s > /dev/null 2>&1; then
  28. return 0
  29. fi
  30. sleep 0.5
  31. try=$((try + 1))
  32. done
  33. logger -i -t "$UPSTART_JOB" "ERROR: Any interfaces are faulty!"
  34. return 1
  35. }
  36. wait_for_ipc || { stop; exit 1; }
  37. [ -f "$rpm_sysconf" ] && . $rpm_sysconf
  38. [ -f "$deb_sysconf" ] && . $deb_sysconf
  39. [ -z "$LOCK_FILE" -a -d @SYSCONFDIR@/sysconfig ] && LOCK_FILE="$rpm_lockfile"
  40. [ -z "$LOCK_FILE" -a -d @SYSCONFDIR@/default ] && LOCK_FILE="$deb_lockfile"
  41. touch $LOCK_FILE
  42. end script
  43. post-stop script
  44. [ -f "$rpm_sysconf" ] && . $rpm_sysconf
  45. [ -f "$deb_sysconf" ] && . $deb_sysconf
  46. [ -z "$LOCK_FILE" -a -d @SYSCONFDIR@/sysconfig ] && LOCK_FILE="$rpm_lockfile"
  47. [ -z "$LOCK_FILE" -a -d @SYSCONFDIR@/default ] && LOCK_FILE="$deb_lockfile"
  48. rm -f $LOCK_FILE
  49. end script