This is because postinst attempts to start multipathd.socket while multipathd.service is active.
It's an issue with ordering of stopping/starting the service/socket.
Attempting to start the socket while the service is active will result in a failure due to how the socket will attempt to activate the service. To properly stop/start this socket/service the ordering is important, and we must do:
Which results in the following line of postinst:
# Automatically added by dh_systemd_start/13.11.4ubuntu3
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
if [ -z "${DPKG_ROOT:-}" ] && [ -d /run/systemd/system ]; then systemctl --system daemon-reload >/dev/null || true deb-systemd-invoke start 'multipathd.service' 'multipathd.socket' >/dev/null || true
fi
fi
# End automatically added section
This is because postinst attempts to start multipathd.socket while multipathd.service is active.
It's an issue with ordering of stopping/starting the service/socket.
Attempting to start the socket while the service is active will result in a failure due to how the socket will attempt to activate the service. To properly stop/start this socket/service the ordering is important, and we must do:
# systemctl stop multipathd.service multipathd.socket
# systemctl start multipathd.socket multipathd.service
Notice how the service is stopped first, but started last.
Inside of d/rules we have
dh_systemd_start -pmultipath-tools multipathd.service
Which results in the following line of postinst: start/13. 11.4ubuntu3
systemctl --system daemon-reload >/dev/null || true
deb-systemd- invoke start 'multipathd. service' 'multipathd.socket' >/dev/null || true
# Automatically added by dh_systemd_
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
if [ -z "${DPKG_ROOT:-}" ] && [ -d /run/systemd/system ]; then
fi
fi
# End automatically added section
Which postinst should start the socket first.