On Wed, 14 Aug 2013, Michal Hlavinka wrote:

The service unit consists of a new file
/etc/systemd/system/ups-delayed-shutdown.service

What exactly is this supposed to do?

The proposed service unit fixes an openSUSE 12.3 problem, in which the UPS is not powered off on system shutdown.

When system is shutting down because of power failure (and low battery) ups should be powered off with /lib/systemd/system-shutdown/nutshutdown script.

In openSUSE 12.3 there is no directory /lib/systemd/system-shutdown, and no script "nutshutdown". I am guessing that you use Fedora.

That's also the correct location for ups shutdown script.

My original script was in /lib/systemd and I was told in the systemd-devel mailing list that home-brew scripts such as mine should not be placed there, but in /etc/systemd/system.

It's executed after everything else. Using Before=umount.target is especially bad bad idea. It's not guaranteed that umount sync can finish in time,

Perhaps I misunderstand your comment, but I'm not worried about umount.target running late. That's not a problem. Finishing early would be a problem, but that's what the "Before" and the "Type=oneshot" is intended to handle.

Quote from man systemd.service: Behavior of oneshot is similar to simple, however it is expected that the process has to exit before systemd starts follow-up units.

By the way, "Before=umount.target" didn't seem to shock the systemd guys.

so you can have power down during filesystem sync with all the consequences.

Agreed - systemd executes my openSUSE ups-delayed-shutdown.service at the very beginning of the shutdown sequence, and there is a very real possibility of the UPS shutdown with its default 20 sec delay occuring before the system shutdown. That is why I have the options

  offdelay = 30
  ondelay = 40

in file /etc/ups/ups.conf.

Roger


_______________________________________________
Nut-upsuser mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/nut-upsuser

Reply via email to