Description of problem: The app configuration failed after deploy with a binary file successfully, and error message display: # rhc configure-app app4 --no-auto-deploy Configuring application 'app4' ... Unable to complete the requested operation due to: undefined method `each' for nil:NilClass. Reference ID: d0166445804603e8424f4a86315fd30b Version-Release number of selected component (if applicable): fork_ami_origin_ui_82_905 rhc build from fork_ami_origin_ui_82_905 devenv_3898 How reproducible: always Steps to Reproduce: 1.Create a app 2.Configure the app with --no-auto-deploy, --deployment-type binary rhc configure-app $appname --no-auto-deploy, --deployment-type binary 3.snapshot save with --deployment option rhc snapshot save $appname --deploment --filepath $file_path 4.Deploy app with $file_path as a binary file rhc deploy -a $appname $file_path 5.Configure app Actual results: 4.# rhc deploy -a app4 app/app.tar.gz Deployment of file '/home/app/app.tar.gz' in progress for application app4 ... Beginning binary deployment Distribution status: success Activation status: success Deployment completed Success 5.# rhc configure-app app4 --no-auto-deploy Configuring application 'app4' ... Unable to complete the requested operation due to: undefined method `each' for nil:NilClass. Reference ID: d0166445804603e8424f4a86315fd30b # rhc configure-app app4 --keep-deployment 2 Configuring application 'app4' ... Unable to complete the requested operation due to: undefined method `each' for nil:NilClass. Reference ID: fed76450b5e30eaeef54669d017113ed # rhc configure-app app4 --deployment-type git Configuring application 'app4' ... Unable to complete the requested operation due to: undefined method `each' for nil:NilClass. Reference ID: 2b963dcb60dc2989c2dd27420367520a # rhc configure-app app4 --deployment-branch fork Configuring application 'app4' ... Unable to complete the requested operation due to: undefined method `each' for nil:NilClass. Reference ID: 7c427e405e4f3b41be7af2cce1e9f652 And log /var/log/openshift/broker/development.log: 2013-10-15 03:02:31.438 [INFO ] Started GET "/broker/rest/api" for 203.114.244.88 at 2013-10-15 03:02:31 -0400 (pid:2731) 2013-10-15 03:02:31.440 [INFO ] Processing by ApiController#show as JSON (pid:2731) 2013-10-15 03:02:31.440 [DEBUG] API version 1.3 (pid:2731) 2013-10-15 03:02:31.450 [INFO ] Completed 200 OK in 11ms (Views: 5.7ms) (pid:2731) 2013-10-15 03:02:31.747 [INFO ] Started GET "/broker/rest/api" for 203.114.244.88 at 2013-10-15 03:02:31 -0400 (pid:2731) 2013-10-15 03:02:31.748 [INFO ] Processing by ApiController#show as JSON (pid:2731) 2013-10-15 03:02:31.748 [DEBUG] API version 1.5 (pid:2731) 2013-10-15 03:02:31.759 [INFO ] Completed 200 OK in 11ms (Views: 6.1ms) (pid:2731) 2013-10-15 03:02:32.613 [INFO ] Started GET "/broker/rest/domains" for 203.114.244.88 at 2013-10-15 03:02:32 -0400 (pid:2731) 2013-10-15 03:02:32.626 [INFO ] Processing by DomainsController#index as JSON (pid:2731) 2013-10-15 03:02:32.629 [DEBUG] API version 1.5 (pid:2731) 2013-10-15 03:02:32.667 [DEBUG] SUCCESS ACTION=AUTHENTICATE USER_ID=525cd9f00534aa11d6000001 LOGIN=wjiang IP=203.114.244.88 SCOPES=session Authenticated (pid:2731) 2013-10-15 03:02:32.735 [DEBUG] SUCCESS ACTION=LIST_DOMAIN USER_ID=525cd9f00534aa11d6000001 LOGIN=wjiang DOMAIN= (pid:2731) 2013-10-15 03:02:32.148 [INFO ] Completed 200 OK in 86ms (Views: 74.0ms) (pid:2731) 2013-10-15 03:02:32.461 [INFO ] Started GET "/broker/rest/domains/wjiang/applications/app4" for 203.114.244.88 at 2013-10-15 03:02:32 -0400 (pid:2731) 2013-10-15 03:02:32.463 [INFO ] Processing by ApplicationsController#show as JSON (pid:2731) 2013-10-15 03:02:32.463 [INFO ] Parameters: {"domain_id"=>"wjiang", "id"=>"app4"} (pid:2731) 2013-10-15 03:02:32.464 [DEBUG] API version 1.5 (pid:2731) 2013-10-15 03:02:32.468 [DEBUG] SUCCESS ACTION=AUTHENTICATE USER_ID=525cd9f00534aa11d6000001 LOGIN=wjiang IP=203.114.244.88 SCOPES=session Authenticated (pid:2731) 2013-10-15 03:02:32.481 [DEBUG] SUCCESS ACTION=SHOW_APPLICATION USER_ID=525cd9f00534aa11d6000001 LOGIN=wjiang APP_UUID=525ce6680534aa11d60000b9 DOMAIN=wjiang Application 'app4' found (pid:2731) 2013-10-15 03:02:32.494 [INFO ] Completed 200 OK in 30ms (Views: 11.1ms) (pid:2731) 2013-10-15 03:02:32.794 [INFO ] Started PUT "/broker/rest/domain/wjiang/application/app4" for 203.114.244.88 at 2013-10-15 03:02:32 -0400 (pid:2731) 2013-10-15 03:02:32.796 [INFO ] Processing by ApplicationsController#update as JSON (pid:2731) 2013-10-15 03:02:32.796 [INFO ] Parameters: {"auto_deploy"=>false, "domain_id"=>"wjiang", "id"=>"app4", "application"=>{}} (pid:2731) 2013-10-15 03:02:32.797 [DEBUG] API version 1.5 (pid:2731) 2013-10-15 03:02:32.800 [DEBUG] SUCCESS ACTION=AUTHENTICATE USER_ID=525cd9f00534aa11d6000001 LOGIN=wjiang IP=203.114.244.88 SCOPES=session Authenticated (pid:2731) 2013-10-15 03:02:32.809 [ERROR] Reference ID: d0166445804603e8424f4a86315fd30b - undefined method `each' for nil:NilClass /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-controller-1.16.0/app/models/application.rb:381:in `update_configuration' /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-controller-1.16.0/app/controllers/applications_controller.rb:193:in `update' /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:481:in `block in _run__4577807333738794831__process_action__4315790653558175496__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_432' /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-controller-1.16.0/lib/openshift/controller/action_log.rb:80:in `set_logged_request' /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:214:in `_conditional_callback_around_432' /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:403:in `_run__4577807333738794831__process_action__4315790653558175496__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/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/mongo_mapper-0.11.1/lib/mongo_mapper/middleware/identity_map.rb:10:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/mongoid-3.0.21/lib/rack/mongoid/middleware/identity_map.rb:34:in `block in call' /opt/rh/ruby193/root/usr/share/gems/gems/mongoid-3.0.21/lib/mongoid/unit_of_work.rb:39:in `unit_of_work' /opt/rh/ruby193/root/usr/share/gems/gems/mongoid-3.0.21/lib/rack/mongoid/middleware/identity_map.rb:34: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__4292616052535858136__call__3561439226396489195__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/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-1.4.1/lib/rack/lock.rb:15:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/static.rb:62: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:2731) 2013-10-15 03:02:32.810 [DEBUG] FAILURE ACTION=UPDATE_APPLICATION USER_ID=525cd9f00534aa11d6000001 LOGIN=wjiang APP_UUID=525ce6680534aa11d60000b9 DOMAIN=wjiang Unable to complete the requested operation due to: undefined method `each' for nil:NilClass. (pid:2731) 2013-10-15 03:02:32.812 [INFO ] Completed 500 Internal Server Error in 15ms (Views: 0.5ms) (pid:2731) 2013-10-15 03:13:38.956 [INFO ] Started GET "/broker/rest/api" for 203.114.244.88 at 2013-10-15 03:13:38 -0400 (pid:2731) 2013-10-15 03:13:38.958 [INFO ] Processing by ApiController#show as JSON (pid:2731) 2013-10-15 03:13:38.959 [DEBUG] API version 1.3 (pid:2731) 2013-10-15 03:13:38.970 [INFO ] Completed 200 OK in 11ms (Views: 5.7ms) (pid:2731) Expected results: The app can be configured after deploy with a binary file Additional info:
Tested thsi bug on fork_ami_origin_ui_82_910,rhc built from fork_ami_origin_ui_82_910 Could reproduce this bug.
Tested this bug on devenv_3912,could reproduce this bug. openshift@openshift-ubuntu:~/test$ rhc app-configure py26y --no-auto-deploy --deployment-type git --keep-deployments 4 Configuring application 'py26y' ... Unable to complete the requested operation due to: undefined method `each' for nil:NilClass. Reference ID: 5563a7c53ef95c843eb53c212e8d8aa7
*** Bug 1020964 has been marked as a duplicate of this bug. ***
https://github.com/openshift/origin-server/pull/3886
Commit pushed to master at https://github.com/openshift/origin-server https://github.com/openshift/origin-server/commit/f0b24e88748e3f86e0d17fe76dfaabe63f37ab87 Bug 1019109
Tried on devenv_3928, and after I deploy with a binary file, configure app successfully. So, verified this issue.