Automation Method Error When Accessing 'host'/'hosts' From a Switch
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.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
