Browse Source

fix(multipath): check if mpathconf is available

Not all distributions utilize and ship the mpathconf utilitiy.
Avoid error messages and systemd complaints about
multipathd-configure.service in this case.
master
Martin Wilck 2 years ago committed by Jóhann B. Guðmundsson
parent
commit
4318533e14
  1. 13
      modules.d/90multipath/module-setup.sh

13
modules.d/90multipath/module-setup.sh

@ -60,6 +60,10 @@ installkernel() { @@ -60,6 +60,10 @@ installkernel() {
hostonly='' dracut_instmods -o -s "$_funcs" "=drivers/scsi" "=drivers/md" ${_s390drivers:+"$_s390drivers"}
}

mpathconf_installed() {
command -v mpathconf &> /dev/null
}

# called by dracut
install() {
local -A _allow
@ -104,7 +108,8 @@ install() { @@ -104,7 +108,8 @@ install() {
/etc/multipath/* \
"$config_dir"/*

[[ $hostonly ]] && [[ $hostonly_mode == "strict" ]] && {
mpathconf_installed \
&& [[ $hostonly ]] && [[ $hostonly_mode == "strict" ]] && {
for_each_host_dev_and_slaves_all add_hostonly_mpath_conf
if ((${#_allow[@]} > 0)); then
local -a _args
@ -128,9 +133,11 @@ install() { @@ -128,9 +133,11 @@ install() {
fi

if dracut_module_included "systemd"; then
inst_simple "${moddir}/multipathd-configure.service" "${systemdsystemunitdir}/multipathd-configure.service"
if mpathconf_installed; then
inst_simple "${moddir}/multipathd-configure.service" "${systemdsystemunitdir}/multipathd-configure.service"
$SYSTEMCTL -q --root "$initdir" enable multipathd-configure.service
fi
inst_simple "${moddir}/multipathd.service" "${systemdsystemunitdir}/multipathd.service"
$SYSTEMCTL -q --root "$initdir" enable multipathd-configure.service
$SYSTEMCTL -q --root "$initdir" enable multipathd.service
else
inst_hook pre-trigger 02 "$moddir/multipathd.sh"

Loading…
Cancel
Save