ManageIQ / manageiq-providers-vmware

ManageIQ plugin for the VMware vSphere and vCloud providers.
Apache License 2.0
22 stars 70 forks source link

Catch a Handsoap Fault when logging a user event #912

Closed agrare closed 3 months ago

agrare commented 3 months ago

We don't want failure to log a user event to prevent execution of the requested method.

On a vc simulator the EventManager doesn't implement LogUserEvent: 2024/05/21 10:11:54 EventManager:EventManager does not implement: LogUserEvent this prevents vm_start from completing successfully

[----] I, [2024-05-21T10:39:55.602351#38873:9ee8]  INFO -- evm: MIQ(ManageIQ::Providers::Vmware::InfraManager#with_provider_connection) Connecting through ManageIQ::Providers::Vmware::InfraManager: [vcsim]
[----] I, [2024-05-21T10:39:55.608078#38873:9ee8]  INFO -- evm: Starting Phase <provision_error>
[----] E, [2024-05-21T10:39:55.616737#38873:9ee8] ERROR -- evm: MIQ(ManageIQ::Providers::Vmware::InfraManager::Provision#provision_error) [[Handsoap::Fault]: Handsoap::Fault { :code => 'ServerFaultCode', :reason => 'EventManager:EventManager does not implement: LogUserEvent' }] encountered during phase [autostart_destination]
[----] E, [2024-05-21T10:39:55.616848#38873:9ee8] ERROR -- evm: /home/grare/adam/.gem/ruby/3.1.0/gems/handsoap-0.2.5.5/lib/handsoap/service.rb:217:in `on_fault'
/home/grare/adam/.gem/ruby/3.1.0/gems/handsoap-0.2.5.5/lib/handsoap/service.rb:307:in `dispatch'
/home/grare/adam/.gem/ruby/3.1.0/gems/handsoap-0.2.5.5/lib/handsoap/service.rb:211:in `invoke'
/home/grare/adam/.gem/ruby/3.1.0/gems/vmware_web_service-3.3.0/lib/VMwareWebService/VimService.rb:483:in `logUserEvent'
/home/grare/adam/.gem/ruby/3.1.0/gems/vmware_web_service-3.3.0/lib/VMwareWebService/MiqVimInventory.rb:2012:in `logUserEvent'
/home/grare/adam/.gem/ruby/3.1.0/gems/vmware_web_service-3.3.0/lib/VMwareWebService/MiqVimVm.rb:1275:in `logUserEvent'
/home/grare/adam/src/manageiq/manageiq-providers-vmware/app/models/manageiq/providers/vmware/infra_manager.rb:673:in `block in invoke_vim_ws'
/home/grare/adam/src/manageiq/manageiq/app/models/mixins/provider_object_mixin.rb:14:in `block in with_provider_object'
/home/grare/adam/src/manageiq/manageiq-providers-vmware/app/models/manageiq/providers/vmware/infra_manager/vim_connect_mixin.rb:46:in `with_provider_connection'
/home/grare/adam/src/manageiq/manageiq/app/models/mixins/provider_object_mixin.rb:11:in `with_provider_object'
/home/grare/adam/src/manageiq/manageiq-providers-vmware/app/models/manageiq/providers/vmware/infra_manager.rb:672:in `invoke_vim_ws'
/home/grare/adam/src/manageiq/manageiq-providers-vmware/app/models/manageiq/providers/vmware/infra_manager.rb:373:in `vm_start'
/home/grare/adam/src/manageiq/manageiq/app/models/vm_or_template.rb:380:in `run_command_via_parent'
/home/grare/adam/src/manageiq/manageiq-providers-vmware/app/models/manageiq/providers/vmware/infra_manager/vm_or_template_shared/operations/power.rb:5:in `raw_start'
/home/grare/adam/src/manageiq/manageiq-providers-vmware/app/models/manageiq/providers/vmware/infra_manager/provision/state_machine.rb:64:in `autostart_destination'
/home/grare/adam/src/manageiq/manageiq/app/models/miq_request_task/state_machine.rb:22:in `signal'
/home/grare/adam/src/manageiq/manageiq-providers-vmware/app/models/manageiq/providers/vmware/infra_manager/provision/state_machine.rb:76:in `customize_destination'
/home/grare/adam/src/manageiq/manageiq/app/models/miq_request_task/state_machine.rb:22:in `signal'
/home/grare/adam/src/manageiq/manageiq-providers-vmware/app/models/manageiq/providers/vmware/infra_manager/provision/state_machine.rb:51:in `poll_destination_in_vmdb'
miq-bot commented 3 months ago

Checked commit https://github.com/agrare/manageiq-providers-vmware/commit/b9c70484b0d9a9fe9a615c5e9498657901f99d01 with ruby 2.7.8, rubocop 1.56.3, haml-lint 0.51.0, and yamllint 1 file checked, 0 offenses detected Everything looks fine. :star: