diff --git a/lib/facter/util/facts/posix/virtual_detector.rb b/lib/facter/util/facts/posix/virtual_detector.rb index 2ffd4c839..7ae0f88f6 100644 --- a/lib/facter/util/facts/posix/virtual_detector.rb +++ b/lib/facter/util/facts/posix/virtual_detector.rb @@ -16,10 +16,14 @@ def platform private def check_docker_lxc + return unless Object.const_defined?('Facter::Resolvers::Linux::Containers') + Facter::Resolvers::Linux::Containers.resolve(:vm) end def check_gce + return unless Object.const_defined?('Facter::Resolvers::Linux::DmiBios') + bios_vendor = Facter::Resolvers::Linux::DmiBios.resolve(:bios_vendor) 'gce' if bios_vendor&.include?('Google') end @@ -61,6 +65,8 @@ def check_openbsd end def check_other_facts + return unless Object.const_defined?('Facter::Resolvers::Linux::DmiBios') + bios_vendor = Facter::Resolvers::Linux::DmiBios.resolve(:bios_vendor) return 'kvm' if bios_vendor&.include?('Amazon EC2')