Bug 1034515 - Cannot install a downloadable cartridge, via cartridge-add, that previously installed without problems
Summary: Cannot install a downloadable cartridge, via cartridge-add, that previously i...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: OpenShift Online
Classification: Red Hat
Component: Pod
Version: 1.x
Hardware: All
OS: Linux
unspecified
urgent
Target Milestone: ---
: ---
Assignee: Rajat Chopra
QA Contact: libra bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-11-26 02:54 UTC by Edward Archibald
Modified: 2014-01-24 03:34 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-01-24 03:34:27 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description Edward Archibald 2013-11-26 02:54:34 UTC
Description of problem:
I use the following rhc command line to install a downloadable cartridge the previously (about 2 months ago) installed without issues:

rhc cartridge-add http://cartreflect-claytondev.rhcloud.com/reflect?github=narmitag/openshift-origin-cartridge-tungsten --app cisco

When I execute the command, I get:

Unable to complete the requested operation due to: Failed to correctly execute all parallel operations.
Reference ID: 5da1dcf5ab25125f4343302f7c7456c5


Version-Release number of selected component (if applicable):
Running client: rhc 1.16.9


How reproducible:


Steps to Reproduce:
1.
rhc cartridge-add http://cartreflect-claytondev.rhcloud.com/reflect?github=narmitag/openshift-origin-cartridge-tungsten --app cisco

Actual results:
Unable to complete the requested operation due to: Failed to correctly execute all parallel operations.
Reference ID: 5da1dcf5ab25125f4343302f7c7456c5
No cartridge installed

Expected results:
Cartridge installed


Additional info:

Comment 1 Edward Archibald 2013-11-26 02:55:54 UTC
P.S. I no-opped all of the life-cycle scripts so that they just do an exit 0 and I still get the same result.

Comment 2 Clayton Coleman 2013-11-26 16:05:20 UTC
Doesn't fail for a non-scaled app

Comment 3 Rajat Chopra 2013-11-26 16:43:41 UTC
I dont know what has changed in the cartridge but here is a grep of 'Public-Port-Name' on the manifest -
  Public-Port-Name: DATASERVICE_PROXY_PORT
  Public-Port-Name: REPL_MASTER_PROXY_PORT
  Public-Port-Name: MANAGER_HTTP_PROXY_PORT
  Public-Port-Name: JGROUPS_PROXY_PORT
  Public-Port-Name: MYSQL_DIRECT_PROXY_PORT
  Public-Port-Name: REMOTE_DEBUG_PROXY_PORT
  Public-Port-Name: REMOTE_SERVICE_PROXY_POR
  Public-Port-Name: ROUTER_GATEWAY_PROXY_PORT
  Public-Port-Name: TREPCTL_CLIENT_PORT

That is 9 ports wanting to be exposed out. We have a limit of 5 per gear (which would include any other cartridges' ports that want to be proxied).

If this is not new in the cartridge, my guess is that the previously you must have tried to install this cartridge on a non-scalable application (where we do not attempt to expose public ports). This time you must have tried on a scalable application.


ps - With new code in the pipeline for a release, the error messaging will improve. Instead of seeing the unhelpful 'Failed to execute all parallel...' something like this (or better) should show up - 'No ports were left available to map 127.1.244.129:16000: uid=1001'.

Comment 4 Edward Archibald 2013-11-26 19:51:37 UTC
Hi Rajat,

Thanks for tracking this down!  Since the manifest that the cartridge uses has not changed since I was able to successfully launch it, I would like to speculate that in the release of OpenShift where I was able to launch the cartridge, the 'extra' ports, over and above the 5 allowed, were likely just silently ignored. With the previous release, I was aware that the 'extra' ports were not being bound but only because I simply investigated after the cartridge was launched.  

I am glad there will be a good descriptive error message.  I would add, to the message, some indication of what the maximum allowed is as well as what you already propose.

Finally, it would be handy, if the broker persists the information, to be able to look up a detailed log of what occurred via the 'Reference ID' provided.  In my case, it was: 5da1dcf5ab25125f4343302f7c7456c5 So something internally is generating this ID and I would imagine that there is some 'content' associated with it.  Any possibility of exposing a simple rhc api call to see what the issue is.  Something like 'rhc issue-fetch 5da1dcf5ab25125f4343302f7c7456c5'

Cheers,

Edward

Comment 5 Jianwei Hou 2013-11-27 03:06:39 UTC
It can be added to a non-scale app
Moving to verified according to above comments.


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