stratisd.service: Remove DefaultDependencies=no and After=multi-user.target#4019
stratisd.service: Remove DefaultDependencies=no and After=multi-user.target#4019kriansa wants to merge 1 commit into
Conversation
|
Congratulations! One of the builds has completed. 🍾 You can install the built RPMs by following these steps:
Please note that the RPMs should be used only in a testing environment. |
|
@mulkieran I'm unable to confirm whether the failing test is actually an issue or a transient CI failure. Could you retrigger it just in case? |
@kriansa Ignore that rawhide test failure, it's due to the rawhide environment, specifically a util-linux change which will be fixed with the next release of util-linux. Would you mind rebasing and doing a force-push to bring your PR up-to-date? Thanks! |
DefaultDependencies=no and After=multi-user.target created a boot ordering cycle for any service in multi-user.target that depends on stratisd. Removing these two directives restores default dependencies, which include After=basic.target — sufficient for D-Bus availability. The Clevis/fstab boot path is handled entirely by stratisd-min-postinitrd and stratis-fstab-setup units, which are independent of stratisd.service, so this change does not affect that path. Fixes: stratis-storage#3968
07dbfb2 to
403eb7b
Compare
|
@mulkieran sure! I did it using the GH interface. Is that OK? |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
WalkthroughThis PR removes two systemd unit configuration directives from ChangesSystemd Unit Configuration
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Suggested reviewers
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
Removes
DefaultDependencies=noandAfter=multi-user.targetfromstratisd.service.in.These two directives created an ordering cycle for any
multi-user.targetservice that depends onstratisd.service:With default dependencies restored, systemd adds
After=basic.targetautomatically, which is sufficient sincestratisdis aType=dbusservice and D-Bus is available afterbasic.target.Why this is safe
The Clevis/fstab boot path introduced in #3826 is handled entirely by
stratisd-min-postinitrdand thestratis-fstab-setupunits — they are independent ofstratisd.service. Change 3 in #3826 (moving fromAfter=local-fs.targettoAfter=multi-user.target) was not needed for the Clevis fix; changes 1 and 2 of that PR (the newstratis-fstab-setup-with-network@.serviceand removingBefore=local-fs-pre.targetfromstratisd-min-postinitrd.service) are what fixed Clevis/Tang support.A QEMU-based reproduction at https://github.com/kriansa/stratisd-boot-cycle-repro verifies:
stratis-fstab-setup-with-network@ordering) completes successfully after the fixTest plan
stratisd.serviceenabled and a downstream service withAfter=stratisd.serviceinmulti-user.target— confirm no ordering cyclestratisdstarts correctly (D-Bus available viabasic.target)Closes #3968