diff --git a/lib/foreman_uuid_boot/engine.rb b/lib/foreman_uuid_boot/engine.rb index 4b1c3255e5f6911ace0ecaad50d4a4017067b047..5f9ebc8bfea19a07e4e6618a720cac28f5e8522a 100644 --- a/lib/foreman_uuid_boot/engine.rb +++ b/lib/foreman_uuid_boot/engine.rb @@ -28,16 +28,20 @@ module ForemanUuidBoot config.to_prepare do ::Foreman::UnattendedInstallation::HostFinder.prepend ForemanUuidBoot::HostFinderExtensions - # Slight hack for foreman_discovery - to store UUID for provision - begin - # Ensure that Host::Discovered applies host facets - unless ::Host::Discovered.include? Facets::ModelExtensionsBase - ::Host::Discovered.include SelectiveClone - ::Host::Discovered.include Facets::ManagedHostExtensions - ::Host::Discovered.prepend ForemanUuidBoot::HostDiscoveredExtensions + if Foreman::Plugin.installed?('foreman_discovery') + # Slight hack for foreman_discovery - to store UUID for provision + begin + # Ensure that Host::Discovered applies host facets + unless ::Host::Discovered.include? Facets::ModelExtensionsBase + ::Host::Discovered.include SelectiveClone + ::Host::Discovered.include Facets::ManagedHostExtensions + ::Host::Discovered.prepend ForemanUuidBoot::HostDiscoveredExtensions + + Rails.logger.info 'ForemanUuidBoot: Extended foreman_discovery with facet support' + end + rescue StandardError => e + Rails.logger.warn "ForemanUuidBoot: Failed to activate discovery extensions (#{e})" end - rescue NameError => e - Rails.logger.warn "ForemanUuidBoot: Discovery not installed(#{e}), skipping discovery extensions" end rescue StandardError => e Rails.logger.warn "ForemanUuidBoot: skipping engine hook(#{e})"