Bug 786865 - aeolus-conductor initscript doesn't report proper status after a failed exit
Summary: aeolus-conductor initscript doesn't report proper status after a failed exit
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: CloudForms Cloud Engine
Classification: Retired
Component: aeolus-conductor
Version: 1.0.0
Hardware: Unspecified
OS: Unspecified
unspecified
low
Target Milestone: rc
Assignee: Angus Thomas
QA Contact: wes hayutin
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-02-02 15:41 UTC by James Laska
Modified: 2013-09-02 07:00 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-08-30 17:13:46 UTC


Attachments (Terms of Use)

Description James Laska 2012-02-02 15:41:11 UTC
Description of problem:

The aeolus-conductor initscript doesn't report the proper status if thin has failed for some reason.


Additionally, the initscript does not make use of a LOCKFILE (expected for proper service shutdown on system reboot/halt).

I have submitted a pull request upstream to resolve this issue https://github.com/aeolusproject/conductor/pull/1

Version-Release number of selected component (if applicable):
 * aeolus-conductor-0.8.0-17.el6.noarch

How reproducible:
 * easy

Steps to Reproduce:
1. Start aeolus-conductor
2. Wait for thin to fail for some reason, or kill it
3. service aeolus-conductor status
  
Actual results:

# service aeolus-conductor status
 is stopped

Expected results:

# service aeolus-conductor status
aeolus-conductor dead but subsys locked

Additional info:

 * While the impact of this issue is low, I'm escalating as a nice-to-have fix for cloudforms 1.0.  A tested fix is available.

Comment 1 James Laska 2012-02-03 15:11:45 UTC
Easy to recreate and test, I'm adding a qa_ack+ for cloudforms-1.0.0

Comment 2 James Laska 2012-02-03 15:24:59 UTC
Patches POSTed for review at https://fedorahosted.org/pipermail/aeolus-devel/2012-February/008619.html

Comment 3 Jason Guiditta 2012-02-03 20:49:40 UTC
commit 86c1cbe423400d63ca35c96cc1a0bb8bbb745720
Author: James Laska <jlaska>
Date:   Fri Feb 3 12:31:22 2012 -0500

    BZ 786865: Add THIN_LOCKFILE for improved service shutdown and status
    
    https://bugzilla.redhat.com/show_bug.cgi?id=786865
    
    In the event that the thin process has died for some reason, service
    status will report:
    
    > # service aeolus-conductor status
    > is stopped
    
    The use of a LOCKFILE corrects the output, in addition to improved
    handling during system shutdown (/etc/init.d/killall):
    
    > # service aeolus-conductor status
    > aeolus-conductor dead but subsys locked

Comment 4 wes hayutin 2012-02-10 20:03:47 UTC
[root@qeblade32 yum.repos.d]# /etc/init.d/aeolus-conductor status
thin (pid  4268) is running...
[root@qeblade32 yum.repos.d]# ps -ef |grep thin
nobody    3983     1  0 11:52 ?        00:00:39 thin server (localhost:3002) [deltacloud-mock]                                                                                                                 
aeolus    4268     1  0 11:52 ?        00:00:34 thin server (127.0.0.1:3000)                                                                                                                                                                                                                                         
root      9079 16622  0 15:02 pts/0    00:00:00 grep thin
[root@qeblade32 yum.repos.d]# kill -9 4268
[root@qeblade32 yum.repos.d]# /etc/init.d/aeolus-conductor status
thin dead but pid file exists
[root@qeblade32 yum.repos.d]# 

root@qeblade32 yum.repos.d]# /etc/init.d/aeolus-conductor restart
Shutting down thin: [FAILED]
Starting thin: [  OK  ]
[root@qeblade32 yum.repos.d]# ps -ef | grep thin
nobody    3983     1  0 11:52 ?        00:00:39 thin server (localhost:3002) [deltacloud-mock]                                                                                                                 
aeolus    9093     1 59 15:03 ?        00:00:07 thin server (127.0.0.1:3000)                                                                                                                                                                                                                                         
root      9114 16622  0 15:03 pts/0    00:00:00 grep thin

[root@qeblade32 yum.repos.d]# rpm -qa | grep aeolus
aeolus-conductor-daemons-0.8.0-25.el6.noarch
aeolus-conductor-doc-0.8.0-25.el6.noarch
aeolus-configure-2.5.0-12.el6.noarch
rubygem-aeolus-image-0.3.0-7.el6.noarch
aeolus-conductor-0.8.0-25.el6.noarch
rubygem-aeolus-cli-0.3.0-8.el6.noarch
aeolus-all-0.8.0-25.el6.noarch
[root@qeblade32 yum.repos.d]#


Note You need to log in before you can comment on or make changes to this bug.