Skip to content
This repository has been archived by the owner on Jun 19, 2020. It is now read-only.

Commit

Permalink
Merge 78259a3 into be722ac
Browse files Browse the repository at this point in the history
  • Loading branch information
oanatmaria committed May 11, 2020
2 parents be722ac + 78259a3 commit 666abce
Show file tree
Hide file tree
Showing 58 changed files with 1,218 additions and 69 deletions.
1 change: 1 addition & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ Metrics/ClassLength:
- 'lib/custom_facts/util/collection.rb'
- 'lib/framework/core/options/option_store.rb'
- 'lib/framework/cli/cli.rb'
- 'lib/resolvers/networking_linux_resolver.rb'

Style/DoubleNegation:
Exclude:
Expand Down
16 changes: 3 additions & 13 deletions .rubocop_todo.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# This configuration was generated by
# `rubocop --auto-gen-config --exclude-limit 1000`
# on 2020-05-07 16:13:14 +0300 using RuboCop version 0.74.0.
# on 2020-05-11 09:20:37 +0300 using RuboCop version 0.74.0.
# The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new
Expand Down Expand Up @@ -110,7 +110,7 @@ RSpec/LeakyConstantDeclaration:
- 'spec/facter/resolvers/macosx/mountpoints_resolver_spec.rb'
- 'spec/facter/resolvers/utils/windows/network_utils_spec.rb'

# Offense count: 108
# Offense count: 99
# Configuration parameters: EnforcedStyle.
# SupportedStyles: have_received, receive
RSpec/MessageSpies:
Expand Down Expand Up @@ -147,18 +147,10 @@ RSpec/MessageSpies:
- 'spec/facter/facts/windows/dmi/product/serial_number_spec.rb'
- 'spec/facter/facts/windows/dmi/product/uuid_spec.rb'
- 'spec/facter/facts/windows/identity/user_spec.rb'
- 'spec/facter/facts/windows/ipaddress6_interfaces_spec.rb'
- 'spec/facter/facts/windows/ipaddress_interfaces_spec.rb'
- 'spec/facter/facts/windows/macaddress_interfaces_spec.rb'
- 'spec/facter/facts/windows/memory/system/available_bytes_spec.rb'
- 'spec/facter/facts/windows/memory/system/available_spec.rb'
- 'spec/facter/facts/windows/memory/system/total_bytes_spec.rb'
- 'spec/facter/facts/windows/memory/system/total_spec.rb'
- 'spec/facter/facts/windows/mtu_interfaces_spec.rb'
- 'spec/facter/facts/windows/netmask6_interfaces_spec.rb'
- 'spec/facter/facts/windows/netmask_interfaces_spec.rb'
- 'spec/facter/facts/windows/network6_interfaces_spec.rb'
- 'spec/facter/facts/windows/network_interfaces_spec.rb'
- 'spec/facter/facts/windows/os/architecture_spec.rb'
- 'spec/facter/facts/windows/os/family_spec.rb'
- 'spec/facter/facts/windows/os/hardware_spec.rb'
Expand All @@ -173,7 +165,6 @@ RSpec/MessageSpies:
- 'spec/facter/facts/windows/processors/physicalcount_spec.rb'
- 'spec/facter/facts/windows/ruby/platform_spec.rb'
- 'spec/facter/facts/windows/ruby/sitedir_spec.rb'
- 'spec/facter/facts/windows/scope6_interfaces_spec.rb'
- 'spec/facter/resolvers/utils/aix/odm_query_spec.rb'

# Offense count: 26
Expand All @@ -187,7 +178,7 @@ RSpec/SubjectStub:
- 'spec/custom_facts/util/fact_spec.rb'
- 'spec/custom_facts/util/resolution_spec.rb'

# Offense count: 132
# Offense count: 131
# Configuration parameters: IgnoreNameless, IgnoreSymbolicNames.
RSpec/VerifiedDoubles:
Exclude:
Expand All @@ -212,7 +203,6 @@ RSpec/VerifiedDoubles:
- 'spec/facter/facts/windows/identity/privileged_spec.rb'
- 'spec/facter/facts/windows/memory/system/capacity_spec.rb'
- 'spec/facter/facts/windows/memory/system/used_bytes_spec.rb'
- 'spec/facter/facts/windows/networking/dhcp_spec.rb'
- 'spec/facter/facts/windows/networking/interfaces_spec.rb'
- 'spec/facter/facts/windows/networking/mtu_spec.rb'
- 'spec/facter/facts/windows/processors/models_spec.rb'
Expand Down
26 changes: 26 additions & 0 deletions lib/facts/linux/dhcp_servers.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# frozen_string_literal: true

module Facts
module Linux
class DhcpServers
FACT_NAME = 'dhcp_servers'

def call_the_resolver
fact_value = construct_addresses_hash
Facter::ResolvedFact.new(FACT_NAME, !fact_value || fact_value.empty? ? nil : fact_value, :legacy)
end

private

def construct_addresses_hash
primary = Facter::Resolvers::NetworkingLinux.resolve(:primary_interface)
interfaces = Facter::Resolvers::NetworkingLinux.resolve(:interfaces)
return unless interfaces

servers = { system: interfaces[primary][:dhcp] }
interfaces&.each { |interface_name, info| servers[interface_name] = info[:dhcp] if info[:dhcp] }
servers
end
end
end
end
20 changes: 20 additions & 0 deletions lib/facts/linux/ipaddress6_interfaces.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# frozen_string_literal: true

module Facts
module Linux
class Ipaddress6Interfaces
FACT_NAME = 'ipaddress6_.*'
TYPE = :legacy

def call_the_resolver
arr = []
interfaces = Facter::Resolvers::NetworkingLinux.resolve(:interfaces)
interfaces&.each do |interface_name, info|
arr << Facter::ResolvedFact.new("ipaddress6_#{interface_name}", info[:ip6], :legacy) if info[:ip6]
end

arr
end
end
end
end
20 changes: 20 additions & 0 deletions lib/facts/linux/ipaddress_interfaces.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# frozen_string_literal: true

module Facts
module Linux
class IpaddressInterfaces
FACT_NAME = 'ipaddress_.*'
TYPE = :legacy

def call_the_resolver
arr = []
interfaces = Facter::Resolvers::NetworkingLinux.resolve(:interfaces)
interfaces&.each do |interface_name, info|
arr << Facter::ResolvedFact.new("ipaddress_#{interface_name}", info[:ip], :legacy) if info[:ip]
end

arr
end
end
end
end
20 changes: 20 additions & 0 deletions lib/facts/linux/macaddress_interfaces.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# frozen_string_literal: true

module Facts
module Linux
class MacaddressInterfaces
FACT_NAME = 'macaddress_.*'
TYPE = :legacy

def call_the_resolver
arr = []
interfaces = Facter::Resolvers::NetworkingLinux.resolve(:interfaces)
interfaces&.each do |interface_name, info|
arr << Facter::ResolvedFact.new("macaddress_#{interface_name}", info[:mac], :legacy) if info[:mac]
end

arr
end
end
end
end
20 changes: 20 additions & 0 deletions lib/facts/linux/mtu_interfaces.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# frozen_string_literal: true

module Facts
module Linux
class MtuInterfaces
FACT_NAME = 'mtu_.*'
TYPE = :legacy

def call_the_resolver
arr = []
interfaces = Facter::Resolvers::NetworkingLinux.resolve(:interfaces)
interfaces&.each do |interface_name, info|
arr << Facter::ResolvedFact.new("mtu_#{interface_name}", info[:mtu], :legacy) if info[:mtu]
end

arr
end
end
end
end
20 changes: 20 additions & 0 deletions lib/facts/linux/netmask6_interfaces.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# frozen_string_literal: true

module Facts
module Linux
class Netmask6Interfaces
FACT_NAME = 'netmask6_.*'
TYPE = :legacy

def call_the_resolver
arr = []
interfaces = Facter::Resolvers::NetworkingLinux.resolve(:interfaces)
interfaces&.each do |interface_name, info|
arr << Facter::ResolvedFact.new("netmask6_#{interface_name}", info[:netmask6], :legacy) if info[:netmask6]
end

arr
end
end
end
end
20 changes: 20 additions & 0 deletions lib/facts/linux/netmask_interfaces.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# frozen_string_literal: true

module Facts
module Linux
class NetmaskInterfaces
FACT_NAME = 'netmask_.*'
TYPE = :legacy

def call_the_resolver
arr = []
interfaces = Facter::Resolvers::NetworkingLinux.resolve(:interfaces)
interfaces&.each do |interface_name, info|
arr << Facter::ResolvedFact.new("netmask_#{interface_name}", info[:netmask], :legacy) if info[:netmask]
end

arr
end
end
end
end
20 changes: 20 additions & 0 deletions lib/facts/linux/network6_interfaces.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# frozen_string_literal: true

module Facts
module Linux
class Network6Interfaces
FACT_NAME = 'network6_.*'
TYPE = :legacy

def call_the_resolver
arr = []
interfaces = Facter::Resolvers::NetworkingLinux.resolve(:interfaces)
interfaces&.each do |interface_name, info|
arr << Facter::ResolvedFact.new("network6_#{interface_name}", info[:network6], :legacy) if info[:network6]
end

arr
end
end
end
end
20 changes: 20 additions & 0 deletions lib/facts/linux/network_interfaces.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# frozen_string_literal: true

module Facts
module Linux
class NetworkInterfaces
FACT_NAME = 'network_.*'
TYPE = :legacy

def call_the_resolver
arr = []
interfaces = Facter::Resolvers::NetworkingLinux.resolve(:interfaces)
interfaces&.each do |interface_name, info|
arr << Facter::ResolvedFact.new("network_#{interface_name}", info[:network], :legacy) if info[:network]
end

arr
end
end
end
end
20 changes: 20 additions & 0 deletions lib/facts/linux/networking/dhcp.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# frozen_string_literal: true

module Facts
module Linux
module Networking
class Dhcp
FACT_NAME = 'networking.dhcp'

def call_the_resolver
interfaces = Facter::Resolvers::NetworkingLinux.resolve(:interfaces)
primary = Facter::Resolvers::NetworkingLinux.resolve(:primary_interface)

fact_value = interfaces[primary][:dhcp] if interfaces && interfaces[primary]

Facter::ResolvedFact.new(FACT_NAME, fact_value)
end
end
end
end
end
5 changes: 4 additions & 1 deletion lib/facts/linux/networking/ip.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,10 @@ class Ip
ALIASES = 'ipaddress'

def call_the_resolver
fact_value = Facter::Resolvers::NetworkingLinux.resolve(:ip)
interfaces = Facter::Resolvers::NetworkingLinux.resolve(:interfaces)
primary = Facter::Resolvers::NetworkingLinux.resolve(:primary_interface)

fact_value = interfaces[primary][:ip] if interfaces && interfaces[primary]

[Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
end
Expand Down
21 changes: 21 additions & 0 deletions lib/facts/linux/networking/ip6.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# frozen_string_literal: true

module Facts
module Linux
module Networking
class Ip6
FACT_NAME = 'networking.ip6'
ALIASES = 'ipaddress6'

def call_the_resolver
interfaces = Facter::Resolvers::NetworkingLinux.resolve(:interfaces)
primary = Facter::Resolvers::NetworkingLinux.resolve(:primary_interface)

fact_value = interfaces[primary][:ip6] if interfaces && interfaces[primary]

[Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
end
end
end
end
end
5 changes: 4 additions & 1 deletion lib/facts/linux/networking/mac.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,10 @@ class Mac
ALIASES = 'macaddress'

def call_the_resolver
fact_value = Facter::Resolvers::NetworkingLinux.resolve(:macaddress)
interfaces = Facter::Resolvers::NetworkingLinux.resolve(:interfaces)
primary = Facter::Resolvers::NetworkingLinux.resolve(:primary_interface)

fact_value = interfaces[primary][:mac] if interfaces && interfaces[primary]

[Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
end
Expand Down
20 changes: 20 additions & 0 deletions lib/facts/linux/networking/mtu.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# frozen_string_literal: true

module Facts
module Linux
module Networking
class Mtu
FACT_NAME = 'networking.mtu'

def call_the_resolver
interfaces = Facter::Resolvers::NetworkingLinux.resolve(:interfaces)
primary = Facter::Resolvers::NetworkingLinux.resolve(:primary_interface)

fact_value = interfaces[primary][:mtu] if interfaces && interfaces[primary]

Facter::ResolvedFact.new(FACT_NAME, fact_value)
end
end
end
end
end
21 changes: 21 additions & 0 deletions lib/facts/linux/networking/netmask.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# frozen_string_literal: true

module Facts
module Linux
module Networking
class Netmask
FACT_NAME = 'networking.netmask'
ALIASES = 'netmask'

def call_the_resolver
interfaces = Facter::Resolvers::NetworkingLinux.resolve(:interfaces)
primary = Facter::Resolvers::NetworkingLinux.resolve(:primary_interface)

fact_value = interfaces[primary][:netmask] if interfaces && interfaces[primary]

[Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
end
end
end
end
end
21 changes: 21 additions & 0 deletions lib/facts/linux/networking/netmask6.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# frozen_string_literal: true

module Facts
module Linux
module Networking
class Netmask6
FACT_NAME = 'networking.netmask6'
ALIASES = 'netmask6'

def call_the_resolver
interfaces = Facter::Resolvers::NetworkingLinux.resolve(:interfaces)
primary = Facter::Resolvers::NetworkingLinux.resolve(:primary_interface)

fact_value = interfaces[primary][:netmask6] if interfaces && interfaces[primary]

[Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
end
end
end
end
end
Loading

0 comments on commit 666abce

Please sign in to comment.