module DefaultHostgroupBaseHostPatch::Overrides
Public Instance Methods
import_facts(facts, source_proxy = nil, without_alias = false)
click to toggle source
Calls superclass method
# File lib/default_hostgroup_base_host_patch.rb, line 11 def import_facts(facts, source_proxy = nil, without_alias = false) # 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.hostgroup = new_hostgroup if Setting[:force_host_environment] == true self.environment = new_hostgroup.environment end save(validate: false) Rails.logger.info "DefaultHostgroupMatch: #{hostname} added to #{new_hostgroup}" result end