1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-16 22:50:10 +03:00

B #3326: Do not set mac when importing template (#3327)

This commit is contained in:
sergiojvg 2019-05-11 14:47:45 -05:00 committed by Tino Vázquez
parent 59b7a1beb0
commit d93615811b

View File

@ -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"