Class: Y2Network::Wicked::InterfacesReader

Inherits:
Object
  • Object
show all
Includes:
Yast::Wicked
Defined in:
src/lib/y2network/wicked/interfaces_reader.rb

Overview

This class reads physical interfaces and drivers

Constant Summary

Constants included from Yast::Wicked

Yast::Wicked::BASH_OUTPUT_PATH, Yast::Wicked::BASH_PATH, Yast::Wicked::IBFT_CMD, Yast::Wicked::WICKED_PATH

Instance Method Summary collapse

Methods included from Yast::Wicked

#firmware_configured_by?, #firmware_interfaces, #firmware_interfaces_by_extension, #ibft_interfaces, #parse_hostname, #parse_ntp_servers, #query_wicked, #reload_config

Instance Method Details

#driversArray<Y2Network::Driver>

Finds the available drivers

The available drivers are extracted from the physical interface drivers.

Returns:



80
81
82
83
84
85
86
87
88
# File 'src/lib/y2network/wicked/interfaces_reader.rb', line 80

def drivers
  return @drivers if @drivers

  physical_interfaces = interfaces.physical
  drivers_names = physical_interfaces.flat_map(&:drivers).map(&:name)
  drivers_names += interfaces.physical.map(&:custom_driver).compact
  drivers_names.uniq!
  @drivers = drivers_names.map { |n| Y2Network::Driver.from_system(n) }
end

#interfacesY2Network::InterfacesCollection

Returns the collection of physical interfaces



59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'src/lib/y2network/wicked/interfaces_reader.rb', line 59

def interfaces
  return @interfaces if @interfaces

  Hwinfo.reset
  physical_interfaces = Hwinfo.netcards.each_with_object([]) do |hwinfo, interfaces|
    physical_interface = build_physical_interface(hwinfo)
    next if physical_interface.type == InterfaceType::UNKNOWN
    next if physical_interface.name.to_s.empty?

    interfaces << physical_interface
  end

  @interfaces = Y2Network::InterfacesCollection.new(physical_interfaces)
end

#s390_devicesArray<Y2Network::ConnectionConfig::Base>

Returns the collection of s390 group devices

Returns:



49
50
51
52
53
54
# File 'src/lib/y2network/wicked/interfaces_reader.rb', line 49

def s390_devices
  return @s390_devices if @s390_devices

  devices = Yast::Arch.s390 ? S390GroupDevice.all : []
  @s390_devices = Y2Network::S390GroupDevicesCollection.new(devices)
end