New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dracut-network: iscsi module causes device timeout on boots with resume= cmdline arg #480

Closed
dustymabe opened this Issue Oct 20, 2018 · 4 comments

Comments

Projects
None yet
2 participants
@dustymabe
Contributor

dustymabe commented Oct 20, 2018

There is an odd interaction at play where having a resume= kernel command line arg as well as an initramfs that was built using --no-hostonly --add iscsi causes there to be a device timeout of the lvm swap device. This is occurring in Fedora 29 Atomic Host. A Fedora 29 Server system can show the problem easily by making sure dracut-network and iscsi-initiator-utils are installed and regenerating the initramfs with dracut -f --no-hostonly`.

I have determined that this behavior started happening with the 048 release of dracut. There were only three commits since 047 on the iscsi module-setup.sh so maybe it is one of them: b31f3fe 9e82732 5e615f4

The symptom you will see is a system that takes 90 seconds longer to boot and error messages something like:

Oct 17 23:05:41 localhost systemd[1]: dev-mapper-fedora\x2dswap.device: Job dev-mapper-fedora\x2dswap.device/start timed out.
Oct 17 23:05:41 localhost systemd[1]: Timed out waiting for device dev-mapper-fedora\x2dswap.device.
Oct 17 23:05:41 localhost systemd[1]: Dependency failed for Resume from hibernation using device /dev/mapper/fedora-swap.

There is a lot of detailed investigation over in https://pagure.io/atomic-wg/issue/513

@dustymabe

This comment has been minimized.

Contributor

dustymabe commented Oct 20, 2018

@dustymabe

This comment has been minimized.

Contributor

dustymabe commented Oct 20, 2018

if I remove the following code from the iscsi module setup then I don't observe this issue:

# Make sure iscsid is started after dracut-cmdline and ready for the initqueue
mkdir -p "${initdir}/$systemdsystemunitdir/iscsid.service.d"
(
echo "[Unit]"
echo "After=dracut-cmdline.service"
echo "Before=dracut-initqueue.service"
) > "${initdir}/$systemdsystemunitdir/iscsid.service.d/dracut.conf"

@dustymabe

This comment has been minimized.

Contributor

dustymabe commented Oct 20, 2018

oh wow. #329 looks related

@haraldh

This comment has been minimized.

Collaborator

haraldh commented Oct 22, 2018

yeah, looks like iscsid.socket socket activation would suffice

dustymabe added a commit to dustymabe/dracut that referenced this issue Oct 22, 2018

95iscsi: drop systemd dracut service dependencies for iscsid
These dependencies cause an odd issue where swap devices specified
by resume= on the kernel command line will cause systemd device
timeouts to occur on boot. According to @haraldh these lines aren't
needed because the socket activiation will take care of it for us.
Removing these lines now as it fixes the resume= device timeout issue.

Fixes dracutdevs#480
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1641268

@haraldh haraldh closed this in #482 Oct 24, 2018

haraldh added a commit that referenced this issue Oct 24, 2018

95iscsi: drop systemd dracut service dependencies for iscsid
These dependencies cause an odd issue where swap devices specified
by resume= on the kernel command line will cause systemd device
timeouts to occur on boot. According to @haraldh these lines aren't
needed because the socket activiation will take care of it for us.
Removing these lines now as it fixes the resume= device timeout issue.

Fixes #480
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1641268
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment