Bug 1044705
Summary: | Provide option to run polldaemon as a service | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Corey Marthaler <cmarthal> |
Component: | lvm2 | Assignee: | LVM and device-mapper development team <lvm-team> |
lvm2 sub component: | Default / Unclassified | QA Contact: | cluster-qe <cluster-qe> |
Status: | CLOSED ERRATA | Docs Contact: | |
Severity: | medium | ||
Priority: | unspecified | CC: | agk, cmarthal, heinzm, jbrassow, mcsontos, msnitzer, nperic, okozina, prajnoha, prockai, slevine, thornber, zkabelac |
Version: | 7.0 | ||
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | lvm2-2.02.125-1.el7 | Doc Type: | Release Note |
Doc Text: |
New *lvmpolld* daemon
The *lvmpolld* daemon provides a polling method for long-running LVM commands. When enabled, control of long-running LVM commands is transferred from the original LVM command to the *lvmpolld* daemon. This allows the operation to continue independent of the original LVM command. The *lvmpolld* daemon is enabled by default.
Before the introduction of the *lvmpolld* daemon, any background polling process originating in an lvm2 command initiated inside a *cgroup* of a systemd service could get killed if the main process (the main service) exited in the *cgroup*. This could lead to premature termination of the lvm2 polling process. Additionally, *lvmpolld* helps to prevent spawning lvm2 polling processes querying for progress on the same task multiple times because it tracks the progress for all polling tasks in progress.
For further information on the *lvmpolld* daemon, see the `lvm.conf` configuration file.
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2015-11-19 12:45:13 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
Corey Marthaler
2013-12-18 20:50:26 UTC
This happens both with and without lvmetad. This may be caused by systemd killing process group and poll daemon okozina is working on is the solution. 1. Were you running the commands using qarsh (which is now socket activated systemd service)? 1.1 If so, when you try on command line, does the same happen? Possible workaround is to include `KillMode=process` in qarshd's service file. (In reply to Marian Csontos from comment #2) > 1. Were you running the commands using qarsh (which is now socket activated > systemd service)? Yes i was. > 1.1 If so, when you try on command line, does the same happen? No. It appears to pass each time when run w/o qarsh. > Possible workaround is to include `KillMode=process` in qarshd's service > file. You mean in '/usr/lib/systemd/system/qarshd.socket'? If so, where in that file does it go? [Unit] Description=qarsh Socket for Per-Connection Servers [Socket] ListenStream=5008 Accept=yes [Install] WantedBy=sockets.target Adding 'KillMode=process' to /usr/lib/systemd/system/qarshd@.service fixes the problem I was seeing. Thanks Marian. Corey, keep in mind it does not fix the problem, it masks the problem so the rest of test suite can be executed. Let's change the KillMode for this case only, so other failures unrelated to polling daemon are identified and triaged. Moving to 7.1 as a complete solution to this requires a polldaemon to be run as a service (not forking from the lvm command directly). Also bug #814857 (rawhide). Changing the summary here to better reflect the problem. As a workaround until we have the polldaemon as a proper service, we can use "systemd-run <any command needed>" to run the command as systemd transient service. For example: "systemd-run lvconvert --merge ..." "systemd-run pvmove ..." etc. The service (named "run-<PID>.service", the name is returned from the systemd-run command on output) will keep running even if logged out. The service is a usual system (In reply to Peter Rajnoha from comment #10) > systemd-run command on output) will keep running even if logged out. The > service is a usual system ...is a usual systemd service so its output is logged and the service can be stopped if needed. Fixed in upstream, release V2.02.120: https://git.fedorahosted.org/cgit/lvm2.git/commit/?id=0300730cc9ba058df830d9cb0981183b90ad17db The new daemon is named lvmpolld and is able to run as systemd native service with on-demand feature and configurable timeout after it shutdowns when being idle. Marking verified with the latest rpms. The test cases mentioned in comment #0 now pass, along with other "background process" intensive test cases (pvmove, lvconvert, etc...). 3.10.0-313.el7.x86_64 lvm2-2.02.130-2.el7 BUILT: Tue Sep 15 07:15:40 CDT 2015 lvm2-libs-2.02.130-2.el7 BUILT: Tue Sep 15 07:15:40 CDT 2015 lvm2-cluster-2.02.130-2.el7 BUILT: Tue Sep 15 07:15:40 CDT 2015 device-mapper-1.02.107-2.el7 BUILT: Tue Sep 15 07:15:40 CDT 2015 device-mapper-libs-1.02.107-2.el7 BUILT: Tue Sep 15 07:15:40 CDT 2015 device-mapper-event-1.02.107-2.el7 BUILT: Tue Sep 15 07:15:40 CDT 2015 device-mapper-event-libs-1.02.107-2.el7 BUILT: Tue Sep 15 07:15:40 CDT 2015 device-mapper-persistent-data-0.5.5-1.el7 BUILT: Thu Aug 13 09:58:10 CDT 2015 cmirror-2.02.130-2.el7 BUILT: Tue Sep 15 07:15:40 CDT 2015 sanlock-3.2.4-1.el7 BUILT: Fri Jun 19 12:48:49 CDT 2015 sanlock-lib-3.2.4-1.el7 BUILT: Fri Jun 19 12:48:49 CDT 2015 lvm2-lockd-2.02.130-2.el7 BUILT: Tue Sep 15 07:15:40 CDT 2015 Okozina: I did a bit of a rewrite of the release note description for you to look over. I used the description in the lvm.conf file to summarize the command, then did a bit of an edit to what you wrote. Let me know if this is not correct. Steven Looks neat and trim. Thank you! Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2015-2147.html |