Bug 1264210

Summary: nodejs control script should wait for http to be available
Product: OpenShift Container Platform Reporter: Timothy Williams <tiwillia>
Component: ImageStreamsAssignee: Timothy Williams <tiwillia>
Status: CLOSED ERRATA QA Contact: DeShuai Ma <dma>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 2.2.0CC: adellape, agrimm, aos-bugs, dmcphers, gpei, jhadvig, jokerman, libra-bugs, mfojtik, mmccomas, wewang, wzheng
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openshift-origin-cartridge-nodejs-1.33.1.1-1.el6op Doc Type: Bug Fix
Doc Text:
Previously, a Node.js cartridge with hot_deploy disabled would not wait until the application is actually available when starting the application. On scaled Node.js applications where 20 to 30 seconds is required for the application to start, an outage was seen during the push while the Node.js applications started. For other cartridges (such as JBoss EAP), each start is blocked until the application is available so that gear rotation ensures no downtime is experienced. This bug fix updates the Node.js cartridge to now block until the HTTP port is available, with a maximum wait time of 60 seconds. As a result, scaled Node.js cartridges with hot_deploy disabled will properly update and start gears in rotation when pushing a new version of the application. This ensures no downtime is seen while pushing a new version.
Story Points: ---
Clone Of: 1221836 Environment:
Last Closed: 2015-09-30 16:38:46 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:
Bug Depends On: 1221836    
Bug Blocks:    

Comment 4 Gaoyun Pei 2015-09-18 07:17:39 UTC
Checked with puddle 2.2/2015-09-15.1, only got openshift-origin-cartridge-nodejs-1.31.3.1-1.el6op.noarch on the env, waiting for openshift-origin-cartridge-nodejs-1.33.1.1-1.el6op to test this bug.

Comment 6 Gaoyun Pei 2015-09-22 07:07:35 UTC
Verify this bug with openshift-origin-cartridge-nodejs-1.33.1.1-1.el6op.noarch.

The control script will check HTTP port is available when starting nodejs cartridge now. As shown in the output during deployment:
...
remote: *** Starting application using: npm start -d
remote: Waiting for application port (8080) become available ...
remote: Found 127.8.48.129:8080 listening port
remote: -------------------------
...

Comment 8 errata-xmlrpc 2015-09-30 16:38:46 UTC
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/RHSA-2015-1844.html