Bug 967395
| Summary: | Fail to show cartridges' status via RHC for both web cartridges and add-on cartridges | ||
|---|---|---|---|
| Product: | OpenShift Online | Reporter: | Zhe Wang <zhewang> |
| Component: | Pod | Assignee: | Rajat Chopra <rchopra> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | libra bugs <libra-bugs> |
| Severity: | high | Docs Contact: | |
| Priority: | medium | ||
| Version: | 2.x | CC: | pmorie, xtian |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2013-06-11 04:11:25 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: | |||
|
Description
Zhe Wang
2013-05-27 03:12:38 UTC
Raised the severity of this bug to HIGH, since it blocks auto tests. It looks like the broker is not making a call to the node for the cartridge status. From the broker log: ESC[0;37m2013-05-28 10:03:55.537ESC[0m [ESC[31mERRORESC[0m] undefined method `cartridge_name' for "mock- 0.1":String (pid:2836) ESC[0;37m2013-05-28 10:03:55.537ESC[0m [ESC[31mERRORESC[0m] #<NoMethodError: undefined method `cartridge _name' for "mock-0.1":String> (pid:2836) ESC[0;37m2013-05-28 10:03:55.538ESC[0m [ESC[31mERRORESC[0m] ["/opt/rh/ruby193/root/usr/share/gems/gems/o penshift-origin-msg-broker-mcollective-1.9.5/lib/openshift/mcollective_application_container_proxy.rb:10 79:in `status'", "/opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-controller-1.9.7/app/models/ gear.rb:109:in `status'", "/opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-controller-1.9.7/ap p/models/application.rb:831:in `block in component_status'", "/opt/rh/ruby193/root/usr/share/gems/gems/o penshift-origin-controller-1.9.7/app/models/group_instance.rb:181:in `call'", "/opt/rh/ruby193/root/usr/ share/gems/gems/openshift-origin-controller-1.9.7/app/models/group_instance.rb:181:in `block in run_on_g ears'", "/opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-controller-1.9.7/app/models/group_ins tance.rb:179:in `each'", "/opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-controller-1.9.7/app /models/group_instance.rb:179:in `run_on_gears'", "/opt/rh/ruby193/root/usr/share/gems/gems/openshift-or igin-controller-1.9.7/app/models/application.rb:830:in `component_status'" Changing component to broker. It looks like the problem is that origin-server/controller/app/models/gear.rb#109 passes the cartridge name to the mcollective proxy, which is expecting the component_instance instead (origin-server/plugins/msg-broker/mcollective/lib/openshift/mcollective_application_container_proxy.rb:1079) Fixed with pull request #2654 Verified in devenv_3282 Tested a ruby-1.9 app with mysql-5.1 embedded, and the results of showing the cartridges' status were: [zhe@fedora run80]$ rhc cartridge status mysql-5.1 -a rb9 RESULT: MySQL is running [zhe@fedora run80]$ rhc cartridge status ruby-1.9 -a rb9 RESULT: Application is running |