Automation Method Error When Accessing 'host'/'hosts' From a Switch

Solution Unverified - Updated -

Issue

  • We have an automation method that works in CloudForms 4.0. When trying to invoke this method in CloudForms 4.1 we get the following backtrace in the evm.log
[----] I, [2016-07-26T07:59:53.284551 #11918:164e30c]  INFO -- : Updated namespace [Service/DynamicDialogs/DynamicDropDowns/list_vlans  EXAMPLE/Service/DynamicDialogs]
[----] I, [2016-07-26T07:59:53.293690 #11918:164e30c]  INFO -- : Invoking [inline] method [/EXAMPLE/Service/DynamicDialogs/DynamicDropDowns/list_vlans] with inputs [{}]
[----] I, [2016-07-26T07:59:53.295205 #11918:164e30c]  INFO -- : <AEMethod [/EXAMPLE/Service/DynamicDialogs/DynamicDropDowns/list_vlans]> Starting 
[----] I, [2016-07-26T07:59:54.094397 #11918:116cd20]  INFO -- : <AEMethod list_vlans> list_vlans - List vLANs Dialog Automate Method Started
[----] E, [2016-07-26T07:59:54.120472 #11918:132c5e8] ERROR -- : The following error occurred during instance method <host> for AR object <#<Switch id: 1000000000001, name: "vSwitch0", ports: 5632, created_on: "2016-07-26 11:40:28", updated_on: "2016-07-26 11:40:28", uid_ems: "vSwitch0", allow_promiscuous: false, forged_transmits: true, mac_changes: true, switch_uuid: nil, shared: nil>>
[----] E, [2016-07-26T07:59:54.121013 #11918:132c5e8] ERROR -- : MiqAeServiceModelBase.ar_method raised: <NoMethodError>: <undefined method `host' for #<Switch:0x00000002776e18>>
[----] E, [2016-07-26T07:59:54.121238 #11918:132c5e8] ERROR -- : /opt/rh/cfme-gemset/gems/activemodel-5.0.0.rc2/lib/active_model/attribute_methods.rb:433:in `method_missing'
/var/www/miq/vmdb/lib/miq_automation_engine/engine/miq_ae_service_model_base.rb:263:in `block in object_send'
/var/www/miq/vmdb/lib/miq_automation_engine/engine/miq_ae_service_model_base.rb:282:in `ar_method'
/var/www/miq/vmdb/lib/miq_automation_engine/engine/miq_ae_service_model_base.rb:292:in `ar_method'
/var/www/miq/vmdb/lib/miq_automation_engine/engine/miq_ae_service_model_base.rb:261:in `object_send'
/var/www/miq/vmdb/lib/miq_automation_engine/engine/miq_ae_service_model_base.rb:122:in `block (2 levels) in expose'
/opt/rh/rh-ruby22/root/usr/share/ruby/drb/drb.rb:1624:in `perform_without_block'
/opt/rh/rh-ruby22/root/usr/share/ruby/drb/drb.rb:1584:in `perform'
/opt/rh/rh-ruby22/root/usr/share/ruby/drb/drb.rb:1657:in `block (2 levels) in main_loop'
/opt/rh/rh-ruby22/root/usr/share/ruby/drb/drb.rb:1653:in `loop'
/opt/rh/rh-ruby22/root/usr/share/ruby/drb/drb.rb:1653:in `block in main_loop'
/opt/rh/cfme-gemset/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:323:in `call'
/opt/rh/cfme-gemset/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:323:in `block in create_with_logging_context'
[----] E, [2016-07-26T07:59:54.128617 #11918:143e990] ERROR -- : <AEMethod list_vlans> list_vlans - [undefined method `host' for #<Switch:0x00000002776e18>]
(druby://127.0.0.1:34523) /opt/rh/cfme-gemset/gems/activemodel-5.0.0.rc2/lib/active_model/attribute_methods.rb:433:in `method_missing'
(druby://127.0.0.1:34523) /var/www/miq/vmdb/lib/miq_automation_engine/engine/miq_ae_service_model_base.rb:263:in `block in object_send'
(druby://127.0.0.1:34523) /var/www/miq/vmdb/lib/miq_automation_engine/engine/miq_ae_service_model_base.rb:282:in `ar_method'
(druby://127.0.0.1:34523) /var/www/miq/vmdb/lib/miq_automation_engine/engine/miq_ae_service_model_base.rb:292:in `ar_method'
(druby://127.0.0.1:34523) /var/www/miq/vmdb/lib/miq_automation_engine/engine/miq_ae_service_model_base.rb:261:in `object_send'
(druby://127.0.0.1:34523) /var/www/miq/vmdb/lib/miq_automation_engine/engine/miq_ae_service_model_base.rb:122:in `block (2 levels) in expose'
(druby://127.0.0.1:34523) /opt/rh/rh-ruby22/root/usr/share/ruby/drb/drb.rb:1624:in `perform_without_block'
(druby://127.0.0.1:34523) /opt/rh/rh-ruby22/root/usr/share/ruby/drb/drb.rb:1584:in `perform'
(druby://127.0.0.1:34523) /opt/rh/rh-ruby22/root/usr/share/ruby/drb/drb.rb:1657:in `block (2 levels) in main_loop'
(druby://127.0.0.1:34523) /opt/rh/rh-ruby22/root/usr/share/ruby/drb/drb.rb:1653:in `loop'
(druby://127.0.0.1:34523) /opt/rh/rh-ruby22/root/usr/share/ruby/drb/drb.rb:1653:in `block in main_loop'
(druby://127.0.0.1:34523) /opt/rh/cfme-gemset/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:323:in `call'
(druby://127.0.0.1:34523) /opt/rh/cfme-gemset/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:323:in `block in create_with_logging_context'
(druby://127.0.0.1:42305) -:82:in `block in <main>'
(druby://127.0.0.1:42305) /opt/rh/rh-ruby22/root/usr/share/ruby/drb/drb.rb:1624:in `call'
(druby://127.0.0.1:42305) /opt/rh/rh-ruby22/root/usr/share/ruby/drb/drb.rb:1624:in `perform_without_block'
(druby://127.0.0.1:42305) /opt/rh/rh-ruby22/root/usr/share/ruby/drb/drb.rb:1584:in `perform'
(druby://127.0.0.1:42305) /opt/rh/rh-ruby22/root/usr/share/ruby/drb/drb.rb:1657:in `block (2 levels) in main_loop'
(druby://127.0.0.1:42305) /opt/rh/rh-ruby22/root/usr/share/ruby/drb/drb.rb:1653:in `loop'
(druby://127.0.0.1:42305) /opt/rh/rh-ruby22/root/usr/share/ruby/drb/drb.rb:1653:in `block in main_loop'
(druby://127.0.0.1:34523) /opt/rh/rh-ruby22/root/usr/share/ruby/drb/invokemethod.rb:10:in `block_yield'
(druby://127.0.0.1:34523) /opt/rh/rh-ruby22/root/usr/share/ruby/drb/invokemethod.rb:17:in `block in perform_with_block'
(druby://127.0.0.1:34523) /opt/rh/rh-ruby22/root/usr/share/ruby/drb/invokemethod.rb:14:in `each'
(druby://127.0.0.1:34523) /opt/rh/rh-ruby22/root/usr/share/ruby/drb/invokemethod.rb:14:in `perform_with_block'
(druby://127.0.0.1:34523) /opt/rh/rh-ruby22/root/usr/share/ruby/drb/drb.rb:1582:in `perform'
(druby://127.0.0.1:34523) /opt/rh/rh-ruby22/root/usr/share/ruby/drb/drb.rb:1657:in `block (2 levels) in main_loop'
(druby://127.0.0.1:34523) /opt/rh/rh-ruby22/root/usr/share/ruby/drb/drb.rb:1653:in `loop'
(druby://127.0.0.1:34523) /opt/rh/rh-ruby22/root/usr/share/ruby/drb/drb.rb:1653:in `block in main_loop'
(druby://127.0.0.1:34523) /opt/rh/cfme-gemset/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:323:in `call'
(druby://127.0.0.1:34523) /opt/rh/cfme-gemset/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:323:in `block in create_with_logging_context'
<code: $evm.vmdb(:Lan).all.each do |net|>:29:in `<main>'
[----] I, [2016-07-26T07:59:54.176378 #11918:164e30c]  INFO -- : <AEMethod [/EXAMPLE/Service/DynamicDialogs/DynamicDropDowns/list_vlans]> Ending
[----] I, [2016-07-26T07:59:54.177563 #11918:164e30c]  INFO -- : Aborting instantiation because [Method exited with rc=MIQ_ABORT]

Environment

  • Red Hat CloudForms 4.1 (cfme-5.6.0)

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.