Bug 1305324

Summary: Unexpected Exception during refresh Provider status
Product: Red Hat CloudForms Management Engine Reporter: Avi Tal <atal>
Component: UI - OPSAssignee: Beni Paskin-Cherniavsky <cben>
Status: CLOSED ERRATA QA Contact: Tony <ashlifst>
Severity: high Docs Contact:
Priority: low    
Version: 5.5.0CC: cben, clasohm, cpelland, eminguez, fdupont, fsimonce, hkataria, jhardy, kmorey, mpovolny, mtayer, obarenbo, simaishi, srevivo
Target Milestone: GA   
Target Release: 5.6.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: container
Fixed In Version: 5.6.0.0 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-06-29 15:36:35 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 Avi Tal 2016-02-07 07:10:44 UTC
Description of problem:
added an OSE3.1 environment to a CF4 appliance (freshly installed and updated to the latest packages and following the proper instructions https://access.redhat.com/documentation/en/red-hat-cloudforms/version-4.0/managing-providers/#configuring_service_accounts ) but refresh always fails with the following message:

[----] I, [2016-01-26T17:42:41.788822 #13463:331990]  INFO -- : MIQ(ManageIQ::Providers::OpenshiftEnterprise::ContainerManager#with_provider_connection) Connecting through ManageIQ::Providers::OpenshiftEnterprise::ContainerManager: [OSE3 laboratorio]
[----] E, [2016-01-26T17:42:42.413452 #13463:331990] ERROR -- : Unexpected Exception during refresh: HTTP status code 403, User "system:serviceaccount:management-infra:management-admin" cannot list all componentstatuses in the cluster
[----] E, [2016-01-26T17:42:42.639946 #13463:331990] ERROR -- : MIQ(ManageIQ::Providers::OpenshiftEnterprise::ContainerManager::Refresher#refresh) EMS: [OSE3 laboratorio], id: [99000000000002] Refresh failed
[----] E, [2016-01-26T17:42:42.640210 #13463:331990] ERROR -- : [NoMethodError]: undefined method `each' for nil:NilClass  Method:[rescue in block in refresh]
[----] E, [2016-01-26T17:42:42.640298 #13463:331990] ERROR -- : /var/www/miq/vmdb/app/models/manageiq/providers/kubernetes/container_manager/refresh_parser.rb:373:in `parse_range_items'
/var/www/miq/vmdb/app/models/manageiq/providers/kubernetes/container_manager/refresh_parser.rb:366:in `parse_range'
/var/www/miq/vmdb/app/models/manageiq/providers/kubernetes/container_manager/refresh_parser.rb:103:in `block in get_limit_ranges'
/var/www/miq/vmdb/app/models/manageiq/providers/kubernetes/container_manager/refresh_parser.rb:125:in `process_collection_item'
/var/www/miq/vmdb/app/models/manageiq/providers/kubernetes/container_manager/refresh_parser.rb:119:in `block in process_collection'
/var/www/miq/vmdb/app/models/manageiq/providers/kubernetes/container_manager/refresh_parser.rb:119:in `process_collection'
/var/www/miq/vmdb/app/models/manageiq/providers/kubernetes/container_manager/refresh_parser.rb:103:in `get_limit_ranges'
/var/www/miq/vmdb/app/models/manageiq/providers/kubernetes/container_manager/refresh_parser.rb:18:in `ems_inv_to_hashes'
/var/www/miq/vmdb/app/models/manageiq/providers/openshift/container_manager/refresh_parser.rb:5:in `ems_inv_to_hashes'
/var/www/miq/vmdb/app/models/manageiq/providers/kubernetes/container_manager/refresh_parser.rb:6:in `ems_inv_to_hashes'
/var/www/miq/vmdb/app/models/manageiq/providers/openshift/container_manager/refresher.rb:19:in `parse_inventory'
/var/www/miq/vmdb/app/models/ems_refresh/refreshers/ems_refresher_mixin.rb:19:in `block in refresh'
/var/www/miq/vmdb/app/models/ems_refresh/refreshers/ems_refresher_mixin.rb:7:in `each'
/var/www/miq/vmdb/app/models/ems_refresh/refreshers/ems_refresher_mixin.rb:7:in `refresh'
/var/www/miq/vmdb/app/models/manageiq/providers/base_manager/refresher.rb:10:in `refresh'
/var/www/miq/vmdb/app/models/ems_refresh.rb:77:in `block in refresh'
/var/www/miq/vmdb/app/models/ems_refresh.rb:76:in `each'
/var/www/miq/vmdb/app/models/ems_refresh.rb:76:in `refresh'
/var/www/miq/vmdb/app/models/miq_queue.rb:345:in `block in deliver'
/opt/rh/rh-ruby22/root/usr/share/ruby/timeout.rb:89:in `block in timeout'
/opt/rh/rh-ruby22/root/usr/share/ruby/timeout.rb:34:in `block in catch'
/opt/rh/rh-ruby22/root/usr/share/ruby/timeout.rb:34:in `catch'
/opt/rh/rh-ruby22/root/usr/share/ruby/timeout.rb:34:in `catch'
/opt/rh/rh-ruby22/root/usr/share/ruby/timeout.rb:104:in `timeout'
/var/www/miq/vmdb/app/models/miq_queue.rb:341:in `deliver'
/var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:106:in `deliver_queue_message'
/var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:134:in `deliver_message'
/var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:151:in `block in do_work'
/var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:145:in `loop'
/var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:145:in `do_work'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:334:in `block in do_work_loop'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:331:in `loop'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:331:in `do_work_loop'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:153:in `run'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:128:in `start'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:29:in `start_worker'
/var/www/miq/vmdb/lib/workers/bin/worker.rb:2:in `<top (required)>'
/opt/rh/cfme-gemset/gems/railties-4.2.5/lib/rails/commands/runner.rb:60:in `load'
/opt/rh/cfme-gemset/gems/railties-4.2.5/lib/rails/commands/runner.rb:60:in `<top (required)>'
/opt/rh/cfme-gemset/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:123:in `require'
/opt/rh/cfme-gemset/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:123:in `require_command!'
/opt/rh/cfme-gemset/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:90:in `runner'
/opt/rh/cfme-gemset/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
/opt/rh/cfme-gemset/gems/railties-4.2.5/lib/rails/commands.rb:17:in `<top (required)>'
/var/www/miq/vmdb/bin/rails:4:in `require'
/var/www/miq/vmdb/bin/rails:4:in `<main>'

Comment 2 Avi Tal 2016-02-07 07:12:31 UTC
Bug was introduced in cf-tech list by Eduardo Minguez

The workaround:
It finally worked by commenting a few lines...

* /var/www/miq/vmdb/app/models/ems_refresh/save_inventory_container.rb
Replaced
child_keys = [:container_projects, :container_quotas, :container_limits, :container_nodes,
by
child_keys = [:container_projects, :container_quotas, :container_nodes,

* /var/www/miq/vmdb/app/models/manageiq/providers/kubernetes/container_manager/refresh_parser.rb
Removed:
get_limit_ranges(inventory)

So, it seems to be related to limits.

Comment 3 Dave Johnson 2016-02-10 22:01:36 UTC
*** Bug 1305323 has been marked as a duplicate of this bug. ***

Comment 4 Beni Paskin-Cherniavsky 2016-02-25 09:43:55 UTC
Opened https://github.com/ManageIQ/manageiq/pull/6928

This does nothing about app/models/ems_refresh/save_inventory_container.rb - it's not directly involved in the backtrace.
I don't yet understand how everything interacts to say if it needs to be touched?

Comment 9 errata-xmlrpc 2016-06-29 15:36:35 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2016:1348