Comment 1 for bug 2034471

Revision history for this message
Mitchell Dzurick (mitchdz) wrote : Re: Reinstalling multipath-tools leads to multipathd.socket being inactive

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:
# 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

Which postinst should start the socket first.