facter 4.0.36 → 4.0.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. checksums.yaml +4 -4
  2. data/bin/facter +3 -4
  3. data/lib/facter.rb +163 -23
  4. data/lib/facter/custom_facts/core/execution/base.rb +36 -6
  5. data/lib/facter/custom_facts/util/directory_loader.rb +10 -2
  6. data/lib/facter/custom_facts/util/fact.rb +4 -1
  7. data/lib/facter/facts/aix/disks.rb +1 -1
  8. data/lib/facter/facts/aix/kernel.rb +1 -1
  9. data/lib/facter/facts/aix/kernelmajversion.rb +1 -1
  10. data/lib/facter/facts/aix/kernelrelease.rb +1 -1
  11. data/lib/facter/facts/aix/kernelversion.rb +1 -1
  12. data/lib/facter/facts/aix/os/release.rb +1 -1
  13. data/lib/facter/facts/linux/cloud.rb +15 -0
  14. data/lib/facter/facts/linux/disks.rb +1 -1
  15. data/lib/facter/facts/linux/ec2_metadata.rb +5 -27
  16. data/lib/facter/facts/linux/ec2_userdata.rb +5 -27
  17. data/lib/facter/facts/linux/is_virtual.rb +7 -46
  18. data/lib/facter/facts/linux/partitions.rb +1 -1
  19. data/lib/facter/facts/linux/virtual.rb +3 -58
  20. data/lib/facter/facts/rhel/os/release.rb +2 -2
  21. data/lib/facter/facts/solaris/disks.rb +1 -1
  22. data/lib/facter/facts/ubuntu/lsbdistrelease.rb +23 -0
  23. data/lib/facter/facts_utils/virtual_detector.rb +78 -0
  24. data/lib/facter/framework/benchmarking/timer.rb +23 -0
  25. data/lib/facter/framework/cli/cli.rb +86 -34
  26. data/lib/facter/framework/cli/cli_launcher.rb +34 -38
  27. data/lib/facter/framework/config/fact_groups.rb +36 -2
  28. data/lib/facter/framework/core/cache_manager.rb +30 -18
  29. data/lib/facter/framework/core/fact/internal/internal_fact_manager.rb +2 -1
  30. data/lib/facter/framework/core/fact_loaders/fact_loader.rb +14 -11
  31. data/lib/facter/framework/core/fact_loaders/internal_fact_loader.rb +7 -7
  32. data/lib/facter/framework/core/file_loader.rb +2 -0
  33. data/lib/facter/framework/core/options/config_file_options.rb +5 -3
  34. data/lib/facter/framework/core/options/option_store.rb +30 -11
  35. data/lib/facter/framework/core/session_cache.rb +1 -4
  36. data/lib/facter/framework/logging/logger.rb +3 -11
  37. data/lib/facter/patches/sysfilesystem/sys/statvfs.rb +92 -0
  38. data/lib/facter/resolvers/aio_agent_version.rb +0 -1
  39. data/lib/facter/resolvers/aix/architecture_resolver.rb +0 -1
  40. data/lib/facter/resolvers/aix/disks.rb +2 -3
  41. data/lib/facter/resolvers/aix/filesystem_resolver.rb +0 -1
  42. data/lib/facter/resolvers/aix/hardware_resolver.rb +0 -1
  43. data/lib/facter/resolvers/aix/load_averages_resolver.rb +0 -1
  44. data/lib/facter/resolvers/aix/memory.rb +2 -3
  45. data/lib/facter/resolvers/aix/mountpoints.rb +0 -1
  46. data/lib/facter/resolvers/aix/networking_resolver.rb +0 -1
  47. data/lib/facter/resolvers/aix/nim.rb +0 -1
  48. data/lib/facter/resolvers/aix/os_level.rb +27 -0
  49. data/lib/facter/resolvers/aix/partitions.rb +2 -3
  50. data/lib/facter/resolvers/aix/processors.rb +0 -1
  51. data/lib/facter/resolvers/aix/serialnumber.rb +0 -1
  52. data/lib/facter/resolvers/augeas_resolver.rb +0 -1
  53. data/lib/facter/resolvers/base_resolver.rb +9 -4
  54. data/lib/facter/resolvers/bsd/processors.rb +0 -1
  55. data/lib/facter/resolvers/cloud.rb +39 -0
  56. data/lib/facter/resolvers/containers.rb +0 -1
  57. data/lib/facter/resolvers/debian_version.rb +0 -1
  58. data/lib/facter/resolvers/disk_resolver.rb +0 -1
  59. data/lib/facter/resolvers/dmi_decode.rb +1 -1
  60. data/lib/facter/resolvers/dmi_resolver.rb +0 -1
  61. data/lib/facter/resolvers/ec2.rb +0 -1
  62. data/lib/facter/resolvers/eos_release_resolver.rb +0 -1
  63. data/lib/facter/resolvers/facterversion_resolver.rb +0 -1
  64. data/lib/facter/resolvers/filesystems_resolver.rb +0 -1
  65. data/lib/facter/resolvers/fips_enabled_resolver.rb +0 -1
  66. data/lib/facter/resolvers/freebsd/dmi_resolver.rb +0 -1
  67. data/lib/facter/resolvers/freebsd/freebsd_version_resolver.rb +0 -1
  68. data/lib/facter/resolvers/freebsd/geom_resolver.rb +0 -1
  69. data/lib/facter/resolvers/freebsd/processors.rb +0 -1
  70. data/lib/facter/resolvers/freebsd/swap_memory_resolver.rb +0 -1
  71. data/lib/facter/resolvers/freebsd/system_memory_resolver.rb +0 -1
  72. data/lib/facter/resolvers/gce.rb +0 -1
  73. data/lib/facter/resolvers/hostname_resolver.rb +0 -1
  74. data/lib/facter/resolvers/identity_resolver.rb +0 -1
  75. data/lib/facter/resolvers/linux/docker_uptime.rb +0 -1
  76. data/lib/facter/resolvers/linux/load_averages.rb +0 -1
  77. data/lib/facter/resolvers/load_averages.rb +0 -1
  78. data/lib/facter/resolvers/lpar_resolver.rb +0 -1
  79. data/lib/facter/resolvers/lsb_release_resolver.rb +0 -1
  80. data/lib/facter/resolvers/lspci.rb +0 -1
  81. data/lib/facter/resolvers/macosx/dmi_resolver.rb +0 -1
  82. data/lib/facter/resolvers/macosx/filesystems_resolver.rb +1 -6
  83. data/lib/facter/resolvers/macosx/load_averages_resolver.rb +0 -1
  84. data/lib/facter/resolvers/macosx/mountpoints_resolver.rb +3 -3
  85. data/lib/facter/resolvers/macosx/processor_resolver.rb +0 -1
  86. data/lib/facter/resolvers/macosx/swap_memory_resolver.rb +0 -1
  87. data/lib/facter/resolvers/macosx/system_memory_resolver.rb +0 -1
  88. data/lib/facter/resolvers/macosx/system_profiler_resolver.rb +0 -1
  89. data/lib/facter/resolvers/memory_resolver.rb +6 -2
  90. data/lib/facter/resolvers/mountpoints_resolver.rb +0 -1
  91. data/lib/facter/resolvers/networking_linux_resolver.rb +0 -2
  92. data/lib/facter/resolvers/networking_resolver.rb +0 -1
  93. data/lib/facter/resolvers/open_vz.rb +0 -1
  94. data/lib/facter/resolvers/os_release_resolver.rb +0 -1
  95. data/lib/facter/resolvers/partitions.rb +37 -2
  96. data/lib/facter/resolvers/path_resolver.rb +0 -1
  97. data/lib/facter/resolvers/processors_resolver.rb +0 -1
  98. data/lib/facter/resolvers/puppet_version_resolver.rb +0 -1
  99. data/lib/facter/resolvers/redhat_release_resolver.rb +0 -1
  100. data/lib/facter/resolvers/ruby_resolver.rb +0 -1
  101. data/lib/facter/resolvers/selinux_resolver.rb +0 -1
  102. data/lib/facter/resolvers/solaris/disks.rb +0 -1
  103. data/lib/facter/resolvers/solaris/dmi.rb +0 -1
  104. data/lib/facter/resolvers/solaris/dmi_sparc.rb +0 -1
  105. data/lib/facter/resolvers/solaris/filesystems.rb +0 -1
  106. data/lib/facter/resolvers/solaris/ipaddress.rb +0 -1
  107. data/lib/facter/resolvers/solaris/ldom.rb +0 -1
  108. data/lib/facter/resolvers/solaris/memory.rb +0 -1
  109. data/lib/facter/resolvers/solaris/networking.rb +0 -1
  110. data/lib/facter/resolvers/solaris/os_release.rb +0 -1
  111. data/lib/facter/resolvers/solaris/processors.rb +0 -1
  112. data/lib/facter/resolvers/solaris/zone.rb +0 -1
  113. data/lib/facter/resolvers/solaris/zone_name.rb +0 -1
  114. data/lib/facter/resolvers/ssh_resolver.rb +0 -1
  115. data/lib/facter/resolvers/suse_release_resolver.rb +0 -1
  116. data/lib/facter/resolvers/sw_vers_resolver.rb +0 -1
  117. data/lib/facter/resolvers/timezone_resolver.rb +0 -1
  118. data/lib/facter/resolvers/uname_resolver.rb +0 -1
  119. data/lib/facter/resolvers/uptime_resolver.rb +0 -1
  120. data/lib/facter/resolvers/utils/filesystem_helper.rb +3 -1
  121. data/lib/facter/resolvers/virt_what.rb +0 -1
  122. data/lib/facter/resolvers/vmware.rb +0 -1
  123. data/lib/facter/resolvers/windows/aio_agent_version.rb +0 -1
  124. data/lib/facter/resolvers/windows/dmi_bios_resolver.rb +0 -1
  125. data/lib/facter/resolvers/windows/dmi_computersystem_resolver.rb +0 -1
  126. data/lib/facter/resolvers/windows/fips_resolver.rb +0 -1
  127. data/lib/facter/resolvers/windows/hardware_architecture_resolver.rb +0 -1
  128. data/lib/facter/resolvers/windows/identity_resolver.rb +0 -1
  129. data/lib/facter/resolvers/windows/kernel_resolver.rb +0 -1
  130. data/lib/facter/resolvers/windows/memory_resolver.rb +0 -1
  131. data/lib/facter/resolvers/windows/netkvm_resolver.rb +0 -1
  132. data/lib/facter/resolvers/windows/networking_resolver.rb +0 -1
  133. data/lib/facter/resolvers/windows/processors_resolver.rb +0 -1
  134. data/lib/facter/resolvers/windows/product_release_resolver.rb +0 -1
  135. data/lib/facter/resolvers/windows/ssh.rb +0 -1
  136. data/lib/facter/resolvers/windows/system32_resolver.rb +0 -1
  137. data/lib/facter/resolvers/windows/uptime_resolver.rb +0 -1
  138. data/lib/facter/resolvers/windows/virtualization_resolver.rb +0 -1
  139. data/lib/facter/resolvers/windows/win_os_description_resolver.rb +0 -1
  140. data/lib/facter/resolvers/wpar_resolver.rb +0 -1
  141. data/lib/facter/resolvers/xen.rb +0 -1
  142. data/lib/facter/resolvers/zfs.rb +0 -1
  143. data/lib/facter/resolvers/zpool.rb +0 -1
  144. data/lib/facter/version.rb +1 -1
  145. metadata +9 -4
  146. data/lib/facter/resolvers/aix/os_level_resolver.rb +0 -26
  147. data/lib/facter/resolvers/os_level_resolver.rb +0 -29
@@ -4,7 +4,6 @@ module Facter
4
4
  module Resolvers
5
5
  class DMIBios < BaseResolver
6
6
  @log = Facter::Log.new(self)
7
- @semaphore = Mutex.new
8
7
  @fact_list ||= {}
9
8
 
10
9
  class << self
@@ -4,7 +4,6 @@ module Facter
4
4
  module Resolvers
5
5
  class DMIComputerSystem < BaseResolver
6
6
  @log = Facter::Log.new(self)
7
- @semaphore = Mutex.new
8
7
  @fact_list ||= {}
9
8
 
10
9
  class << self
@@ -7,7 +7,6 @@ module Facter
7
7
  module Windows
8
8
  class Fips < BaseResolver
9
9
  # :fips_enabled
10
- @semaphore = Mutex.new
11
10
  @fact_list ||= {}
12
11
  class << self
13
12
  private
@@ -3,7 +3,6 @@
3
3
  module Facter
4
4
  module Resolvers
5
5
  class HardwareArchitecture < BaseResolver
6
- @semaphore = Mutex.new
7
6
  @fact_list ||= {}
8
7
  class << self
9
8
  private
@@ -5,7 +5,6 @@ module Facter
5
5
  class Identity < BaseResolver
6
6
  NAME_SAM_COMPATIBLE = 2
7
7
  @log = Facter::Log.new(self)
8
- @semaphore = Mutex.new
9
8
  @fact_list ||= {}
10
9
 
11
10
  class << self
@@ -4,7 +4,6 @@ module Facter
4
4
  module Resolvers
5
5
  class Kernel < BaseResolver
6
6
  @log = Facter::Log.new(self)
7
- @semaphore = Mutex.new
8
7
  @fact_list ||= {}
9
8
  class << self
10
9
  private
@@ -4,7 +4,6 @@ module Facter
4
4
  module Resolvers
5
5
  class Memory < BaseResolver
6
6
  @log = Facter::Log.new(self)
7
- @semaphore = Mutex.new
8
7
  @fact_list ||= {}
9
8
  class << self
10
9
  private
@@ -5,7 +5,6 @@ require 'win32/registry'
5
5
  module Facter
6
6
  module Resolvers
7
7
  class NetKVM < BaseResolver
8
- @semaphore = Mutex.new
9
8
  @fact_list ||= {}
10
9
  class << self
11
10
  private
@@ -5,7 +5,6 @@ module Facter
5
5
  module Windows
6
6
  class Networking < BaseResolver
7
7
  @log = Facter::Log.new(self)
8
- @semaphore = Mutex.new
9
8
  @fact_list ||= {}
10
9
  class << self
11
10
  private
@@ -3,7 +3,6 @@
3
3
  module Facter
4
4
  module Resolvers
5
5
  class Processors < BaseResolver
6
- @semaphore = Mutex.new
7
6
  @fact_list = {}
8
7
  class << self
9
8
  # Count
@@ -5,7 +5,6 @@ require 'win32/registry'
5
5
  module Facter
6
6
  module Resolvers
7
7
  class ProductRelease < BaseResolver
8
- @semaphore = Mutex.new
9
8
  @fact_list ||= {}
10
9
  class << self
11
10
  private
@@ -5,7 +5,6 @@ module Facter
5
5
  module Windows
6
6
  class Ssh < BaseResolver
7
7
  @log = Facter::Log.new(self)
8
- @semaphore = Mutex.new
9
8
  @fact_list ||= {}
10
9
  FILE_NAMES = %w[ssh_host_rsa_key.pub ssh_host_dsa_key.pub
11
10
  ssh_host_ecdsa_key.pub ssh_host_ed25519_key.pub].freeze
@@ -4,7 +4,6 @@ module Facter
4
4
  module Resolvers
5
5
  class System32 < BaseResolver
6
6
  @log = Facter::Log.new(self)
7
- @semaphore = Mutex.new
8
7
  @fact_list ||= {}
9
8
  class << self
10
9
  private
@@ -7,7 +7,6 @@ module Facter
7
7
  module Windows
8
8
  class Uptime < BaseResolver
9
9
  @log = Facter::Log.new(self)
10
- @semaphore = Mutex.new
11
10
  @fact_list ||= {}
12
11
 
13
12
  class << self
@@ -4,7 +4,6 @@ module Facter
4
4
  module Resolvers
5
5
  class Virtualization < BaseResolver
6
6
  @log = Facter::Log.new(self)
7
- @semaphore = Mutex.new
8
7
  @fact_list ||= {}
9
8
 
10
9
  class << self
@@ -4,7 +4,6 @@ module Facter
4
4
  module Resolvers
5
5
  class WinOsDescription < BaseResolver
6
6
  @log = Facter::Log.new(self)
7
- @semaphore = Mutex.new
8
7
  @fact_list ||= {}
9
8
  class << self
10
9
  private
@@ -3,7 +3,6 @@
3
3
  module Facter
4
4
  module Resolvers
5
5
  class Wpar < BaseResolver
6
- @semaphore = Mutex.new
7
6
  @fact_list ||= {}
8
7
 
9
8
  class << self
@@ -3,7 +3,6 @@
3
3
  module Facter
4
4
  module Resolvers
5
5
  class Xen < BaseResolver
6
- @semaphore = Mutex.new
7
6
  @fact_list ||= {}
8
7
 
9
8
  XEN_PATH = '/proc/xen/capabilities'
@@ -3,7 +3,6 @@
3
3
  module Facter
4
4
  module Resolvers
5
5
  class ZFS < BaseResolver
6
- @semaphore = Mutex.new
7
6
  @fact_list ||= {}
8
7
  class << self
9
8
  private
@@ -3,7 +3,6 @@
3
3
  module Facter
4
4
  module Resolvers
5
5
  class Zpool < BaseResolver
6
- @semaphore = Mutex.new
7
6
  @fact_list ||= {}
8
7
  class << self
9
8
  private
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Facter
4
- VERSION = '4.0.36' unless defined?(VERSION)
4
+ VERSION = '4.0.41' unless defined?(VERSION)
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: facter
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.36
4
+ version: 4.0.41
5
5
  platform: ruby
6
6
  authors:
7
7
  - Puppet
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-02 00:00:00.000000000 Z
11
+ date: 2020-10-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -385,6 +385,7 @@ files:
385
385
  - lib/facter/facts/freebsd/zpool_version.rb
386
386
  - lib/facter/facts/linux/aio_agent_version.rb
387
387
  - lib/facter/facts/linux/augeas/version.rb
388
+ - lib/facter/facts/linux/cloud.rb
388
389
  - lib/facter/facts/linux/dhcp_servers.rb
389
390
  - lib/facter/facts/linux/disks.rb
390
391
  - lib/facter/facts/linux/dmi/bios/release_date.rb
@@ -722,6 +723,7 @@ files:
722
723
  - lib/facter/facts/solaris/zpool_featureflags.rb
723
724
  - lib/facter/facts/solaris/zpool_featurenumbers.rb
724
725
  - lib/facter/facts/solaris/zpool_version.rb
726
+ - lib/facter/facts/ubuntu/lsbdistrelease.rb
725
727
  - lib/facter/facts/ubuntu/os/distro/release.rb
726
728
  - lib/facter/facts/ubuntu/os/release.rb
727
729
  - lib/facter/facts/windows/aio_agent_version.rb
@@ -812,7 +814,9 @@ files:
812
814
  - lib/facter/facts_utils/facts_utils.rb
813
815
  - lib/facter/facts_utils/unit_converter.rb
814
816
  - lib/facter/facts_utils/uptime_parser.rb
817
+ - lib/facter/facts_utils/virtual_detector.rb
815
818
  - lib/facter/facts_utils/windows_release_finder.rb
819
+ - lib/facter/framework/benchmarking/timer.rb
816
820
  - lib/facter/framework/cli/cli.rb
817
821
  - lib/facter/framework/cli/cli_launcher.rb
818
822
  - lib/facter/framework/config/config_reader.rb
@@ -851,6 +855,7 @@ files:
851
855
  - lib/facter/models/resolved_fact.rb
852
856
  - lib/facter/models/searched_fact.rb
853
857
  - lib/facter/os_hierarchy.json
858
+ - lib/facter/patches/sysfilesystem/sys/statvfs.rb
854
859
  - lib/facter/resolvers/aio_agent_version.rb
855
860
  - lib/facter/resolvers/aix/architecture_resolver.rb
856
861
  - lib/facter/resolvers/aix/disks.rb
@@ -862,7 +867,7 @@ files:
862
867
  - lib/facter/resolvers/aix/mountpoints.rb
863
868
  - lib/facter/resolvers/aix/networking_resolver.rb
864
869
  - lib/facter/resolvers/aix/nim.rb
865
- - lib/facter/resolvers/aix/os_level_resolver.rb
870
+ - lib/facter/resolvers/aix/os_level.rb
866
871
  - lib/facter/resolvers/aix/partitions.rb
867
872
  - lib/facter/resolvers/aix/processors.rb
868
873
  - lib/facter/resolvers/aix/serialnumber.rb
@@ -872,6 +877,7 @@ files:
872
877
  - lib/facter/resolvers/base_resolver.rb
873
878
  - lib/facter/resolvers/bsd/ffi/ffi_helper.rb
874
879
  - lib/facter/resolvers/bsd/processors.rb
880
+ - lib/facter/resolvers/cloud.rb
875
881
  - lib/facter/resolvers/containers.rb
876
882
  - lib/facter/resolvers/debian_version.rb
877
883
  - lib/facter/resolvers/disk_resolver.rb
@@ -912,7 +918,6 @@ files:
912
918
  - lib/facter/resolvers/networking_linux_resolver.rb
913
919
  - lib/facter/resolvers/networking_resolver.rb
914
920
  - lib/facter/resolvers/open_vz.rb
915
- - lib/facter/resolvers/os_level_resolver.rb
916
921
  - lib/facter/resolvers/os_release_resolver.rb
917
922
  - lib/facter/resolvers/partitions.rb
918
923
  - lib/facter/resolvers/path_resolver.rb
@@ -1,26 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Facter
4
- module Resolvers
5
- class OsLevel < BaseResolver
6
- @semaphore = Mutex.new
7
- @fact_list ||= {}
8
-
9
- class << self
10
- private
11
-
12
- def post_resolve(fact_name)
13
- @fact_list.fetch(fact_name) { read_oslevel(fact_name) }
14
- end
15
-
16
- def read_oslevel(fact_name)
17
- output = Facter::Core::Execution.execute('/usr/bin/oslevel -s', logger: log)
18
- @fact_list[:build] = output
19
- @fact_list[:kernel] = 'AIX'
20
-
21
- @fact_list[fact_name]
22
- end
23
- end
24
- end
25
- end
26
- end
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Facter
4
- module Resolvers
5
- class OsLevel < BaseResolver
6
- # build
7
-
8
- @semaphore = Mutex.new
9
- @fact_list ||= {}
10
-
11
- class << self
12
- private
13
-
14
- def post_resolve(fact_name)
15
- @fact_list.fetch(fact_name) { read_oslevel(fact_name) }
16
- end
17
-
18
- def read_oslevel(fact_name)
19
- output = Facter::Core::Execution.execute('/usr/bin/oslevel -s', logger: log)
20
-
21
- @fact_list[:build] = output unless output.empty?
22
- @fact_list[:kernel] = 'AIX'
23
-
24
- @fact_list[fact_name]
25
- end
26
- end
27
- end
28
- end
29
- end