From 5c24ab70b55ba259d26e2e3a810631c6c34a3d82 Mon Sep 17 00:00:00 2001 From: joseangelgm Date: Mon, 8 Oct 2018 11:31:08 +0200 Subject: [PATCH] B #2474 Network model is not working in vCenter --- .../lib/vcenter_driver/virtual_machine.rb | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 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..61b979e40a 100644 --- a/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine.rb +++ b/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine.rb @@ -1896,13 +1896,17 @@ class VirtualMachine < Template # Returns an array of actions to be included in :deviceChange def calculate_add_nic_spec(nic) - 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") + if !one_item.retrieve_xmlelements("TEMPLATE/NIC_DEFAULT/MODEL").nil? && !one_item.retrieve_xmlelements("TEMPLATE/NIC_DEFAULT/MODEL").empty? + model = one_item.retrieve_xmlelements("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 - limit_in = nic["INBOUND_PEAK_BW"] || VCenterDriver::VIHelper.get_default("VM/TEMPLATE/NIC/INBOUND_PEAK_BW") limit_out = nic["OUTBOUND_PEAK_BW"] || VCenterDriver::VIHelper.get_default("VM/TEMPLATE/NIC/OUTBOUND_PEAK_BW") limit = nil @@ -1996,9 +2000,14 @@ class VirtualMachine < Template # Returns an array of actions to be included in :deviceChange 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") + if !one_item.retrieve_xmlelements("TEMPLATE/NIC_DEFAULT/MODEL").nil? && !one_item.retrieve_xmlelements("TEMPLATE/NIC_DEFAULT/MODEL").empty? + model = one_item.retrieve_xmlelements("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