Project

General

Profile

« Previous | Next » 

Revision 12a32535

Added by Baptiste over 7 years ago

Fixes #10539 - Add default names for ifaces for oVirt CR VMs

View differences:

app/models/compute_resources/foreman/model/ovirt.rb
host.architecture.name == 'x86_64' ? 'x64' : host.architecture.name.downcase if host.architecture
end
def default_iface_name(interfaces)
nic_name_num = 1
name_blacklist = interfaces.map{ |i| i[:name]}.reject{|n| n.blank?}
nic_name_num += 1 while name_blacklist.include?("nic#{nic_name_num}")
"nic#{nic_name_num}"
end
def create_interfaces(vm, attrs)
#first remove all existing interfaces
vm.interfaces.each do |interface|
......
end if vm.interfaces
#add interfaces
interfaces = nested_attributes_for :interfaces, attrs
interfaces.map{ |i| vm.add_interface(i)}
interfaces.map do |interface|
interface[:name] = default_iface_name(interfaces) if interface[:name].empty?
vm.add_interface(interface)
end
vm.interfaces.reload
end
......
interfaces = nested_attributes_for :interfaces, attrs
interfaces.each do |interface|
vm.destroy_interface(:id => interface[:id]) if interface[:_delete] == '1' && interface[:id]
vm.add_interface(interface) if interface[:id].blank?
if interface[:id].blank?
interface[:name] = default_iface_name(interfaces) if interface[:name].empty?
vm.add_interface(interface)
end
end
end

Also available in: Unified diff