diff --git a/lrmd/pacemaker_remote.service.in b/lrmd/pacemaker_remote.service.in index 6309ad2625..86c2fd0006 100644 --- a/lrmd/pacemaker_remote.service.in +++ b/lrmd/pacemaker_remote.service.in @@ -1,29 +1,34 @@ [Unit] Description=Pacemaker Remote Service Documentation=man:pacemaker_remoted http://clusterlabs.org/doc/en-US/Pacemaker/1.1-pcs/html/Pacemaker_Remote/index.html + After=network.target After=time-sync.target +After=resource-agents-deps.target +Wants=resource-agents-deps.target +After=syslog.service +After=rsyslog.service [Install] WantedBy=multi-user.target [Service] Type=simple KillMode=process NotifyAccess=none EnvironmentFile=-@CONFIGDIR@/pacemaker EnvironmentFile=-@CONFIGDIR@/sbd ExecStart=@sbindir@/pacemaker_remoted # Pacemaker Remote can exit only after all managed services have shut down; # an HA database could conceivably take even longer than this TimeoutStopSec=30min TimeoutStartSec=30s # Restart options include: no, on-success, on-failure, on-abort or always Restart=on-failure # crm_perror() writes directly to stderr, so ignore it here # to avoid double-logging with the wrong format StandardError=null diff --git a/mcp/pacemaker.service.in b/mcp/pacemaker.service.in index 4d17b52245..8ebadc6375 100644 --- a/mcp/pacemaker.service.in +++ b/mcp/pacemaker.service.in @@ -1,67 +1,76 @@ [Unit] Description=Pacemaker High Availability Cluster Manager Documentation=man:pacemakerd http://clusterlabs.org/doc/en-US/Pacemaker/1.1-pcs/html/Pacemaker_Explained/index.html -After=dbus.service -After=basic.target -After=syslog.service -After=rsyslog.service +# DefaultDependencies takes care of sysinit.target, +# basic.target, and shutdown.target + +# We need networking to bind to a network address. It is recommended not to +# use Wants or Requires with network.target, and not to use +# network-online.target for server daemons. After=network.target + +# Time syncs can make the clock jump backward, which messes with logging +# and failure timestamps, so wait until it's done. After=time-sync.target -After=corosync.service -Requires=dbus.service -Requires=basic.target +# Some OCF resources may have dependencies that aren't managed by the cluster; +# these must be started before Pacemaker and stopped after it. The +# resource-agents package provides this target, which lets system adminstrators +# add drop-ins for those dependencies. +After=resource-agents-deps.target +Wants=resource-agents-deps.target + +After=syslog.service +After=rsyslog.service +After=corosync.service Requires=corosync.service -# if you use crm_mon, uncomment the line below. -# Wants=crm_mon.service + [Install] WantedBy=multi-user.target + [Service] Type=simple KillMode=process NotifyAccess=main EnvironmentFile=-@CONFIGDIR@/pacemaker EnvironmentFile=-@CONFIGDIR@/sbd SuccessExitStatus=100 ExecStart=@sbindir@/pacemakerd -f # If pacemakerd doesn't stop, it's probably waiting on a cluster # resource. Sending -KILL will just get the node fenced SendSIGKILL=no # If we ever hit the StartLimitInterval/StartLimitBurst limit and the # admin wants to stop the cluster while pacemakerd is not running, it # might be a good idea to enable the ExecStopPost directive below. # # Although the node will likely end up being fenced as a result so it's # not on by default # # ExecStopPost=/usr/bin/killall -TERM crmd attrd stonithd cib pengine lrmd # If you want Corosync to stop whenever Pacemaker is stopped, # uncomment the next line too: # # ExecStopPost=/bin/sh -c 'pidof crmd || killall -TERM corosync' # Uncomment this for older versions of systemd that didn't support # TimeoutStopSec # TimeoutSec=30min # Pacemaker can only exit after all managed services have shut down # A HA database could conceivably take even longer than this TimeoutStopSec=30min TimeoutStartSec=60s # Restart options include: no, on-success, on-failure, on-abort or always Restart=on-failure # crm_perror() writes directly to stderr, so ignore it here # to avoid double-logging with the wrong format StandardError=null - -# if you use crm_mon, uncomment the line below. -# ExecStopPost=/bin/sh -c 'systemctl status crm_mon >/dev/null && systemctl stop crm_mon' diff --git a/tools/crm_mon.service.in b/tools/crm_mon.service.in index 1199f5fe06..7ae6649cad 100644 --- a/tools/crm_mon.service.in +++ b/tools/crm_mon.service.in @@ -1,16 +1,17 @@ [Unit] Description=Daemon for pacemaker monitor Documentation=man:crm_mon +After=pacemaker.service [Service] Type=forking EnvironmentFile=-@CONFIGDIR@/crm_mon ExecStart=@sbindir@/crm_mon $OPTIONS Restart=always # crm_perror() writes directly to stderr, so ignore it here to avoid # double-logging with the wrong format StandardError=null [Install] WantedBy=multi-user.target