Skip to content

Commit

Permalink
Do not assign interface section empty values
Browse files Browse the repository at this point in the history
  • Loading branch information
teclator committed Feb 6, 2020
1 parent c9bd24e commit 38f2c80
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 25 deletions.
69 changes: 45 additions & 24 deletions src/lib/y2network/autoinst/interfaces_reader.rb
Original file line number Diff line number Diff line change
Expand Up @@ -91,8 +91,12 @@ def load_generic(config, interface_section)
# TODO: report if ipaddr missing for static config
ipaddr = IPAddress.from_string(interface_section.ipaddr)
# Assign first netmask, as prefixlen has precedence so it will overwrite it
ipaddr.netmask = interface_section.netmask if interface_section.netmask
ipaddr.prefix = interface_section.prefixlen.to_i if interface_section.prefixlen
if !interface_section.netmask.to_s.empty?
ipaddr.netmask = interface_section.netmask
end
if !interface_section.prefixlen.to_s.empty?
ipaddr.prefix = interface_section.prefixlen.to_i
end
if !interface_section.broadcast.empty?
broadcast = IPAddress.new(interface_section.broadcast)
end
Expand All @@ -112,17 +116,17 @@ def load_generic(config, interface_section)
ipaddr.prefix = alias_h["PREFIXLEN"].delete("/").to_i if alias_h["PREFIXLEN"]
config.ip_aliases << ConnectionConfig::IPConfig.new(ipaddr, label: alias_h["LABEL"])
end
if interface_section.startmode
if !interface_section.startmode.to_s.empty?
config.startmode = Startmode.create(interface_section.startmode)
end
if config.startmode.name == "ifplugd" && interface_section.ifplugd_priority
if config.startmode.name == "ifplugd" && !interface_section.ifplugd_priority.to_s.empty?
config.startmode.priority = interface_section.ifplugd_priority
end
config.mtu = interface_section.mtu.to_i if interface_section.mtu
config.mtu = interface_section.mtu.to_i if !interface_section.mtu.to_s.empty?
if interface_section.ethtool_options
config.ethtool_options = interface_section.ethtool_options
end
config.firewall_zone = interface_section.zone if interface_section.zone
config.firewall_zone = interface_section.zone if !interface_section.zone.to_s.empty?
if !interface_section.dhclient_set_hostname.empty?
config.dhclient_set_hostname = interface_section.dhclient_set_hostname == "yes"
end
Expand All @@ -131,67 +135,84 @@ def load_generic(config, interface_section)
end

def load_wireless(config, interface_section)
config.mode = interface_section.wireless_mode if interface_section.wireless_mode
config.ap = interface_section.wireless_ap if interface_section.wireless_ap
if interface_section.wireless_bitrate
if !interface_section.wireless_mode.to_s.empty?
config.mode = interface_section.wireless_mode
end
if !interface_section.wireless_ap.to_s.empty?
config.ap = interface_section.wireless_ap
end
if !interface_section.wireless_bitrate.to_s.empty?
config.bitrate = interface_section.wireless_bitrate.to_f
end
config.ca_cert = interface_section.wireless_ca_cert if interface_section.wireless_ca_cert
if interface_section.wireless_channel
if !interface_section.wireless_channel.to_s.empty?
config.channel = interface_section.wireless_channel.to_i
end
if interface_section.wireless_client_cert
if !interface_section.wireless_client_cert.to_s.empty?
config.client_cert = interface_section.wireless_client_cert
end
if interface_section.wireless_client_key
if !interface_section.wireless_client_key.to_s.empty?
config.client_key = interface_section.wireless_client_key
end
config.essid = interface_section.wireless_essid if interface_section.wireless_essid
if interface_section.wireless_auth_mode
config.auth_mode = interface_section.wireless_auth_mode.to_sym
end
config.nick = interface_section.wireless_nick if interface_section.wireless_nick
config.nwid = interface_section.wireless_nwid if interface_section.wireless_nwid
if interface_section.wireless_wpa_anonid
if !interface_section.wireless_nick.to_s.empty?
config.nick = interface_section.wireless_nick
end
if !interface_section.wireless_nwid.to_s.empty?
config.nwid = interface_section.wireless_nwid
end

if !interface_section.wireless_wpa_anonid.to_s.empty?
config.wpa_anonymous_identity = interface_section.wireless_wpa_anonid
end
if interface_section.wireless_wpa_identity
if !interface_section.wireless_wpa_identity.to_s.empty?
config.wpa_identity = interface_section.wireless_wpa_identity
end
if interface_section.wireless_wpa_password
if !interface_section.wireless_wpa_password.to_s.empty?
config.wpa_password = interface_section.wireless_wpa_password
end
config.wpa_psk = interface_section.wireless_wpa_psk if interface_section.wireless_wpa_psk
if !interface_section.wireless_wpa_psk.to_s.empty?
config.wpa_psk = interface_section.wireless_wpa_psk
end
config.keys = []
(0..3).each do |i|
key = interface_section.public_send(:"wireless_key#{i}")
config.keys << key if key && !key.empty?
end
config.default_key = interface_section.wireless_key.to_i if interface_section.wireless_key
if interface_section.wireless_key_length
if !interface_section.wireless_key.to_s.empty?
config.default_key = interface_section.wireless_key.to_i
end
if !interface_section.wireless_key_length.to_s.empty?
config.key_length = interface_section.wireless_key_length.to_i
end

nil
end

def load_vlan(config, interface_section)
config.vlan_id = interface_section.vlan_id.to_i if interface_section.vlan_id
if !interface_section.vlan_id.to_s.empty?
config.vlan_id = interface_section.vlan_id.to_i
end
config.parent_device = interface_section.etherdevice
end

def load_bridge(config, interface_section)
config.ports = interface_section.bridge_ports.split
config.stp = interface_section.bridge_stp == "on" if interface_section.bridge_stp
if interface_section.bridge_forward_delay
if !interface_section.bridge_stp.to_s.empty?
config.stp = interface_section.bridge_stp == "on"
end
if !interface_section.bridge_forward_delay.to_s.empty?
config.forward_delay = interface_section.bridge_forward_delay.to_i
end

nil
end

def load_bonding(config, interface_section)
if interface_section.bonding_module_opts
if !interface_section.bonding_module_opts.empty?
config.options = interface_section.bonding_module_opts
end
config.slaves = []
Expand Down
1 change: 0 additions & 1 deletion test/y2network/autoinst/interfaces_reader_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@
"device" => "eth1",
"name" => "",
"ipaddr" => "192.168.10.10",
"netmask" => "255.255.255.0",
"dhclient_set_hostname" => "no",
"prefixlen" => "24"
},
Expand Down

0 comments on commit 38f2c80

Please sign in to comment.