From b0410dfab54565bfb27ec40948caa5eefcf9540d Mon Sep 17 00:00:00 2001 From: sergio semedi Date: Wed, 19 Dec 2018 15:33:48 +0100 Subject: [PATCH] vcenter networking detached dnets fix --- .../lib/vcenter_driver/virtual_machine.rb | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine.rb b/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine.rb index e816435dcb..178181990a 100644 --- a/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine.rb +++ b/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine.rb @@ -372,6 +372,10 @@ class VirtualMachine < VCenterDriver::Template POLL_ATTRIBUTE = OpenNebula::VirtualMachine::Driver::POLL_ATTRIBUTE VM_STATE = OpenNebula::VirtualMachine::Driver::VM_STATE + DNET_CARD = RbVmomi::VIM::VirtualEthernetCardDistributedVirtualPortBackingInfo + NET_CARD = RbVmomi::VIM::VirtualEthernetCardNetworkBackingInfo + + VM_SHUTDOWN_TIMEOUT = 600 #10 minutes til poweroff hard attr_accessor :item, :vm_id @@ -1037,7 +1041,17 @@ class VirtualMachine < VCenterDriver::Template end end - vc_nics.each {|d| @nics[d.backing.deviceName] = Nic.vc_nic(d)} + vc_nics.each do |d| + backing = d.backing + + if backing.class == NET_CARD + key = backing.network._ref + else + key = backing.port.portgroupKey + end + + @nics[key] = Nic.vc_nic(d) + end @nics.reject{|k| k == :macs} end