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.
- checksums.yaml +4 -4
- data/bin/facter +3 -4
- data/lib/facter.rb +163 -23
- data/lib/facter/custom_facts/core/execution/base.rb +36 -6
- data/lib/facter/custom_facts/util/directory_loader.rb +10 -2
- data/lib/facter/custom_facts/util/fact.rb +4 -1
- data/lib/facter/facts/aix/disks.rb +1 -1
- data/lib/facter/facts/aix/kernel.rb +1 -1
- data/lib/facter/facts/aix/kernelmajversion.rb +1 -1
- data/lib/facter/facts/aix/kernelrelease.rb +1 -1
- data/lib/facter/facts/aix/kernelversion.rb +1 -1
- data/lib/facter/facts/aix/os/release.rb +1 -1
- data/lib/facter/facts/linux/cloud.rb +15 -0
- data/lib/facter/facts/linux/disks.rb +1 -1
- data/lib/facter/facts/linux/ec2_metadata.rb +5 -27
- data/lib/facter/facts/linux/ec2_userdata.rb +5 -27
- data/lib/facter/facts/linux/is_virtual.rb +7 -46
- data/lib/facter/facts/linux/partitions.rb +1 -1
- data/lib/facter/facts/linux/virtual.rb +3 -58
- data/lib/facter/facts/rhel/os/release.rb +2 -2
- data/lib/facter/facts/solaris/disks.rb +1 -1
- data/lib/facter/facts/ubuntu/lsbdistrelease.rb +23 -0
- data/lib/facter/facts_utils/virtual_detector.rb +78 -0
- data/lib/facter/framework/benchmarking/timer.rb +23 -0
- data/lib/facter/framework/cli/cli.rb +86 -34
- data/lib/facter/framework/cli/cli_launcher.rb +34 -38
- data/lib/facter/framework/config/fact_groups.rb +36 -2
- data/lib/facter/framework/core/cache_manager.rb +30 -18
- data/lib/facter/framework/core/fact/internal/internal_fact_manager.rb +2 -1
- data/lib/facter/framework/core/fact_loaders/fact_loader.rb +14 -11
- data/lib/facter/framework/core/fact_loaders/internal_fact_loader.rb +7 -7
- data/lib/facter/framework/core/file_loader.rb +2 -0
- data/lib/facter/framework/core/options/config_file_options.rb +5 -3
- data/lib/facter/framework/core/options/option_store.rb +30 -11
- data/lib/facter/framework/core/session_cache.rb +1 -4
- data/lib/facter/framework/logging/logger.rb +3 -11
- data/lib/facter/patches/sysfilesystem/sys/statvfs.rb +92 -0
- data/lib/facter/resolvers/aio_agent_version.rb +0 -1
- data/lib/facter/resolvers/aix/architecture_resolver.rb +0 -1
- data/lib/facter/resolvers/aix/disks.rb +2 -3
- data/lib/facter/resolvers/aix/filesystem_resolver.rb +0 -1
- data/lib/facter/resolvers/aix/hardware_resolver.rb +0 -1
- data/lib/facter/resolvers/aix/load_averages_resolver.rb +0 -1
- data/lib/facter/resolvers/aix/memory.rb +2 -3
- data/lib/facter/resolvers/aix/mountpoints.rb +0 -1
- data/lib/facter/resolvers/aix/networking_resolver.rb +0 -1
- data/lib/facter/resolvers/aix/nim.rb +0 -1
- data/lib/facter/resolvers/aix/os_level.rb +27 -0
- data/lib/facter/resolvers/aix/partitions.rb +2 -3
- data/lib/facter/resolvers/aix/processors.rb +0 -1
- data/lib/facter/resolvers/aix/serialnumber.rb +0 -1
- data/lib/facter/resolvers/augeas_resolver.rb +0 -1
- data/lib/facter/resolvers/base_resolver.rb +9 -4
- data/lib/facter/resolvers/bsd/processors.rb +0 -1
- data/lib/facter/resolvers/cloud.rb +39 -0
- data/lib/facter/resolvers/containers.rb +0 -1
- data/lib/facter/resolvers/debian_version.rb +0 -1
- data/lib/facter/resolvers/disk_resolver.rb +0 -1
- data/lib/facter/resolvers/dmi_decode.rb +1 -1
- data/lib/facter/resolvers/dmi_resolver.rb +0 -1
- data/lib/facter/resolvers/ec2.rb +0 -1
- data/lib/facter/resolvers/eos_release_resolver.rb +0 -1
- data/lib/facter/resolvers/facterversion_resolver.rb +0 -1
- data/lib/facter/resolvers/filesystems_resolver.rb +0 -1
- data/lib/facter/resolvers/fips_enabled_resolver.rb +0 -1
- data/lib/facter/resolvers/freebsd/dmi_resolver.rb +0 -1
- data/lib/facter/resolvers/freebsd/freebsd_version_resolver.rb +0 -1
- data/lib/facter/resolvers/freebsd/geom_resolver.rb +0 -1
- data/lib/facter/resolvers/freebsd/processors.rb +0 -1
- data/lib/facter/resolvers/freebsd/swap_memory_resolver.rb +0 -1
- data/lib/facter/resolvers/freebsd/system_memory_resolver.rb +0 -1
- data/lib/facter/resolvers/gce.rb +0 -1
- data/lib/facter/resolvers/hostname_resolver.rb +0 -1
- data/lib/facter/resolvers/identity_resolver.rb +0 -1
- data/lib/facter/resolvers/linux/docker_uptime.rb +0 -1
- data/lib/facter/resolvers/linux/load_averages.rb +0 -1
- data/lib/facter/resolvers/load_averages.rb +0 -1
- data/lib/facter/resolvers/lpar_resolver.rb +0 -1
- data/lib/facter/resolvers/lsb_release_resolver.rb +0 -1
- data/lib/facter/resolvers/lspci.rb +0 -1
- data/lib/facter/resolvers/macosx/dmi_resolver.rb +0 -1
- data/lib/facter/resolvers/macosx/filesystems_resolver.rb +1 -6
- data/lib/facter/resolvers/macosx/load_averages_resolver.rb +0 -1
- data/lib/facter/resolvers/macosx/mountpoints_resolver.rb +3 -3
- data/lib/facter/resolvers/macosx/processor_resolver.rb +0 -1
- data/lib/facter/resolvers/macosx/swap_memory_resolver.rb +0 -1
- data/lib/facter/resolvers/macosx/system_memory_resolver.rb +0 -1
- data/lib/facter/resolvers/macosx/system_profiler_resolver.rb +0 -1
- data/lib/facter/resolvers/memory_resolver.rb +6 -2
- data/lib/facter/resolvers/mountpoints_resolver.rb +0 -1
- data/lib/facter/resolvers/networking_linux_resolver.rb +0 -2
- data/lib/facter/resolvers/networking_resolver.rb +0 -1
- data/lib/facter/resolvers/open_vz.rb +0 -1
- data/lib/facter/resolvers/os_release_resolver.rb +0 -1
- data/lib/facter/resolvers/partitions.rb +37 -2
- data/lib/facter/resolvers/path_resolver.rb +0 -1
- data/lib/facter/resolvers/processors_resolver.rb +0 -1
- data/lib/facter/resolvers/puppet_version_resolver.rb +0 -1
- data/lib/facter/resolvers/redhat_release_resolver.rb +0 -1
- data/lib/facter/resolvers/ruby_resolver.rb +0 -1
- data/lib/facter/resolvers/selinux_resolver.rb +0 -1
- data/lib/facter/resolvers/solaris/disks.rb +0 -1
- data/lib/facter/resolvers/solaris/dmi.rb +0 -1
- data/lib/facter/resolvers/solaris/dmi_sparc.rb +0 -1
- data/lib/facter/resolvers/solaris/filesystems.rb +0 -1
- data/lib/facter/resolvers/solaris/ipaddress.rb +0 -1
- data/lib/facter/resolvers/solaris/ldom.rb +0 -1
- data/lib/facter/resolvers/solaris/memory.rb +0 -1
- data/lib/facter/resolvers/solaris/networking.rb +0 -1
- data/lib/facter/resolvers/solaris/os_release.rb +0 -1
- data/lib/facter/resolvers/solaris/processors.rb +0 -1
- data/lib/facter/resolvers/solaris/zone.rb +0 -1
- data/lib/facter/resolvers/solaris/zone_name.rb +0 -1
- data/lib/facter/resolvers/ssh_resolver.rb +0 -1
- data/lib/facter/resolvers/suse_release_resolver.rb +0 -1
- data/lib/facter/resolvers/sw_vers_resolver.rb +0 -1
- data/lib/facter/resolvers/timezone_resolver.rb +0 -1
- data/lib/facter/resolvers/uname_resolver.rb +0 -1
- data/lib/facter/resolvers/uptime_resolver.rb +0 -1
- data/lib/facter/resolvers/utils/filesystem_helper.rb +3 -1
- data/lib/facter/resolvers/virt_what.rb +0 -1
- data/lib/facter/resolvers/vmware.rb +0 -1
- data/lib/facter/resolvers/windows/aio_agent_version.rb +0 -1
- data/lib/facter/resolvers/windows/dmi_bios_resolver.rb +0 -1
- data/lib/facter/resolvers/windows/dmi_computersystem_resolver.rb +0 -1
- data/lib/facter/resolvers/windows/fips_resolver.rb +0 -1
- data/lib/facter/resolvers/windows/hardware_architecture_resolver.rb +0 -1
- data/lib/facter/resolvers/windows/identity_resolver.rb +0 -1
- data/lib/facter/resolvers/windows/kernel_resolver.rb +0 -1
- data/lib/facter/resolvers/windows/memory_resolver.rb +0 -1
- data/lib/facter/resolvers/windows/netkvm_resolver.rb +0 -1
- data/lib/facter/resolvers/windows/networking_resolver.rb +0 -1
- data/lib/facter/resolvers/windows/processors_resolver.rb +0 -1
- data/lib/facter/resolvers/windows/product_release_resolver.rb +0 -1
- data/lib/facter/resolvers/windows/ssh.rb +0 -1
- data/lib/facter/resolvers/windows/system32_resolver.rb +0 -1
- data/lib/facter/resolvers/windows/uptime_resolver.rb +0 -1
- data/lib/facter/resolvers/windows/virtualization_resolver.rb +0 -1
- data/lib/facter/resolvers/windows/win_os_description_resolver.rb +0 -1
- data/lib/facter/resolvers/wpar_resolver.rb +0 -1
- data/lib/facter/resolvers/xen.rb +0 -1
- data/lib/facter/resolvers/zfs.rb +0 -1
- data/lib/facter/resolvers/zpool.rb +0 -1
- data/lib/facter/version.rb +1 -1
- metadata +9 -4
- data/lib/facter/resolvers/aix/os_level_resolver.rb +0 -26
- data/lib/facter/resolvers/os_level_resolver.rb +0 -29
|
@@ -36,7 +36,8 @@ module Facter
|
|
|
36
36
|
.each do |searched_fact|
|
|
37
37
|
begin
|
|
38
38
|
fact = CoreFact.new(searched_fact)
|
|
39
|
-
fact_value =
|
|
39
|
+
fact_value = nil
|
|
40
|
+
Facter::Framework::Benchmarking::Timer.measure(searched_fact.name) { fact_value = fact.create }
|
|
40
41
|
resolved_facts << fact_value unless fact_value.nil?
|
|
41
42
|
rescue StandardError => e
|
|
42
43
|
@@log.log_exception(e)
|
|
@@ -20,45 +20,48 @@ module Facter
|
|
|
20
20
|
|
|
21
21
|
@facts = []
|
|
22
22
|
@external_facts = []
|
|
23
|
-
load_internal_facts(options)
|
|
24
|
-
load_external_facts(options)
|
|
25
23
|
|
|
26
|
-
@
|
|
24
|
+
@internal_facts = load_internal_facts(options)
|
|
25
|
+
@external_facts = load_external_facts(options)
|
|
26
|
+
|
|
27
|
+
@facts = @internal_facts + @external_facts
|
|
27
28
|
end
|
|
28
29
|
|
|
29
30
|
private
|
|
30
31
|
|
|
31
32
|
def load_internal_facts(options)
|
|
32
33
|
@log.debug('Loading internal facts')
|
|
34
|
+
internal_facts = []
|
|
33
35
|
|
|
34
36
|
if options[:user_query] || options[:show_legacy]
|
|
35
37
|
# if we have a user query, then we must search in core facts and legacy facts
|
|
36
38
|
@log.debug('Loading all internal facts')
|
|
37
|
-
|
|
39
|
+
internal_facts = @internal_loader.facts
|
|
38
40
|
else
|
|
39
41
|
@log.debug('Load only core facts')
|
|
40
|
-
|
|
42
|
+
internal_facts = @internal_loader.core_facts
|
|
41
43
|
end
|
|
42
44
|
|
|
43
|
-
|
|
44
|
-
@facts.concat(@internal_facts)
|
|
45
|
+
block_facts(internal_facts, options)
|
|
45
46
|
end
|
|
46
47
|
|
|
47
48
|
def load_external_facts(options)
|
|
48
49
|
@log.debug('Loading external facts')
|
|
50
|
+
external_facts = []
|
|
51
|
+
|
|
49
52
|
if options[:custom_facts]
|
|
50
53
|
@log.debug('Loading custom facts')
|
|
51
|
-
|
|
54
|
+
external_facts += @external_fact_loader.custom_facts
|
|
52
55
|
end
|
|
53
56
|
|
|
54
|
-
|
|
57
|
+
external_facts = block_facts(external_facts, options)
|
|
55
58
|
|
|
56
59
|
if options[:external_facts]
|
|
57
60
|
@log.debug('Loading external facts')
|
|
58
|
-
|
|
61
|
+
external_facts += @external_fact_loader.external_facts
|
|
59
62
|
end
|
|
60
63
|
|
|
61
|
-
|
|
64
|
+
external_facts
|
|
62
65
|
end
|
|
63
66
|
|
|
64
67
|
def block_facts(facts, options)
|
|
@@ -30,18 +30,18 @@ module Facter
|
|
|
30
30
|
def load_for_os(operating_system)
|
|
31
31
|
# select only classes
|
|
32
32
|
classes = ClassDiscoverer.instance.discover_classes(operating_system)
|
|
33
|
-
|
|
34
33
|
classes.each do |class_name|
|
|
35
34
|
fact_name = class_name::FACT_NAME
|
|
36
|
-
|
|
37
35
|
# if fact is already loaded, skip it
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
36
|
+
unless @facts.any? { |fact| fact.name == fact_name }
|
|
37
|
+
type = class_name.const_defined?('TYPE') ? class_name::TYPE : :core
|
|
38
|
+
load_fact(fact_name, class_name, type)
|
|
39
|
+
end
|
|
42
40
|
next unless class_name.const_defined?('ALIASES')
|
|
43
41
|
|
|
44
|
-
[*class_name::ALIASES].each
|
|
42
|
+
[*class_name::ALIASES].each do |fact_alias|
|
|
43
|
+
load_fact(fact_alias, class_name, :legacy) unless @facts.any? { |fact| fact.name == fact_alias }
|
|
44
|
+
end
|
|
45
45
|
end
|
|
46
46
|
end
|
|
47
47
|
|
|
@@ -39,6 +39,8 @@ load_dir(['resolvers'])
|
|
|
39
39
|
load_dir(['facts_utils'])
|
|
40
40
|
load_dir(%w[framework core])
|
|
41
41
|
load_dir(['models'])
|
|
42
|
+
load_dir(%w[framework benchmarking])
|
|
43
|
+
|
|
42
44
|
load_dir(%w[framework core fact_loaders])
|
|
43
45
|
load_dir(%w[framework core fact internal])
|
|
44
46
|
load_dir(%w[framework core fact external])
|
|
@@ -46,7 +46,9 @@ module Facter
|
|
|
46
46
|
return unless file_global_conf
|
|
47
47
|
|
|
48
48
|
if Options.cli?
|
|
49
|
-
|
|
49
|
+
unless file_global_conf['no-custom-facts'].nil?
|
|
50
|
+
@options[:no_custom_facts] = file_global_conf['no-custom-facts']
|
|
51
|
+
end
|
|
50
52
|
end
|
|
51
53
|
|
|
52
54
|
@options[:custom_dir] = file_global_conf['custom-dir'] unless file_global_conf['custom-dir'].nil?
|
|
@@ -57,7 +59,7 @@ module Facter
|
|
|
57
59
|
return unless global_conf
|
|
58
60
|
|
|
59
61
|
if Options.cli?
|
|
60
|
-
@options[:
|
|
62
|
+
@options[:no_external_facts] = global_conf['no-external-facts'] unless global_conf['no-external-facts'].nil?
|
|
61
63
|
end
|
|
62
64
|
|
|
63
65
|
@options[:external_dir] = [global_conf['external-dir']].flatten unless global_conf['external-dir'].nil?
|
|
@@ -67,7 +69,7 @@ module Facter
|
|
|
67
69
|
def augment_ruby(global_conf)
|
|
68
70
|
return unless global_conf
|
|
69
71
|
|
|
70
|
-
@options[:
|
|
72
|
+
@options[:no_ruby] = global_conf['no-ruby'].nil? ? false : global_conf['no-ruby']
|
|
71
73
|
end
|
|
72
74
|
|
|
73
75
|
def augment_show_legacy(global_conf)
|
|
@@ -22,16 +22,17 @@ module Facter
|
|
|
22
22
|
@user_query = []
|
|
23
23
|
@block_list = {}
|
|
24
24
|
@fact_groups = {}
|
|
25
|
-
@color =
|
|
25
|
+
@color = true
|
|
26
|
+
@timing = false
|
|
26
27
|
|
|
27
28
|
class << self
|
|
28
|
-
attr_reader :debug, :verbose, :log_level, :show_legacy,
|
|
29
|
-
:custom_facts, :blocked_facts
|
|
29
|
+
attr_reader :debug, :verbose, :log_level, :show_legacy,
|
|
30
|
+
:custom_facts, :blocked_facts, :ruby, :external_facts
|
|
30
31
|
|
|
31
|
-
attr_accessor :config, :user_query, :strict, :json, :haml,
|
|
32
|
+
attr_accessor :config, :user_query, :strict, :json, :haml,
|
|
32
33
|
:cache, :yaml, :puppet, :ttls, :block, :cli, :config_file_custom_dir,
|
|
33
34
|
:config_file_external_dir, :default_external_dir, :fact_groups,
|
|
34
|
-
:block_list, :color, :trace
|
|
35
|
+
:block_list, :color, :trace, :timing
|
|
35
36
|
|
|
36
37
|
attr_writer :external_dir
|
|
37
38
|
|
|
@@ -44,16 +45,28 @@ module Facter
|
|
|
44
45
|
options
|
|
45
46
|
end
|
|
46
47
|
|
|
47
|
-
def
|
|
48
|
-
if bool
|
|
49
|
-
@ruby = true
|
|
50
|
-
else
|
|
48
|
+
def no_ruby=(bool)
|
|
49
|
+
if bool
|
|
51
50
|
@ruby = false
|
|
52
51
|
@custom_facts = false
|
|
53
52
|
@blocked_facts << 'ruby'
|
|
53
|
+
else
|
|
54
|
+
@ruby = true
|
|
54
55
|
end
|
|
55
56
|
end
|
|
56
57
|
|
|
58
|
+
def no_block=(bool)
|
|
59
|
+
@block = !bool
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def no_cache=(bool)
|
|
63
|
+
@cache = !bool
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def no_color=(bool)
|
|
67
|
+
@color = !bool
|
|
68
|
+
end
|
|
69
|
+
|
|
57
70
|
def external_dir
|
|
58
71
|
return fallback_external_dir if @external_dir.empty? && @external_facts
|
|
59
72
|
|
|
@@ -98,8 +111,8 @@ module Facter
|
|
|
98
111
|
end
|
|
99
112
|
end
|
|
100
113
|
|
|
101
|
-
def
|
|
102
|
-
if bool ==
|
|
114
|
+
def no_custom_facts=(bool)
|
|
115
|
+
if bool == false
|
|
103
116
|
@custom_facts = true
|
|
104
117
|
@ruby = true
|
|
105
118
|
else
|
|
@@ -107,6 +120,10 @@ module Facter
|
|
|
107
120
|
end
|
|
108
121
|
end
|
|
109
122
|
|
|
123
|
+
def no_external_facts=(bool)
|
|
124
|
+
@external_facts = !bool
|
|
125
|
+
end
|
|
126
|
+
|
|
110
127
|
def log_level=(level)
|
|
111
128
|
level = level.to_sym
|
|
112
129
|
case level
|
|
@@ -155,10 +172,12 @@ module Facter
|
|
|
155
172
|
@custom_facts = true
|
|
156
173
|
@external_dir = []
|
|
157
174
|
@default_external_dir = []
|
|
175
|
+
@config_file_external_dir = []
|
|
158
176
|
@external_facts = true
|
|
159
177
|
@blocked_facts = []
|
|
160
178
|
@fact_groups = {}
|
|
161
179
|
@block_list = {}
|
|
180
|
+
@timing = false
|
|
162
181
|
end
|
|
163
182
|
|
|
164
183
|
def fallback_external_dir
|
|
@@ -60,9 +60,7 @@ module Facter
|
|
|
60
60
|
def debug(msg)
|
|
61
61
|
return unless debugging_active?
|
|
62
62
|
|
|
63
|
-
if
|
|
64
|
-
empty_message_error(msg)
|
|
65
|
-
elsif @@message_callback
|
|
63
|
+
if @@message_callback
|
|
66
64
|
@@message_callback.call(:debug, msg)
|
|
67
65
|
else
|
|
68
66
|
msg = colorize(msg, CYAN) if Options[:color]
|
|
@@ -82,9 +80,7 @@ module Facter
|
|
|
82
80
|
end
|
|
83
81
|
|
|
84
82
|
def warn(msg)
|
|
85
|
-
if
|
|
86
|
-
empty_message_error(msg)
|
|
87
|
-
elsif @@message_callback
|
|
83
|
+
if @@message_callback
|
|
88
84
|
@@message_callback.call(:warn, msg)
|
|
89
85
|
else
|
|
90
86
|
msg = colorize(msg, YELLOW) if Options[:color]
|
|
@@ -95,9 +91,7 @@ module Facter
|
|
|
95
91
|
def error(msg, colorize = false)
|
|
96
92
|
@@has_errors = true
|
|
97
93
|
|
|
98
|
-
if
|
|
99
|
-
empty_message_error(msg)
|
|
100
|
-
elsif @@message_callback
|
|
94
|
+
if @@message_callback
|
|
101
95
|
@@message_callback.call(:error, msg)
|
|
102
96
|
else
|
|
103
97
|
msg = colorize(msg, RED) if colorize || Options[:color]
|
|
@@ -115,8 +109,6 @@ module Facter
|
|
|
115
109
|
private
|
|
116
110
|
|
|
117
111
|
def colorize(msg, color)
|
|
118
|
-
return msg if OsDetector.instance.identifier.eql?(:windows)
|
|
119
|
-
|
|
120
112
|
"#{color}#{msg}#{RESET}"
|
|
121
113
|
end
|
|
122
114
|
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'sys/filesystem'
|
|
4
|
+
|
|
5
|
+
module Sys
|
|
6
|
+
class Filesystem
|
|
7
|
+
module Structs
|
|
8
|
+
class Statvfs < FFI::Struct
|
|
9
|
+
# We must remove the instance variable layout defined by sys-filesystem, because setting
|
|
10
|
+
# it the second time will make FFI log a warning message.
|
|
11
|
+
remove_instance_variable(:@layout) if @layout
|
|
12
|
+
|
|
13
|
+
if RbConfig::CONFIG['host_os'] =~ /darwin|osx|mach/i
|
|
14
|
+
layout(
|
|
15
|
+
:f_bsize, :ulong,
|
|
16
|
+
:f_frsize, :ulong,
|
|
17
|
+
:f_blocks, :uint,
|
|
18
|
+
:f_bfree, :uint,
|
|
19
|
+
:f_bavail, :uint,
|
|
20
|
+
:f_files, :uint,
|
|
21
|
+
:f_ffree, :uint,
|
|
22
|
+
:f_favail, :uint,
|
|
23
|
+
:f_fsid, :ulong,
|
|
24
|
+
:f_flag, :ulong,
|
|
25
|
+
:f_namemax, :ulong
|
|
26
|
+
)
|
|
27
|
+
elsif RbConfig::CONFIG['host'] =~ /bsd/i
|
|
28
|
+
layout(
|
|
29
|
+
:f_bavail, :uint64,
|
|
30
|
+
:f_bfree, :uint64,
|
|
31
|
+
:f_blocks, :uint64,
|
|
32
|
+
:f_favail, :uint64,
|
|
33
|
+
:f_ffree, :uint64,
|
|
34
|
+
:f_files, :uint64,
|
|
35
|
+
:f_bsize, :ulong,
|
|
36
|
+
:f_flag, :ulong,
|
|
37
|
+
:f_frsize, :ulong,
|
|
38
|
+
:f_fsid, :ulong,
|
|
39
|
+
:f_namemax, :ulong
|
|
40
|
+
)
|
|
41
|
+
elsif RbConfig::CONFIG['host'] =~ /sunos|solaris/i
|
|
42
|
+
layout(
|
|
43
|
+
:f_bsize, :ulong,
|
|
44
|
+
:f_frsize, :ulong,
|
|
45
|
+
:f_blocks, :uint64_t,
|
|
46
|
+
:f_bfree, :uint64_t,
|
|
47
|
+
:f_bavail, :uint64_t,
|
|
48
|
+
:f_files, :uint64_t,
|
|
49
|
+
:f_ffree, :uint64_t,
|
|
50
|
+
:f_favail, :uint64_t,
|
|
51
|
+
:f_fsid, :ulong,
|
|
52
|
+
:f_basetype, [:char, 16],
|
|
53
|
+
:f_flag, :ulong,
|
|
54
|
+
:f_namemax, :ulong,
|
|
55
|
+
:f_fstr, [:char, 32],
|
|
56
|
+
:f_filler, [:ulong, 16]
|
|
57
|
+
)
|
|
58
|
+
elsif RbConfig::CONFIG['host'] =~ /i686/i
|
|
59
|
+
layout(
|
|
60
|
+
:f_bsize, :ulong,
|
|
61
|
+
:f_frsize, :ulong,
|
|
62
|
+
:f_blocks, :uint,
|
|
63
|
+
:f_bfree, :uint,
|
|
64
|
+
:f_bavail, :uint,
|
|
65
|
+
:f_files, :uint,
|
|
66
|
+
:f_ffree, :uint,
|
|
67
|
+
:f_favail, :uint,
|
|
68
|
+
:f_fsid, :ulong,
|
|
69
|
+
:f_flag, :ulong,
|
|
70
|
+
:f_namemax, :ulong,
|
|
71
|
+
:f_spare, [:int, 6]
|
|
72
|
+
)
|
|
73
|
+
else
|
|
74
|
+
layout(
|
|
75
|
+
:f_bsize, :ulong,
|
|
76
|
+
:f_frsize, :ulong,
|
|
77
|
+
:f_blocks, :uint64,
|
|
78
|
+
:f_bfree, :uint64,
|
|
79
|
+
:f_bavail, :uint64,
|
|
80
|
+
:f_files, :uint64,
|
|
81
|
+
:f_ffree, :uint64,
|
|
82
|
+
:f_favail, :uint64,
|
|
83
|
+
:f_fsid, :ulong,
|
|
84
|
+
:f_flag, :ulong,
|
|
85
|
+
:f_namemax, :ulong,
|
|
86
|
+
:f_spare, [:int, 6]
|
|
87
|
+
)
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
end
|
|
@@ -4,7 +4,6 @@ module Facter
|
|
|
4
4
|
module Resolvers
|
|
5
5
|
module Aix
|
|
6
6
|
class Disks < BaseResolver
|
|
7
|
-
@semaphore = Mutex.new
|
|
8
7
|
@fact_list ||= {}
|
|
9
8
|
class << self
|
|
10
9
|
private
|
|
@@ -14,12 +13,12 @@ module Facter
|
|
|
14
13
|
end
|
|
15
14
|
|
|
16
15
|
def execute_lspv(fact_name)
|
|
17
|
-
@fact_list[:disks] = {}
|
|
18
|
-
|
|
19
16
|
result = Facter::Core::Execution.execute('lspv', logger: log)
|
|
20
17
|
|
|
21
18
|
return if result.empty?
|
|
22
19
|
|
|
20
|
+
@fact_list[:disks] = {}
|
|
21
|
+
|
|
23
22
|
result.each_line do |line|
|
|
24
23
|
disk_name = line.split(' ')[0].strip
|
|
25
24
|
size = find_size(disk_name)
|
|
@@ -5,7 +5,6 @@ module Facter
|
|
|
5
5
|
module Aix
|
|
6
6
|
class Memory < BaseResolver
|
|
7
7
|
# :hardware
|
|
8
|
-
@semaphore = Mutex.new
|
|
9
8
|
@fact_list ||= {}
|
|
10
9
|
class << self
|
|
11
10
|
private
|
|
@@ -18,11 +17,11 @@ module Facter
|
|
|
18
17
|
result = Facter::Core::Execution.execute('svmon', logger: log)
|
|
19
18
|
return if result.empty?
|
|
20
19
|
|
|
21
|
-
@fact_list[:system] = @fact_list[:swap] = {}
|
|
22
|
-
|
|
23
20
|
pagesize = call_pagesize.to_i
|
|
24
21
|
return if pagesize.zero?
|
|
25
22
|
|
|
23
|
+
@fact_list[:system] = @fact_list[:swap] = {}
|
|
24
|
+
|
|
26
25
|
result.each_line do |line|
|
|
27
26
|
@fact_list[:system] = populate_system(line, pagesize) if line.include?('memory')
|
|
28
27
|
@fact_list[:swap] = populate_swap(line, pagesize) if line =~ /pg\sspace/
|