facter 4.0.52 → 4.2.2

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 (104) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +202 -0
  3. data/lib/facter.rb +21 -21
  4. data/lib/facter/config.rb +2 -0
  5. data/lib/facter/custom_facts/core/execution/base.rb +7 -3
  6. data/lib/facter/custom_facts/core/execution/popen3.rb +13 -1
  7. data/lib/facter/custom_facts/core/execution/posix.rb +2 -2
  8. data/lib/facter/custom_facts/core/execution/windows.rb +1 -1
  9. data/lib/facter/custom_facts/util/collection.rb +5 -0
  10. data/lib/facter/custom_facts/util/directory_loader.rb +1 -1
  11. data/lib/facter/custom_facts/util/normalization.rb +7 -2
  12. data/lib/facter/custom_facts/util/windows_root.rb +2 -1
  13. data/lib/facter/facts/aix/processors/cores.rb +16 -0
  14. data/lib/facter/facts/aix/processors/threads.rb +16 -0
  15. data/lib/facter/facts/freebsd/is_virtual.rb +1 -5
  16. data/lib/facter/facts/freebsd/virtual.rb +1 -2
  17. data/lib/facter/facts/linux/az_metadata.rb +1 -5
  18. data/lib/facter/facts/linux/cloud/provider.rb +5 -2
  19. data/lib/facter/facts/linux/ec2_metadata.rb +1 -5
  20. data/lib/facter/facts/linux/ec2_userdata.rb +1 -5
  21. data/lib/facter/facts/linux/hypervisors/xen.rb +1 -4
  22. data/lib/facter/facts/linux/is_virtual.rb +1 -5
  23. data/lib/facter/facts/linux/processors/cores.rb +16 -0
  24. data/lib/facter/facts/linux/processors/threads.rb +16 -0
  25. data/lib/facter/facts/linux/virtual.rb +1 -2
  26. data/lib/facter/facts/macosx/os/macosx/version.rb +15 -4
  27. data/lib/facter/facts/macosx/processors/cores.rb +16 -0
  28. data/lib/facter/facts/macosx/processors/threads.rb +16 -0
  29. data/lib/facter/facts/solaris/hypervisors/ldom.rb +1 -1
  30. data/lib/facter/facts/solaris/hypervisors/zone.rb +1 -1
  31. data/lib/facter/facts/solaris/mountpoints.rb +1 -1
  32. data/lib/facter/facts/solaris/processors/cores.rb +16 -0
  33. data/lib/facter/facts/solaris/processors/threads.rb +16 -0
  34. data/lib/facter/facts/windows/az_metadata.rb +1 -5
  35. data/lib/facter/facts/windows/cloud/provider.rb +6 -2
  36. data/lib/facter/facts/windows/ec2_metadata.rb +1 -1
  37. data/lib/facter/facts/windows/ec2_userdata.rb +1 -1
  38. data/lib/facter/facts/windows/gce.rb +1 -1
  39. data/lib/facter/facts/windows/hypervisors/hyperv.rb +1 -1
  40. data/lib/facter/facts/windows/hypervisors/kvm.rb +2 -1
  41. data/lib/facter/facts/windows/hypervisors/virtualbox.rb +2 -2
  42. data/lib/facter/facts/windows/hypervisors/vmware.rb +1 -1
  43. data/lib/facter/facts/windows/hypervisors/xen.rb +3 -1
  44. data/lib/facter/facts/windows/is_virtual.rb +15 -0
  45. data/lib/facter/facts/windows/{virtualization/is_virtual.rb → processors/cores.rb} +4 -4
  46. data/lib/facter/facts/windows/{virtualization/virtual.rb → processors/threads.rb} +4 -4
  47. data/lib/facter/facts/windows/virtual.rb +15 -0
  48. data/lib/facter/framework/cli/cli.rb +13 -15
  49. data/lib/facter/framework/core/cache_manager.rb +2 -2
  50. data/lib/facter/framework/core/fact/external/external_fact_manager.rb +0 -1
  51. data/lib/facter/framework/core/fact/internal/internal_fact_manager.rb +41 -39
  52. data/lib/facter/framework/core/fact_filter.rb +4 -14
  53. data/lib/facter/framework/core/fact_loaders/external_fact_loader.rb +9 -6
  54. data/lib/facter/framework/core/fact_loaders/fact_loader.rb +39 -36
  55. data/lib/facter/framework/core/fact_manager.rb +82 -14
  56. data/lib/facter/framework/core/file_loader.rb +1 -1
  57. data/lib/facter/framework/core/options/config_file_options.rb +7 -0
  58. data/lib/facter/framework/core/options/option_store.rb +3 -1
  59. data/lib/facter/framework/formatters/formatter_helper.rb +3 -5
  60. data/lib/facter/framework/parsers/query_parser.rb +10 -24
  61. data/lib/facter/models/fact_collection.rb +48 -5
  62. data/lib/facter/models/resolved_fact.rb +2 -3
  63. data/lib/facter/models/searched_fact.rb +2 -3
  64. data/lib/facter/resolvers/aix/ffi/ffi_helper.rb +1 -1
  65. data/lib/facter/resolvers/aix/processors.rb +4 -0
  66. data/lib/facter/resolvers/base_resolver.rb +2 -2
  67. data/lib/facter/resolvers/dmi_decode.rb +0 -1
  68. data/lib/facter/resolvers/ec2.rb +8 -1
  69. data/lib/facter/resolvers/linux/hostname.rb +16 -5
  70. data/lib/facter/resolvers/linux/networking.rb +18 -1
  71. data/lib/facter/resolvers/lsb_release.rb +1 -2
  72. data/lib/facter/resolvers/macosx/mountpoints.rb +14 -1
  73. data/lib/facter/resolvers/macosx/processor.rb +16 -1
  74. data/lib/facter/resolvers/mountpoints.rb +16 -8
  75. data/lib/facter/resolvers/networking.rb +6 -3
  76. data/lib/facter/resolvers/partitions.rb +1 -3
  77. data/lib/facter/resolvers/processors_lscpu.rb +44 -0
  78. data/lib/facter/resolvers/ruby.rb +1 -1
  79. data/lib/facter/resolvers/selinux.rb +5 -7
  80. data/lib/facter/resolvers/solaris/ffi/structs.rb +12 -0
  81. data/lib/facter/resolvers/solaris/mountpoints.rb +22 -16
  82. data/lib/facter/resolvers/solaris/networking.rb +20 -5
  83. data/lib/facter/resolvers/solaris/processors.rb +7 -0
  84. data/lib/facter/resolvers/solaris/zone.rb +0 -1
  85. data/lib/facter/resolvers/windows/ffi/identity_ffi.rb +5 -0
  86. data/lib/facter/resolvers/windows/ffi/kernel_ffi.rb +1 -1
  87. data/lib/facter/resolvers/windows/identity.rb +1 -6
  88. data/lib/facter/resolvers/windows/processors.rb +41 -4
  89. data/lib/facter/resolvers/windows/uptime.rb +3 -22
  90. data/lib/facter/resolvers/windows/virtualization.rb +46 -44
  91. data/lib/facter/resolvers/xen.rb +6 -1
  92. data/lib/facter/templates/man.erb +6 -6
  93. data/lib/facter/util/facts/posix/virtual_detector.rb +74 -0
  94. data/lib/facter/util/facts/unit_converter.rb +2 -2
  95. data/lib/facter/util/linux/dhcp.rb +4 -1
  96. data/lib/facter/util/linux/if_inet6.rb +73 -0
  97. data/lib/facter/util/linux/socket_parser.rb +18 -3
  98. data/lib/facter/util/resolvers/http.rb +7 -1
  99. data/lib/facter/util/resolvers/networking/primary_interface.rb +11 -5
  100. data/lib/facter/util/utils.rb +18 -1
  101. data/lib/facter/version.rb +1 -1
  102. metadata +60 -11
  103. data/lib/facter/framework/core/fact_augmenter.rb +0 -37
  104. data/lib/facter/util/facts/virtual_detector.rb +0 -90
@@ -10,7 +10,7 @@ module Facter
10
10
 
11
11
  value_in_bytes = value_in_bytes.to_i
12
12
 
13
- (value_in_bytes / (1024.0 * 1024.0)).round(2)
13
+ (value_in_bytes / (1024.0 * 1024.0))
14
14
  end
15
15
 
16
16
  def hertz_to_human_readable(speed)
@@ -19,7 +19,7 @@ module Facter
19
19
 
20
20
  validated_speed, metric_prefix = determine_metric_prefix(speed)
21
21
 
22
- format('%<displayed_speed>.2f', displayed_speed: validated_speed).to_s + ' ' + metric_prefix + 'Hz'
22
+ format('%<displayed_speed>.2f', displayed_speed: validated_speed.round(2)).to_s + ' ' + metric_prefix + 'Hz'
23
23
  end
24
24
 
25
25
  def bytes_to_human_readable(bytes)
@@ -75,7 +75,10 @@ module Facter
75
75
  def search_with_dhcpcd_command(interface_name)
76
76
  @log.debug("Attempt to get DHCP for interface #{interface_name}, from dhcpcd command")
77
77
 
78
- output = Facter::Core::Execution.execute("dhcpcd -U #{interface_name}", logger: @log)
78
+ @dhcpcd_command ||= Facter::Core::Execution.which('dhcpcd')
79
+ return unless @dhcpcd_command
80
+
81
+ output = Facter::Core::Execution.execute("#{@dhcpcd_command} -U #{interface_name}", logger: @log)
79
82
  dhcp = output.match(/dhcp_server_identifier='(.*)'/)
80
83
  dhcp[1] if dhcp
81
84
  end
@@ -0,0 +1,73 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'ipaddr'
4
+
5
+ module Facter
6
+ module Util
7
+ module Linux
8
+ class IfInet6
9
+ class << self
10
+ IFA_FLAGS = {
11
+ 'temporary' => 0x01,
12
+ 'noad' => 0x02,
13
+ 'optimistic' => 0x04,
14
+ 'dadfailed' => 0x08,
15
+ 'homeaddress' => 0x10,
16
+ 'deprecated' => 0x20,
17
+ 'tentative' => 0x40,
18
+ 'permanent' => 0x80
19
+ # /proc/net/if_inet6 only supports the old 8bit flags
20
+ # I have been unable to find a simple solution to accesses
21
+ # the full 32bit flags. netlink is all I can could find but
22
+ # that will likely be ugly
23
+ # 'managetempaddr' => 0x100,
24
+ # 'noprefixroute' => 0x200,
25
+ # 'mcautojoin' => 0x400,
26
+ # 'stableprivacy' => 0x800
27
+ }.freeze
28
+
29
+ def read_flags
30
+ return read_flags_from_proc if File.exist?('/proc/net/if_inet6')
31
+
32
+ {}
33
+ end
34
+
35
+ private
36
+
37
+ def read_flags_from_proc
38
+ flags = init_flags
39
+ Facter::Util::FileHelper.safe_read('/proc/net/if_inet6', nil).each_line do |line|
40
+ iface = line.split
41
+ next unless iface.size == 6
42
+
43
+ ip = parse_ip(iface[0])
44
+ flags[iface[5]][ip] = parse_ifa_flags(iface[4])
45
+ end
46
+ flags
47
+ end
48
+
49
+ def init_flags
50
+ Hash.new { |h1, k1| h1[k1] = Hash.new { |h2, k2| h2[k2] = [] } }
51
+ end
52
+
53
+ def parse_ifa_flags(flag)
54
+ flag = flag.hex
55
+ flags = []
56
+ IFA_FLAGS.each_pair do |name, value|
57
+ next if (flag & value).zero?
58
+
59
+ flags << name
60
+ end
61
+ flags
62
+ end
63
+
64
+ def parse_ip(ip)
65
+ # The ip address in if_net6 is a long string wit no colons
66
+ ip = ip.scan(/(\h{4})/).join(':')
67
+ IPAddr.new(ip).to_s
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
@@ -36,7 +36,7 @@ module Facter
36
36
  def search_for_mac(ifaddr)
37
37
  mac = mac_from_bonded_interface(ifaddr.name)
38
38
  mac ||= mac_from(ifaddr)
39
- mac if !mac.nil? && mac != '00:00:00:00:00:00' && mac =~ /^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/
39
+ mac if !mac.nil? && mac != '00:00:00:00:00:00' && mac =~ /^([0-9A-Fa-f]{2}[:-]){5,19}([0-9A-Fa-f]{2})$/
40
40
  end
41
41
 
42
42
  def mac_from_bonded_interface(interface_name)
@@ -59,8 +59,23 @@ module Facter
59
59
  end
60
60
 
61
61
  def bond_master_of(interface_name)
62
- content = Facter::Core::Execution.execute("ip link show #{interface_name}", logger: @log)
63
- content.match(/master (\S*) /)&.captures&.first
62
+ content = get_ip_link_show_data(interface_name)
63
+ content&.match(/master (\S*) /)&.captures&.first
64
+ end
65
+
66
+ def get_ip_link_show_data(interface_name)
67
+ @ip_link_show_data ||= read_ip_link_show_data
68
+ @ip_link_show_data[interface_name]
69
+ end
70
+
71
+ def read_ip_link_show_data
72
+ ip_link_show_data = {}
73
+ output = Facter::Core::Execution.execute('ip -o link show', logger: @log)
74
+ output.each_line do |line|
75
+ interface_name = line.split(':')[1]&.strip if line
76
+ ip_link_show_data[interface_name] = line if interface_name
77
+ end
78
+ ip_link_show_data
64
79
  end
65
80
 
66
81
  def mac_from(ifaddr)
@@ -10,7 +10,7 @@ module Facter
10
10
  CONNECTION_TIMEOUT = 0.6
11
11
  SESSION_TIMEOUT = 5
12
12
 
13
- # Makes a GET http request and returns it's response.
13
+ # Makes a GET http request and returns its response.
14
14
  #
15
15
  # Params:
16
16
  # url: String which contains the address to which the request will be made
@@ -40,6 +40,12 @@ module Facter
40
40
  http = http_obj(uri, timeouts)
41
41
  request = request_obj(headers, uri, request_type)
42
42
 
43
+ # The Windows implementation of sockets does not respect net/http
44
+ # timeouts, so check if the target is reachable in a different way
45
+ if Gem.win_platform?
46
+ Socket.tcp(uri.host, uri.port, connect_timeout: timeouts[:connection] || CONNECTION_TIMEOUT)
47
+ end
48
+
43
49
  # Make the request
44
50
  response = http.request(request)
45
51
  response.uri = url
@@ -37,11 +37,8 @@ module Facter
37
37
  next if index.zero?
38
38
 
39
39
  route = line.strip.split("\t")
40
- if route.count > 7 &&
41
- route[ROUTE_TABLE_MAPPING['Destination']] == '00000000' &&
42
- route[ROUTE_TABLE_MAPPING['Mask']] == '00000000'
43
- return route[ROUTE_TABLE_MAPPING['Iface']]
44
- end
40
+
41
+ return route[ROUTE_TABLE_MAPPING['Iface']] if valid_default_route?(route)
45
42
  end
46
43
 
47
44
  nil
@@ -74,6 +71,15 @@ module Facter
74
71
 
75
72
  nil
76
73
  end
74
+
75
+ private
76
+
77
+ def valid_default_route?(route)
78
+ route.count > 7 &&
79
+ route[ROUTE_TABLE_MAPPING['Destination']] == '00000000' &&
80
+ route[ROUTE_TABLE_MAPPING['Mask']] == '00000000' &&
81
+ route[ROUTE_TABLE_MAPPING['Iface']] != '*' # `*` represents blackhole and not a valid interface
82
+ end
77
83
  end
78
84
  end
79
85
  end
@@ -4,7 +4,7 @@ module Facter
4
4
  module Utils
5
5
  # Sort nested hash.
6
6
  def self.sort_hash_by_key(hash, recursive = true, &block)
7
- hash.keys.sort(&block).each_with_object({}) do |key, seed|
7
+ hash.keys.sort(&block).each_with_object(hash.class.new) do |key, seed|
8
8
  seed[key] = hash[key]
9
9
  seed[key] = sort_hash_by_key(seed[key], true, &block) if recursive && seed[key].is_a?(Hash)
10
10
 
@@ -29,5 +29,22 @@ module Facter
29
29
  object
30
30
  end
31
31
  end
32
+
33
+ def self.try_to_bool(value)
34
+ case value.to_s
35
+ when 'true'
36
+ true
37
+ when 'false'
38
+ false
39
+ else
40
+ value
41
+ end
42
+ end
43
+
44
+ def self.try_to_int(value)
45
+ Integer(value)
46
+ rescue ArgumentError, TypeError
47
+ value
48
+ end
32
49
  end
33
50
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Facter
4
- VERSION = '4.0.52' unless defined?(VERSION)
4
+ VERSION = '4.2.2' unless defined?(VERSION)
5
5
  end
metadata CHANGED
@@ -1,19 +1,22 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: facter
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.52
4
+ version: 4.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Puppet
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-16 00:00:00.000000000 Z
11
+ date: 2021-07-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '12.3'
17
20
  - - ">="
18
21
  - !ruby/object:Gem::Version
19
22
  version: 12.3.3
@@ -21,6 +24,9 @@ dependencies:
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '12.3'
24
30
  - - ">="
25
31
  - !ruby/object:Gem::Version
26
32
  version: 12.3.3
@@ -108,6 +114,34 @@ dependencies:
108
114
  - - "~>"
109
115
  - !ruby/object:Gem::Version
110
116
  version: '1.3'
117
+ - !ruby/object:Gem::Dependency
118
+ name: timecop
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '0.9'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '0.9'
131
+ - !ruby/object:Gem::Dependency
132
+ name: webmock
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '3.12'
138
+ type: :development
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: '3.12'
111
145
  - !ruby/object:Gem::Dependency
112
146
  name: yard
113
147
  requirement: !ruby/object:Gem::Requirement
@@ -156,7 +190,7 @@ dependencies:
156
190
  - - "<"
157
191
  - !ruby/object:Gem::Version
158
192
  version: '2.0'
159
- description: New version of Facter
193
+ description: You can prove anything with facts!
160
194
  email:
161
195
  - team-nw@puppet.com
162
196
  executables:
@@ -164,6 +198,7 @@ executables:
164
198
  extensions: []
165
199
  extra_rdoc_files: []
166
200
  files:
201
+ - LICENSE
167
202
  - bin/facter
168
203
  - lib/docs/generate.rb
169
204
  - lib/docs/generate_cli.rb
@@ -260,10 +295,12 @@ files:
260
295
  - lib/facter/facts/aix/partitions.rb
261
296
  - lib/facter/facts/aix/path.rb
262
297
  - lib/facter/facts/aix/processor.rb
298
+ - lib/facter/facts/aix/processors/cores.rb
263
299
  - lib/facter/facts/aix/processors/count.rb
264
300
  - lib/facter/facts/aix/processors/isa.rb
265
301
  - lib/facter/facts/aix/processors/models.rb
266
302
  - lib/facter/facts/aix/processors/speed.rb
303
+ - lib/facter/facts/aix/processors/threads.rb
267
304
  - lib/facter/facts/aix/ruby/platform.rb
268
305
  - lib/facter/facts/aix/ruby/sitedir.rb
269
306
  - lib/facter/facts/aix/ruby/version.rb
@@ -489,11 +526,13 @@ files:
489
526
  - lib/facter/facts/linux/partitions.rb
490
527
  - lib/facter/facts/linux/path.rb
491
528
  - lib/facter/facts/linux/processor.rb
529
+ - lib/facter/facts/linux/processors/cores.rb
492
530
  - lib/facter/facts/linux/processors/count.rb
493
531
  - lib/facter/facts/linux/processors/isa.rb
494
532
  - lib/facter/facts/linux/processors/models.rb
495
533
  - lib/facter/facts/linux/processors/physicalcount.rb
496
534
  - lib/facter/facts/linux/processors/speed.rb
535
+ - lib/facter/facts/linux/processors/threads.rb
497
536
  - lib/facter/facts/linux/ruby/platform.rb
498
537
  - lib/facter/facts/linux/ruby/sitedir.rb
499
538
  - lib/facter/facts/linux/ruby/version.rb
@@ -576,11 +615,13 @@ files:
576
615
  - lib/facter/facts/macosx/os/name.rb
577
616
  - lib/facter/facts/macosx/os/release.rb
578
617
  - lib/facter/facts/macosx/path.rb
618
+ - lib/facter/facts/macosx/processors/cores.rb
579
619
  - lib/facter/facts/macosx/processors/count.rb
580
620
  - lib/facter/facts/macosx/processors/isa.rb
581
621
  - lib/facter/facts/macosx/processors/models.rb
582
622
  - lib/facter/facts/macosx/processors/physicalcount.rb
583
623
  - lib/facter/facts/macosx/processors/speed.rb
624
+ - lib/facter/facts/macosx/processors/threads.rb
584
625
  - lib/facter/facts/macosx/ruby/platform.rb
585
626
  - lib/facter/facts/macosx/ruby/sitedir.rb
586
627
  - lib/facter/facts/macosx/ruby/version.rb
@@ -716,11 +757,13 @@ files:
716
757
  - lib/facter/facts/solaris/os/name.rb
717
758
  - lib/facter/facts/solaris/os/release.rb
718
759
  - lib/facter/facts/solaris/path.rb
760
+ - lib/facter/facts/solaris/processors/cores.rb
719
761
  - lib/facter/facts/solaris/processors/count.rb
720
762
  - lib/facter/facts/solaris/processors/isa.rb
721
763
  - lib/facter/facts/solaris/processors/models.rb
722
764
  - lib/facter/facts/solaris/processors/physicalcount.rb
723
765
  - lib/facter/facts/solaris/processors/speed.rb
766
+ - lib/facter/facts/solaris/processors/threads.rb
724
767
  - lib/facter/facts/solaris/ruby/platform.rb
725
768
  - lib/facter/facts/solaris/ruby/sitedir.rb
726
769
  - lib/facter/facts/solaris/ruby/version.rb
@@ -766,6 +809,7 @@ files:
766
809
  - lib/facter/facts/windows/interfaces.rb
767
810
  - lib/facter/facts/windows/ipaddress6_interfaces.rb
768
811
  - lib/facter/facts/windows/ipaddress_interfaces.rb
812
+ - lib/facter/facts/windows/is_virtual.rb
769
813
  - lib/facter/facts/windows/kernel.rb
770
814
  - lib/facter/facts/windows/kernelmajversion.rb
771
815
  - lib/facter/facts/windows/kernelrelease.rb
@@ -810,10 +854,12 @@ files:
810
854
  - lib/facter/facts/windows/os/windows/system32.rb
811
855
  - lib/facter/facts/windows/path.rb
812
856
  - lib/facter/facts/windows/processor.rb
857
+ - lib/facter/facts/windows/processors/cores.rb
813
858
  - lib/facter/facts/windows/processors/count.rb
814
859
  - lib/facter/facts/windows/processors/isa.rb
815
860
  - lib/facter/facts/windows/processors/models.rb
816
861
  - lib/facter/facts/windows/processors/physicalcount.rb
862
+ - lib/facter/facts/windows/processors/threads.rb
817
863
  - lib/facter/facts/windows/ruby/platform.rb
818
864
  - lib/facter/facts/windows/ruby/sitedir.rb
819
865
  - lib/facter/facts/windows/ruby/version.rb
@@ -826,8 +872,7 @@ files:
826
872
  - lib/facter/facts/windows/system_uptime/seconds.rb
827
873
  - lib/facter/facts/windows/system_uptime/uptime.rb
828
874
  - lib/facter/facts/windows/timezone.rb
829
- - lib/facter/facts/windows/virtualization/is_virtual.rb
830
- - lib/facter/facts/windows/virtualization/virtual.rb
875
+ - lib/facter/facts/windows/virtual.rb
831
876
  - lib/facter/framework/benchmarking/timer.rb
832
877
  - lib/facter/framework/cli/cli.rb
833
878
  - lib/facter/framework/cli/cli_launcher.rb
@@ -837,7 +882,6 @@ files:
837
882
  - lib/facter/framework/core/fact/external/external_fact_manager.rb
838
883
  - lib/facter/framework/core/fact/internal/core_fact.rb
839
884
  - lib/facter/framework/core/fact/internal/internal_fact_manager.rb
840
- - lib/facter/framework/core/fact_augmenter.rb
841
885
  - lib/facter/framework/core/fact_filter.rb
842
886
  - lib/facter/framework/core/fact_loaders/class_discoverer.rb
843
887
  - lib/facter/framework/core/fact_loaders/external_fact_loader.rb
@@ -933,6 +977,7 @@ files:
933
977
  - lib/facter/resolvers/partitions.rb
934
978
  - lib/facter/resolvers/path.rb
935
979
  - lib/facter/resolvers/processors.rb
980
+ - lib/facter/resolvers/processors_lscpu.rb
936
981
  - lib/facter/resolvers/redhat_release.rb
937
982
  - lib/facter/resolvers/release_from_first_line.rb
938
983
  - lib/facter/resolvers/ruby.rb
@@ -1000,12 +1045,13 @@ files:
1000
1045
  - lib/facter/util/aix/odm_query.rb
1001
1046
  - lib/facter/util/api_debugger.rb
1002
1047
  - lib/facter/util/facts/facts_utils.rb
1048
+ - lib/facter/util/facts/posix/virtual_detector.rb
1003
1049
  - lib/facter/util/facts/unit_converter.rb
1004
1050
  - lib/facter/util/facts/uptime_parser.rb
1005
- - lib/facter/util/facts/virtual_detector.rb
1006
1051
  - lib/facter/util/facts/windows_release_finder.rb
1007
1052
  - lib/facter/util/file_helper.rb
1008
1053
  - lib/facter/util/linux/dhcp.rb
1054
+ - lib/facter/util/linux/if_inet6.rb
1009
1055
  - lib/facter/util/linux/routing_table.rb
1010
1056
  - lib/facter/util/linux/socket_parser.rb
1011
1057
  - lib/facter/util/macosx/system_profile_executor.rb
@@ -1026,7 +1072,7 @@ files:
1026
1072
  - lib/facter/version.rb
1027
1073
  homepage: https://github.com/puppetlabs/facter
1028
1074
  licenses:
1029
- - MIT
1075
+ - Apache-2.0
1030
1076
  metadata: {}
1031
1077
  post_install_message:
1032
1078
  rdoc_options: []
@@ -1034,17 +1080,20 @@ require_paths:
1034
1080
  - lib
1035
1081
  required_ruby_version: !ruby/object:Gem::Requirement
1036
1082
  requirements:
1037
- - - "~>"
1083
+ - - ">="
1038
1084
  - !ruby/object:Gem::Version
1039
1085
  version: '2.3'
1086
+ - - "<"
1087
+ - !ruby/object:Gem::Version
1088
+ version: '4.0'
1040
1089
  required_rubygems_version: !ruby/object:Gem::Requirement
1041
1090
  requirements:
1042
1091
  - - ">="
1043
1092
  - !ruby/object:Gem::Version
1044
1093
  version: '0'
1045
1094
  requirements: []
1046
- rubygems_version: 3.0.0
1095
+ rubygems_version: 3.0.8
1047
1096
  signing_key:
1048
1097
  specification_version: 4
1049
- summary: New version of Facter
1098
+ summary: Facter, a system inventory tool
1050
1099
  test_files: []