module DefaultHostgroupBaseHostPatch::Overrides
Public Instance Methods
import_facts(facts, source_proxy = nil, without_alias = false)
click to toggle source
rubocop:disable Metrics/AbcSize,Metrics/CyclomaticComplexity
Calls superclass method
# File lib/default_hostgroup_base_host_patch.rb, line 14 def import_facts(facts, source_proxy = nil, without_alias = false) # rubocop:enable Metrics/AbcSize,Metrics/CyclomaticComplexity # Load the facts anyway, hook onto the end of it result = super(facts, source_proxy) # Module#prepend removes the import_facts_without_match_hostgroup method, so use # a flag to return here if needed return result if without_alias # Check settings are created return result unless settings_exist? Rails.logger.debug "DefaultHostgroupMatch: performing Hostgroup match" return result unless host_new_or_forced? return result unless host_has_no_hostgroup_or_forced? facts_map = SETTINGS[:default_hostgroup][:facts_map] new_hostgroup = find_match(facts_map) return result unless new_hostgroup self.host.hostgroup = new_hostgroup self.host.environment = new_hostgroup.environment if Setting[:force_host_environment] == true self.host.save(validate: false) Rails.logger.info "DefaultHostgroupMatch: #{facts["hostname"]} added to #{new_hostgroup}" result end