facter 4.0.52 → 4.2.2

Sign up to get free protection for your applications and to get access to all the features.
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: []