File tree Expand file tree Collapse file tree 2 files changed +18
-1
lines changed
lib/facter/util/facts/posix
spec/facter/util/facts/posix Expand file tree Collapse file tree 2 files changed +18
-1
lines changed Original file line number Diff line number Diff line change @@ -7,7 +7,7 @@ module Posix
77 module VirtualDetector
88 class << self
99 def platform
10- @@fact_value ||= check_docker_lxc || check_freebsd || check_gce || retrieve_from_virt_what
10+ @@fact_value ||= check_docker_lxc || check_freebsd || check_gce || check_smartos_lx || retrieve_from_virt_what
1111 @@fact_value ||= check_vmware || check_open_vz || check_vserver || check_xen || check_other_facts
1212 @@fact_value ||= check_lspci || 'physical'
1313
@@ -25,6 +25,10 @@ def check_gce
2525 'gce' if bios_vendor &.include? ( 'Google' )
2626 end
2727
28+ def check_smartos_lx
29+ 'smartos-lx' if Facter ::Resolvers ::Uname . resolve ( :kernelversion ) == 'BrandZ virtual linux'
30+ end
31+
2832 def check_vmware
2933 Facter ::Resolvers ::Vmware . resolve ( :vm )
3034 end
Original file line number Diff line number Diff line change 241241 end
242242 end
243243
244+ context 'when smartos-lx' do
245+ let ( :value ) { 'smartos-lx' }
246+
247+ before do
248+ allow ( Facter ::Resolvers ::VirtWhat ) . to receive ( :resolve ) . with ( :vm ) . and_return ( 'lxc' )
249+ allow ( Facter ::Resolvers ::Uname ) . to receive ( :resolve ) . with ( :kernelversion ) . and_return ( 'BrandZ virtual linux' )
250+ end
251+
252+ it 'returns smartos-lx' do
253+ expect ( detector . platform ) . to eq ( value )
254+ end
255+ end
256+
244257 context 'when all resolvers return nil ' do
245258 let ( :vm ) { 'physical' }
246259
You can’t perform that action at this time.
0 commit comments