facter 4.0.41 → 4.0.47
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/lib/docs/generate.rb +32 -0
- data/lib/docs/template.erb +34 -0
- data/lib/facter.rb +110 -25
- data/lib/facter/config.rb +386 -0
- data/lib/facter/custom_facts/core/aggregate.rb +51 -17
- data/lib/facter/custom_facts/core/execution.rb +54 -38
- data/lib/facter/custom_facts/core/execution/base.rb +46 -40
- data/lib/facter/custom_facts/util/collection.rb +1 -2
- data/lib/facter/custom_facts/util/directory_loader.rb +1 -1
- data/lib/facter/custom_facts/util/fact.rb +19 -2
- data/lib/facter/custom_facts/util/loader.rb +1 -1
- data/lib/facter/custom_facts/util/parser.rb +17 -3
- data/lib/facter/custom_facts/util/resolution.rb +41 -12
- data/lib/facter/facts/aix/interfaces.rb +1 -0
- data/lib/facter/facts/aix/memory/swap/available.rb +1 -1
- data/lib/facter/facts/aix/memory/swap/available_bytes.rb +1 -1
- data/lib/facter/facts/aix/memory/swap/total.rb +1 -1
- data/lib/facter/facts/aix/memory/swap/total_bytes.rb +1 -1
- data/lib/facter/facts/aix/memory/swap/used.rb +1 -1
- data/lib/facter/facts/aix/memory/system/available.rb +1 -1
- data/lib/facter/facts/aix/memory/system/available_bytes.rb +1 -1
- data/lib/facter/facts/aix/memory/system/total.rb +1 -1
- data/lib/facter/facts/aix/memory/system/total_bytes.rb +1 -1
- data/lib/facter/facts/aix/memory/system/used.rb +1 -1
- data/lib/facter/facts/aix/processors/speed.rb +1 -1
- data/lib/facter/facts/bsd/processors/speed.rb +1 -1
- data/lib/facter/facts/freebsd/is_virtual.rb +25 -0
- data/lib/facter/facts/freebsd/memory/swap/available.rb +1 -1
- data/lib/facter/facts/freebsd/memory/swap/available_bytes.rb +1 -1
- data/lib/facter/facts/freebsd/memory/swap/total.rb +1 -1
- data/lib/facter/facts/freebsd/memory/swap/total_bytes.rb +1 -1
- data/lib/facter/facts/freebsd/memory/swap/used.rb +1 -1
- data/lib/facter/facts/freebsd/memory/system/available.rb +1 -1
- data/lib/facter/facts/freebsd/memory/system/available_bytes.rb +1 -1
- data/lib/facter/facts/freebsd/memory/system/total.rb +1 -1
- data/lib/facter/facts/freebsd/memory/system/total_bytes.rb +1 -1
- data/lib/facter/facts/freebsd/memory/system/used.rb +1 -1
- data/lib/facter/facts/freebsd/processors/speed.rb +1 -1
- data/lib/facter/facts/freebsd/virtual.rb +22 -0
- data/lib/facter/facts/linux/dhcp_servers.rb +1 -0
- data/lib/facter/facts/linux/ec2_metadata.rb +1 -1
- data/lib/facter/facts/linux/ec2_userdata.rb +1 -1
- data/lib/facter/facts/linux/hypervisors/kvm.rb +1 -1
- data/lib/facter/facts/linux/hypervisors/xen.rb +1 -1
- data/lib/facter/facts/linux/interfaces.rb +1 -0
- data/lib/facter/facts/linux/is_virtual.rb +2 -2
- data/lib/facter/facts/linux/memory/swap/available.rb +1 -1
- data/lib/facter/facts/linux/memory/swap/available_bytes.rb +1 -1
- data/lib/facter/facts/linux/memory/swap/total.rb +1 -1
- data/lib/facter/facts/linux/memory/swap/total_bytes.rb +1 -1
- data/lib/facter/facts/linux/memory/swap/used.rb +1 -1
- data/lib/facter/facts/linux/memory/system/available.rb +1 -1
- data/lib/facter/facts/linux/memory/system/available_bytes.rb +1 -1
- data/lib/facter/facts/linux/memory/system/total.rb +1 -1
- data/lib/facter/facts/linux/memory/system/total_bytes.rb +1 -1
- data/lib/facter/facts/linux/memory/system/used.rb +1 -1
- data/lib/facter/facts/linux/processors/speed.rb +1 -1
- data/lib/facter/facts/linux/virtual.rb +1 -1
- data/lib/facter/facts/macosx/dhcp_servers.rb +1 -0
- data/lib/facter/facts/macosx/interfaces.rb +1 -0
- data/lib/facter/facts/macosx/memory/swap/available.rb +1 -1
- data/lib/facter/facts/macosx/memory/swap/available_bytes.rb +1 -1
- data/lib/facter/facts/macosx/memory/swap/total.rb +1 -1
- data/lib/facter/facts/macosx/memory/swap/total_bytes.rb +1 -1
- data/lib/facter/facts/macosx/memory/swap/used.rb +1 -1
- data/lib/facter/facts/macosx/memory/system/available.rb +1 -1
- data/lib/facter/facts/macosx/memory/system/available_bytes.rb +1 -1
- data/lib/facter/facts/macosx/memory/system/total.rb +1 -1
- data/lib/facter/facts/macosx/memory/system/total_bytes.rb +1 -1
- data/lib/facter/facts/macosx/memory/system/used.rb +1 -1
- data/lib/facter/facts/macosx/processors/speed.rb +1 -1
- data/lib/facter/facts/rhel/os/release.rb +1 -1
- data/lib/facter/facts/solaris/dhcp_servers.rb +1 -0
- data/lib/facter/facts/solaris/hypervisors/ldom.rb +3 -0
- data/lib/facter/facts/solaris/interfaces.rb +1 -0
- data/lib/facter/facts/solaris/is_virtual.rb +2 -2
- data/lib/facter/facts/solaris/ldom.rb +34 -4
- data/lib/facter/facts/solaris/memory/swap/available.rb +1 -1
- data/lib/facter/facts/solaris/memory/swap/available_bytes.rb +1 -1
- data/lib/facter/facts/solaris/memory/swap/total.rb +1 -1
- data/lib/facter/facts/solaris/memory/swap/total_bytes.rb +1 -1
- data/lib/facter/facts/solaris/memory/swap/used.rb +1 -1
- data/lib/facter/facts/solaris/memory/system/available.rb +1 -1
- data/lib/facter/facts/solaris/memory/system/available_bytes.rb +1 -1
- data/lib/facter/facts/solaris/memory/system/total.rb +1 -1
- data/lib/facter/facts/solaris/memory/system/total_bytes.rb +1 -1
- data/lib/facter/facts/solaris/memory/system/used.rb +1 -1
- data/lib/facter/facts/solaris/processors/speed.rb +1 -1
- data/lib/facter/facts/solaris/virtual.rb +1 -1
- data/lib/facter/facts/solaris/zones.rb +1 -1
- data/lib/facter/facts/windows/dhcp_servers.rb +1 -0
- data/lib/facter/facts/windows/interfaces.rb +1 -0
- data/lib/facter/facts/windows/memory/system/available.rb +1 -1
- data/lib/facter/facts/windows/memory/system/available_bytes.rb +1 -1
- data/lib/facter/facts/windows/memory/system/total.rb +1 -1
- data/lib/facter/facts/windows/memory/system/total_bytes.rb +1 -1
- data/lib/facter/facts/windows/memory/system/used.rb +1 -1
- data/lib/facter/facts/windows/os/release.rb +1 -1
- data/lib/facter/framework/benchmarking/timer.rb +4 -2
- data/lib/facter/framework/cli/cli.rb +20 -6
- data/lib/facter/framework/config/fact_groups.rb +10 -8
- data/lib/facter/framework/core/cache_manager.rb +79 -29
- data/lib/facter/framework/core/fact/internal/core_fact.rb +6 -1
- data/lib/facter/framework/core/fact/internal/internal_fact_manager.rb +38 -4
- data/lib/facter/framework/core/fact_augmenter.rb +1 -1
- data/lib/facter/framework/core/fact_loaders/external_fact_loader.rb +4 -2
- data/lib/facter/framework/core/fact_loaders/fact_loader.rb +17 -1
- data/lib/facter/framework/core/fact_manager.rb +15 -3
- data/lib/facter/framework/core/file_loader.rb +6 -2
- data/lib/facter/framework/core/options/config_file_options.rb +16 -5
- data/lib/facter/framework/core/options/option_store.rb +40 -20
- data/lib/facter/framework/detector/os_hierarchy.rb +5 -9
- data/lib/facter/framework/logging/logger.rb +3 -3
- data/lib/facter/models/fact_collection.rb +11 -1
- data/lib/facter/models/loaded_fact.rb +2 -1
- data/lib/facter/resolvers/aio_agent_version.rb +2 -2
- data/lib/facter/resolvers/aix/architecture_resolver.rb +19 -4
- data/lib/facter/resolvers/aix/disks.rb +6 -5
- data/lib/facter/resolvers/aix/filesystem_resolver.rb +2 -2
- data/lib/facter/resolvers/aix/hardware_resolver.rb +4 -3
- data/lib/facter/resolvers/aix/load_averages_resolver.rb +2 -1
- data/lib/facter/resolvers/aix/memory.rb +4 -3
- data/lib/facter/resolvers/aix/mountpoints.rb +6 -5
- data/lib/facter/resolvers/aix/networking_resolver.rb +4 -3
- data/lib/facter/resolvers/aix/nim.rb +1 -1
- data/lib/facter/resolvers/aix/os_level.rb +2 -2
- data/lib/facter/resolvers/aix/partitions.rb +7 -6
- data/lib/facter/resolvers/aix/processors.rb +5 -4
- data/lib/facter/resolvers/aix/serialnumber.rb +2 -2
- data/lib/facter/resolvers/augeas_resolver.rb +8 -2
- data/lib/facter/resolvers/base_resolver.rb +14 -4
- data/lib/facter/resolvers/bsd/processors.rb +13 -8
- data/lib/facter/resolvers/cloud.rb +2 -2
- data/lib/facter/resolvers/containers.rb +5 -4
- data/lib/facter/resolvers/debian_version.rb +2 -2
- data/lib/facter/resolvers/disk_resolver.rb +17 -6
- data/lib/facter/resolvers/dmi_decode.rb +1 -1
- data/lib/facter/resolvers/dmi_resolver.rb +5 -4
- data/lib/facter/resolvers/ec2.rb +5 -2
- data/lib/facter/resolvers/eos_release_resolver.rb +2 -2
- data/lib/facter/resolvers/facterversion_resolver.rb +1 -1
- data/lib/facter/resolvers/filesystems_resolver.rb +5 -2
- data/lib/facter/resolvers/fips_enabled_resolver.rb +5 -2
- data/lib/facter/resolvers/freebsd/dmi_resolver.rb +1 -1
- data/lib/facter/resolvers/freebsd/freebsd_version_resolver.rb +9 -7
- data/lib/facter/resolvers/freebsd/geom_resolver.rb +15 -22
- data/lib/facter/resolvers/freebsd/processors.rb +13 -8
- data/lib/facter/resolvers/freebsd/swap_memory_resolver.rb +5 -3
- data/lib/facter/resolvers/freebsd/system_memory_resolver.rb +4 -2
- data/lib/facter/resolvers/freebsd/virtual_resolver.rb +45 -0
- data/lib/facter/resolvers/gce.rb +3 -2
- data/lib/facter/resolvers/hostname_resolver.rb +69 -21
- data/lib/facter/resolvers/identity_resolver.rb +2 -1
- data/lib/facter/resolvers/linux/docker_uptime.rb +3 -2
- data/lib/facter/resolvers/linux/load_averages.rb +3 -2
- data/lib/facter/resolvers/load_averages.rb +5 -3
- data/lib/facter/resolvers/lpar_resolver.rb +1 -1
- data/lib/facter/resolvers/lsb_release_resolver.rb +1 -1
- data/lib/facter/resolvers/lspci.rb +1 -1
- data/lib/facter/resolvers/macosx/dmi_resolver.rb +1 -1
- data/lib/facter/resolvers/macosx/filesystems_resolver.rb +1 -1
- data/lib/facter/resolvers/macosx/load_averages_resolver.rb +2 -1
- data/lib/facter/resolvers/macosx/mountpoints_resolver.rb +9 -8
- data/lib/facter/resolvers/macosx/processor_resolver.rb +2 -1
- data/lib/facter/resolvers/macosx/swap_memory_resolver.rb +2 -1
- data/lib/facter/resolvers/macosx/system_memory_resolver.rb +2 -1
- data/lib/facter/resolvers/macosx/system_profiler_resolver.rb +4 -6
- data/lib/facter/resolvers/memory_resolver.rb +16 -16
- data/lib/facter/resolvers/mountpoints_resolver.rb +56 -25
- data/lib/facter/resolvers/networking_linux_resolver.rb +188 -83
- data/lib/facter/resolvers/networking_resolver.rb +9 -6
- data/lib/facter/resolvers/open_vz.rb +2 -4
- data/lib/facter/resolvers/os_release_resolver.rb +2 -2
- data/lib/facter/resolvers/partitions.rb +67 -63
- data/lib/facter/resolvers/path_resolver.rb +1 -1
- data/lib/facter/resolvers/processors_resolver.rb +10 -3
- data/lib/facter/resolvers/redhat_release_resolver.rb +2 -2
- data/lib/facter/resolvers/ruby_resolver.rb +1 -1
- data/lib/facter/resolvers/selinux_resolver.rb +4 -4
- data/lib/facter/resolvers/solaris/disks.rb +2 -2
- data/lib/facter/resolvers/solaris/dmi.rb +3 -1
- data/lib/facter/resolvers/solaris/dmi_sparc.rb +1 -1
- data/lib/facter/resolvers/solaris/filesystems.rb +1 -1
- data/lib/facter/resolvers/solaris/ipaddress.rb +2 -1
- data/lib/facter/resolvers/solaris/ldom.rb +1 -3
- data/lib/facter/resolvers/solaris/memory.rb +4 -3
- data/lib/facter/resolvers/solaris/mountpoints.rb +61 -0
- data/lib/facter/resolvers/solaris/networking.rb +51 -44
- data/lib/facter/resolvers/solaris/os_release.rb +7 -5
- data/lib/facter/resolvers/solaris/processors.rb +2 -1
- data/lib/facter/resolvers/solaris/zone.rb +1 -1
- data/lib/facter/resolvers/solaris/zone_name.rb +1 -1
- data/lib/facter/resolvers/ssh_resolver.rb +11 -7
- data/lib/facter/resolvers/suse_release_resolver.rb +2 -2
- data/lib/facter/resolvers/sw_vers_resolver.rb +2 -2
- data/lib/facter/resolvers/timezone_resolver.rb +1 -1
- data/lib/facter/resolvers/uname_resolver.rb +1 -1
- data/lib/facter/resolvers/uptime_resolver.rb +3 -3
- data/lib/facter/resolvers/virt_what.rb +1 -1
- data/lib/facter/resolvers/vmware.rb +1 -1
- data/lib/facter/resolvers/windows/aio_agent_version.rb +2 -2
- data/lib/facter/resolvers/windows/dmi_bios_resolver.rb +2 -2
- data/lib/facter/resolvers/windows/dmi_computersystem_resolver.rb +2 -2
- data/lib/facter/resolvers/windows/fips_resolver.rb +2 -1
- data/lib/facter/resolvers/windows/hardware_architecture_resolver.rb +2 -1
- data/lib/facter/resolvers/windows/identity_resolver.rb +2 -1
- data/lib/facter/resolvers/windows/kernel_resolver.rb +3 -1
- data/lib/facter/resolvers/windows/memory_resolver.rb +7 -1
- data/lib/facter/resolvers/windows/netkvm_resolver.rb +2 -1
- data/lib/facter/resolvers/windows/networking_resolver.rb +5 -4
- data/lib/facter/resolvers/windows/processors_resolver.rb +3 -2
- data/lib/facter/resolvers/windows/product_release_resolver.rb +2 -1
- data/lib/facter/resolvers/windows/ssh.rb +5 -3
- data/lib/facter/resolvers/windows/system32_resolver.rb +3 -1
- data/lib/facter/resolvers/windows/uptime_resolver.rb +3 -2
- data/lib/facter/resolvers/windows/virtualization_resolver.rb +3 -2
- data/lib/facter/resolvers/windows/win_os_description_resolver.rb +4 -2
- data/lib/facter/resolvers/wpar_resolver.rb +1 -1
- data/lib/facter/resolvers/xen.rb +2 -2
- data/lib/facter/resolvers/zfs.rb +2 -1
- data/lib/facter/resolvers/zpool.rb +2 -1
- data/lib/facter/util/aix/info_extractor.rb +24 -0
- data/lib/facter/util/aix/odm_query.rb +46 -0
- data/lib/facter/util/api_debugger.rb +33 -29
- data/lib/facter/util/facts/facts_utils.rb +14 -0
- data/lib/facter/util/facts/unit_converter.rb +61 -0
- data/lib/facter/util/facts/uptime_parser.rb +128 -0
- data/lib/facter/util/facts/virtual_detector.rb +90 -0
- data/lib/facter/util/facts/windows_release_finder.rb +55 -0
- data/lib/facter/{resolvers/macosx/utils → util/macosx}/system_profile_executor.rb +1 -1
- data/lib/facter/util/resolvers/aws_token.rb +37 -0
- data/lib/facter/{resolvers/utils → util/resolvers}/ffi/load_averages.rb +2 -2
- data/lib/facter/util/resolvers/filesystem_helper.rb +47 -0
- data/lib/facter/util/resolvers/fingerprint.rb +15 -0
- data/lib/facter/{resolvers/utils → util/resolvers}/http.rb +17 -10
- data/lib/facter/util/resolvers/networking.rb +90 -0
- data/lib/facter/util/resolvers/networking/dhcp.rb +21 -0
- data/lib/facter/util/resolvers/networking/networking.rb +109 -0
- data/lib/facter/util/resolvers/networking/primary_interface.rb +82 -0
- data/lib/facter/util/resolvers/ssh.rb +17 -0
- data/lib/facter/util/resolvers/ssh_helper.rb +31 -0
- data/lib/facter/{resolvers/utils → util/resolvers}/uptime_helper.rb +2 -2
- data/lib/facter/{framework/utils → util}/utils.rb +0 -0
- data/lib/facter/util/windows/win32ole.rb +30 -0
- data/lib/facter/version.rb +1 -1
- metadata +33 -44
- data/lib/facter/fact_groups.conf +0 -308
- data/lib/facter/facts/aix/puppet_version.rb +0 -15
- data/lib/facter/facts/freebsd/puppet_version.rb +0 -15
- data/lib/facter/facts/linux/puppet_version.rb +0 -15
- data/lib/facter/facts/macosx/puppet_version.rb +0 -15
- data/lib/facter/facts/solaris/puppet_version.rb +0 -15
- data/lib/facter/facts/windows/puppet_version.rb +0 -15
- data/lib/facter/facts_utils/facts_utils.rb +0 -12
- data/lib/facter/facts_utils/unit_converter.rb +0 -59
- data/lib/facter/facts_utils/uptime_parser.rb +0 -124
- data/lib/facter/facts_utils/virtual_detector.rb +0 -78
- data/lib/facter/facts_utils/windows_release_finder.rb +0 -51
- data/lib/facter/os_hierarchy.json +0 -36
- data/lib/facter/resolvers/aix/utils/info_extractor.rb +0 -20
- data/lib/facter/resolvers/aix/utils/odm_query.rb +0 -42
- data/lib/facter/resolvers/puppet_version_resolver.rb +0 -26
- data/lib/facter/resolvers/utils/filesystem_helper.rb +0 -43
- data/lib/facter/resolvers/utils/fingerprint.rb +0 -11
- data/lib/facter/resolvers/utils/networking.rb +0 -86
- data/lib/facter/resolvers/utils/ssh.rb +0 -13
- data/lib/facter/resolvers/utils/ssh_helper.rb +0 -27
- data/lib/facter/resolvers/windows/utils/win32ole.rb +0 -24
|
@@ -4,7 +4,7 @@ module Facter
|
|
|
4
4
|
module Resolvers
|
|
5
5
|
class DMIComputerSystem < BaseResolver
|
|
6
6
|
@log = Facter::Log.new(self)
|
|
7
|
-
|
|
7
|
+
init_resolver
|
|
8
8
|
|
|
9
9
|
class << self
|
|
10
10
|
# Name
|
|
@@ -17,7 +17,7 @@ module Facter
|
|
|
17
17
|
end
|
|
18
18
|
|
|
19
19
|
def read_fact_from_computer_system(fact_name)
|
|
20
|
-
win = Win32Ole.new
|
|
20
|
+
win = Facter::Util::Windows::Win32Ole.new
|
|
21
21
|
computersystem = win.return_first('SELECT Name,UUID FROM Win32_ComputerSystemProduct')
|
|
22
22
|
unless computersystem
|
|
23
23
|
@log.debug 'WMI query returned no results for Win32_ComputerSystemProduct with values Name and UUID.'
|
|
@@ -4,7 +4,9 @@ module Facter
|
|
|
4
4
|
module Resolvers
|
|
5
5
|
class Memory < BaseResolver
|
|
6
6
|
@log = Facter::Log.new(self)
|
|
7
|
-
|
|
7
|
+
|
|
8
|
+
init_resolver
|
|
9
|
+
|
|
8
10
|
class << self
|
|
9
11
|
private
|
|
10
12
|
|
|
@@ -21,6 +23,10 @@ module Facter
|
|
|
21
23
|
return
|
|
22
24
|
end
|
|
23
25
|
|
|
26
|
+
# we need to enlarge the scope of this pointer so that Ruby GC will not free the memory.
|
|
27
|
+
# If the pointer if freed, Lifreq structures will contain garbage from memory.
|
|
28
|
+
@long_living_pointer = state_ptr
|
|
29
|
+
|
|
24
30
|
PerformanceInformation.new(state_ptr)
|
|
25
31
|
end
|
|
26
32
|
|
|
@@ -5,7 +5,8 @@ module Facter
|
|
|
5
5
|
module Windows
|
|
6
6
|
class Networking < BaseResolver
|
|
7
7
|
@log = Facter::Log.new(self)
|
|
8
|
-
|
|
8
|
+
init_resolver
|
|
9
|
+
|
|
9
10
|
class << self
|
|
10
11
|
private
|
|
11
12
|
|
|
@@ -25,7 +26,7 @@ module Facter
|
|
|
25
26
|
|
|
26
27
|
iterate_list(adapter_addresses)
|
|
27
28
|
|
|
28
|
-
::Resolvers::
|
|
29
|
+
Facter::Util::Resolvers::Networking.expand_main_bindings(@fact_list)
|
|
29
30
|
|
|
30
31
|
@fact_list[fact_name]
|
|
31
32
|
end
|
|
@@ -119,13 +120,13 @@ module Facter
|
|
|
119
120
|
def find_bindings(sock_addr, unicast, addr)
|
|
120
121
|
return unless [NetworkingFFI::AF_INET, NetworkingFFI::AF_INET6].include?(sock_addr[:sa_family])
|
|
121
122
|
|
|
122
|
-
::Resolvers::
|
|
123
|
+
Facter::Util::Resolvers::Networking.build_binding(addr, unicast[:OnLinkPrefixLength])
|
|
123
124
|
end
|
|
124
125
|
|
|
125
126
|
def find_primary_interface(sock_addr, name, addr)
|
|
126
127
|
if !@fact_list[:primary_interface] &&
|
|
127
128
|
([NetworkingFFI::AF_INET, NetworkingFFI::AF_INET6].include?(sock_addr[:sa_family]) &&
|
|
128
|
-
!::Resolvers::
|
|
129
|
+
!::Facter::Util::Resolvers::Networking.ignored_ip_address(addr))
|
|
129
130
|
@fact_list[:primary_interface] = name.to_s
|
|
130
131
|
end
|
|
131
132
|
end
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
module Facter
|
|
4
4
|
module Resolvers
|
|
5
5
|
class Processors < BaseResolver
|
|
6
|
-
|
|
6
|
+
init_resolver
|
|
7
|
+
|
|
7
8
|
class << self
|
|
8
9
|
# Count
|
|
9
10
|
# Isa
|
|
@@ -17,7 +18,7 @@ module Facter
|
|
|
17
18
|
end
|
|
18
19
|
|
|
19
20
|
def read_fact_from_win32_processor(fact_name)
|
|
20
|
-
win = Win32Ole.new
|
|
21
|
+
win = Facter::Util::Windows::Win32Ole.new
|
|
21
22
|
proc = win.exec_query('SELECT Name,Architecture,NumberOfLogicalProcessors FROM Win32_Processor')
|
|
22
23
|
unless proc
|
|
23
24
|
log.debug 'WMI query returned no results'\
|
|
@@ -5,7 +5,9 @@ module Facter
|
|
|
5
5
|
module Windows
|
|
6
6
|
class Ssh < BaseResolver
|
|
7
7
|
@log = Facter::Log.new(self)
|
|
8
|
-
|
|
8
|
+
|
|
9
|
+
init_resolver
|
|
10
|
+
|
|
9
11
|
FILE_NAMES = %w[ssh_host_rsa_key.pub ssh_host_dsa_key.pub
|
|
10
12
|
ssh_host_ecdsa_key.pub ssh_host_ed25519_key.pub].freeze
|
|
11
13
|
class << self
|
|
@@ -22,11 +24,11 @@ module Facter
|
|
|
22
24
|
ssh_list = []
|
|
23
25
|
|
|
24
26
|
FILE_NAMES.each do |file_name|
|
|
25
|
-
output = Util::FileHelper.safe_read(File.join(ssh_dir, file_name))
|
|
27
|
+
output = Facter::Util::FileHelper.safe_read(File.join(ssh_dir, file_name))
|
|
26
28
|
next if output.empty?
|
|
27
29
|
|
|
28
30
|
key_type, key = output.split(' ')
|
|
29
|
-
ssh_list << ::Resolvers::
|
|
31
|
+
ssh_list << Facter::Util::Resolvers::SshHelper.create_ssh(key_type, key)
|
|
30
32
|
end
|
|
31
33
|
@fact_list[:ssh] = ssh_list.empty? ? nil : ssh_list
|
|
32
34
|
@fact_list[fact_name]
|
|
@@ -7,7 +7,8 @@ module Facter
|
|
|
7
7
|
module Windows
|
|
8
8
|
class Uptime < BaseResolver
|
|
9
9
|
@log = Facter::Log.new(self)
|
|
10
|
-
|
|
10
|
+
|
|
11
|
+
init_resolver
|
|
11
12
|
|
|
12
13
|
class << self
|
|
13
14
|
private
|
|
@@ -17,7 +18,7 @@ module Facter
|
|
|
17
18
|
end
|
|
18
19
|
|
|
19
20
|
def substract_system_uptime_from_ole
|
|
20
|
-
win = Win32Ole.new
|
|
21
|
+
win = Facter::Util::Windows::Win32Ole.new
|
|
21
22
|
opsystem = win.return_first('SELECT LocalDateTime,LastBootUpTime FROM Win32_OperatingSystem')
|
|
22
23
|
unless opsystem
|
|
23
24
|
@log.debug 'WMI query returned no results'\
|
|
@@ -4,7 +4,8 @@ module Facter
|
|
|
4
4
|
module Resolvers
|
|
5
5
|
class Virtualization < BaseResolver
|
|
6
6
|
@log = Facter::Log.new(self)
|
|
7
|
-
|
|
7
|
+
|
|
8
|
+
init_resolver
|
|
8
9
|
|
|
9
10
|
class << self
|
|
10
11
|
# Virtual
|
|
@@ -20,7 +21,7 @@ module Facter
|
|
|
20
21
|
end
|
|
21
22
|
|
|
22
23
|
def read_fact_from_computer_system(fact_name)
|
|
23
|
-
win = Win32Ole.new
|
|
24
|
+
win = Facter::Util::Windows::Win32Ole.new
|
|
24
25
|
comp = win.exec_query('SELECT Manufacturer,Model,OEMStringArray FROM Win32_ComputerSystem')
|
|
25
26
|
unless comp
|
|
26
27
|
@log.debug 'WMI query returned no results for Win32_ComputerSystem with values'\
|
|
@@ -4,7 +4,9 @@ module Facter
|
|
|
4
4
|
module Resolvers
|
|
5
5
|
class WinOsDescription < BaseResolver
|
|
6
6
|
@log = Facter::Log.new(self)
|
|
7
|
-
|
|
7
|
+
|
|
8
|
+
init_resolver
|
|
9
|
+
|
|
8
10
|
class << self
|
|
9
11
|
private
|
|
10
12
|
|
|
@@ -13,7 +15,7 @@ module Facter
|
|
|
13
15
|
end
|
|
14
16
|
|
|
15
17
|
def read_from_ole(fact_name)
|
|
16
|
-
win = Win32Ole.new
|
|
18
|
+
win = Facter::Util::Windows::Win32Ole.new
|
|
17
19
|
op_sys = win.return_first('SELECT ProductType,OtherTypeDescription FROM Win32_OperatingSystem')
|
|
18
20
|
unless op_sys
|
|
19
21
|
@log.debug 'WMI query returned no results for Win32_OperatingSystem'\
|
data/lib/facter/resolvers/xen.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
module Facter
|
|
4
4
|
module Resolvers
|
|
5
5
|
class Xen < BaseResolver
|
|
6
|
-
|
|
6
|
+
init_resolver
|
|
7
7
|
|
|
8
8
|
XEN_PATH = '/proc/xen/capabilities'
|
|
9
9
|
XEN_TOOLSTACK = '/usr/lib/xen-common/bin/xen-toolstack'
|
|
@@ -32,7 +32,7 @@ module Facter
|
|
|
32
32
|
end
|
|
33
33
|
|
|
34
34
|
def privileged?(xen_type)
|
|
35
|
-
content = Util::FileHelper.safe_read(XEN_PATH, nil)
|
|
35
|
+
content = Facter::Util::FileHelper.safe_read(XEN_PATH, nil)
|
|
36
36
|
content&.strip == 'control_d' || xen_type == 'xen0'
|
|
37
37
|
end
|
|
38
38
|
|
data/lib/facter/resolvers/zfs.rb
CHANGED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Facter
|
|
4
|
+
module Util
|
|
5
|
+
module Aix
|
|
6
|
+
module InfoExtractor
|
|
7
|
+
MEGABYTES_EXPONENT = 1024**2
|
|
8
|
+
GIGABYTES_EXPONENT = 1024**3
|
|
9
|
+
|
|
10
|
+
def self.extract(content, regex)
|
|
11
|
+
content = content.each_line.map do |line|
|
|
12
|
+
next unless regex =~ line
|
|
13
|
+
|
|
14
|
+
line.split(/:\s*|\s{2,}/)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
content.flatten!.reject!(&:nil?)
|
|
18
|
+
|
|
19
|
+
Hash[*content]
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# CuAt (Customized Attributes) non-default attribute values
|
|
4
|
+
# CuDv (Customized Devices) the devices present on this machine
|
|
5
|
+
# PdAt (Predefined Attributes) default values for all device attributes
|
|
6
|
+
# PdDv (Predefined Devices) the list of all devices supported by this release of AIX
|
|
7
|
+
|
|
8
|
+
module Facter
|
|
9
|
+
module Util
|
|
10
|
+
module Aix
|
|
11
|
+
class ODMQuery
|
|
12
|
+
REPOS = %w[CuAt CuDv PdAt PdDv].freeze
|
|
13
|
+
|
|
14
|
+
def initialize
|
|
15
|
+
@query = ''
|
|
16
|
+
@conditions = []
|
|
17
|
+
@log = Facter::Log.new(self)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def equals(field, value)
|
|
21
|
+
@conditions << "#{field}='#{value}'"
|
|
22
|
+
self
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def like(field, value)
|
|
26
|
+
@conditions << "#{field} like '#{value}'"
|
|
27
|
+
self
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def execute
|
|
31
|
+
result = nil
|
|
32
|
+
REPOS.each do |repo|
|
|
33
|
+
break if result && !result.empty?
|
|
34
|
+
|
|
35
|
+
result = Facter::Core::Execution.execute("#{query} #{repo}", logger: @log)
|
|
36
|
+
end
|
|
37
|
+
result
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def query
|
|
41
|
+
'odmget -q "' + @conditions.join(' AND ') + '"'
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
@@ -1,43 +1,47 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
module
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
module Facter
|
|
4
|
+
module Util
|
|
5
|
+
module ApiDebugger
|
|
6
|
+
def self.prepended(receiver) # rubocop:disable Metrics/AbcSize
|
|
7
|
+
exclude, print_caller = parse_options(ENV['API_DEBUG'])
|
|
6
8
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
receiver_methods = receiver.instance_methods - Object.methods
|
|
10
|
+
receiver_methods.each do |meth|
|
|
11
|
+
ApiDebugger.class_eval do
|
|
12
|
+
define_method(meth) do |*args|
|
|
13
|
+
method_call = super(*args)
|
|
12
14
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
unless exclude.include?(meth)
|
|
16
|
+
puts '#' * 80
|
|
17
|
+
puts "Method call: #{meth}"
|
|
18
|
+
puts "Called with: #{args.inspect}"
|
|
19
|
+
if print_caller.include?(meth)
|
|
20
|
+
puts '-' * 80
|
|
21
|
+
puts caller
|
|
22
|
+
end
|
|
23
|
+
puts '#' * 80
|
|
24
|
+
end
|
|
25
|
+
method_call
|
|
20
26
|
end
|
|
21
|
-
puts '#' * 80
|
|
22
27
|
end
|
|
23
|
-
method_call
|
|
24
28
|
end
|
|
25
29
|
end
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
30
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
31
|
+
def self.parse_options(options)
|
|
32
|
+
exclude = []
|
|
33
|
+
print_caller = []
|
|
34
|
+
|
|
35
|
+
options.split(',').each do |option|
|
|
36
|
+
if option.start_with?('-')
|
|
37
|
+
exclude << option[1..-1].to_sym
|
|
38
|
+
elsif option.start_with?('+')
|
|
39
|
+
print_caller << option[1..-1].to_sym
|
|
40
|
+
end
|
|
41
|
+
end
|
|
32
42
|
|
|
33
|
-
|
|
34
|
-
if option.start_with?('-')
|
|
35
|
-
exclude << option[1..-1].to_sym
|
|
36
|
-
elsif option.start_with?('+')
|
|
37
|
-
print_caller << option[1..-1].to_sym
|
|
43
|
+
[exclude, print_caller]
|
|
38
44
|
end
|
|
39
45
|
end
|
|
40
|
-
|
|
41
|
-
[exclude, print_caller]
|
|
42
46
|
end
|
|
43
47
|
end
|