Bug 1010883 - [fork][origin_ui_72]There should be correct error message when adding cartridge to application with user has only "can view" role to the domain.
[fork][origin_ui_72]There should be correct error message when adding cartrid...
Status: CLOSED CURRENTRELEASE
Product: OpenShift Online
Classification: Red Hat
Component: Management Console (Show other bugs)
2.x
Unspecified Unspecified
medium Severity medium
: ---
: ---
Assigned To: Jordan Liggitt
libra bugs
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-09-23 05:04 EDT by Yujie Zhang
Modified: 2015-05-14 21:35 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-10-17 09:30:42 EDT
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 Yujie Zhang 2013-09-23 05:04:17 EDT
Description of problem:

Added view scope of an application to an account, and tried to add cartridge to the application using the account, and met "We appear to be having technical difficulties" error.The error meseage "You are not permitted to perform this action (create_cartridge on application)" can be returned according to the log, but can not be rendered to console successfully.

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

fork_ami_origin_ui_72_membership_844

How reproducible:

always

Steps to Reproduce:
1.Added view scope of an application to an account
2.Try to add cartridge to the application using the account
3.

Actual results:

Met "We appear to be having technical difficulties" error.Log is as following:

2013-09-23 04:19:37.752 [INFO ] Started POST "/app/console/application/523fd61a6311e78484000032-php53567456/cartridges" for 66.187.233.202 at 2013-09-23 04:19:37 -0400 (pid:12030)
2013-09-23 04:19:37.756 [INFO ] Processing by CartridgesController#create as HTML (pid:12030)
2013-09-23 04:19:37.757 [INFO ] Parameters: {"utf8"=>"✓", "authenticity_token"=>"XL4hEbyuTR6ySXqb4D86oe+hCiZYjeaX5cK8dJrheD8=", "cartridge"=>{"name"=>"mongodb-2.2", "url"=>""}, "application_id"=>"523fd61a6311e78484000032-php53567456"} (pid:12030)
2013-09-23 04:19:37.757 [DEBUG] Session contents: {"ticket"=>"0|SiIQrnJqfvi51TYib1sFIFG9WMFIeHvaoM6", "api_ticket"=>"8b03f2d478bbe1d6f027e2b3858cba794092f56613c783b20737dd13e1ca4506", "login"=>"yujzhang+forktest1@redhat.com", "streamline_type"=>:full, "terms"=>true, "session_id"=>"3fad6f6c196817c90c75837f6b1f3b62", "has_sshkey"=>false, "caps"=>[-1, 16, 16, 3, [:small, :medium], "silver", true], "_csrf_token"=>"XL4hEbyuTR6ySXqb4D86oe+hCiZYjeaX5cK8dJrheD8=", "currency_cd"=>"usd"} (pid:12030)
2013-09-23 04:19:37.820 [DEBUG] OpenShift API (60.3ms) get https://localhost:443/broker/rest/application/523fd61a6311e78484000032.json [ code: 200 ] (pid:12030)
2013-09-23 04:19:37.849 [DEBUG] OpenShift API (27.6ms) get https://localhost:443/broker/rest/cartridges.json [ code: 200 ] (pid:12030)
2013-09-23 04:19:37.918 [DEBUG] OpenShift API (54.4ms) post https://localhost:443/broker/rest/application/523fd61a6311e78484000032/cartridges.json [ code: 403 ] (pid:12030)
2013-09-23 04:19:37.918 [DEBUG] Server error: : #0: You are not permitted to perform this action (create_cartridge on application) (pid:12030)
2013-09-23 04:19:37.919 [DEBUG] Found errors on the response object: {:base=>["You are not permitted to perform this action (create_cartridge on application)"]} (pid:12030)
2013-09-23 04:19:37.919 [DEBUG] #<ActiveResource::Errors:0x000000074081a0 @base=#<Cartridge:0x000000073fcc38 @as=#<WebUser::Integrated:0x0000000704a978 @rhlogin="yujzhang+forktest1@redhat.com", @ticket="0|SiIQrnJqfvi51TYib1sFIFG9WMFIeHvaoM6", @api_ticket="8b03f2d478bbe1d6f027e2b3858cba794092f56613c783b20737dd13e1ca4506", @streamline_type=:full, @remote_ip="66.187.233.202", @errors=#<ActiveModel::Errors:0x000000070537a8 @base=#<WebUser::Integrated:0x0000000704a978 ...>, @messages={}>>, @attributes={"name"=>"mongodb-2.2", "url"=>nil}, @prefix_options={:application_id=>"523fd61a6311e78484000032", :application_name=>"php53567456", :domain_id=>"forktest2"}, @persisted=false, @messages=nil, @errors=#<ActiveResource::Errors:0x000000074081a0 ...>, @remote_errors=#<ActiveResource::ForbiddenAccess: Failed.  Response code = 403.  Response message = .>, @validation_context=nil, @connection=#<RestApi::UserAwareConnection:0x00000007407db8 @password=nil, @user=nil, @uri_parser=#<URI::Parser:0x00000007407d90>, @site=#<URI::HTTPS:0x00000003899948 URL:https://localhost/broker/rest>, @format=#<RestApi::OpenshiftJsonFormat:0x000000036af4e8 @root_attrs=[]>, @connection=#<ActiveResource::PersistentConnection:0x00000002465058 @password=nil, @user=nil, @uri_parser=#<URI::Parser:0x00000002465008>, @site=#<URI::HTTPS:0x00000003899948 URL:https://localhost/broker/rest>, @format=#<RestApi::OpenshiftJsonFormat:0x000000036af4e8 @root_attrs=[]>, @idle_timeout=4, @read_timeout=240, @open_timeout=3, @connection_name="rest_api", @http=#<Net::HTTP::Persistent:0x00000002644338 @name="rest_api", @debug_output=nil, @proxy_uri=nil, @headers={}, @override_headers={}, @http_versions={"localhost:443"=>"1.1"}, @keep_alive=30, @open_timeout=3, @read_timeout=240, @idle_timeout=4, @socket_options=[[6, 1, 1]], @generation_key=:net_http_persistent_rest_api_generations, @ssl_generation_key=:net_http_persistent_rest_api_ssl_generations, @request_key=:net_http_persistent_rest_api_requests, @timeout_key=:net_http_persistent_rest_api_timeouts, @certificate=nil, @ca_file=nil, @private_key=nil, @ssl_version=nil, @verify_callback=nil, @verify_mode=0, @cert_store=nil, @generation=0, @ssl_generation=1, @reuse_ssl_sessions=true, @retry_change_requests=false>, @default_header={}>, @as=#<WebUser::Integrated:0x0000000704a978 @rhlogin="yujzhang+forktest1@redhat.com", @ticket="0|SiIQrnJqfvi51TYib1sFIFG9WMFIeHvaoM6", @api_ticket="8b03f2d478bbe1d6f027e2b3858cba794092f56613c783b20737dd13e1ca4506", @streamline_type=:full, @remote_ip="66.187.233.202", @errors=#<ActiveModel::Errors:0x000000070537a8 @base=#<WebUser::Integrated:0x0000000704a978 ...>, @messages={}>>, @default_header={}>>, @messages={:base=>["You are not permitted to perform this action (create_cartridge on application)"]}, @codes={"base"=>[0]}> (pid:12030)
2013-09-23 04:19:37.988 [INFO ] Rendered /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-console-1.15.1/app/views/cartridge_types/_cartridge_type.html.haml (65.6ms) (pid:12030)
2013-09-23 04:19:37.989 [INFO ] Rendered cartridge_types/_cartridge_type_notifications.html.haml (0.2ms) (pid:12030)
2013-09-23 04:19:37.999 [INFO ] Rendered /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-console-1.15.1/app/views/cartridge_types/show.html.haml within layouts/console (79.2ms) (pid:12030)
2013-09-23 04:19:38.338 [ERROR] Unhandled exception reference #c13c8c40cc01aaa41eb1d6ff1ee99a09: undefined method `consumed_gears' for nil:NilClass
/var/www/openshift/site/app/helpers/application_helper.rb:71:in `gear_increase_cost'
  /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-console-1.15.1/app/helpers/console/model_helper.rb:169:in `gear_increase_indicator'
  /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-console-1.15.1/app/views/cartridge_types/show.html.haml:27:in `block (2 levels) in __opt_rh_ruby____root_usr_share_gems_gems_openshift_origin_console________app_views_cartridge_types_show_html_haml__1364516184419252990_58365160'
  /opt/rh/ruby193/root/usr/share/gems/gems/haml-3.1.7/lib/haml/helpers.rb:345:in `call'
  /opt/rh/ruby193/root/usr/share/gems/gems/haml-3.1.7/lib/haml/helpers.rb:345:in `block in capture_haml'
  /opt/rh/ruby193/root/usr/share/gems/gems/haml-3.1.7/lib/haml/helpers.rb:569:in `with_haml_buffer'
  /opt/rh/ruby193/root/usr/share/gems/gems/haml-3.1.7/lib/haml/helpers.rb:341:in `capture_haml'
  /opt/rh/ruby193/root/usr/share/gems/gems/haml-3.1.7/lib/haml/helpers/xss_mods.rb:61:in `capture_haml_with_haml_xss'
  /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-console-1.15.1/lib/console/formtastic/bootstrap_form_builder.rb:40:in `field_set_and_list_wrapping'
  /opt/rh/ruby193/root/usr/share/gems/gems/formtastic-1.2.4/lib/formtastic.rb:319:in `buttons'
  /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-console-1.15.1/lib/console/formtastic/bootstrap_form_builder.rb:21:in `buttons'
  /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-console-1.15.1/app/views/cartridge_types/show.html.haml:23:in `block in __opt_rh_ruby____root_usr_share_gems_gems_openshift_origin_console________app_views_cartridge_types_show_html_haml__1364516184419252990_58365160'
  /opt/rh/ruby193/root/usr/share/gems/gems/haml-3.1.7/lib/haml/helpers/action_view_mods.rb:181:in `call'
  /opt/rh/ruby193/root/usr/share/gems/gems/haml-3.1.7/lib/haml/helpers/action_view_mods.rb:181:in `block (2 levels) in form_for_with_haml'
  /opt/rh/ruby193/root/usr/share/gems/gems/haml-3.1.7/lib/haml/helpers.rb:255:in `with_tabs'
  /opt/rh/ruby193/root/usr/share/gems/gems/haml-3.1.7/lib/haml/helpers/action_view_mods.rb:181:in `block in form_for_with_haml'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_view/helpers/capture_helper.rb:40:in `block in capture'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_view/helpers/capture_helper.rb:187:in `with_output_buffer'
  /opt/rh/ruby193/root/usr/share/gems/gems/haml-3.1.7/lib/haml/helpers/xss_mods.rb:109:in `with_output_buffer_with_haml_xss'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_view/helpers/capture_helper.rb:40:in `capture'
  /opt/rh/ruby193/root/usr/share/gems/gems/haml-3.1.7/lib/haml/helpers/action_view_mods.rb:105:in `capture_with_haml'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_view/helpers/form_helper.rb:607:in `fields_for'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_view/helpers/form_helper.rb:378:in `form_for'
  /opt/rh/ruby193/root/usr/share/gems/gems/haml-3.1.7/lib/haml/helpers/action_view_mods.rb:183:in `form_for_with_haml'
  /opt/rh/ruby193/root/usr/share/gems/gems/haml-3.1.7/lib/haml/helpers/xss_mods.rb:132:in `form_for_with_haml_xss'
  /opt/rh/ruby193/root/usr/share/gems/gems/formtastic-1.2.4/lib/formtastic.rb:1943:in `block in semantic_form_for'
  /opt/rh/ruby193/root/usr/share/gems/gems/formtastic-1.2.4/lib/formtastic.rb:1908:in `with_custom_field_error_proc'
  /opt/rh/ruby193/root/usr/share/gems/gems/formtastic-1.2.4/lib/formtastic.rb:1942:in `semantic_form_for'
  /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-console-1.15.1/app/views/cartridge_types/show.html.haml:11:in `__opt_rh_ruby____root_usr_share_gems_gems_openshift_origin_console________app_views_cartridge_types_show_html_haml__1364516184419252990_58365160'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_view/template.rb:145:in `block in render'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/notifications.rb:125:in `instrument'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_view/template.rb:143:in `render'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_view/renderer/template_renderer.rb:47:in `block (2 levels) in render_template'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_view/renderer/abstract_renderer.rb:38:in `block in instrument'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/notifications.rb:123:in `block in instrument'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/notifications.rb:123:in `instrument'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_view/renderer/abstract_renderer.rb:38:in `instrument'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_view/renderer/template_renderer.rb:46:in `block in render_template'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_view/renderer/template_renderer.rb:54:in `render_with_layout'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_view/renderer/template_renderer.rb:45:in `render_template'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_view/renderer/template_renderer.rb:18:in `render'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_view/renderer/renderer.rb:36:in `render_template'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_view/renderer/renderer.rb:17:in `render'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/abstract_controller/rendering.rb:110:in `_render_template'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/streaming.rb:225:in `_render_template'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/abstract_controller/rendering.rb:103:in `render_to_body'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/renderers.rb:28:in `render_to_body'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/compatibility.rb:50:in `render_to_body'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/abstract_controller/rendering.rb:88:in `render'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/rendering.rb:16:in `render'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/instrumentation.rb:40:in `block (2 levels) in render'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/core_ext/benchmark.rb:5:in `block in ms'
  /opt/rh/ruby193/root/usr/share/ruby/benchmark.rb:295:in `realtime'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/core_ext/benchmark.rb:5:in `ms'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/instrumentation.rb:40:in `block in render'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/instrumentation.rb:83:in `cleanup_view_runtime'
  /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-console-1.15.1/app/models/rest_api/railties/controller_runtime.rb:17:in `cleanup_view_runtime'
  /var/www/openshift/site/lib/streamline/railties/controller_runtime.rb:17:in `cleanup_view_runtime'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/instrumentation.rb:39:in `render'
  /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-console-1.15.1/app/controllers/cartridges_controller.rb:32:in `create'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/implicit_render.rb:4:in `send_action'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/abstract_controller/base.rb:167:in `process_action'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/rendering.rb:10:in `process_action'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/abstract_controller/callbacks.rb:18:in `block in process_action'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:428:in `block (3 levels) in _run__4023584100732116061__process_action__1757500840107276642__callbacks'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:215:in `block in _conditional_callback_around_253'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:326:in `around'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:310:in `_callback_around_67'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:214:in `_conditional_callback_around_253'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:416:in `block (2 levels) in _run__4023584100732116061__process_action__1757500840107276642__callbacks'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:215:in `block in _conditional_callback_around_252'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:326:in `around'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:310:in `_callback_around_65'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:214:in `_conditional_callback_around_252'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:415:in `block in _run__4023584100732116061__process_action__1757500840107276642__callbacks'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:215:in `block in _conditional_callback_around_251'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:326:in `around'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:310:in `_callback_around_41'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:214:in `_conditional_callback_around_251'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:414:in `_run__4023584100732116061__process_action__1757500840107276642__callbacks'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:405:in `__run_callback'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:385:in `_run_process_action_callbacks'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:81:in `run_callbacks'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/abstract_controller/callbacks.rb:17:in `process_action'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/rescue.rb:29:in `process_action'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/instrumentation.rb:30:in `block in process_action'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/notifications.rb:123:in `block in instrument'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/notifications.rb:123:in `instrument'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/instrumentation.rb:29:in `process_action'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/params_wrapper.rb:207:in `process_action'
  /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-console-1.15.1/app/models/rest_api/railties/controller_runtime.rb:12:in `process_action'
  /var/www/openshift/site/lib/streamline/railties/controller_runtime.rb:12:in `process_action'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/abstract_controller/base.rb:121:in `process'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/abstract_controller/rendering.rb:45:in `process'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal.rb:203:in `dispatch'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/rack_delegation.rb:14:in `dispatch'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal.rb:246:in `block in action'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/routing/route_set.rb:73:in `call'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/routing/route_set.rb:73:in `dispatch'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/routing/route_set.rb:36:in `call'
  /opt/rh/ruby193/root/usr/share/gems/gems/journey-1.0.4/lib/journey/router.rb:68:in `block in call'
  /opt/rh/ruby193/root/usr/share/gems/gems/journey-1.0.4/lib/journey/router.rb:56:in `each'
  /opt/rh/ruby193/root/usr/share/gems/gems/journey-1.0.4/lib/journey/router.rb:56:in `call'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/routing/route_set.rb:600:in `call'
  /opt/rh/ruby193/root/usr/share/gems/gems/rack-recaptcha-0.6.5/lib/rack/recaptcha.rb:50:in `_call'
  /opt/rh/ruby193/root/usr/share/gems/gems/rack-recaptcha-0.6.5/lib/rack/recaptcha.rb:37:in `call'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/best_standards_support.rb:17:in `call'
  /opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.1/lib/rack/etag.rb:23:in `call'
  /opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.1/lib/rack/conditionalget.rb:35:in `call'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/head.rb:14:in `call'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/params_parser.rb:21:in `call'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/flash.rb:242:in `call'
  /opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.1/lib/rack/session/abstract/id.rb:205:in `context'
  /opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.1/lib/rack/session/abstract/id.rb:200:in `call'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/cookies.rb:339:in `call'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:405:in `_run__209408031758499814__call__2168049308470060070__callbacks'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:405:in `__run_callback'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:385:in `_run_call_callbacks'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:81:in `run_callbacks'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/callbacks.rb:27:in `call'
  /opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.1/lib/rack/sendfile.rb:102:in `call'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/remote_ip.rb:31:in `call'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
  /opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.8/lib/rails/rack/logger.rb:26:in `call_app'
  /opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.8/lib/rails/rack/logger.rb:16:in `call'
  /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/request_id.rb:22:in `call'
  /opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.1/lib/rack/methodoverride.rb:21:in `call'
  /opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.1/lib/rack/runtime.rb:17:in `call'
  /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/cache/strategy/local_cache.rb:72:in `call'
  /opt/rh/ruby193/root/usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:136:in `forward'
  /opt/rh/ruby193/root/usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:143:in `pass'
  /opt/rh/ruby193/root/usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:155:in `invalidate'
  /opt/rh/ruby193/root/usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:71:in `call!'
  /opt/rh/ruby193/root/usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:51:in `call'
  /opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.8/lib/rails/engine.rb:479:in `call'
  /opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.8/lib/rails/application.rb:223:in `call'
  /opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.8/lib/rails/railtie/configurable.rb:30:in `method_missing'
  /opt/rh/ruby193/root/usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/rack/request_handler.rb:97:in `process_request'
  /opt/rh/ruby193/root/usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/abstract_request_handler.rb:521:in `accept_and_process_next_request'
  /opt/rh/ruby193/root/usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/abstract_request_handler.rb:274:in `main_loop'
  /opt/rh/ruby193/root/usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/rack/application_spawner.rb:206:in `start_request_handler'
  /opt/rh/ruby193/root/usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/rack/application_spawner.rb:79:in `block in spawn_application'
  /opt/rh/ruby193/root/usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/utils.rb:470:in `safe_fork'
  /opt/rh/ruby193/root/usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/rack/application_spawner.rb:64:in `spawn_application'
  /opt/rh/ruby193/root/usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/spawn_manager.rb:264:in `spawn_rack_application'
  /opt/rh/ruby193/root/usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/spawn_manager.rb:137:in `spawn_application'
  /opt/rh/ruby193/root/usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/spawn_manager.rb:275:in `handle_spawn_application'
  /opt/rh/ruby193/root/usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/abstract_server.rb:357:in `server_main_loop'
  /opt/rh/ruby193/root/usr/share/gems/gems/passenger-3.0.21/lib/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
  /opt/rh/ruby193/root/usr/share/gems/gems/passenger-3.0.21/helper-scripts/passenger-spawn-server:102:in `<main>' (pid:12030)
2013-09-23 04:19:38.894 [INFO ] Rendered console/error.html.haml within layouts/console (1.1ms) (pid:12030)
2013-09-23 04:19:38.777 [INFO ] Rendered /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-console-1.15.1/app/views/layouts/_head.html.haml (1.3ms) (pid:12030)
2013-09-23 04:19:38.791 [INFO ] Rendered layouts/console/_stylesheets.html.haml (1.1ms) (pid:12030)
2013-09-23 04:19:38.856 [INFO ] Rendered layouts/console/_header.html.haml (6.1ms) (pid:12030)
2013-09-23 04:19:38.863 [INFO ] Rendered layouts/_footer.html.haml (0.2ms) (pid:12030)
2013-09-23 04:19:38.869 [INFO ] Rendered layouts/console/_javascripts.html.haml (0.5ms) (pid:12030)
2013-09-23 04:19:38.872 [INFO ] Completed 200 OK in 330ms (Views: 80.1ms) (pid:12030)


Expected results:

The should be correct error message returned to console.

Additional info:
Comment 1 Yujie Zhang 2013-09-23 05:50:39 EDT
To make the steps clear, you can reproduce as following:
1. Add an account to be "Can edit" role of a domain
2. Try to add cartridge to the application of the domain using above account.
Comment 2 Jordan Liggitt 2013-09-24 16:04:15 EDT
Will display correct message for all edit operations with view-only access:
Add/Edit/Delete alias
Add cartridge
Restart app
Delete app
Edit scaling parameters
Comment 3 Jordan Liggitt 2013-09-25 10:29:45 EDT
Will merge in https://github.com/openshift/li/pull/1903
Comment 4 Yujie Zhang 2013-09-26 01:43:07 EDT
Tested on fork_ami_origin_ui_72_membership_863, tried all the above operateions with view-only access, error message can be displayed correctly, so verify this bug, thanks.

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