Description of problem: AppEventsController#create and ApplicationsController#destroy raised exception NoMethodError: undefined method `provides' Stacktrace for create: …ift-origin-controller-1.18.4/app/models/ application.rb:2652:in `block in calculate_component_orders' …ems/gems/mongoid-3.0.21/lib/mongoid/relations/ proxy.rb: 143:in `each' …ems/gems/mongoid-3.0.21/lib/mongoid/relations/ proxy.rb: 143:in `method_missing' …/mongoid-3.0.21/lib/mongoid/relations/embedded/ many.rb: 396:in `method_missing' …ift-origin-controller-1.18.4/app/models/ application.rb:2647:in `calculate_component_orders' …-1.18.4/app/models/pending_ops/ restart_app_op_group.rb: 5:in `elaborate' …ift-origin-controller-1.18.4/app/models/ application.rb:1502:in `run_jobs' …ift-origin-controller-1.18.4/app/models/ application.rb: 994:in `block in restart' …ift-origin-controller-1.18.4/app/models/ application.rb:1579:in `run_in_application_lock' …ift-origin-controller-1.18.4/app/models/ application.rb: 985:in `restart' …roller-1.18.4/app/controllers/ app_events_controller.rb: 65:in `create' …ntroller-1.18.4/lib/openshift/controller/ action_log.rb: 80:in `set_logged_request' …sr/share/gems/gems/journey-1.0.4/lib/journey/ router.rb: 68:in `block in call' …sr/share/gems/gems/journey-1.0.4/lib/journey/ router.rb: 56:in `each' …sr/share/gems/gems/journey-1.0.4/lib/journey/ router.rb: 56:in `call' …per-0.11.1/lib/mongo_mapper/middleware/ identity_map.rb: 10:in `call' …oid-3.0.21/lib/rack/mongoid/middleware/ identity_map.rb: 34:in `block in call' …e/gems/gems/mongoid-3.0.21/lib/mongoid/ unit_of_work.rb: 39:in `unit_of_work' …oid-3.0.21/lib/rack/mongoid/middleware/ identity_map.rb: 34:in `call' …3/root/usr/share/gems/gems/rack-1.4.1/lib/rack/ etag.rb: 23:in `call' …/share/gems/gems/rack-1.4.1/lib/rack/ conditionalget.rb: 35:in `call' …e/gems/gems/rack-1.4.1/lib/rack/session/abstract/ id.rb: 205:in `context' …e/gems/gems/rack-1.4.1/lib/rack/session/abstract/ id.rb: 200:in `call' …/share/gems/gems/rack-1.4.1/lib/rack/ methodoverride.rb: 21:in `call' …oot/usr/share/gems/gems/rack-1.4.1/lib/rack/ runtime.rb: 17:in `call' …3/root/usr/share/gems/gems/rack-1.4.1/lib/rack/ lock.rb: 15:in `call' …are/gems/gems/rack-cache-1.2/lib/rack/cache/ context.rb: 136:in `forward' …are/gems/gems/rack-cache-1.2/lib/rack/cache/ context.rb: 143:in `pass' …are/gems/gems/rack-cache-1.2/lib/rack/cache/ context.rb: 155:in `invalidate' …are/gems/gems/rack-cache-1.2/lib/rack/cache/ context.rb: 71:in `call!' …are/gems/gems/rack-cache-1.2/lib/rack/cache/ context.rb: 51:in `call' …r-3.0.21/lib/phusion_passenger/rack/ request_handler.rb: 97:in `process_request' …0.21/lib/phusion_passenger/ abstract_request_handler.rb: 521:in `accept_and_process_next_request' …0.21/lib/phusion_passenger/ abstract_request_handler.rb: 274:in `main_loop' …0.21/lib/phusion_passenger/rack/ application_spawner.rb: 206:in `start_request_handler' …0.21/lib/phusion_passenger/rack/ application_spawner.rb: 79:in `block in spawn_application' …s/gems/passenger-3.0.21/lib/phusion_passenger/ utils.rb: 470:in `safe_fork' …0.21/lib/phusion_passenger/rack/ application_spawner.rb: 64:in `spawn_application' …assenger-3.0.21/lib/phusion_passenger/ spawn_manager.rb: 264:in `spawn_rack_application' …assenger-3.0.21/lib/phusion_passenger/ spawn_manager.rb: 137:in `spawn_application' …assenger-3.0.21/lib/phusion_passenger/ spawn_manager.rb: 275:in `handle_spawn_application' …senger-3.0.21/lib/phusion_passenger/ abstract_server.rb: 357:in `server_main_loop' …senger-3.0.21/lib/phusion_passenger/ abstract_server.rb: 206:in `start_synchronously' Stacktrace for destroy: …ift-origin-controller-1.18.4/app/models/ application.rb:2652:in `block in calculate_component_orders' …ems/gems/mongoid-3.0.21/lib/mongoid/relations/ proxy.rb: 143:in `each' …ems/gems/mongoid-3.0.21/lib/mongoid/relations/ proxy.rb: 143:in `method_missing' …/mongoid-3.0.21/lib/mongoid/relations/embedded/ many.rb: 396:in `method_missing' …ift-origin-controller-1.18.4/app/models/ application.rb:2647:in `calculate_component_orders' …ift-origin-controller-1.18.4/app/models/ application.rb:1977:in `calculate_ops' …ift-origin-controller-1.18.4/app/models/ application.rb:1598:in `update_requirements' …8.4/app/models/pending_ops/ remove_features_op_group.rb: 11:in `elaborate' …ift-origin-controller-1.18.4/app/models/ application.rb:1502:in `run_jobs' …ift-origin-controller-1.18.4/app/models/ application.rb: 738:in `block in remove_features' …ift-origin-controller-1.18.4/app/models/ application.rb:1579:in `run_in_application_lock' …ift-origin-controller-1.18.4/app/models/ application.rb: 735:in `remove_features' …ift-origin-controller-1.18.4/app/models/ application.rb: 769:in `destroy_app' …ller-1.18.4/app/controllers/ applications_controller.rb: 224:in `destroy' …ntroller-1.18.4/lib/openshift/controller/ action_log.rb: 80:in `set_logged_request' …sr/share/gems/gems/journey-1.0.4/lib/journey/ router.rb: 68:in `block in call' …sr/share/gems/gems/journey-1.0.4/lib/journey/ router.rb: 56:in `each' …sr/share/gems/gems/journey-1.0.4/lib/journey/ router.rb: 56:in `call' …per-0.11.1/lib/mongo_mapper/middleware/ identity_map.rb: 10:in `call' …oid-3.0.21/lib/rack/mongoid/middleware/ identity_map.rb: 34:in `block in call' …e/gems/gems/mongoid-3.0.21/lib/mongoid/ unit_of_work.rb: 39:in `unit_of_work' …oid-3.0.21/lib/rack/mongoid/middleware/ identity_map.rb: 34:in `call' …3/root/usr/share/gems/gems/rack-1.4.1/lib/rack/ etag.rb: 23:in `call' …/share/gems/gems/rack-1.4.1/lib/rack/ conditionalget.rb: 35:in `call' …e/gems/gems/rack-1.4.1/lib/rack/session/abstract/ id.rb: 205:in `context' …e/gems/gems/rack-1.4.1/lib/rack/session/abstract/ id.rb: 200:in `call' …/share/gems/gems/rack-1.4.1/lib/rack/ methodoverride.rb: 21:in `call' …oot/usr/share/gems/gems/rack-1.4.1/lib/rack/ runtime.rb: 17:in `call' …3/root/usr/share/gems/gems/rack-1.4.1/lib/rack/ lock.rb: 15:in `call' …are/gems/gems/rack-cache-1.2/lib/rack/cache/ context.rb: 136:in `forward' …are/gems/gems/rack-cache-1.2/lib/rack/cache/ context.rb: 143:in `pass' …are/gems/gems/rack-cache-1.2/lib/rack/cache/ context.rb: 155:in `invalidate' …are/gems/gems/rack-cache-1.2/lib/rack/cache/ context.rb: 71:in `call!' …are/gems/gems/rack-cache-1.2/lib/rack/cache/ context.rb: 51:in `call' …r-3.0.21/lib/phusion_passenger/rack/ request_handler.rb: 97:in `process_request' …0.21/lib/phusion_passenger/ abstract_request_handler.rb: 521:in `accept_and_process_next_request' …0.21/lib/phusion_passenger/ abstract_request_handler.rb: 274:in `main_loop' …0.21/lib/phusion_passenger/rack/ application_spawner.rb: 206:in `start_request_handler' …0.21/lib/phusion_passenger/rack/ application_spawner.rb: 79:in `block in spawn_application' …s/gems/passenger-3.0.21/lib/phusion_passenger/ utils.rb: 470:in `safe_fork' …0.21/lib/phusion_passenger/rack/ application_spawner.rb: 64:in `spawn_application' …assenger-3.0.21/lib/phusion_passenger/ spawn_manager.rb: 264:in `spawn_rack_application' …assenger-3.0.21/lib/phusion_passenger/ spawn_manager.rb: 137:in `spawn_application' …assenger-3.0.21/lib/phusion_passenger/ spawn_manager.rb: 275:in `handle_spawn_application' …senger-3.0.21/lib/phusion_passenger/ abstract_server.rb: 357:in `server_main_loop' …senger-3.0.21/lib/phusion_passenger/ abstract_server.rb: 206:in `start_synchronously' Version-Release number of selected component (if applicable): Found in PROD How reproducible: Occurred a few times in PROD in the last 7 days
Some changes were made to the way downloadable cart cleanup is done in case of errors while adding them. The pull request below covers the missing case. Fixed with --> https://github.com/openshift/origin-server/pull/4421
Verified on devenv_4191 1. Add/Remove a correct downloadable cart 2. Add a problematic downloadable cart Such errors were not reproduced when adding/removing downloadable carts.