facter 4.0.49 → 4.0.50
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/facter/config.rb +20 -7
- data/lib/facter/custom_facts/core/execution/base.rb +3 -2
- data/lib/facter/custom_facts/core/execution/popen3.rb +47 -0
- data/lib/facter/custom_facts/util/fact.rb +2 -2
- data/lib/facter/facts/alpine/os/release.rb +29 -0
- data/lib/facter/facts/amzn/os/release.rb +29 -0
- data/lib/facter/facts/devuan/os/distro/release.rb +36 -0
- data/lib/facter/facts/devuan/os/release.rb +29 -0
- data/lib/facter/facts/gentoo/os/release.rb +29 -0
- data/lib/facter/facts/linuxmint/os/name.rb +18 -0
- data/lib/facter/facts/linuxmint/os/release.rb +35 -0
- data/lib/facter/facts/mageia/os/release.rb +36 -0
- data/lib/facter/facts/meego/os/release.rb +29 -0
- data/lib/facter/facts/oel/os/release.rb +29 -0
- data/lib/facter/facts/ol/os/release.rb +29 -0
- data/lib/facter/facts/openwrt/os/release.rb +35 -0
- data/lib/facter/facts/ovs/os/release.rb +29 -0
- data/lib/facter/facts/photon/os/release.rb +45 -0
- data/lib/facter/facts/rhel/os/release.rb +1 -8
- data/lib/facter/facts/slackware/os/release.rb +35 -0
- data/lib/facter/framework/config/config_reader.rb +7 -0
- data/lib/facter/framework/config/fact_groups.rb +3 -0
- data/lib/facter/framework/core/fact_loaders/external_fact_loader.rb +0 -4
- data/lib/facter/framework/core/fact_loaders/fact_loader.rb +2 -0
- data/lib/facter/framework/detector/os_detector.rb +7 -0
- data/lib/facter/resolvers/aio_agent_version.rb +1 -1
- data/lib/facter/resolvers/aix/architecture.rb +1 -1
- data/lib/facter/resolvers/aix/disks.rb +1 -1
- data/lib/facter/resolvers/aix/ffi/ffi.rb +63 -0
- data/lib/facter/resolvers/aix/ffi/ffi_helper.rb +146 -20
- data/lib/facter/resolvers/aix/ffi/structs.rb +69 -0
- data/lib/facter/resolvers/aix/filesystem.rb +1 -1
- data/lib/facter/resolvers/aix/hardware.rb +1 -1
- data/lib/facter/resolvers/aix/load_averages.rb +2 -2
- data/lib/facter/resolvers/aix/memory.rb +1 -1
- data/lib/facter/resolvers/aix/mountpoints.rb +1 -1
- data/lib/facter/resolvers/aix/networking.rb +9 -16
- data/lib/facter/resolvers/aix/nim.rb +1 -1
- data/lib/facter/resolvers/aix/os_level.rb +1 -1
- data/lib/facter/resolvers/aix/partitions.rb +1 -1
- data/lib/facter/resolvers/aix/processors.rb +1 -1
- data/lib/facter/resolvers/aix/serialnumber.rb +1 -1
- data/lib/facter/resolvers/augeas.rb +1 -1
- data/lib/facter/resolvers/base_resolver.rb +4 -4
- data/lib/facter/resolvers/bsd/processors.rb +1 -1
- data/lib/facter/resolvers/cloud.rb +1 -1
- data/lib/facter/resolvers/containers.rb +1 -1
- data/lib/facter/resolvers/debian_version.rb +1 -1
- data/lib/facter/resolvers/disk.rb +1 -1
- data/lib/facter/resolvers/dmi.rb +1 -1
- data/lib/facter/resolvers/dmi_decode.rb +1 -1
- data/lib/facter/resolvers/ec2.rb +1 -1
- data/lib/facter/resolvers/eos_release.rb +1 -1
- data/lib/facter/resolvers/facterversion.rb +1 -1
- data/lib/facter/resolvers/filesystems.rb +1 -1
- data/lib/facter/resolvers/fips_enabled.rb +1 -1
- data/lib/facter/resolvers/freebsd/dmi.rb +1 -1
- data/lib/facter/resolvers/freebsd/freebsd_version.rb +1 -1
- data/lib/facter/resolvers/freebsd/geom.rb +1 -1
- data/lib/facter/resolvers/freebsd/processors.rb +1 -1
- data/lib/facter/resolvers/freebsd/swap_memory.rb +1 -1
- data/lib/facter/resolvers/freebsd/system_memory.rb +1 -1
- data/lib/facter/resolvers/freebsd/virtual.rb +1 -1
- data/lib/facter/resolvers/gce.rb +1 -1
- data/lib/facter/resolvers/hostname.rb +1 -1
- data/lib/facter/resolvers/identity.rb +1 -1
- data/lib/facter/resolvers/linux/docker_uptime.rb +1 -1
- data/lib/facter/resolvers/linux/load_averages.rb +1 -1
- data/lib/facter/resolvers/load_averages.rb +1 -1
- data/lib/facter/resolvers/lpar.rb +1 -1
- data/lib/facter/resolvers/lsb_release.rb +1 -1
- data/lib/facter/resolvers/lspci.rb +1 -1
- data/lib/facter/resolvers/macosx/dmi.rb +1 -1
- data/lib/facter/resolvers/macosx/filesystems.rb +1 -1
- data/lib/facter/resolvers/macosx/load_averages.rb +1 -1
- data/lib/facter/resolvers/macosx/mountpoints.rb +1 -1
- data/lib/facter/resolvers/macosx/processor.rb +1 -1
- data/lib/facter/resolvers/macosx/swap_memory.rb +1 -1
- data/lib/facter/resolvers/macosx/system_memory.rb +1 -1
- data/lib/facter/resolvers/macosx/system_profiler.rb +1 -1
- data/lib/facter/resolvers/memory.rb +1 -1
- data/lib/facter/resolvers/mountpoints.rb +1 -1
- data/lib/facter/resolvers/networking.rb +1 -1
- data/lib/facter/resolvers/networking_linux.rb +1 -1
- data/lib/facter/resolvers/open_vz.rb +1 -1
- data/lib/facter/resolvers/os_release.rb +1 -1
- data/lib/facter/resolvers/partitions.rb +1 -1
- data/lib/facter/resolvers/path.rb +1 -1
- data/lib/facter/resolvers/processors.rb +1 -1
- data/lib/facter/resolvers/redhat_release.rb +1 -1
- data/lib/facter/resolvers/release_from_first_line.rb +41 -0
- data/lib/facter/resolvers/ruby.rb +1 -1
- data/lib/facter/resolvers/selinux.rb +1 -1
- data/lib/facter/resolvers/solaris/disks.rb +1 -1
- data/lib/facter/resolvers/solaris/dmi.rb +1 -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 +1 -1
- data/lib/facter/resolvers/solaris/ldom.rb +1 -1
- data/lib/facter/resolvers/solaris/memory.rb +1 -1
- data/lib/facter/resolvers/solaris/mountpoints.rb +1 -1
- data/lib/facter/resolvers/solaris/networking.rb +1 -1
- data/lib/facter/resolvers/solaris/os_release.rb +1 -1
- data/lib/facter/resolvers/solaris/processors.rb +1 -1
- data/lib/facter/resolvers/solaris/zone.rb +1 -1
- data/lib/facter/resolvers/solaris/zone_name.rb +1 -1
- data/lib/facter/resolvers/specific_release_file.rb +35 -0
- data/lib/facter/resolvers/ssh.rb +1 -1
- data/lib/facter/resolvers/suse_release.rb +1 -1
- data/lib/facter/resolvers/sw_vers.rb +1 -1
- data/lib/facter/resolvers/timezone.rb +1 -1
- data/lib/facter/resolvers/uname.rb +1 -1
- data/lib/facter/resolvers/uptime.rb +1 -1
- 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 +1 -1
- data/lib/facter/resolvers/windows/dmi_bios.rb +1 -1
- data/lib/facter/resolvers/windows/dmi_computersystem.rb +1 -1
- data/lib/facter/resolvers/windows/ffi/network_utils.rb +1 -2
- data/lib/facter/resolvers/windows/fips.rb +1 -1
- data/lib/facter/resolvers/windows/hardware_architecture.rb +1 -1
- data/lib/facter/resolvers/windows/identity.rb +1 -1
- data/lib/facter/resolvers/windows/kernel.rb +1 -1
- data/lib/facter/resolvers/windows/memory.rb +1 -1
- data/lib/facter/resolvers/windows/netkvm.rb +1 -1
- data/lib/facter/resolvers/windows/networking.rb +8 -4
- data/lib/facter/resolvers/windows/processors.rb +1 -1
- data/lib/facter/resolvers/windows/product_release.rb +1 -1
- data/lib/facter/resolvers/windows/ssh.rb +1 -1
- data/lib/facter/resolvers/windows/system32.rb +1 -1
- data/lib/facter/resolvers/windows/uptime.rb +1 -1
- data/lib/facter/resolvers/windows/virtualization.rb +1 -1
- data/lib/facter/resolvers/windows/win_os_description.rb +1 -1
- data/lib/facter/resolvers/wpar.rb +1 -1
- data/lib/facter/resolvers/xen.rb +1 -1
- data/lib/facter/resolvers/zfs.rb +1 -1
- data/lib/facter/resolvers/zpool.rb +1 -1
- data/lib/facter/util/facts/facts_utils.rb +17 -0
- data/lib/facter/util/facts/unit_converter.rb +11 -4
- data/lib/facter/util/utils.rb +0 -4
- data/lib/facter/version.rb +1 -1
- metadata +22 -2
data/lib/facter/resolvers/gce.rb
CHANGED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Facter
|
|
4
|
+
module Resolvers
|
|
5
|
+
class ReleaseFromFirstLine < BaseResolver
|
|
6
|
+
# :release
|
|
7
|
+
|
|
8
|
+
init_resolver
|
|
9
|
+
|
|
10
|
+
class << self
|
|
11
|
+
private
|
|
12
|
+
|
|
13
|
+
def post_resolve(fact_name, options)
|
|
14
|
+
@fact_list.fetch(fact_name) { read_release_file(fact_name, options) }
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def read_release_file(fact_name, options)
|
|
18
|
+
release_file = options[:release_file]
|
|
19
|
+
return unless release_file
|
|
20
|
+
|
|
21
|
+
output = Facter::Util::FileHelper.safe_read(release_file, nil)
|
|
22
|
+
return @fact_list[fact_name] = nil if output.nil?
|
|
23
|
+
|
|
24
|
+
@fact_list[:release] = retrieve_version(output)
|
|
25
|
+
|
|
26
|
+
@fact_list[fact_name]
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def retrieve_version(output)
|
|
30
|
+
if output[/(Rawhide)$/]
|
|
31
|
+
'Rawhide'
|
|
32
|
+
elsif output['release']
|
|
33
|
+
output.strip =~ /release (\d[\d.]*)/ ? Regexp.last_match(1) : nil
|
|
34
|
+
else
|
|
35
|
+
output.strip =~ /Amazon Linux (\d+)/ ? Regexp.last_match(1) : nil
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|