Bug 1220934

Summary: Actions::Candlepin::ListenOnCandlepinEvents failure
Product: Red Hat Satellite Reporter: sthirugn <sthirugn>
Component: Subscription ManagementAssignee: Dustin Tsang <dtsang>
Status: CLOSED WONTFIX QA Contact: sthirugn <sthirugn>
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.1.0CC: bbuckingham, jnikolak, lzap, mmccune
Target Milestone: UnspecifiedKeywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-05-26 18:37:36 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 sthirugn@redhat.com 2015-05-12 20:59:35 UTC
Created attachment 1024775 [details]
foreman debug

Description of problem:
Actions::Candlepin::ListenOnCandlepinEvents failure

Version-Release number of selected component (if applicable):
Sat 6.1 GA Snap 3 Compose 2

How reproducible:
I noticed this in my satellite box today, I havent tried reproducing yet.

Steps to Reproduce:
I did a lot of things with content hosts but not sure which triggered this candlepin error
1 Register/Subscribe three content hosts
2. Try installing errata on all three content hosts
3. Unregister all content hosts
4. Re-register/Subscribe all content hosts
5. Install errata, etc. Notice ListenOnCandlepinEvents tasks failures in Monitor -> Tasks
6. Because of this, there is an incorrect reporting of consumed subscriptions in Content -> Red Hat Subscriptions page.

Actual results:
In Web UI -> Monitor -> Tasks, search for "label = Actions::Candlepin::ListenOnCandlepinEvents"

See failed events

Stacktrace:

Action:

Actions::Candlepin::ListenOnCandlepinEvents

Input:

{"locale"=>"en"}

Output:

{"messages"=>0, "last_message"=>nil, "connection"=>"disconnected"}

Exception:

NoMethodError: undefined method `warning' for #<ActiveSupport::BufferedLogger:0x00000004458590>

Backtrace:

/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/tagged_logging.rb:54:in `method_missing'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.39/app/lib/actions/candlepin/reindex_pool_subscription_handler.rb:54:in `rescue in handle'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.39/app/lib/actions/candlepin/reindex_pool_subscription_handler.rb:37:in `handle'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.39/app/lib/actions/candlepin/listen_on_candlepin_events.rb:178:in `on_event'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.39/app/lib/actions/candlepin/listen_on_candlepin_events.rb:147:in `act_on_event'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.39/app/lib/actions/candlepin/listen_on_candlepin_events.rb:80:in `block in run'
/opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:859:in `block in assigns'
/opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:858:in `tap'
/opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:858:in `assigns'
/opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:138:in `match_value'
/opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:116:in `block in match'
/opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:115:in `each'
/opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:115:in `match'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.39/app/lib/actions/candlepin/listen_on_candlepin_events.rb:67:in `run'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/action.rb:476:in `block (3 levels) in execute_run'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/middleware/stack.rb:26:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/middleware/stack.rb:26:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/middleware.rb:16:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/action/progress.rb:30:in `with_progress_calculation'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/action/progress.rb:16:in `run'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/middleware/stack.rb:22:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/middleware/stack.rb:26:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/middleware.rb:16:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.39/app/lib/actions/middleware/keep_locale.rb:23:in `block in run'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.39/app/lib/actions/middleware/keep_locale.rb:34:in `with_locale'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.39/app/lib/actions/middleware/keep_locale.rb:23:in `run'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/middleware/stack.rb:22:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/middleware/world.rb:30:in `execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/action.rb:475:in `block (2 levels) in execute_run'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/action.rb:474:in `catch'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/action.rb:474:in `block in execute_run'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/action.rb:391:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/action.rb:391:in `block in with_error_handling'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/action.rb:391:in `catch'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/action.rb:391:in `with_error_handling'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/action.rb:469:in `execute_run'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/action.rb:256:in `execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:9:in `block (2 levels) in execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/execution_plan/steps/abstract.rb:155:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/execution_plan/steps/abstract.rb:155:in `with_meta_calculation'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:8:in `block in execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:22:in `open_action'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:7:in `execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/executors/parallel/worker.rb:20:in `block in on_message'
/opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:859:in `block in assigns'
/opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:858:in `tap'
/opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:858:in `assigns'
/opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:138:in `match_value'
/opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:116:in `block in match'
/opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:115:in `each'
/opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:115:in `match'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/executors/parallel/worker.rb:17:in `on_message'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/micro_actor.rb:82:in `on_envelope'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/micro_actor.rb:72:in `receive'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/micro_actor.rb:99:in `block (2 levels) in run'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/micro_actor.rb:99:in `loop'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/micro_actor.rb:99:in `block in run'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/micro_actor.rb:99:in `catch'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/micro_actor.rb:99:in `run'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.5/lib/dynflow/micro_actor.rb:13:in `block in initialize'
/opt/rh/ruby193/root/usr/share/gems/gems/logging-1.8.1/lib/logging/diagnostic_context.rb:323:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/logging-1.8.1/lib/logging/diagnostic_context.rb:323:in `block in create_with_logging_context'
caused by: (RestClient::ResourceNotFound) Katello::Resources::Candlepin::Pool: 404 Resource Not Found {"displayMessage":"Pool with id 8a8880c54d34c8ed014d43ee044f0579 could not be found.","requestUuid":"a2f68c1c-2bba-4556-8a78-8e1b7fdf50e9"} (GET /candlepin/pools/8a8880c54d34c8ed014d43ee044f0579)
/opt/rh/ruby193/root/usr/share/gems/gems/rest-client-1.6.7/lib/restclient/abstract_response.rb:48:in `return!'
/opt/rh/ruby193/root/usr/share/gems/gems/rest-client-1.6.7/lib/restclient/request.rb:230:in `process_result'
/opt/rh/ruby193/root/usr/share/gems/gems/rbovirt-0.0.29/lib/restclient_ext/request.rb:50:in `block in transmit'
/opt/rh/ruby193/root/usr/share/ruby/net/http.rb:746:in `start'
/opt/rh/ruby193/root/usr/share/gems/gems/rbovirt-0.0.29/lib/restclient_ext/request.rb:44:in `transmit'
/opt/rh/ruby193/root/usr/share/gems/gems/rest-client-1.6.7/lib/restclient/request.rb:64:in `execute'
/opt/rh/ruby193/root/usr/share/gems/gems/rest-client-1.6.7/lib/restclient/request.rb:33:in `execute'
/opt/rh/ruby193/root/usr/share/gems/gems/rest-client-1.6.7/lib/restclient/resource.rb:51:in `get'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.39/app/lib/katello/http_resource.rb:96:in `get'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.39/app/lib/katello/resources/candlepin.rb:536:in `find'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.39/app/models/katello/pool.rb:43:in `find_pool'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.39/app/lib/actions/candlepin/reindex_pool_subscription_handler.rb:79:in `reindex_pool'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.39/app/lib/actions/candlepin/reindex_pool_subscription_handler.rb:67:in `pool_created'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.39/app/lib/actions/candlepin/reindex_pool_subscription_handler.rb:47:in `handle'
    ... skipped 59 lines

Expected results:
No Candlepin errors and consumed subscriptions should be shown correctly.

Additional info:
foreman-rake katello:reindex seem to have resolved the incorrect subscription issue

Comment 4 jnikolak 2015-06-16 08:59:41 UTC
If running an earlier version of katello such as:
katello-2.2.0.10-1.el7sat.noarch

This can be resolved by running the solution
--> https://access.redhat.com/solutions/1484803