This service will be undergoing maintenance at 00:00 UTC, 2017-10-23 It is expected to last about 30 minutes
Bug 858326 - missing requires for openshift origin broker
missing requires for openshift origin broker
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: openshift-origin-broker (Show other bugs)
18
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Troy Dawson
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-09-18 12:30 EDT by Michael Scherer
Modified: 2012-12-20 10:10 EST (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2012-12-20 10:10:41 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 Michael Scherer 2012-09-18 12:30:17 EDT
Trying to run openshift-origin-broker on F18, after fixing some issue in httpd.conf, I stumbled on this error :
 :
[ pid=9428 thr=76566520 file=utils.rb:176 time=2012-09-18 18:13:55.241 ]: *** Exception PhusionPassenger::UnknownError in PhusionPassenger::Rack::ApplicationSpawner (Could not find gem 'cucumber (>= 0) ruby' in the gems available on this machine. (Bundler::GemNotFound)) (process 9428, thread #<Thread:0x9209ff0>):
        from /usr/share/gems/gems/bundler-1.1.4/lib/bundler/resolver.rb:287:in `resolve'
        from /usr/share/gems/gems/bundler-1.1.4/lib/bundler/resolver.rb:161:in `start'

Ie, it seems cucumber is missing somewhere in the requires. It comes from the GemFile in openshift-oring-broker 

[root@akroma broker]# pwd ; 
/var/www/stickshift/broker
[root@akroma broker]# grep cucumber Gemfile
  gem 'cucumber'
[root@akroma broker]# rpm -q --requires openshift-origin-broker | grep -i cuc
[root@akroma broker]# 

Some other gem could be missing as well, I will report here if any.
Comment 1 Michael Scherer 2012-09-18 12:32:35 EDT
Now, it ask rake-0.8.7, due to GemFile.lock who specifiy the version. I would suggest to remove this from the rpm, since this only duplicate the metadata from rpm, and make thing harder ( as seen in this case )
Comment 2 Michael Scherer 2012-09-18 12:35:57 EDT
Next issue :
rubygem-rails is too new for the code, since that target 3.0.10, and we have rails 3.2 in Fedora 18.

I try with a versionless requires.
Comment 3 Michael Scherer 2012-09-18 12:41:20 EDT
Next issue :

httpd/logs/error_log:[ pid=9899 thr=83269640 file=utils.rb:176 time=2012-09-18 18:33:59.133 ]: *** Exception PhusionPassenger::UnknownError in PhusionPassenger::Rack::ApplicationSpawner (Could not find gem 'rcov (>= 0) ruby' in the gems available on this machine. (Bundler::GemNotFound)) (process 9899, thread #<Thread:0x9ed3010>):

There is no rcov gem in Fedora, or rather, it seems it is no longer here :

https://admin.fedoraproject.org/pkgdb/acls/name/rubygem-rcov


I guess you need to resurrect it, it was retired some releases ago.
Comment 4 Troy Dawson 2012-09-18 12:45:49 EDT
Upstream has already fixed rails for 3.2, and replace rcov with simplecov.  It isn't in their stable branch yet, but I think we'll need to pull it in for this.
Comment 5 Michael Scherer 2012-09-18 12:47:06 EDT
Next one :

httpd/logs/error_log:[ pid=10108 thr=76840960 file=utils.rb:176 time=2012-09-18 18:42:13.540 ]: *** Exception PhusionPassenger::UnknownError in PhusionPassenger::Rack::ApplicationSpawner (Could not find gem 'regin (>= 0) ruby' in the gems available on this machine. (Bundler::GemNotFound)) (process 10108, thread #<Thread:0x9290000>):

Seems to comes from the Gemfile, but this is not used in the code :
# grep -rl regin .
./Gemfile
./httpd/logs/error_log

SO i guess that's safe to ignore it and remove it from the GemFile.
Comment 6 Michael Scherer 2012-09-18 12:48:46 EDT
It seems that :
openshift-origin-node
mocha

should be added as requires.

I do not understand why mocha should be pulled, since that's only for dev and test, and I think this should not be needed with default operation of the broker. SO maybe there is something missing ( like setting env to "production", by default ? )
Comment 7 Michael Scherer 2012-09-18 12:53:05 EDT
Once everything is done, now openshift complain about :
[ pid=10460 thr=78004220 file=utils.rb:176 time=2012-09-18 18:50:19.812 ]: *** Exception Errno::EACCES in PhusionPassenger::Rack::ApplicationSpawner (Permission denied - /var/www/stickshift/broker/Gemfile.lock) (process 10460, thread #<Thread:0x94c7ff8>):

This is actually a selinux issue, as it work with permissive mode.
bundler use Gemfile.lock to start faster ( from what i gathered ), but i do not see why it fail like this if he cannot write it.
Comment 8 Michael Scherer 2012-09-18 13:04:21 EDT
After looking a little bit more, I do not think openshift-origin-node is needed by broker, since there is no code trying to use the gem ( and the gem do not seems to be working ).

Once removed from GemFile, I stumble on :

[ pid=10720 thr=80793600 file=utils.rb:176 time=2012-09-18 18:56:52.408 ]: *** Exception NoMethodError in PhusionPassenger::Rack::ApplicationSpawner (undefined method `app' for #<Rails::Paths::Root:0xac4d808>) (process 10720, thread #<Thread:0x9a1a000>):
	from /usr/share/gems/gems/openshift-origin-controller-0.14.15/lib/stickshift-controller/engine/engine.rb:6:in `<class:CloudEngine>'
	from /usr/share/gems/gems/openshift-origin-controller-0.14.15/lib/stickshift-controller/engine/engine.rb:5:in `<module:StickShift>'
	from /usr/share/gems/gems/openshift-origin-controller-0.14.15/lib/stickshift-controller/engine/engine.rb:4:in `<top (required)>'
	from /usr/share/gems/gems/openshift-origin-controller-0.14.15/lib/openshift-origin-controller.rb:5:in `require'
	from /usr/share/gems/gems/openshift-origin-controller-0.14.15/lib/openshift-origin-controller.rb:5:in `<module:Controller>'
	from /usr/share/gems/gems/openshift-origin-controller-0.14.15/lib/openshift-origin-controller.rb:4:in `<module:StickShift>'
	from /usr/share/gems/gems/openshift-origin-controller-0.14.15/lib/openshift-origin-controller.rb:3:in `<top (required)>'
	from /usr/share/gems/gems/bundler-1.1.4/lib/bundler/runtime.rb:68:in `require'

Seems to be a issue with rails 3.2, so I will stop here and open a new bug on the controller rpms.
Comment 9 Fedora Update System 2012-09-24 13:02:12 EDT
openshift-origin-broker-0.6.7-11.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/openshift-origin-broker-0.6.7-11.fc18
Comment 10 Fedora Update System 2012-09-24 16:02:19 EDT
Package openshift-origin-broker-0.6.7-11.fc18:
* should fix your issue,
* was pushed to the Fedora 18 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing openshift-origin-broker-0.6.7-11.fc18'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-14671/openshift-origin-broker-0.6.7-11.fc18
then log in and leave karma (feedback).
Comment 11 Fedora Update System 2012-12-20 10:10:44 EST
openshift-origin-broker-0.6.7-11.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.

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