Bug 485199
| Summary: | 'service qdiskd restart' doesn't work | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 5 | Reporter: | Juanjo Villaplana <villapla> | ||||
| Component: | cman | Assignee: | Lon Hohberger <lhh> | ||||
| Status: | CLOSED ERRATA | QA Contact: | Cluster QE <mspqa-list> | ||||
| Severity: | medium | Docs Contact: | |||||
| Priority: | low | ||||||
| Version: | 5.3 | CC: | cfeist, cluster-maint, cmarthal, edamato, rlerch | ||||
| Target Milestone: | rc | ||||||
| Target Release: | --- | ||||||
| Hardware: | All | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | cman-2.0.100-1.el5 | Doc Type: | Bug Fix | ||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2009-09-02 11:09:33 UTC | Type: | --- | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Attachments: |
|
||||||
|
Description
Juanjo Villaplana
2009-02-12 10:20:01 UTC
I see. The code we added to make cman start qdiskd intelligently (to prevent quorum-waits) broke 'start'. The way I would fix this is: * record pid of qdiskd * kill (-TERM) pid * wait for pid to exit Hi Lon, The buggy code is in the way you check the status from inside "start", not in the way you kill qdiskd: # cp -p /etc/init.d/qdiskd /etc/init.d/qdisk # service qdisk restart Stopping the Quorum Disk Daemon: [ OK ] Starting the Quorum Disk Daemon: [ OK ] # service qdisk status qdiskd (pid 22310) is running... If the daemon and the init script doesn't share the name it works fine. Created attachment 331817 [details]
Proposed fix
This patch fixes this bug.
I haven't defined a function for the "status" code, but if you plan to add more code to the "status" clause, may be better to define a function and call it from "status", "start" and whenever is needed.
Yeah, that would do it. Merged to master branch. http://git.fedorahosted.org/git/?p=cluster.git;a=commit;h=b5e25182b52437d4c1e821cb881c6fffe4808ff8 ^^ RHEL5 Fix verified in cman-2.0.99-1.el5. [root@grant-01 ~]# cman_tool nodes Node Sts Inc Joined Name 0 M 0 2009-03-17 15:56:28 /dev/dm-5 1 M 26160 2009-03-17 15:55:40 grant-01 2 M 26168 2009-03-17 15:55:42 grant-02 3 M 26172 2009-03-17 15:55:43 grant-03 [root@grant-01 ~]# service qdiskd restart Stopping the Quorum Disk Daemon: [ OK ] Starting the Quorum Disk Daemon: [ OK ] [root@grant-01 ~]# cman_tool nodes Node Sts Inc Joined Name 0 M 0 2009-03-17 15:56:28 /dev/dm-5 1 M 26160 2009-03-17 15:55:40 grant-01 2 M 26168 2009-03-17 15:55:42 grant-02 3 M 26172 2009-03-17 15:55:43 grant-03 Cause: Running 'service qdiskd restart' Consequence: Qdiskd is not restarted correctly Fix: Fix the status check clause preventing correct restart operation Result: Qdiskd is now restarted correctly. An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2009-1341.html |