Собственно проблема: стоит KVM, libvirt. libvirt-guests.service шел в комплекте с libvirt. Этот юнит должен при выключении компа гасить виртуальные машины (при дефолтной натройке суспендить). Проблема в том, что он этого не делает, хотя если вручную запустить скрипт, то он суспендит виртуалки. По ощущениям systemd начинает выполнение скрипта и убивает libvirt и скрипт не может приконнектиться к libvirt.
Пробовал вписывать Before=libvirtd.service, не помогает. Подскажите пожалуйста, как правильно указать systemd дождаться завершения скрипта, перед завершением libvirtd.service.
libvirt-guests.service:
 [Unit]
   Description=Suspend Active Libvirt Guests
   After=network.target libvirtd.service
   Documentation=man:libvirtd(8)
   Documentation=http://libvirt.org
   [Service]
   EnvironmentFile=-/etc/conf.d/libvirt-guests
  ExecStart=/usr/lib/libvirt/libvirt-guests.sh start
  ExecStop=/usr/lib/libvirt/libvirt-guests.sh stop
  Type=oneshot
  RemainAfterExit=yes
  StandardOutput=journal+console
  [Install]
  WantedBy=multi-user.target
libvirtd.service:
[Unit]
Description=Virtualization daemon
After=network.target
After=dbus.service
After=iscsid.service
Before=shutdown.target reboot.target
[Service]
EnvironmentFile=-/etc/conf.d/libvirtd
ExecStart=/usr/bin/libvirtd $LIBVIRTD_ARGS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target