From 04905be9cdcadbde197b93ba37b23243ae15514c Mon Sep 17 00:00:00 2001 From: Sebastian Miclea <sebastian.miclea@puppet.com> Date: Thu, 9 Jul 2020 13:11:01 +0300 Subject: [PATCH] (FACT-2656) Added dhcp for primary interface --- lib/facts/solaris/networking/dhcp.rb | 17 +++++++++++++++++ lib/resolvers/solaris/networking_resolver.rb | 8 ++++++++ 2 files changed, 25 insertions(+) create mode 100644 lib/facts/solaris/networking/dhcp.rb diff --git a/lib/facts/solaris/networking/dhcp.rb b/lib/facts/solaris/networking/dhcp.rb new file mode 100644 index 0000000000..218a2b723b --- /dev/null +++ b/lib/facts/solaris/networking/dhcp.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Facts + module Solaris + module Networking + class Dhcp + FACT_NAME = 'networking.dhcp' + + def call_the_resolver + fact_value = Facter::Resolvers::Solaris::Networking.resolve(:dhcp) + + Facter::ResolvedFact.new(FACT_NAME, fact_value) + end + end + end + end +end diff --git a/lib/resolvers/solaris/networking_resolver.rb b/lib/resolvers/solaris/networking_resolver.rb index 6e99606ca1..6850dcbdc4 100644 --- a/lib/resolvers/solaris/networking_resolver.rb +++ b/lib/resolvers/solaris/networking_resolver.rb @@ -35,6 +35,8 @@ def read_facts(fact_name) end @fact_list = { interfaces: @fact_list } + primary_interface + extract_dhcp(@fact_list[:primary_interface]) @fact_list[fact_name] end @@ -132,6 +134,12 @@ def primary_interface @fact_list[:primary_interface] = result.match(/interface: (.+)/)&.captures&.first end + + def extract_dhcp(interface_name) + result = Facter::Core::Execution.execute("dhcpinfo -i #{interface_name} ServerID", logger: log) + + @fact_list[:dhcp] = result.chomp + end end end end