Bug 1165719 - oo-accept-node: Gear has a websocket framework cartridge but no websocket configuration
Summary: oo-accept-node: Gear has a websocket framework cartridge but no websocket con...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Containers
Version: 2.1.0
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
: ---
Assignee: Jason DeTiberus
QA Contact: libra bugs
URL: https://github.com/openshift/origin-s...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-11-19 14:31 UTC by Evgheni Dereveanchin
Modified: 2019-07-11 08:22 UTC (History)
9 users (show)

Fixed In Version: openshift-origin-node-util-1.34.0.1-1
Doc Type: Bug Fix
Doc Text:
Cause: If a downloaded cartridge used the same name as a cartridge in the node repository oo-accept-node did not properly validate downloaded cartridges. Consequence: Downloaded cartridges could not be added to jenkins servers if the name matched a cartridge in the repository. Fix: oo-accept-node was updated to inspect the installed cartridge rather than the cartridge from the repository. Result: Downloaded cartridges are now configured properly for jenkins installation.
Clone Of:
Environment:
Last Closed: 2015-02-12 13:09:32 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2015:0220 0 normal SHIPPED_LIVE Red Hat OpenShift Enterprise 2.2.4 bug fix and enhancement update 2015-02-12 18:08:20 UTC

Description Evgheni Dereveanchin 2014-11-19 14:31:55 UTC
Description of problem:
when a downloadable cartridge with same name as an existing cartridge (python for example) is added to a Jenkins server which does not have protocol ws defined in its manifest.yml, this causes an error

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

How reproducible:
Always

Steps to Reproduce:
1) Create a Jenkins server application
2) Add http://cartreflect-claytondev.rhcloud.com/reflect?github=gsterjov/openshift-addon-cartridge-python-2.7
3) Launch oo-accept-node


Actual results:
command fails with the following error message: 
Gear has a websocket framework cartridge but no websocket configuration

Expected results:
command succeeds

Additional info:
the script seems to look at the local cartridge manifests on the system and not those with in the gear

Comment 3 Jason DeTiberus 2014-11-27 04:07:27 UTC
https://github.com/openshift/origin-server/pull/5986

Comment 4 openshift-github-bot 2015-01-17 22:54:36 UTC
Commit pushed to master at https://github.com/openshift/origin-server

https://github.com/openshift/origin-server/commit/400a9f4620a84666f4283376833a3cfeb0109c19
Bug 1165719 - oo-accept-node incorrectly using manifests from cart repository

- oo-accept-node should use the manifest from the installed cartridge
  instead of from the cartridge repository, otherwise downloadable
  carts are not verified.

Comment 7 Anping Li 2015-01-26 08:06:17 UTC
Verified and pass on puddle-2-2-2015-01-23

1) modify { websocket: false } in manifest.yml for your download cartridges.
2) create application using this cartridge and add jenkins-client cartridge to this applications.

*) In previous build, it failed to add jenkins cartridge .

[anli@broker ~]$ rhc cartridge add jenkins -a php1
Using jenkins-client-1 (Jenkins Client) for 'jenkins'
Adding jenkins-client-1 to application 'php1' ... 
Could not add job 'php1-build' in Jenkins server:
   create_job status: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /createItem was not found on this server.</p>
<hr>
<address>Apache/2.2.15 (Red Hat) Server at jenkins-anlidom.ose21-20141112.example.com Port 443</address>
</body></html>
404
You'll need to correct this error before attempting to embed the Jenkins client again.
application is not scalable

*) In puddle-2-2-2015-01-23, jenkins-client cartridge was added successfully.

rhc cartridge add jenkins-c -a php1
Using jenkins-client-1 (Jenkins Client) for 'jenkins-c'
Adding jenkins-client-1 to application 'php1' ... done

jenkins-client-1 (Jenkins Client)
---------------------------------
  Gears:   Located with openshiftqe-php-5.3
  Job URL: https://jenkins-anlidom.ose22-app-201501232.com.cn/job/php1-build/

3) run oo-accept-node -v on node.

*)  In previous build, oo-accept-node report error message as below:

oo-accept-node -v
<--- snip --->
INFO: checking system httpd configs
FAIL: Gear has a websocket framework cartridge but no websocket configuration: 54c5f2faa45f8a06350000db
INFO: checking cartridge repository
1 ERRORS

*) In puddle-2-2-2015-01-23, oo-accept-node  pass

oo-accept-node -v
<--- snip --->
INFO: checking filesystem quotas
INFO: checking quota db file selinux label
INFO: checking 2 user accounts
INFO: checking application dirs
INFO: checking system httpd configs
INFO: checking cartridge repository
PASS

Comment 9 errata-xmlrpc 2015-02-12 13:09:32 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/RHBA-2015-0220.html


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