Autoregistration is always attempted, whatever the post-start scripts return

Bug #444504 reported by Thierry Carrez
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
eucalyptus (Ubuntu)
Fix Released
Low
Thierry Carrez
Karmic
Fix Released
Low
Thierry Carrez

Bug Description

20091006 CD install, eucalyptus 1.6~bzr912-0ubuntu1
Autoregistration works, however strange lines appear in /var/log/syslog:

init: eucalyptus-cc post-start process (959) terminated with status 1
init: eucalyptus-cloud post-start process (896) terminated with status 1
init: eucalyptus-sc post-start process (897) terminated with status 1
init: eucalyptus-walrus post-start process (898) terminated with status 1

Instrumenting the jobs, here is what happens on a eucalyptus start:
eucalyptus-sc poststart begin
eucalyptus-cloud poststart begin
eucalyptus-walrus poststart begin
[sc, cloud and walrus loop several times waiting for the test to succeed]
eucalyptus-cc poststart begin
[cc poststart exits 1 immediately]
[after 27 tries, eucalyptus-cloud poststart exits with 0, success!]
eucalyptus-cc-registration begin
eucalyptus-cc-registration end [successful cc registration]
[sc and walrus poststart still loop, then after 60 tries:]
eucalyptus-walrus poststart exit 1
eucalyptus-walrus-reg begin
eucalyptus-sc poststart exit 1
eucalyptus-sc-reg begin
eucalyptus-sc-reg end [successful sc registration]
eucalyptus-walrus-reg end [successful walrus registration]

Several issues here:
* eucalyptus-{cc,sc,cloud,walrus} are considered started even if their post-start script exits with 1, so registration runs in all cases
* eucalyptus-cc has a typo that makes it always return 1 immediately (| grep on a separate line)
* The post-start test in eucalyptus-{sc,walrus} always fails, so it always returns 1 at the end of the timeout

Thierry Carrez (ttx)
Changed in eucalyptus (Ubuntu):
importance: Undecided → Medium
Revision history for this message
Thierry Carrez (ttx) wrote :

To solve issue #1, we can use "stop" without arguments in post-start instead of (or in addition to) exit 1.
Issue #2 is trivial
To solve issue #3 we need a working way to tell that the sc and walrus have been started.
In my testing http://$IP_ADDR:8773/services/Heartbeat doesn't return anything (while I can run instances alright)

Changed in eucalyptus (Ubuntu):
assignee: nobody → Thierry Carrez (ttx)
status: New → Triaged
Revision history for this message
Thierry Carrez (ttx) wrote :

Heartbeat not returning anything is upstream bug 443325, fixed in rev913. Unfortunately that revision contains multiple fixes.

Revision history for this message
Thierry Carrez (ttx) wrote :

Splitting bugs, now that I understand the issues better.

#1: This is this bug
#2
: This is now filed as bug 444560
#3: Heartbeat not returning anything is bug 443325

Changed in eucalyptus (Ubuntu):
importance: Medium → Low
Revision history for this message
Thierry Carrez (ttx) wrote :

Note that if we add "stop" calls in post-start scripts to prevent the "started" event from being emitted, we need to fix bug 443325 before (otherwise eucalyptus would no longer try to register sc/walrus)

summary: - Autoregistration through upstart, while working, uses strange ways
+ Autoregistration is always attempted, whatever the post-start scripts
+ return
Thierry Carrez (ttx)
Changed in eucalyptus (Ubuntu Karmic):
status: Triaged → In Progress
Thierry Carrez (ttx)
Changed in eucalyptus (Ubuntu Karmic):
status: In Progress → Fix Committed
Changed in eucalyptus (Ubuntu Karmic):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.