Skip to content

Commit bb6770f

Browse files
committed
fix(iscsi): add iscsid.service requirements
Since Fedora 34, iscsid.service requires: - iscsi-init.service - iscsi-shutdown.service - a non-empty /var/lib/iscsi/nodes/.dracut
1 parent 2c5bb67 commit bb6770f

File tree

1 file changed

+29
-9
lines changed

1 file changed

+29
-9
lines changed

modules.d/95iscsi/module-setup.sh

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,7 @@ install() {
223223
else
224224
inst_multiple -o \
225225
"$systemdsystemunitdir"/iscsi.service \
226+
"$systemdsystemunitdir"/iscsi-init.service \
226227
"$systemdsystemunitdir"/iscsid.service \
227228
"$systemdsystemunitdir"/iscsid.socket \
228229
"$systemdsystemunitdir"/iscsiuio.service \
@@ -236,38 +237,57 @@ install() {
236237
done
237238

238239
mkdir -p "${initdir}/$systemdsystemunitdir/iscsid.service.d"
239-
(
240+
{
240241
echo "[Unit]"
241242
echo "DefaultDependencies=no"
242243
echo "Conflicts=shutdown.target"
243244
echo "Before=shutdown.target"
244-
) > "${initdir}/$systemdsystemunitdir/iscsid.service.d/dracut.conf"
245+
} > "${initdir}/$systemdsystemunitdir/iscsid.service.d/dracut.conf"
245246

246247
mkdir -p "${initdir}/$systemdsystemunitdir/iscsid.socket.d"
247-
(
248+
{
248249
echo "[Unit]"
249250
echo "DefaultDependencies=no"
250251
echo "Conflicts=shutdown.target"
251252
echo "Before=shutdown.target sockets.target"
252-
) > "${initdir}/$systemdsystemunitdir/iscsid.socket.d/dracut.conf"
253+
} > "${initdir}/$systemdsystemunitdir/iscsid.socket.d/dracut.conf"
253254

254255
mkdir -p "${initdir}/$systemdsystemunitdir/iscsiuio.service.d"
255-
(
256+
{
256257
echo "[Unit]"
257258
echo "DefaultDependencies=no"
258259
echo "Conflicts=shutdown.target"
259260
echo "Before=shutdown.target"
260-
) > "${initdir}/$systemdsystemunitdir/iscsiuio.service.d/dracut.conf"
261+
} > "${initdir}/$systemdsystemunitdir/iscsiuio.service.d/dracut.conf"
261262

262263
mkdir -p "${initdir}/$systemdsystemunitdir/iscsiuio.socket.d"
263-
(
264+
{
264265
echo "[Unit]"
265266
echo "DefaultDependencies=no"
266267
echo "Conflicts=shutdown.target"
267268
echo "Before=shutdown.target sockets.target"
268-
) > "${initdir}/$systemdsystemunitdir/iscsiuio.socket.d/dracut.conf"
269-
269+
} > "${initdir}/$systemdsystemunitdir/iscsiuio.socket.d/dracut.conf"
270+
271+
# Fedora 34 iscsid requires iscsi-shutdown.service
272+
# which would terminate all iSCSI connections on switch root
273+
cat > "${initdir}/$systemdsystemunitdir/iscsi-shutdown.service" << EOF
274+
[Unit]
275+
Description=Dummy iscsi-shutdown.service for the initrd
276+
Documentation=man:iscsid(8) man:iscsiadm(8)
277+
DefaultDependencies=no
278+
Conflicts=shutdown.target
279+
After=systemd-remount-fs.service network.target iscsid.service iscsiuio.service
280+
Before=remote-fs-pre.target
281+
282+
[Service]
283+
Type=oneshot
284+
RemainAfterExit=false
285+
ExecStart=-/usr/bin/true
286+
EOF
270287
fi
271288
inst_dir /var/lib/iscsi
289+
mkdir -p "${initdir}/var/lib/iscsi/nodes"
290+
# Fedora 34 iscsid wants a non-empty /var/lib/iscsi/nodes directory
291+
: > "${initdir}/var/lib/iscsi/nodes/.dracut"
272292
dracut_need_initqueue
273293
}

0 commit comments

Comments
 (0)