Class: Y2Network::Wicked::ConnectionConfigReaders::Base

Inherits:
Object
  • Object
show all
Defined in:
src/lib/y2network/wicked/connection_config_readers/base.rb

Overview

This is the base class for connection config readers.

The derived classes should implement #update_connection_config method. methods.

Direct Known Subclasses

Bonding, Bridge, Ctc, Dummy, Ethernet, Hsi, Infiniband, Lcs, Qeth, Tap, Tun, Usb, Vlan, Wireless

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(file, issues_list) ⇒ Base

Constructor

Parameters:

  • file (CFA::InterfaceFile)

    Interface's configuration file

  • issues_list (Y2Issues::List)

    List to register issues



42
43
44
45
# File 'src/lib/y2network/wicked/connection_config_readers/base.rb', line 42

def initialize(file, issues_list)
  @file = file
  @issues_list = issues_list
end

Instance Attribute Details

#fileCFA::InterfaceFile (readonly)

Returns Interface's configuration file.

Returns:



36
37
38
# File 'src/lib/y2network/wicked/connection_config_readers/base.rb', line 36

def file
  @file
end

Instance Method Details

#connection_configY2Network::ConnectionConfig::Base

Builds a connection configuration object



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'src/lib/y2network/wicked/connection_config_readers/base.rb', line 50

def connection_config
  connection_class.new.tap do |conn|
    conn.bootproto = find_bootproto
    conn.description = file.name
    conn.interface = file.interface
    conn.ip = all_ips.find { |i| i.id.empty? }
    conn.ip_aliases = all_ips.reject { |i| i.id.empty? }
    conn.name = file.interface
    conn.lladdress = file.lladdr
    conn.startmode = find_startmode
    conn.startmode.priority = file.ifplugd_priority if conn.startmode.name == "ifplugd"
    conn.ethtool_options = file.ethtool_options
    conn.firewall_zone = file.zone
    if file.dhclient_set_hostname
      conn.dhclient_set_hostname = file.dhclient_set_hostname == "yes"
    end
    conn.hostnames = hostnames(conn)
    conn.mtu = file.mtu

    update_connection_config(conn)
  end
end