This makes it break:
$ deb-systemd-invoke restart 'libvirtd-ro.socket' 'libvirtd.service' 'libvirtd.socket' 'virtlockd.socket' 'virtlogd.socket'
Job failed. See "journalctl -xe" for details.
But this order would works:
$ deb-systemd-invoke restart 'libvirtd.service' 'libvirtd-ro.socket' 'libvirtd.socket' 'virtlockd.socket' 'virtlogd.socket
Ee didn't add/create this order - it is what dh_installsystemd made out of:
dh_installsystemd -p libvirt-daemon-system --restart-after-upgrade libvirtd.service
due to:
root@f2:~# grep Also /lib/systemd/system/libvirtd.service
Also=virtlockd.socket
Also=virtlogd.socket
Also=libvirtd.socket
Also=libvirtd-ro.socket
That is just lexical order:
# printf "virtlockd.socket\nvirtlogd.socket\nlibvirtd.socket\nlibvirtd-ro.socket\nlibvirtd.service" | sort
libvirtd-ro.socket
libvirtd.service
libvirtd.socket
virtlockd.socket
virtlogd.socket
IMHO deb-systemd-invoke as generated by dh_installsystemd has a few options:
- should always start with the service it was called?
- should not pull in "ALSO" sockets (I guess it was intentional thou)
- dh-installsystemd could add an option to influence that as needed per-package.
Gladly for libvirt this is only a warning and not breaking any behavior (as the later start recovers it). But I'll add a debhelper task for this case.
Note: as I expected this issue affects Debians libvirt-daemon-system and debhlper just as much.
Turns out this is an ordering issue:
This makes it break: ro.socket' 'libvirtd.service' 'libvirtd.socket' 'virtlockd.socket' 'virtlogd.socket'
$ deb-systemd-invoke restart 'libvirtd-
Job failed. See "journalctl -xe" for details.
But this order would works: ro.socket' 'libvirtd.socket' 'virtlockd.socket' 'virtlogd.socket
$ deb-systemd-invoke restart 'libvirtd.service' 'libvirtd-
Ee didn't add/create this order - it is what dh_installsystemd made out of: daemon- system --restart- after-upgrade libvirtd.service system/ libvirtd. service socket socket socket ro.socket
dh_installsystemd -p libvirt-
due to:
root@f2:~# grep Also /lib/systemd/
Also=virtlockd.
Also=virtlogd.
Also=libvirtd.
Also=libvirtd-
That is just lexical order: socket\ nvirtlogd. socket\ nlibvirtd. socket\ nlibvirtd- ro.socket\ nlibvirtd. service" | sort
# printf "virtlockd.
libvirtd-ro.socket
libvirtd.service
libvirtd.socket
virtlockd.socket
virtlogd.socket
IMHO deb-systemd-invoke as generated by dh_installsystemd has a few options:
- should always start with the service it was called?
- should not pull in "ALSO" sockets (I guess it was intentional thou)
- dh-installsystemd could add an option to influence that as needed per-package.
Gladly for libvirt this is only a warning and not breaking any behavior (as the later start recovers it). But I'll add a debhelper task for this case.
Note: as I expected this issue affects Debians libvirt- daemon- system and debhlper just as much.