Skip to content

Commit

Permalink
fix(iscsi): add iscsid.service requirements
Browse files Browse the repository at this point in the history
Since Fedora 34, iscsid.service requires:
- iscsi-init.service
- iscsi-shutdown.service
- a non-empty /var/lib/iscsi/nodes/.dracut
  • Loading branch information
haraldh committed Apr 26, 2021
1 parent 2c5bb67 commit bb6770f
Showing 1 changed file with 29 additions and 9 deletions.
38 changes: 29 additions & 9 deletions modules.d/95iscsi/module-setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,7 @@ install() {
else
inst_multiple -o \
"$systemdsystemunitdir"/iscsi.service \
"$systemdsystemunitdir"/iscsi-init.service \
"$systemdsystemunitdir"/iscsid.service \
"$systemdsystemunitdir"/iscsid.socket \
"$systemdsystemunitdir"/iscsiuio.service \
Expand All @@ -236,38 +237,57 @@ install() {
done

mkdir -p "${initdir}/$systemdsystemunitdir/iscsid.service.d"
(
{
echo "[Unit]"
echo "DefaultDependencies=no"
echo "Conflicts=shutdown.target"
echo "Before=shutdown.target"
) > "${initdir}/$systemdsystemunitdir/iscsid.service.d/dracut.conf"
} > "${initdir}/$systemdsystemunitdir/iscsid.service.d/dracut.conf"

mkdir -p "${initdir}/$systemdsystemunitdir/iscsid.socket.d"
(
{
echo "[Unit]"
echo "DefaultDependencies=no"
echo "Conflicts=shutdown.target"
echo "Before=shutdown.target sockets.target"
) > "${initdir}/$systemdsystemunitdir/iscsid.socket.d/dracut.conf"
} > "${initdir}/$systemdsystemunitdir/iscsid.socket.d/dracut.conf"

mkdir -p "${initdir}/$systemdsystemunitdir/iscsiuio.service.d"
(
{
echo "[Unit]"
echo "DefaultDependencies=no"
echo "Conflicts=shutdown.target"
echo "Before=shutdown.target"
) > "${initdir}/$systemdsystemunitdir/iscsiuio.service.d/dracut.conf"
} > "${initdir}/$systemdsystemunitdir/iscsiuio.service.d/dracut.conf"

mkdir -p "${initdir}/$systemdsystemunitdir/iscsiuio.socket.d"
(
{
echo "[Unit]"
echo "DefaultDependencies=no"
echo "Conflicts=shutdown.target"
echo "Before=shutdown.target sockets.target"
) > "${initdir}/$systemdsystemunitdir/iscsiuio.socket.d/dracut.conf"

} > "${initdir}/$systemdsystemunitdir/iscsiuio.socket.d/dracut.conf"

# Fedora 34 iscsid requires iscsi-shutdown.service
# which would terminate all iSCSI connections on switch root
cat > "${initdir}/$systemdsystemunitdir/iscsi-shutdown.service" << EOF
[Unit]
Description=Dummy iscsi-shutdown.service for the initrd
Documentation=man:iscsid(8) man:iscsiadm(8)
DefaultDependencies=no
Conflicts=shutdown.target
After=systemd-remount-fs.service network.target iscsid.service iscsiuio.service
Before=remote-fs-pre.target
[Service]
Type=oneshot
RemainAfterExit=false
ExecStart=-/usr/bin/true
EOF
fi
inst_dir /var/lib/iscsi
mkdir -p "${initdir}/var/lib/iscsi/nodes"
# Fedora 34 iscsid wants a non-empty /var/lib/iscsi/nodes directory
: > "${initdir}/var/lib/iscsi/nodes/.dracut"
dracut_need_initqueue
}

0 comments on commit bb6770f

Please sign in to comment.