Bug 1288637 - gear start aborts prematurely if a single cartridge fails to start
gear start aborts prematurely if a single cartridge fails to start
Status: CLOSED DEFERRED
Product: OpenShift Online
Classification: Red Hat
Component: Containers (Show other bugs)
2.x
Unspecified Unspecified
unspecified Severity medium
: ---
: ---
Assigned To: Sally
chaoyang
:
Depends On:
Blocks: 1277547
  Show dependency treegraph
 
Reported: 2015-12-04 15:15 EST by Andy Grimm
Modified: 2016-11-07 22:48 EST (History)
9 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-02-01 16:51:40 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Andy Grimm 2015-12-04 15:15:57 EST
Description of problem:

When a gear contains multiple cartridges, the start process exits completely when a single cartridge's start command returns a non-zero exit code.  This can leads to situations where an app is rendered non-functional due to a bug in a secondary cartridge.

Version-Release number of selected component (if applicable):

rubygem-openshift-origin-node-1.38.4-1.el6oso.noarch

How reproducible:

often 

Steps to Reproduce:
1. create an app with several cartridges.  For example, php, mysql, and https://github.com/wshearn/openshift-cartridge-osbs-client.git
2. edit backup-client/bin/control and remove the "|| true" from the curl command lines
3. stop the gear
4. start the gear

Actual results:

In the application we observed, the mysql cartridge started first, followed by the backup-client cartridge.  The backup-client cartridge failed (because there was no server configured for curl to connect to), and the php cartridge's start script was never called.

Expected results:

The php cartridge should start regardless of whether the backup-client cartridge starts successfully.
Comment 2 Miciah Dashiel Butler Masters 2015-12-11 15:06:02 EST
Does it make sense in general to start the framework when the database fails to start?

Could you use Configure-Order in your custom cartridge's manifest to start the framework cartridge first? Would that be a satisfactory solution?
Comment 3 Andy Grimm 2016-01-29 11:32:37 EST
We had a face-to-face discussion about this one, but I don't recall the specifics.  This seems to be a pretty rare case, so I think we can defer it for now.  I'll re-raise it if we see other occurrences.
Comment 4 Timothy Williams 2016-02-01 16:51:40 EST
Closing this for now as per Andy's comment. Lets re-open this if we see any other interesting occurrences.

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