On 04/14/2011 12:51 PM, Michal Hlavinka wrote:
Can you elaborate on this?
a) ups driver - runs when you have ups attached to that host b) upsd - runs when you have ups attached to that host c) upsmon (master/slave mode) - usualy runs on machine where you have ups, but it can run on machine without ups or work with different ups than the attached one
Looking at the old sysv it only does 2 things...
if the $SERVER = yes in /etc/sysconfig/ups then start upsd driver upsd and upsd monitor.
If the $SERVER != yes in /etc/sysconfig/ups then only start the monitor service
start() { if [ "$SERVER" = "yes" ]; then echo -n $"Starting UPS driver controller: " daemon /sbin/upsdrvctl start > /dev/null 2>&1 && success || failure RETVAL=$? echo
prog="upsd" echo -n $"Starting $prog: " daemon /usr/sbin/upsd $UPSD_OPTIONS > /dev/null 2>&1 && success || failure if [ "$RETVAL" = 0 ]; then RETVAL=$? fi echo
echo -n $"Starting UPS monitor (master): " daemon --pidfile /var/run/nut/upsmon.pid /usr/sbin/upsmon > /dev/null 2>&1 && success || failure if [ "$RETVAL" = 0 ]; then RETVAL=$? fi echo else echo -n $"Starting UPS monitor (slave): " daemon --pidfile /var/run/nut/upsmon.pid /usr/sbin/upsmon > /dev/null 2>&1 && success || failure echo fi
[ "$RETVAL" = 0 ] && touch /var/lock/subsys/ups }
The only difference between usps-monitor in master mode and slave mode is the "echo (master)"/"echo (slave)"
Now I've splitted this into three systemd services upsd.service upsd-driver.service and upsd-monitor
upsd.service which if run will start uspd upsd-driver and the upsd-monitor this is the same behavior as if $SERVER = yes
upsd-driver.service is stand alone and can be started stopped etc all by it self
upsd-monitor.service is stand alone and can be started stopped etc all by it self.
Starting this service on it's own is the exact same behaviour if $SERVER != yes
This is as close and as correct transfer to systemd as it gets.
The $SERVER variable in /etc/sysconfig/ups is obsoleted
If end users wants the uspd server ( which by the way defaulted to yes so this even is not a breakage in default behaviour ) they only need to run
service upsd start or systemctl start upsd.service just ast they did before.
If they just want to use the monitor they just start the UPS Monitor service
And now they can even start the UPS driver controller only which they could not before.
JBG