From d93615811bf6acf5fd3ca69ac957157b5e3844d1 Mon Sep 17 00:00:00 2001 From: sergiojvg Date: Sat, 11 May 2019 14:47:45 -0500 Subject: [PATCH] B #3326: Do not set mac when importing template (#3327) --- .../remotes/lib/vcenter_driver/vm_template.rb | 60 +++++++++---------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/src/vmm_mad/remotes/lib/vcenter_driver/vm_template.rb b/src/vmm_mad/remotes/lib/vcenter_driver/vm_template.rb index 961b3dd7a7..ebd375f259 100644 --- a/src/vmm_mad/remotes/lib/vcenter_driver/vm_template.rb +++ b/src/vmm_mad/remotes/lib/vcenter_driver/vm_template.rb @@ -390,23 +390,21 @@ class Template def find_ips_in_network(network, vm_object, nic) ipv4 = ipv6 = "" - if vm? - return if !vm_object.is_a?(VCenterDriver::VirtualMachine) - network.info + return if !vm_object.is_a?(VCenterDriver::VirtualMachine) + network.info - # Iterate over Retrieve vCenter VM NICs - vm_object.item.guest.net.each do |net| - mac = net.macAddress - if nic[:mac] == mac - net.ipConfig.ipAddress.each do |ip_config| - ip = IPAddr.new(ip_config.ipAddress) - ar_array = network.to_hash['VNET']['AR_POOL']['AR'] - ar_array = [ar_array] if ar_array.is_a?(Hash) - ipv4, ipv6 = find_ip_in_ar(ip, ar_array) if ar_array - break if ipv4 !="" or ipv6 != "" - end - break + # Iterate over Retrieve vCenter VM NICs + vm_object.item.guest.net.each do |net| + mac = net.macAddress + if nic[:mac] == mac + net.ipConfig.ipAddress.each do |ip_config| + ip = IPAddr.new(ip_config.ipAddress) + ar_array = network.to_hash['VNET']['AR_POOL']['AR'] + ar_array = [ar_array] if ar_array.is_a?(Hash) + ipv4, ipv6 = find_ip_in_ar(ip, ar_array) if ar_array + break if ipv4 !="" or ipv6 != "" end + break end end return ipv4, ipv6 @@ -468,23 +466,25 @@ class Template nic_tmp = "NIC=[\n" nic_tmp << "NETWORK_ID=\"#{network_found["ID"]}\",\n" - ipv4, ipv6 = find_ips_in_network(network_found, vm_object, nic) + if vm? + ipv4, ipv6 = find_ips_in_network(network_found, vm_object, nic) + ar_tmp = create_ar(nic) + network_found.add_ar(ar_tmp) + network_found.info + last_id = save_ar_ids(network_found, nic, ar_ids) - ar_tmp = create_ar(nic) - network_found.add_ar(ar_tmp) - network_found.info - last_id = save_ar_ids(network_found, nic, ar_ids) + # This is the existing nic info + nic_tmp << "AR_ID=\"#{last_id}\",\n" + nic_tmp << "MAC=\"#{nic[:mac]}\",\n" if nic[:mac] and ipv4.empty? and ipv6.empty? + nic_tmp << "IP=\"#{ipv4}\"," if !ipv4.empty? + nic_tmp << "IP=\"#{ipv6}\"," if !ipv6.empty? + nic_tmp << "VCENTER_ADDITIONALS_IP4=\"#{nic[:ipv4_additionals]}\",\n" if nic[:ipv4_additionals] + nic_tmp << "VCENTER_IP6=\"#{nic[:ipv6]}\",\n" if nic[:ipv6] + nic_tmp << "IP6_GLOBAL=\"#{nic[:ipv6_global]}\",\n" if nic[:ipv6_global] + nic_tmp << "IP6_ULA=\"#{nic[:ipv6_ula]}\",\n" if nic[:ipv6_ula] + nic_tmp << "VCENTER_ADDITIONALS_IP6=\"#{nic[:ipv6_additionals]}\",\n" if nic[:ipv6_additionals] + end - # This is the existing nic info - nic_tmp << "AR_ID=\"#{last_id}\",\n" - nic_tmp << "MAC=\"#{nic[:mac]}\",\n" if nic[:mac] and ipv4.empty? and ipv6.empty? - nic_tmp << "IP=\"#{ipv4}\"," if !ipv4.empty? - nic_tmp << "IP=\"#{ipv6}\"," if !ipv6.empty? - nic_tmp << "VCENTER_ADDITIONALS_IP4=\"#{nic[:ipv4_additionals]}\",\n" if nic[:ipv4_additionals] - nic_tmp << "VCENTER_IP6=\"#{nic[:ipv6]}\",\n" if nic[:ipv6] - nic_tmp << "IP6_GLOBAL=\"#{nic[:ipv6_global]}\",\n" if nic[:ipv6_global] - nic_tmp << "IP6_ULA=\"#{nic[:ipv6_ula]}\",\n" if nic[:ipv6_ula] - nic_tmp << "VCENTER_ADDITIONALS_IP6=\"#{nic[:ipv6_additionals]}\",\n" if nic[:ipv6_additionals] nic_tmp << "OPENNEBULA_MANAGED=\"NO\"\n" nic_tmp << "]\n"