Bug 1382684 - undefined method error on authentication_mixin.rb
Summary: undefined method error on authentication_mixin.rb
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat CloudForms Management Engine
Classification: Red Hat
Component: Providers
Version: 5.6.0
Hardware: All
OS: All
unspecified
medium
Target Milestone: GA
: 5.8.0
Assignee: Adam Grare
QA Contact: Leo Khomenko
URL:
Whiteboard:
Depends On:
Blocks: 1384216 1385179
TreeView+ depends on / blocked
 
Reported: 2016-10-07 12:07 UTC by Felix Dewaleyne
Modified: 2019-12-16 07:02 UTC (History)
7 users (show)

Fixed In Version: 5.8.0.0
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1384216 1385179 (view as bug list)
Environment:
Last Closed: 2017-06-12 16:36:49 UTC
Category: ---
Cloudforms Team: ---
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Felix Dewaleyne 2016-10-07 12:07:05 UTC
Description of problem
durring the authentication an error is raised :
[----] E, [2016-09-30T14:28:20.159707 #121870:130f998] ERROR -- : MIQ(MiqQueue#deliver) Message id: [1000012731760], Error: [undefined method `authtype' for nil:NilClass]
[----] E, [2016-09-30T14:28:20.159937 #121870:130f998] ERROR -- : [NoMethodError]: undefined method `authtype' for nil:NilClass  Method:[rescue in deliver]


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

How reproducible:
irregular, customer environment only

Steps to Reproduce:
1.raised while authentication against the vcenter 
2.
3.

Actual results:
[----] E, [2016-09-30T14:28:20.159707 #121870:130f998] ERROR -- : MIQ(MiqQueue#deliver) Message id: [1000012731760], Error: [undefined method `authtype' for nil:NilClass]
[----] E, [2016-09-30T14:28:20.159937 #121870:130f998] ERROR -- : [NoMethodError]: undefined method `authtype' for nil:NilClass  Method:[rescue in deliver]


Expected results:
better error message

Additional info:
full trace : 

[----] I, [2016-09-30T14:28:17.860716 #5252:130f998]  INFO -- : MIQ(MiqServer#populate_queue_messages) Fetched 19 miq_queue rows for queue_name=generic, wcount=4, priority=200
[----] I, [2016-09-30T14:28:19.379897 #121823:15639b0]  INFO -- : <VIM> HandSoap Response [21208280]: length: [398], HTTP-Status: [200], Content-Type: [text/xml; charset=utf-8]
[----] I, [2016-09-30T14:28:19.583844 #121823:15639b0]  INFO -- : <VIM> MiqVimCoreUpdater.doUpdate: call to waitForUpdates...Complete
[----] I, [2016-09-30T14:28:19.583977 #121823:15639b0]  INFO -- : <VIM> MiqVimCoreUpdater.doUpdate: call to waitForUpdates...Starting
[----] I, [2016-09-30T14:28:19.584333 #121823:15639b0]  INFO -- : <VIM> HandSoap Request  [21173240]: length: [481], URI: [https://cfme.example.com/sdk], Content-Type: [text/xml;charset=UTF-8], SOAPAction: [WaitForUpdatesEx]
[----] I, [2016-09-30T14:28:20.155157 #121870:130f998]  INFO -- : MIQ(MiqGenericWorker::Runner#get_message_via_drb) Message id: [1000012731760], MiqWorker id: [1000000071545], Zone: [vCenter], Role: [smartstate], Server: [], Ident: [gener
ic], Target id: [], Instance id: [1000000000091], Task id: [], Command: [Host.authentication_check_types], Timeout: [600], Priority: [100], State: [dequeue], Deliver On: [], Data: [], Args: [[], {}], Dequeued in: [2.687878146] seconds
[----] I, [2016-09-30T14:28:20.155315 #121870:130f998]  INFO -- : MIQ(MiqQueue#deliver) Message id: [1000012731760], Delivering...
[----] E, [2016-09-30T14:28:20.159707 #121870:130f998] ERROR -- : MIQ(MiqQueue#deliver) Message id: [1000012731760], Error: [undefined method `authtype' for nil:NilClass]
[----] E, [2016-09-30T14:28:20.159937 #121870:130f998] ERROR -- : [NoMethodError]: undefined method `authtype' for nil:NilClass  Method:[rescue in deliver]
[----] E, [2016-09-30T14:28:20.160112 #121870:130f998] ERROR -- : /var/www/miq/vmdb/app/models/mixins/authentication_mixin.rb:258:in `authentication_check'
/var/www/miq/vmdb/app/models/mixins/authentication_mixin.rb:236:in `block in authentication_check_types'
/var/www/miq/vmdb/app/models/mixins/authentication_mixin.rb:236:in `each'
/var/www/miq/vmdb/app/models/mixins/authentication_mixin.rb:236:in `authentication_check_types'
/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:152:in `block in do_work'
/var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:146:in `loop'
/var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:146: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:21:in `start_worker'
/var/www/miq/vmdb/app/models/miq_worker.rb:347:in `block in start'
/opt/rh/cfme-gemset/gems/nakayoshi_fork-0.0.3/lib/nakayoshi_fork.rb:24:in `fork'
/opt/rh/cfme-gemset/gems/nakayoshi_fork-0.0.3/lib/nakayoshi_fork.rb:24:in `fork'
/var/www/miq/vmdb/app/models/miq_worker.rb:345:in `start'
/var/www/miq/vmdb/app/models/miq_worker.rb:274:in `start_worker'
/var/www/miq/vmdb/app/models/miq_worker.rb:154:in `block in sync_workers'
/var/www/miq/vmdb/app/models/miq_worker.rb:154:in `times'
/var/www/miq/vmdb/app/models/miq_worker.rb:154:in `sync_workers'
/var/www/miq/vmdb/app/models/miq_server/worker_management/monitor.rb:52:in `block in sync_workers'
/var/www/miq/vmdb/app/models/miq_server/worker_management/monitor.rb:50:in `each'
/var/www/miq/vmdb/app/models/miq_server/worker_management/monitor.rb:50:in `sync_workers'
/var/www/miq/vmdb/app/models/miq_server/worker_management/monitor.rb:22:in `monitor_workers'
/var/www/miq/vmdb/app/models/miq_server.rb:362:in `block in monitor'
/var/www/miq/vmdb/gems/pending/util/extensions/miq-benchmark.rb:11:in `realtime_store'
/var/www/miq/vmdb/gems/pending/util/extensions/miq-benchmark.rb:30:in `realtime_block'
/var/www/miq/vmdb/app/models/miq_server.rb:362:in `monitor'
/var/www/miq/vmdb/app/models/miq_server.rb:382:in `block (2 levels) in monitor_loop'
/var/www/miq/vmdb/gems/pending/util/extensions/miq-benchmark.rb:11:in `realtime_store'
/var/www/miq/vmdb/gems/pending/util/extensions/miq-benchmark.rb:30:in `realtime_block'
/var/www/miq/vmdb/app/models/miq_server.rb:382:in `block in monitor_loop'
/var/www/miq/vmdb/app/models/miq_server.rb:381:in `loop'
/var/www/miq/vmdb/app/models/miq_server.rb:381:in `monitor_loop'
/var/www/miq/vmdb/app/models/miq_server.rb:266:in `start'
/var/www/miq/vmdb/lib/workers/evm_server.rb:65:in `start'
/var/www/miq/vmdb/lib/workers/evm_server.rb:92:in `start'
/var/www/miq/vmdb/lib/workers/bin/evm_server.rb:4:in `<main>'
[----] I, [2016-09-30T14:28:20.160259 #121870:130f998]  INFO -- : MIQ(MiqQueue#delivered) Message id: [1000012731760], State: [error], Delivered in [0.00495557] seconds
[----] I, [2016-09-30T14:28:20.169842 #121870:130f998]  INFO -- : MIQ(MiqGenericWorker::Runner#get_message_via_drb) Message id: [1000012731761], MiqWorker id: [1000000071545], Zone: [vCenter], Role: [smartstate], Server: [], Ident: [generic], Target id: [], Instance id: [1000000000092], Task id: [], Command: [Host.authentication_check_types], Timeout: [600], Priority: [100], State: [dequeue], Deliver On: [], Data: [], Args: [[], {}], Dequeued in: [2.696151687] seconds
[----] I, [2016-09-30T14:28:20.169951 #121870:130f998]  INFO -- : MIQ(MiqQueue#deliver) Message id: [1000012731761], Delivering...
[----] E, [2016-09-30T14:28:20.173170 #121870:130f998] ERROR -- : MIQ(MiqQueue#deliver) Message id: [1000012731761], Error: [undefined method `authtype' for nil:NilClass]

Comment 3 CFME Bot 2016-10-11 17:51:13 UTC
New commit detected on ManageIQ/manageiq/master:
https://github.com/ManageIQ/manageiq/commit/c7ce625f13332a7e3ad849c14658c3acddaf1642

commit c7ce625f13332a7e3ad849c14658c3acddaf1642
Author:     Adam Grare <agrare>
AuthorDate: Mon Oct 10 14:21:01 2016 -0400
Commit:     Adam Grare <agrare>
CommitDate: Mon Oct 10 14:21:01 2016 -0400

    Handle authentication_check on hosts with no creds
    
    When you have infra hosts without credentials saved, the scheduled
    authentication_check throws an nil class exception.  This change
    checks for auth being nil before attempting to call methods on it.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1382684

 app/models/mixins/authentication_mixin.rb       | 8 ++++----
 spec/models/mixins/authentication_mixin_spec.rb | 8 ++++----
 2 files changed, 8 insertions(+), 8 deletions(-)

Comment 10 Leo Khomenko 2017-03-01 12:45:39 UTC
verified on 5.8.0.2 - VC host without credentials keeps silence


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