From 562124eb300cc9f64ddc53797309709bbba46438 Mon Sep 17 00:00:00 2001 From: Jose Angel Garrido Montoya Date: Wed, 17 Oct 2018 17:52:34 +0200 Subject: [PATCH] B #2474 Network model is not working in vCenter (#2519) (cherry picked from commit 5d7bdc1eec5d164d8ae86d3d3d03c15c1918ec34) --- .../lib/vcenter_driver/virtual_machine.rb | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) 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 1ca14ea7bd..b994bfa121 100644 --- a/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine.rb +++ b/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine.rb @@ -1899,7 +1899,17 @@ class VirtualMachine < Template mac = nic["MAC"] pg_name = nic["BRIDGE"] - model = one_item.retrieve_xmlelements("TEMPLATE/NIC_DEFAULT/MODEL") || nic["VCENTER_NET_MODEL"] || VCenterDriver::VIHelper.get_default("VM/TEMPLATE/NIC/MODEL") + mode = '' + if !one_item.retrieve_xmlelements('TEMPLATE/NIC_DEFAULT/MODEL').nil? && + !one_item.retrieve_xmlelements('TEMPLATE/NIC_DEFAULT/MODEL').empty? + model = one_item['TEMPLATE/NIC_DEFAULT/MODEL'] + elsif (model.nil? || model.empty?) && + !nic['MODEL'].nil? && + !nic['MODEL'].empty? + model = nic['MODEL'] + else + model = VCenterDriver::VIHelper.get_default('VM/TEMPLATE/NIC/MODEL') + end vnet_ref = nic["VCENTER_NET_REF"] backing = nil @@ -1998,7 +2008,17 @@ class VirtualMachine < Template def calculate_add_nic_spec_autogenerate_mac(nic) pg_name = nic["BRIDGE"] - model = one_item.retrieve_xmlelements("TEMPLATE/NIC_DEFAULT/MODEL") || nic["VCENTER_NET_MODEL"] || VCenterDriver::VIHelper.get_default("VM/TEMPLATE/NIC/MODEL") + mode = '' + if !one_item.retrieve_xmlelements('TEMPLATE/NIC_DEFAULT/MODEL').nil? && + !one_item.retrieve_xmlelements('TEMPLATE/NIC_DEFAULT/MODEL').empty? + model = one_item['TEMPLATE/NIC_DEFAULT/MODEL'] + elsif (model.nil? || model.empty?) && + !nic['MODEL'].nil? && + !nic['MODEL'].empty? + model = nic['MODEL'] + else + model = VCenterDriver::VIHelper.get_default('VM/TEMPLATE/NIC/MODEL') + end vnet_ref = nic["VCENTER_NET_REF"] backing = nil