Skip to content

Commit

Permalink
fix(multipath): check if mpathconf is available
Browse files Browse the repository at this point in the history
Not all distributions utilize and ship the mpathconf utilitiy.
Avoid error messages and systemd complaints about
multipathd-configure.service in this case.
  • Loading branch information
mwilck authored and johannbg committed Feb 2, 2022
1 parent 6246da4 commit 4318533
Showing 1 changed file with 10 additions and 3 deletions.
13 changes: 10 additions & 3 deletions modules.d/90multipath/module-setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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"
Expand Down

0 comments on commit 4318533

Please sign in to comment.