Bug 1120465 - [origin_cartridge_229][fork]Got Gem::LoadError when running passenger-status for ruby-2.0 app
Summary: [origin_cartridge_229][fork]Got Gem::LoadError when running passenger-status ...
Alias: None
Product: OpenShift Online
Classification: Red Hat
Component: Image
Version: 2.x
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
: ---
Assignee: Jakub Hadvig
QA Contact: libra bugs
Depends On:
TreeView+ depends on / blocked
Reported: 2014-07-17 02:59 UTC by Yan Du
Modified: 2015-05-15 00:43 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2014-10-10 00:49:00 UTC
Target Upstream Version:

Attachments (Terms of Use)

Description Yan Du 2014-07-17 02:59:00 UTC
Description of problem:

[r20-1.dev.rhcloud.com 53c76bda1e68ee81d2000006]\> passenger-status
/opt/rh/ruby200/root/usr/share/rubygems/rubygems/dependency.rb:296:in `to_specs': Could not find 'rack' (>= 0) among 8 total gem(s) (Gem::LoadError)
    from /opt/rh/ruby200/root/usr/share/rubygems/rubygems/specification.rb:1209:in `block in activate_dependencies'
    from /opt/rh/ruby200/root/usr/share/rubygems/rubygems/specification.rb:1198:in `each'
    from /opt/rh/ruby200/root/usr/share/rubygems/rubygems/specification.rb:1198:in `activate_dependencies'
    from /opt/rh/ruby200/root/usr/share/rubygems/rubygems/specification.rb:1180:in `activate'
    from /opt/rh/ruby200/root/usr/share/rubygems/rubygems/core_ext/kernel_gem.rb:48:in `gem'
    from /opt/rh/ruby200/root/usr/bin/passenger-status:22:in `<main>'

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

How reproducible:

Steps to Reproduce:

1. Create a ruby-2.0 app
2. ssh into app and run "passenger-status"

Actual results:
Same as decription

Expected results:
----------- General information -----------
max      = 3
count    = 2
active   = 0
inactive = 2
Waiting on global queue: 0
----------- Application groups -----------
  App root: /var/lib/openshift/53c76da21e68eecd88000052/app-root/runtime/repo
  * PID: 18222   Sessions: 0    Processed: 0       Uptime: 24s
  * PID: 18207   Sessions: 0    Processed: 2       Uptime: 25s

Additional info:
works normally with ruby-1.9 app

Comment 1 Jakub Hadvig 2014-07-17 13:04:29 UTC
Putting on low priority, because this issue is cause by the SCL itself.

Comment 2 Michal Fojtik 2014-07-17 13:08:59 UTC
This is because 'rack' is not part of the ruby200 collection, so you need to enable 'ror40' collection to have 'rack' available.

There are several possible solution to this:

1) Add rack to the ruby200 collection
2) Add alias/wrapper for passenger-status we put into the PATH for ruby-2.0 cart
3) Update documentation / suggest to users to use 'scl enable ruby200 ror40 passenger-status' (which will work right now)

I'm in favor to do 3) as that seems like the most easiest solution for now.

Comment 3 Yan Du 2014-07-21 02:31:09 UTC
Test on devenv_4988, passenger works when using  'scl enable ruby200 ror40 passenger-status'

[r20-a.dev.rhcloud.com 53ccb2d181bc302bdf000732]\> scl enable ruby200 ror40 passenger-status
Version : 4.0.18
Date    : 2014-07-21 02:28:49 -0400
Instance: 19893
----------- General information -----------
Max pool size : 3
Processes     : 1
Requests in top-level queue : 0

----------- Application groups -----------
  App root: /var/lib/openshift/53ccb2d181bc302bdf000732/app-root/runtime/repo
  Requests in queue: 0
  * PID: 22796   Sessions: 0       Processed: 3       Uptime: 33s
    CPU: 0%      Memory  : 9M      Last used: 32s ago

could you plesase move bug to ON_QA? then we could verify it. Thanks!

Comment 4 Yan Du 2014-07-22 03:33:21 UTC
Move bug to verified according #comment 3

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