diff --git a/app/services/foreman_salt/fact_parser.rb b/app/services/foreman_salt/fact_parser.rb index 87c3afc..9acfc01 100644 --- a/app/services/foreman_salt/fact_parser.rb +++ b/app/services/foreman_salt/fact_parser.rb @@ -51,12 +51,20 @@ module ForemanSalt nil end + def ignored_interfaces + @ignored_interfaces ||= Setting.convert_array_to_regexp(Setting[:ignored_interface_identifiers]) + end + def interfaces interfaces = {} facts.each do |fact, value| next unless value && fact.to_s =~ /^ip_interfaces/ (_, interface, number) = fact.split(FactName::SEPARATOR) + if interface.match(ignored_interfaces) + logger.debug { "skipping interface with identifier '#{interface}' since it was matched by 'ignored_interface_identifiers' setting " } + next + end interface_name = if number == '0' || number.nil? interface