Skip to content
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

fix(90multipath): drop unneeded dependencies from configure service #2609

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

bmarzins
Copy link
Contributor

multipathd-configure.service previously had the same "After" dependencies as the multipathd.service, with the idea of running immediately before it. Multipathd now supports being started much earlier, but the dependencies in multipathd-configure.service stop it from being able to.

Since all multipathd-configure.service does is write out a configuration file, it doesn't need any of its "After" udev dependencies. Remove them, and clean up some other unneeded dependencies.

This pull request changes 90multipath/multipathd-configure.service so that it (and by extension multipathd.service which runs after it) will be run earlier.

Changes

Checklist

  • I have tested it locally
  • I have reviewed and updated any documentation if relevant
  • I am providing new code and test(s) for it

Fixes #

multipathd-configure.service previously had the same "After"
dependencies as the multipathd.service, with the idea of running
immediately before it. Multipathd now supports being started much
earlier, but the dependencies in multipathd-configure.service stop it
from being able to.

Since all multipathd-configure.service does is write out a configuration
file, it doesn't need any of its "After" udev dependencies. Remove them,
and clean up some other unneeded dependencies.
@github-actions github-actions bot added modules Issue tracker for all modules multipath Issues related to the multipath module labels Jan 17, 2024
@bmarzins
Copy link
Contributor Author

bmarzins commented Jan 17, 2024

@jlebon I tested this with a multipathed root fedora rawhide install where I set "rd.multipath=default" in the kernel command line and temporarily removed /etc/multipath.conf when rebuilding the initramfs, so that multipathd-configure.service had its conditions met. I used rawhide since that has the 0.9.7 version of the multipath tools, which need to start earlier in the initramfs. I did not do any CoreOS specific testing.

To verify that boot breaks without this fix, all you need to do is install the 0.9.7 version of device-mapper-multipath on a multipathed root system (with the root device on a partition. Using lvm for your root device will avoid the issue) that installs the multipathd-configure.service in its initramfs (any system with mpathconf), and remake the initramfs. It breaks regardless of whether the Conditions are met. The issue comes down to how it orders multipathd.service, which must run after it.

@LaszloGombos
Copy link
Collaborator

CC @mwilck

@aafeijoo-suse aafeijoo-suse linked an issue Jan 17, 2024 that may be closed by this pull request
Copy link
Contributor

@jlebon jlebon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks fine to me! I can test this out on the CoreOS side, but I don't expect any issues.

@jlebon
Copy link
Contributor

jlebon commented Jan 18, 2024

Testing on Fedora CoreOS rawhide looks good. It also worked before this patch, but I didn't dig deeply into why (all the preconditions mentioned in #2609 (comment) are met).

Copy link

stale bot commented Mar 13, 2024

This issue is being marked as stale because it has not had any recent activity. It will be closed if no further activity occurs. If this is still an issue in the latest release of Dracut and you would like to keep it open please comment on this issue within the next 7 days. Thank you for your contributions.

@stale stale bot added the stale communication is stuck label Mar 13, 2024
@bmarzins
Copy link
Contributor Author

This is important to any distribution that uses multipathd-configure.service. Is there something that's needs to be done to get some reviews on this, so it can get merged?

@stale stale bot removed the stale communication is stuck label Mar 13, 2024
@LaszloGombos LaszloGombos added this to the dracut-060 milestone Mar 14, 2024
Copy link
Contributor

@mwilck mwilck left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@LaszloGombos LaszloGombos added the bug Our bugs label Mar 14, 2024
@LaszloGombos LaszloGombos removed this from the dracut-060 milestone Mar 14, 2024
@LaszloGombos LaszloGombos modified the milestone: dracut-060 Mar 14, 2024
archlinux-github pushed a commit to archlinux/aur that referenced this pull request Mar 17, 2024
@LaszloGombos
Copy link
Collaborator

more relevant info - https://bugzilla.redhat.com/show_bug.cgi?id=2260413

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Our bugs modules Issue tracker for all modules multipath Issues related to the multipath module
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Remove last reference to systemd-udev-settle
4 participants