Bug 1072284
Summary: | beah runs tasks while systemd-readahead is still collecting readahead information | ||
---|---|---|---|
Product: | [Retired] Beaker | Reporter: | Alois Mahdal <amahdal> |
Component: | beah | Assignee: | Amit Saha <asaha> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | tools-bugs <tools-bugs> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 0.15 | CC: | aigao, asaha, dcallagh, ebaak, rmancy, tools-bugs, xjia |
Target Milestone: | 0.16.2 | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2014-04-16 07:12:41 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Alois Mahdal
2014-03-04 09:57:36 UTC
We should be able to add After=systemd-readahead-done.service to the beah.service unit. I guess that would be reasonable, since beah is not really a normal service (it starts doing a whole bunch of work immediately on boot, but it's not actually part of the boot process). http://gerrit.beaker-project.org/#/c/2908/(In reply to Dan Callaghan from comment #2) > We should be able to add After=systemd-readahead-done.service to the > beah.service unit. I guess that would be reasonable, since beah is not > really a normal service (it starts doing a whole bunch of work immediately > on boot, but it's not actually part of the boot process). http://gerrit.beaker-project.org/#/c/2908/ (In reply to Dan Callaghan from comment #2) On second thought, I don't think this will work as is. It introduces a dependency cycle in the ordering: default.target -> beah-*.service -> systemd-readahead-done.service -> systemd-readahead-done.timer -> default.target. One possibility would be to just make beah do nothing for 30 seconds after it's started, to give readahead collection time to stop. Another possibility would be to introduce some new target (default-with-beah.target?) which depends on default.target, make beah-*.service WantedBy that new target, and change the system boot target to be default-with-beah.target instead of default.target. Then we can add After=systemd-readahead-done.service and it won't create a dependency cycle. The downside is we have to fiddle with the system boot target which is not very nice. Any other ideas? Alternatively, we could just disable readahead collection for Beaker recipes. We already do this on RHEL6 because of bad interactions between readahead, auditd, and beah. And readahead collection really doesn't make much sense consdering that a typical recipe is installed once, boots up, runs tasks, and then finishes. The readahead replay would never even be used in that case. We haven't heard any objections about just disabling systemd-readahead so let's go ahead and do that. We need to make sure there's a ks_meta to opt out of the disabling, and that it's consistent with how the RHEL6 readahead disabling works. It turns out that it is indeed possible to achieve what we originally wanted here without resorting to an alternative boot target. So, I have uploaded a fresh patch for Beah's systemd unit files to that effect: Last patch here: http://gerrit.beaker-project.org/#/c/2908/ Lennart Pottering's reply to my query on systemd mailing list explaining how this is possible: http://lists.freedesktop.org/archives/systemd-devel/2014-March/018162.html This change should start the beah services after the readahead collection has completed. Tip for verification: * Provision a job with RHEL 7 / Fedora 18+ * Login to the system (by running a reservesys/ task, for e.g.) and check that the beah services (beah-srv, beah-beaker-backend and beah-fwd-backend) started *after* the systemd-readahead-collect service exited. Relevant command: $ systemctl status beah-srv beah-beaker-backend beah-fwd-backend systemd-readahead-collect Beah 0.7.4 has been released. This has not always worked properly and has caused us various problems since it was implemented (the latest is bug 1147807), so we are going to revert the dependency ordering hack in beah. Beaker will just disable systemd-readahead the same as it disables the readahead service on RHEL6. |