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, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content