<div dir="ltr">Thanks for the reply :) The libvirt-guests.service was the very first thing I had tried. It, however, did absolutely nothing and I believe it to be broken in arch linux. I have given up on trying to get a shutdown/reboot script to run for now.</div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Sep 23, 2014 at 5:44 AM, Daniel P. Berrange <span dir="ltr"><<a href="mailto:berrange@redhat.com" target="_blank">berrange@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Sun, Sep 21, 2014 at 11:40:03PM -0400, Alexander Groleau wrote:<br>
> Hello systemd users,<br>
><br>
> I have been trying desperately for weeks to get my simple shutdown script<br>
> for a Libvirt guest to run before libvirtd is shut down, without success.<br>
> Essentially, I need the libvirt-windows.sh script to run before the<br>
> libvirtd service is terminated (which occurs right after systemd-logind<br>
> outputs its reboot message). How can I get my script into this initial<br>
> section of daemon shutdowns, at the top?<br>
<br>
</span>Any reason you've created your own shutdown script instead of using the<br>
libvirt-guests.service script that libvirt includes ? To get the ordering<br>
right, we have a number of rules:<br>
<br>
  - libvirtd.service contains "Before=libvirt-guests.service"<br>
  - libvirt-guests.service contains "After=libvirtd.service"<br>
  - The guest scope unit contain "After=libvirtd.service" and<br>
    "Before=libvirt-guests.service"<br>
<br>
It was the two rules aginst the .scope units that we found to be the key<br>
part to making shutdown work, whereby guests get stopped gracefully before<br>
the libvirtd daemon is stopped.<br>
<br>
The .scope units do not have any file on disk, they are generated on the<br>
fly as libvirt talks to systemd-machined, so you've no way to alter them<br>
to work with your custom shutdown script. Thus if you are not using the<br>
standard  libvirt-guests.service, then you should at least use the name<br>
"libvirt-guests.service" for your own custom service.<br>
<br>
Regards,<br>
Daniel<br>
<span class="HOEnZb"><font color="#888888">--<br>
|: <a href="http://berrange.com" target="_blank">http://berrange.com</a>      -o-    <a href="http://www.flickr.com/photos/dberrange/" target="_blank">http://www.flickr.com/photos/dberrange/</a> :|<br>
|: <a href="http://libvirt.org" target="_blank">http://libvirt.org</a>              -o-             <a href="http://virt-manager.org" target="_blank">http://virt-manager.org</a> :|<br>
|: <a href="http://autobuild.org" target="_blank">http://autobuild.org</a>       -o-         <a href="http://search.cpan.org/~danberr/" target="_blank">http://search.cpan.org/~danberr/</a> :|<br>
|: <a href="http://entangle-photo.org" target="_blank">http://entangle-photo.org</a>       -o-       <a href="http://live.gnome.org/gtk-vnc" target="_blank">http://live.gnome.org/gtk-vnc</a> :|<br>
</font></span></blockquote></div><br></div>