module DefaultHostgroupBaseHostPatch
Public Instance Methods
find_match(facts_map)
click to toggle source
# File lib/default_hostgroup_base_host_patch.rb, line 47 def find_match(facts_map) facts_map.each do |group_name, facts| hg = Hostgroup.find_by_title(group_name) return hg if hg.present? && group_matches?(facts) end Rails.logger.info 'No match ...' false end
group_matches?(facts)
click to toggle source
# File lib/default_hostgroup_base_host_patch.rb, line 56 def group_matches?(facts) facts.each do |fact_name, fact_regex| fact_regex.gsub!(%r{(\A/|/\z)}, '') host_fact_value = facts_hash[fact_name] Rails.logger.info "Fact = #{fact_name}" Rails.logger.info "Regex = #{fact_regex}" return true if Regexp.new(fact_regex).match(host_fact_value) end false end
host_has_no_hostgroup_or_forced?()
click to toggle source
# File lib/default_hostgroup_base_host_patch.rb, line 87 def host_has_no_hostgroup_or_forced? unless Setting[:force_hostgroup_match] if hostgroup.present? Rails.logger.debug 'DefaultHostgroupMatch: skipping, host has hostgroup' return false end end true end
host_new_or_forced?()
click to toggle source
# File lib/default_hostgroup_base_host_patch.rb, line 75 def host_new_or_forced? if Setting[:force_hostgroup_match_only_new] # hosts have already been saved during import_host, so test the creation age instead new_host = ((Time.current - created_at) < 300) unless new_host && hostgroup.nil? && reports.empty? Rails.logger.debug 'DefaultHostgroupMatch: skipping, host exists' return false end end true end
settings_exist?()
click to toggle source
# File lib/default_hostgroup_base_host_patch.rb, line 67 def settings_exist? unless SETTINGS[:default_hostgroup] && SETTINGS[:default_hostgroup][:facts_map] Rails.logger.warn 'DefaultHostgroupMatch: Could not load :default_hostgroup map from Settings.' return false end true end