Stop/start robustness enhancements for start/stop_p4*() functions.
Added wait loop to start_p4d(), start_p4broker(), and start_p4p()
functions and corresponding stop_p4{d/p/broker}() functions.
Delays are 1-second intervals up to a configurable maximum number of
seconds. Defaults for start are 120 for p4d, 60 each for p4broker
and p4p. Defaults for stop are 600 each for p4broker and p4p, but
for 'p4d' the wait could cause a hang. This is deemed preferrable
over other options. Delays are only incurred as needed.
Services that do not start/stop within the alotted time are deemed to
have failed to start/stop. Note that while this change is a general
robustness enhancement, it is especially important with systemd
due to its 'fire and forget' nature when doing a 'sudo systemctl
start'. The systemctl command returns immediately and happily even
if the p4d startup fails.
All 3 start_p4*() and all 3 stop_p4*() functions now have the same
"do or die" behavior; they call a 'die' if the service did not stop
as requested. When they return, the requested start/stop can be
assumed to have completed successfully.
Added documentation for new settings in instance_vars.template. Also
added doc and example of SDP_AUTOMATION_USERS.