facter 4.0.8.pre → 4.0.9.pre
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +1 -0
- data/.rubocop_todo.yml +564 -31
- data/.travis.yml +2 -2
- data/VERSION +1 -1
- data/agent/facter-ng.gemspec +1 -1
- data/facter.gemspec +1 -1
- data/lib/custom_facts/util/collection.rb +3 -7
- data/lib/custom_facts/util/fact.rb +6 -3
- data/lib/custom_facts/util/parser.rb +13 -2
- data/lib/facter.rb +131 -115
- data/lib/facts/aix/augeas/version.rb +8 -6
- data/lib/facts/aix/facterversion.rb +3 -3
- data/lib/facts/aix/hypervisors/lpar.rb +11 -9
- data/lib/facts/aix/hypervisors/wpar.rb +10 -7
- data/lib/facts/aix/kernel.rb +3 -3
- data/lib/facts/aix/kernelmajversion.rb +3 -3
- data/lib/facts/aix/kernelrelease.rb +2 -2
- data/lib/facts/aix/kernelversion.rb +3 -3
- data/lib/facts/aix/load_averages.rb +3 -3
- data/lib/facts/aix/networking/domain.rb +9 -7
- data/lib/facts/aix/networking/fqdn.rb +9 -7
- data/lib/facts/aix/networking/hostname.rb +9 -7
- data/lib/facts/aix/networking/ip.rb +9 -7
- data/lib/facts/aix/networking/primary.rb +8 -6
- data/lib/facts/aix/os/architecture.rb +9 -7
- data/lib/facts/aix/os/family.rb +9 -7
- data/lib/facts/aix/os/hardware.rb +8 -6
- data/lib/facts/aix/os/name.rb +9 -7
- data/lib/facts/aix/os/release.rb +12 -10
- data/lib/facts/aix/path.rb +3 -3
- data/lib/facts/aix/ruby/platform.rb +8 -6
- data/lib/facts/aix/ruby/sitedir.rb +8 -6
- data/lib/facts/aix/ruby/version.rb +9 -7
- data/lib/facts/aix/ssh.rb +3 -3
- data/lib/facts/debian/disks.rb +15 -0
- data/lib/facts/debian/dmi/bios/release_date.rb +18 -0
- data/lib/facts/debian/dmi/bios/vendor.rb +18 -0
- data/lib/facts/debian/dmi/bios/version.rb +18 -0
- data/lib/facts/debian/dmi/board/manufacturer.rb +18 -0
- data/lib/facts/debian/dmi/board/product.rb +18 -0
- data/lib/facts/debian/dmi/board/serial_number.rb +18 -0
- data/lib/facts/debian/dmi/chassis/asset_tag.rb +18 -0
- data/lib/facts/debian/dmi/chassis/type.rb +18 -0
- data/lib/facts/debian/dmi/manufacturer.rb +16 -0
- data/lib/facts/debian/dmi/product/name.rb +18 -0
- data/lib/facts/debian/dmi/product/serial_number.rb +18 -0
- data/lib/facts/debian/dmi/product/uuid.rb +18 -0
- data/lib/facts/debian/facterversion.rb +3 -3
- data/lib/facts/debian/filesystems.rb +14 -0
- data/lib/facts/debian/fips_enabled.rb +14 -0
- data/lib/facts/debian/kernel.rb +3 -3
- data/lib/facts/debian/kernelmajversion.rb +3 -3
- data/lib/facts/debian/kernelrelease.rb +3 -3
- data/lib/facts/debian/kernelversion.rb +3 -3
- data/lib/facts/debian/load_averages.rb +14 -0
- data/lib/facts/debian/memory/swap/available.rb +11 -7
- data/lib/facts/debian/memory/swap/available_bytes.rb +10 -6
- data/lib/facts/debian/memory/swap/capacity.rb +10 -6
- data/lib/facts/debian/memory/swap/total.rb +19 -0
- data/lib/facts/debian/memory/swap/total_bytes.rb +18 -0
- data/lib/facts/debian/memory/swap/used.rb +11 -7
- data/lib/facts/debian/memory/swap/used_bytes.rb +10 -6
- data/lib/facts/debian/memory/system/available.rb +19 -0
- data/lib/facts/debian/memory/system/available_bytes.rb +18 -0
- data/lib/facts/debian/memory/system/capacity.rb +18 -0
- data/lib/facts/debian/memory/system/total.rb +19 -0
- data/lib/facts/debian/memory/system/total_bytes.rb +18 -0
- data/lib/facts/debian/memory/system/used.rb +19 -0
- data/lib/facts/debian/memory/system/used_bytes.rb +18 -0
- data/lib/facts/debian/mountpoints.rb +21 -0
- data/lib/facts/debian/networking/domain.rb +9 -7
- data/lib/facts/debian/networking/fqdn.rb +9 -7
- data/lib/facts/debian/networking/hostname.rb +9 -7
- data/lib/facts/debian/networking/interfaces.rb +8 -6
- data/lib/facts/debian/networking/ip.rb +9 -7
- data/lib/facts/debian/networking/primary.rb +8 -6
- data/lib/facts/debian/os/architecture.rb +10 -8
- data/lib/facts/debian/os/distro.rb +20 -18
- data/lib/facts/debian/os/family.rb +11 -8
- data/lib/facts/debian/os/hardware.rb +8 -6
- data/lib/facts/debian/os/name.rb +9 -7
- data/lib/facts/debian/os/release.rb +17 -15
- data/lib/facts/debian/os/selinux.rb +13 -11
- data/lib/facts/debian/path.rb +2 -2
- data/lib/facts/debian/processors/count.rb +16 -0
- data/lib/facts/debian/processors/isa.rb +25 -0
- data/lib/facts/debian/processors/models.rb +16 -0
- data/lib/facts/debian/processors/physicalcount.rb +16 -0
- data/lib/facts/debian/ruby/platform.rb +8 -6
- data/lib/facts/debian/ruby/sitedir.rb +8 -6
- data/lib/facts/debian/ruby/version.rb +9 -7
- data/lib/facts/debian/ssh.rb +26 -0
- data/lib/facts/debian/system_uptime/days.rb +17 -0
- data/lib/facts/debian/system_uptime/hours.rb +17 -0
- data/lib/facts/debian/system_uptime/minutes.rb +17 -0
- data/lib/facts/debian/system_uptime/uptime.rb +17 -0
- data/lib/facts/debian/timezone.rb +2 -2
- data/lib/facts/el/disks.rb +3 -3
- data/lib/facts/el/dmi/bios/release_date.rb +10 -6
- data/lib/facts/el/dmi/bios/vendor.rb +10 -6
- data/lib/facts/el/dmi/bios/version.rb +10 -6
- data/lib/facts/el/dmi/board/manufacturer.rb +10 -6
- data/lib/facts/el/dmi/board/product.rb +10 -6
- data/lib/facts/el/dmi/board/serial_number.rb +10 -6
- data/lib/facts/el/dmi/chassis/asset_tag.rb +10 -6
- data/lib/facts/el/dmi/chassis/type.rb +10 -6
- data/lib/facts/el/dmi/manufacturer.rb +8 -6
- data/lib/facts/el/dmi/product/name.rb +10 -6
- data/lib/facts/el/dmi/product/serial_number.rb +10 -6
- data/lib/facts/el/dmi/product/uuid.rb +10 -6
- data/lib/facts/el/facterversion.rb +3 -3
- data/lib/facts/el/filesystems.rb +3 -3
- data/lib/facts/el/fips_enabled.rb +3 -3
- data/lib/facts/el/kernel.rb +3 -3
- data/lib/facts/el/kernelmajversion.rb +3 -3
- data/lib/facts/el/kernelrelease.rb +3 -3
- data/lib/facts/el/kernelversion.rb +3 -3
- data/lib/facts/el/load_averages.rb +3 -3
- data/lib/facts/el/memory/swap/available.rb +11 -7
- data/lib/facts/el/memory/swap/available_bytes.rb +10 -6
- data/lib/facts/el/memory/swap/capacity.rb +10 -6
- data/lib/facts/el/memory/swap/total.rb +11 -7
- data/lib/facts/el/memory/swap/total_bytes.rb +10 -6
- data/lib/facts/el/memory/swap/used.rb +11 -7
- data/lib/facts/el/memory/swap/used_bytes.rb +10 -6
- data/lib/facts/el/memory/system/available.rb +11 -7
- data/lib/facts/el/memory/system/available_bytes.rb +10 -6
- data/lib/facts/el/memory/system/capacity.rb +10 -6
- data/lib/facts/el/memory/system/total.rb +11 -7
- data/lib/facts/el/memory/system/total_bytes.rb +10 -6
- data/lib/facts/el/memory/system/used.rb +11 -7
- data/lib/facts/el/memory/system/used_bytes.rb +10 -6
- data/lib/facts/el/mountpoints.rb +4 -4
- data/lib/facts/el/networking/domain.rb +9 -7
- data/lib/facts/el/networking/fqdn.rb +9 -7
- data/lib/facts/el/networking/hostname.rb +9 -7
- data/lib/facts/el/networking/interfaces.rb +8 -6
- data/lib/facts/el/networking/ip.rb +9 -7
- data/lib/facts/el/networking/primary.rb +8 -6
- data/lib/facts/el/os/architecture.rb +9 -7
- data/lib/facts/el/os/family.rb +8 -6
- data/lib/facts/el/os/hardware.rb +8 -6
- data/lib/facts/el/os/name.rb +10 -8
- data/lib/facts/el/os/release.rb +11 -9
- data/lib/facts/el/os/selinux.rb +13 -11
- data/lib/facts/el/path.rb +3 -3
- data/lib/facts/el/processors/count.rb +8 -6
- data/lib/facts/el/processors/isa.rb +13 -11
- data/lib/facts/el/processors/models.rb +8 -6
- data/lib/facts/el/processors/physicalcount.rb +8 -6
- data/lib/facts/el/ruby/platform.rb +8 -6
- data/lib/facts/el/ruby/sitedir.rb +8 -6
- data/lib/facts/el/ruby/version.rb +9 -7
- data/lib/facts/el/ssh.rb +3 -3
- data/lib/facts/el/system_uptime/days.rb +8 -6
- data/lib/facts/el/system_uptime/hours.rb +8 -6
- data/lib/facts/el/system_uptime/seconds.rb +8 -6
- data/lib/facts/el/system_uptime/uptime.rb +8 -6
- data/lib/facts/el/timezone.rb +3 -3
- data/lib/facts/macosx/augeas.rb +3 -3
- data/lib/facts/macosx/dmi/product/name.rb +10 -6
- data/lib/facts/macosx/facterversion.rb +3 -3
- data/lib/facts/macosx/filesystems.rb +3 -3
- data/lib/facts/macosx/identity/gid.rb +8 -6
- data/lib/facts/macosx/identity/group.rb +8 -6
- data/lib/facts/macosx/identity/privileged.rb +8 -6
- data/lib/facts/macosx/identity/uid.rb +8 -6
- data/lib/facts/macosx/identity/user.rb +8 -6
- data/lib/facts/macosx/is_virtual.rb +2 -2
- data/lib/facts/macosx/kernel.rb +3 -3
- data/lib/facts/macosx/kernelmajversion.rb +3 -3
- data/lib/facts/macosx/kernelrelease.rb +3 -3
- data/lib/facts/macosx/kernelversion.rb +3 -3
- data/lib/facts/macosx/load_averages.rb +3 -3
- data/lib/facts/macosx/memory/swap/available.rb +11 -7
- data/lib/facts/macosx/memory/swap/available_bytes.rb +10 -6
- data/lib/facts/macosx/memory/swap/capacity.rb +10 -6
- data/lib/facts/macosx/memory/swap/encrypted.rb +10 -6
- data/lib/facts/macosx/memory/swap/total.rb +11 -7
- data/lib/facts/macosx/memory/swap/total_bytes.rb +10 -6
- data/lib/facts/macosx/memory/swap/used.rb +11 -7
- data/lib/facts/macosx/memory/swap/used_bytes.rb +10 -6
- data/lib/facts/macosx/memory/system/available.rb +11 -7
- data/lib/facts/macosx/memory/system/available_bytes.rb +10 -6
- data/lib/facts/macosx/memory/system/capacity.rb +10 -6
- data/lib/facts/macosx/memory/system/total.rb +11 -7
- data/lib/facts/macosx/memory/system/total_bytes.rb +10 -6
- data/lib/facts/macosx/memory/system/used.rb +11 -7
- data/lib/facts/macosx/memory/system/used_bytes.rb +10 -6
- data/lib/facts/macosx/mountpoints.rb +4 -4
- data/lib/facts/macosx/networking/domain.rb +9 -7
- data/lib/facts/macosx/networking/fqdn.rb +9 -7
- data/lib/facts/macosx/networking/hostname.rb +9 -7
- data/lib/facts/macosx/networking/ip.rb +18 -0
- data/lib/facts/macosx/os/architecture.rb +9 -7
- data/lib/facts/macosx/os/family.rb +9 -7
- data/lib/facts/macosx/os/hardware.rb +8 -6
- data/lib/facts/macosx/os/macosx/build.rb +19 -0
- data/lib/facts/macosx/os/macosx/product.rb +19 -0
- data/lib/facts/macosx/os/macosx/version.rb +21 -0
- data/lib/facts/macosx/os/name.rb +9 -7
- data/lib/facts/macosx/os/release.rb +12 -10
- data/lib/facts/macosx/path.rb +3 -3
- data/lib/facts/macosx/processors/count.rb +16 -0
- data/lib/facts/macosx/processors/isa.rb +16 -0
- data/lib/facts/macosx/processors/models.rb +16 -0
- data/lib/facts/macosx/processors/physicalcount.rb +16 -0
- data/lib/facts/macosx/processors/speed.rb +16 -0
- data/lib/facts/macosx/ruby/platform.rb +8 -6
- data/lib/facts/macosx/ruby/sitedir.rb +8 -6
- data/lib/facts/macosx/ruby/version.rb +9 -7
- data/lib/facts/macosx/system_profiler/boot_mode.rb +8 -6
- data/lib/facts/macosx/system_profiler/boot_rom_version.rb +8 -6
- data/lib/facts/macosx/system_profiler/boot_volume.rb +8 -6
- data/lib/facts/macosx/system_profiler/computer_name.rb +8 -6
- data/lib/facts/macosx/system_profiler/cores.rb +8 -6
- data/lib/facts/macosx/system_profiler/hardware_uuid.rb +8 -6
- data/lib/facts/macosx/system_profiler/kernel_version.rb +8 -6
- data/lib/facts/macosx/system_profiler/l2_cache_per_core.rb +8 -6
- data/lib/facts/macosx/system_profiler/l3_cache.rb +8 -6
- data/lib/facts/macosx/system_profiler/memory.rb +8 -6
- data/lib/facts/macosx/system_profiler/model_identifier.rb +8 -6
- data/lib/facts/macosx/system_profiler/model_name.rb +8 -6
- data/lib/facts/macosx/system_profiler/processor_name.rb +8 -6
- data/lib/facts/macosx/system_profiler/processor_speed.rb +8 -6
- data/lib/facts/macosx/system_profiler/processors.rb +8 -6
- data/lib/facts/macosx/system_profiler/secure_virtual_memory.rb +8 -6
- data/lib/facts/macosx/system_profiler/serial_number.rb +8 -6
- data/lib/facts/macosx/system_profiler/smc_version.rb +8 -6
- data/lib/facts/macosx/system_profiler/system_version.rb +8 -6
- data/lib/facts/macosx/system_profiler/uptime.rb +8 -6
- data/lib/facts/macosx/system_profiler/username.rb +8 -6
- data/lib/facts/macosx/system_uptime/days.rb +16 -0
- data/lib/facts/macosx/system_uptime/hours.rb +16 -0
- data/lib/facts/macosx/system_uptime/seconds.rb +8 -6
- data/lib/facts/macosx/system_uptime/uptime.rb +8 -6
- data/lib/facts/macosx/timezone.rb +2 -2
- data/lib/facts/sles/facterversion.rb +3 -3
- data/lib/facts/sles/kernel.rb +3 -3
- data/lib/facts/sles/kernelmajversion.rb +3 -3
- data/lib/facts/sles/kernelrelease.rb +3 -3
- data/lib/facts/sles/kernelversion.rb +3 -3
- data/lib/facts/sles/memory/swap/available.rb +11 -7
- data/lib/facts/sles/memory/swap/available_bytes.rb +10 -6
- data/lib/facts/sles/memory/swap/capacity.rb +10 -6
- data/lib/facts/sles/memory/swap/total.rb +11 -7
- data/lib/facts/sles/memory/swap/total_bytes.rb +10 -6
- data/lib/facts/sles/memory/swap/used.rb +11 -7
- data/lib/facts/sles/memory/swap/used_bytes.rb +10 -6
- data/lib/facts/sles/memory/system/available.rb +11 -7
- data/lib/facts/sles/memory/system/available_bytes.rb +10 -6
- data/lib/facts/sles/memory/system/capacity.rb +10 -6
- data/lib/facts/sles/memory/system/total.rb +11 -7
- data/lib/facts/sles/memory/system/total_bytes.rb +10 -6
- data/lib/facts/sles/memory/system/used.rb +11 -7
- data/lib/facts/sles/memory/system/used_bytes.rb +10 -6
- data/lib/facts/sles/networking/domain.rb +9 -7
- data/lib/facts/sles/networking/fqdn.rb +9 -7
- data/lib/facts/sles/networking/hostname.rb +9 -7
- data/lib/facts/sles/networking/interfaces.rb +8 -6
- data/lib/facts/sles/networking/ip.rb +9 -7
- data/lib/facts/sles/networking/primary.rb +8 -6
- data/lib/facts/sles/os/architecture.rb +9 -7
- data/lib/facts/sles/os/family.rb +8 -6
- data/lib/facts/sles/os/hardware.rb +8 -6
- data/lib/facts/sles/os/name.rb +9 -7
- data/lib/facts/sles/os/release.rb +19 -17
- data/lib/facts/sles/os/selinux.rb +13 -11
- data/lib/facts/sles/path.rb +3 -3
- data/lib/facts/sles/ruby/platform.rb +8 -6
- data/lib/facts/sles/ruby/sitedir.rb +8 -6
- data/lib/facts/sles/ruby/version.rb +9 -7
- data/lib/facts/sles/ssh.rb +3 -3
- data/lib/facts/sles/timezone.rb +3 -3
- data/lib/facts/solaris/facterversion.rb +3 -3
- data/lib/facts/solaris/kernel.rb +3 -3
- data/lib/facts/solaris/kernelmajversion.rb +3 -3
- data/lib/facts/solaris/kernelrelease.rb +3 -3
- data/lib/facts/solaris/kernelversion.rb +3 -3
- data/lib/facts/solaris/networking/domain.rb +9 -7
- data/lib/facts/solaris/networking/fqdn.rb +9 -7
- data/lib/facts/solaris/networking/hostname.rb +9 -7
- data/lib/facts/solaris/networking/ip.rb +18 -0
- data/lib/facts/solaris/os/architecture.rb +9 -7
- data/lib/facts/solaris/os/family.rb +8 -6
- data/lib/facts/solaris/os/hardware.rb +8 -6
- data/lib/facts/solaris/os/name.rb +10 -8
- data/lib/facts/solaris/os/release.rb +13 -11
- data/lib/facts/solaris/path.rb +3 -3
- data/lib/facts/solaris/ruby/platform.rb +8 -6
- data/lib/facts/solaris/ruby/sitedir.rb +8 -6
- data/lib/facts/solaris/ruby/version.rb +9 -7
- data/lib/facts/solaris/solaris_zones/current.rb +8 -6
- data/lib/facts/solaris/solaris_zones/zone.rb +18 -16
- data/lib/facts/solaris/zfs_featurenumbers.rb +4 -4
- data/lib/facts/solaris/zfs_version.rb +4 -4
- data/lib/facts/solaris/zpool_featurenumbers.rb +4 -4
- data/lib/facts/solaris/zpool_version.rb +4 -4
- data/lib/facts/windows/dhcp_servers.rb +4 -4
- data/lib/facts/windows/dmi/manufacturer.rb +9 -7
- data/lib/facts/windows/dmi/product/name.rb +11 -7
- data/lib/facts/windows/dmi/product/serial_number.rb +11 -7
- data/lib/facts/windows/dmi/product/uuid.rb +11 -7
- data/lib/facts/windows/facterversion.rb +3 -3
- data/lib/facts/windows/fips_enabled.rb +3 -3
- data/lib/facts/windows/hypervisors/hyperv.rb +13 -11
- data/lib/facts/windows/hypervisors/kvm.rb +20 -18
- data/lib/facts/windows/hypervisors/virtualbox.rb +22 -20
- data/lib/facts/windows/hypervisors/vmware.rb +13 -11
- data/lib/facts/windows/hypervisors/xen.rb +12 -10
- data/lib/facts/windows/identity/privileged.rb +8 -6
- data/lib/facts/windows/identity/user.rb +9 -7
- data/lib/facts/windows/interfaces.rb +3 -3
- data/lib/facts/windows/ipaddress6_interfaces.rb +3 -3
- data/lib/facts/windows/ipaddress_interfaces.rb +3 -3
- data/lib/facts/windows/{kernel/kernel.rb → kernel.rb} +3 -3
- data/lib/facts/windows/kernelmajversion.rb +15 -0
- data/lib/facts/windows/kernelrelease.rb +15 -0
- data/lib/facts/windows/kernelversion.rb +15 -0
- data/lib/facts/windows/macaddress_interfaces.rb +3 -3
- data/lib/facts/windows/memory/system/available.rb +12 -8
- data/lib/facts/windows/memory/system/available_bytes.rb +12 -8
- data/lib/facts/windows/memory/system/capacity.rb +10 -6
- data/lib/facts/windows/memory/system/total.rb +12 -8
- data/lib/facts/windows/memory/system/total_bytes.rb +12 -8
- data/lib/facts/windows/memory/system/used.rb +11 -7
- data/lib/facts/windows/memory/system/used_bytes.rb +10 -6
- data/lib/facts/windows/mtu_interfaces.rb +3 -3
- data/lib/facts/windows/netmask6_interfaces.rb +3 -3
- data/lib/facts/windows/netmask_interfaces.rb +3 -3
- data/lib/facts/windows/network6_interfaces.rb +3 -3
- data/lib/facts/windows/network_interfaces.rb +3 -3
- data/lib/facts/windows/networking/dhcp.rb +8 -6
- data/lib/facts/windows/networking/domain.rb +9 -7
- data/lib/facts/windows/networking/fqdn.rb +12 -10
- data/lib/facts/windows/networking/hostname.rb +9 -7
- data/lib/facts/windows/networking/interfaces.rb +8 -6
- data/lib/facts/windows/networking/ip.rb +9 -7
- data/lib/facts/windows/networking/ip6.rb +9 -7
- data/lib/facts/windows/networking/mac.rb +9 -7
- data/lib/facts/windows/networking/mtu.rb +8 -6
- data/lib/facts/windows/networking/netmask.rb +9 -7
- data/lib/facts/windows/networking/netmask6.rb +9 -7
- data/lib/facts/windows/networking/network.rb +9 -7
- data/lib/facts/windows/networking/network6.rb +9 -7
- data/lib/facts/windows/networking/primary.rb +8 -6
- data/lib/facts/windows/networking/scope6.rb +8 -6
- data/lib/facts/windows/os/architecture.rb +9 -7
- data/lib/facts/windows/os/family.rb +9 -7
- data/lib/facts/windows/os/hardware.rb +9 -7
- data/lib/facts/windows/os/name.rb +9 -7
- data/lib/facts/windows/os/release.rb +24 -22
- data/lib/facts/windows/os/windows/edition_id.rb +11 -7
- data/lib/facts/windows/os/windows/installation_type.rb +11 -7
- data/lib/facts/windows/os/windows/product_name.rb +11 -7
- data/lib/facts/windows/os/windows/release_id.rb +11 -7
- data/lib/facts/windows/os/windows/system32.rb +11 -7
- data/lib/facts/windows/path.rb +3 -3
- data/lib/facts/windows/processor.rb +3 -3
- data/lib/facts/windows/processors/count.rb +9 -7
- data/lib/facts/windows/processors/isa.rb +9 -7
- data/lib/facts/windows/processors/models.rb +8 -6
- data/lib/facts/windows/processors/physicalcount.rb +9 -7
- data/lib/facts/windows/ruby/platform.rb +9 -7
- data/lib/facts/windows/ruby/sitedir.rb +9 -7
- data/lib/facts/windows/ruby/version.rb +9 -7
- data/lib/facts/windows/scope6_interfaces.rb +3 -3
- data/lib/facts/windows/system_uptime/days.rb +18 -0
- data/lib/facts/windows/system_uptime/hours.rb +18 -0
- data/lib/facts/windows/system_uptime/seconds.rb +18 -0
- data/lib/facts/windows/system_uptime/uptime.rb +18 -0
- data/lib/facts/windows/timezone.rb +3 -3
- data/lib/facts/windows/virtualization/is_virtual.rb +8 -6
- data/lib/facts/windows/virtualization/virtual.rb +8 -6
- data/lib/framework/cli/cli_launcher.rb +3 -0
- data/lib/framework/config/block_list.rb +1 -1
- data/lib/framework/core/fact_filter.rb +0 -9
- data/lib/framework/core/fact_loaders/class_discoverer.rb +13 -2
- data/lib/framework/core/fact_loaders/internal_fact_loader.rb +5 -8
- data/lib/framework/core/fact_manager.rb +1 -3
- data/lib/framework/core/file_loader.rb +0 -2
- data/lib/framework/core/options.rb +2 -2
- data/lib/framework/core/options/default_options.rb +1 -0
- data/lib/framework/core/options/helper_options.rb +18 -6
- data/lib/framework/core/options/options_validator.rb +1 -0
- data/lib/framework/core/options/validate_options.rb +5 -3
- data/lib/framework/formatters/formatter_helper.rb +1 -1
- data/lib/framework/logging/logger.rb +38 -13
- data/lib/framework/logging/multilogger.rb +4 -0
- data/lib/framework/parsers/query_parser.rb +1 -1
- data/lib/framework/utils/utils.rb +13 -0
- data/lib/models/resolved_fact.rb +1 -1
- data/lib/models/searched_fact.rb +1 -1
- data/lib/resolvers/base_resolver.rb +1 -1
- data/lib/resolvers/fips_enabled_resolver.rb +2 -0
- data/lib/{facts → resolvers}/macosx/processor_resolver.rb +0 -0
- metadata +62 -34
- data/lib/facts/base/network_interface.rb +0 -9
- data/lib/facts/debian/system_uptime/system_uptime_days.rb +0 -15
- data/lib/facts/debian/system_uptime/system_uptime_hours.rb +0 -15
- data/lib/facts/debian/system_uptime/system_uptime_minutes.rb +0 -15
- data/lib/facts/debian/system_uptime/system_uptime_uptime.rb +0 -15
- data/lib/facts/macosx/count.rb +0 -14
- data/lib/facts/macosx/isa.rb +0 -14
- data/lib/facts/macosx/models.rb +0 -14
- data/lib/facts/macosx/network_ip.rb +0 -13
- data/lib/facts/macosx/networking/ipaddress.rb +0 -14
- data/lib/facts/macosx/os/sw_vers/build.rb +0 -15
- data/lib/facts/macosx/os/sw_vers/product.rb +0 -15
- data/lib/facts/macosx/os/sw_vers/version.rb +0 -17
- data/lib/facts/macosx/physicalcount.rb +0 -14
- data/lib/facts/macosx/speed.rb +0 -14
- data/lib/facts/macosx/system_uptime/system_uptime_days.rb +0 -14
- data/lib/facts/macosx/system_uptime/system_uptime_hours.rb +0 -14
- data/lib/facts/solaris/networking/ipaddress.rb +0 -14
- data/lib/facts/windows/kernel/kernel_maj_version.rb +0 -15
- data/lib/facts/windows/kernel/kernel_release.rb +0 -15
- data/lib/facts/windows/kernel/kernel_version.rb +0 -15
- data/lib/facts/windows/system_uptime/system_uptime_days.rb +0 -16
- data/lib/facts/windows/system_uptime/system_uptime_hours.rb +0 -16
- data/lib/facts/windows/system_uptime/system_uptime_seconds.rb +0 -16
- data/lib/facts/windows/system_uptime/system_uptime_uptime.rb +0 -16
- data/lib/framework/logging/legacy_logger.rb +0 -31
data/.travis.yml
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
os: linux
|
2
2
|
language: ruby
|
3
3
|
cache:
|
4
4
|
bundler: true
|
@@ -12,7 +12,7 @@ before_install:
|
|
12
12
|
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
|
13
13
|
- chmod +x ./cc-test-reporter
|
14
14
|
- ./cc-test-reporter before-build
|
15
|
-
|
15
|
+
jobs:
|
16
16
|
include:
|
17
17
|
- rvm: 2.6
|
18
18
|
script:
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
4.0.
|
1
|
+
4.0.9.pre
|
data/agent/facter-ng.gemspec
CHANGED
@@ -36,7 +36,7 @@ Gem::Specification.new do |spec|
|
|
36
36
|
|
37
37
|
spec.add_development_dependency 'bundler', '~> 2.0'
|
38
38
|
spec.add_development_dependency 'coveralls', '~> 0.8.23'
|
39
|
-
spec.add_development_dependency 'rake', '
|
39
|
+
spec.add_development_dependency 'rake', '>= 12.3.3'
|
40
40
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
41
41
|
spec.add_development_dependency 'rubocop', '~> 0.74.0'
|
42
42
|
spec.add_development_dependency 'rubycritic', '~> 4.1.0'
|
data/facter.gemspec
CHANGED
@@ -37,7 +37,7 @@ Gem::Specification.new do |spec|
|
|
37
37
|
|
38
38
|
spec.add_development_dependency 'bundler', '~> 2.0'
|
39
39
|
spec.add_development_dependency 'coveralls', '~> 0.8.23'
|
40
|
-
spec.add_development_dependency 'rake', '
|
40
|
+
spec.add_development_dependency 'rake', '>= 12.3.3'
|
41
41
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
42
42
|
spec.add_development_dependency 'rubocop', '~> 0.74.0'
|
43
43
|
spec.add_development_dependency 'rubocop-performance', '~> 1.5'
|
@@ -136,15 +136,11 @@ module LegacyFacter
|
|
136
136
|
def value(name)
|
137
137
|
fact = fact(name)
|
138
138
|
|
139
|
-
return Facter.core_value(name) if fact.nil?
|
139
|
+
return Facter.core_value(name) if fact.nil? || fact.value.nil?
|
140
140
|
|
141
|
-
|
142
|
-
weight = fact&.used_resolution_weight || 0
|
141
|
+
core_value = Facter.core_value(name) if fact.used_resolution_weight <= 0
|
143
142
|
|
144
|
-
core_value
|
145
|
-
return core_value if weight <= 0 && core_value
|
146
|
-
|
147
|
-
value
|
143
|
+
core_value.nil? ? fact.value : core_value
|
148
144
|
end
|
149
145
|
|
150
146
|
private
|
@@ -20,6 +20,7 @@ module LegacyFacter
|
|
20
20
|
# Fact options e.g. fact_type
|
21
21
|
attr_accessor :options
|
22
22
|
|
23
|
+
# Weight of the resolution that was used to obtain the fact value
|
23
24
|
attr_accessor :used_resolution_weight
|
24
25
|
|
25
26
|
# Creates a new fact, with no resolution mechanisms. See {Facter.add}
|
@@ -32,12 +33,14 @@ module LegacyFacter
|
|
32
33
|
def initialize(name, options = {})
|
33
34
|
@name = name.to_s.downcase.intern
|
34
35
|
|
36
|
+
@options = Facter::Utils.deep_copy(options)
|
35
37
|
extract_ldapname_option!(options)
|
36
38
|
|
37
39
|
@ldapname ||= @name.to_s
|
38
40
|
|
39
41
|
@resolves = []
|
40
42
|
@searching = false
|
43
|
+
@used_resolution_weight = 0
|
41
44
|
|
42
45
|
@value = nil
|
43
46
|
end
|
@@ -52,7 +55,7 @@ module LegacyFacter
|
|
52
55
|
#
|
53
56
|
# @api private
|
54
57
|
def add(options = {}, &block)
|
55
|
-
@options = options
|
58
|
+
@options = Facter::Utils.deep_copy(@options.merge(options))
|
56
59
|
define_resolution(nil, options, &block)
|
57
60
|
end
|
58
61
|
|
@@ -158,7 +161,7 @@ module LegacyFacter
|
|
158
161
|
end
|
159
162
|
|
160
163
|
def sort_by_weight(resolutions)
|
161
|
-
resolutions.sort { |a, b| b.weight <=> a.weight }
|
164
|
+
resolutions.sort { |a, b| b.weight.to_i <=> a.weight.to_i }
|
162
165
|
end
|
163
166
|
|
164
167
|
def find_first_real_value(resolutions)
|
@@ -168,7 +171,7 @@ module LegacyFacter
|
|
168
171
|
rescue Facter::ResolveCustomFactError
|
169
172
|
break
|
170
173
|
end
|
171
|
-
@used_resolution_weight = resolve.weight
|
174
|
+
@used_resolution_weight = resolve.weight || 0
|
172
175
|
return value unless value.nil?
|
173
176
|
end
|
174
177
|
nil
|
@@ -65,6 +65,17 @@ module LegacyFacter
|
|
65
65
|
def parse_results
|
66
66
|
raise ArgumentError, 'Subclasses must respond to parse_results'
|
67
67
|
end
|
68
|
+
|
69
|
+
def parse_executable_output(output)
|
70
|
+
res = nil
|
71
|
+
begin
|
72
|
+
res = YAML.safe_load output
|
73
|
+
rescue Exception => e
|
74
|
+
Facter.debug("Could not parse executable fact output as YAML or JSON (#{e.message})")
|
75
|
+
end
|
76
|
+
res = KeyValuePairOutputFormat.parse output unless res.is_a?(Hash)
|
77
|
+
res
|
78
|
+
end
|
68
79
|
end
|
69
80
|
|
70
81
|
module KeyValuePairOutputFormat
|
@@ -120,7 +131,7 @@ module LegacyFacter
|
|
120
131
|
|
121
132
|
class ScriptParser < Base
|
122
133
|
def parse_results
|
123
|
-
|
134
|
+
parse_executable_output(LegacyFacter::Core::Execution.exec(quote(filename)))
|
124
135
|
end
|
125
136
|
|
126
137
|
private
|
@@ -154,7 +165,7 @@ module LegacyFacter
|
|
154
165
|
shell_command =
|
155
166
|
"\"#{powershell}\" -NoProfile -NonInteractive -NoLogo -ExecutionPolicy Bypass -File \"#{filename}\""
|
156
167
|
output = LegacyFacter::Core::Execution.exec(shell_command)
|
157
|
-
|
168
|
+
parse_executable_output(output)
|
158
169
|
end
|
159
170
|
end
|
160
171
|
|
data/lib/facter.rb
CHANGED
@@ -11,151 +11,167 @@ module Facter
|
|
11
11
|
class ResolveCustomFactError < StandardError; end
|
12
12
|
|
13
13
|
@options = Options.instance
|
14
|
+
Log.add_legacy_logger(STDOUT)
|
15
|
+
@logger = Log.new(self)
|
14
16
|
|
15
|
-
|
16
|
-
|
17
|
-
|
17
|
+
class << self
|
18
|
+
def [](name)
|
19
|
+
fact(name)
|
20
|
+
end
|
18
21
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
22
|
+
def add(name, options = {}, &block)
|
23
|
+
options[:fact_type] = :custom
|
24
|
+
LegacyFacter.add(name, options, &block)
|
25
|
+
end
|
23
26
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
+
def clear
|
28
|
+
LegacyFacter.clear
|
29
|
+
end
|
27
30
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
31
|
+
def core_value(user_query)
|
32
|
+
user_query = user_query.to_s
|
33
|
+
resolved_facts = Facter::FactManager.instance.resolve_core([user_query])
|
34
|
+
fact_collection = FactCollection.new.build_fact_collection!(resolved_facts)
|
35
|
+
splitted_user_query = Facter::Utils.split_user_query(user_query)
|
36
|
+
fact_collection.dig(*splitted_user_query)
|
37
|
+
end
|
35
38
|
|
36
|
-
|
37
|
-
|
39
|
+
def debug(msg)
|
40
|
+
return unless debugging?
|
38
41
|
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
end
|
42
|
+
@logger.debug(msg)
|
43
|
+
nil
|
44
|
+
end
|
43
45
|
|
44
|
-
|
45
|
-
|
46
|
-
|
46
|
+
def on_message(&block)
|
47
|
+
Facter::Log.on_message(&block)
|
48
|
+
end
|
47
49
|
|
48
|
-
|
49
|
-
|
50
|
-
|
50
|
+
def debugging?
|
51
|
+
Options[:debug]
|
52
|
+
end
|
51
53
|
|
52
|
-
debug_bool
|
53
|
-
|
54
|
+
def debugging(debug_bool)
|
55
|
+
@options.priority_options[:debug] = debug_bool
|
56
|
+
@options.refresh
|
54
57
|
|
55
|
-
|
56
|
-
|
57
|
-
val = value(name)
|
58
|
-
fact.add({}) { setcode { val } }
|
59
|
-
fact
|
60
|
-
end
|
58
|
+
debug_bool
|
59
|
+
end
|
61
60
|
|
62
|
-
|
63
|
-
|
61
|
+
def fact(name)
|
62
|
+
fact = Facter::Util::Fact.new(name)
|
63
|
+
val = value(name)
|
64
|
+
fact.add({}) { setcode { val } }
|
65
|
+
fact
|
66
|
+
end
|
64
67
|
|
65
|
-
missing_names
|
66
|
-
|
68
|
+
def log_errors(missing_names)
|
69
|
+
missing_names.each do |missing_name|
|
70
|
+
@logger.error("fact \"#{missing_name}\" does not exist.", true)
|
71
|
+
end
|
67
72
|
end
|
68
|
-
end
|
69
73
|
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
end
|
74
|
+
def method_missing(name, *args, &block)
|
75
|
+
@logger.error(
|
76
|
+
"--#{name}-- not implemented but required \n" \
|
77
|
+
'with params: ' \
|
78
|
+
"#{args.inspect} \n" \
|
79
|
+
'with block: ' \
|
80
|
+
"#{block.inspect} \n" \
|
81
|
+
"called by: \n" \
|
82
|
+
"#{caller} \n"
|
83
|
+
)
|
84
|
+
nil
|
85
|
+
end
|
83
86
|
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
+
def reset
|
88
|
+
LegacyFacter.reset
|
89
|
+
end
|
87
90
|
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
+
def search(*dirs)
|
92
|
+
LegacyFacter.search(*dirs)
|
93
|
+
end
|
91
94
|
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
+
def search_external(dirs)
|
96
|
+
LegacyFacter.search_external(dirs)
|
97
|
+
end
|
95
98
|
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
+
def search_external_path
|
100
|
+
LegacyFacter.search_external_path
|
101
|
+
end
|
99
102
|
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
+
def search_path
|
104
|
+
LegacyFacter.search_path
|
105
|
+
end
|
103
106
|
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
resolved_facts = Facter::FactManager.instance.resolve_facts(@options)
|
108
|
-
CacheManager.invalidate_all_caches
|
109
|
-
FactCollection.new.build_fact_collection!(resolved_facts)
|
110
|
-
end
|
107
|
+
def to_hash
|
108
|
+
@options.priority_options[:to_hash] = true
|
109
|
+
@options.refresh
|
111
110
|
|
112
|
-
|
113
|
-
@options.priority_options = { is_cli: true }.merge!(cli_options.map { |(k, v)| [k.to_sym, v] }.to_h)
|
114
|
-
@options.refresh(args)
|
111
|
+
log_blocked_facts
|
115
112
|
|
116
|
-
|
117
|
-
|
118
|
-
|
113
|
+
resolved_facts = Facter::FactManager.instance.resolve_facts
|
114
|
+
CacheManager.invalidate_all_caches
|
115
|
+
FactCollection.new.build_fact_collection!(resolved_facts)
|
116
|
+
end
|
119
117
|
|
120
|
-
|
118
|
+
def to_user_output(cli_options, *args)
|
119
|
+
@options.priority_options = { is_cli: true }.merge!(cli_options.map { |(k, v)| [k.to_sym, v] }.to_h)
|
120
|
+
@options.refresh(args)
|
121
|
+
@logger.info("executed with command line: #{ARGV.drop(1).join(' ')}")
|
122
|
+
log_blocked_facts
|
121
123
|
|
122
|
-
|
123
|
-
|
124
|
+
resolved_facts = Facter::FactManager.instance.resolve_facts(args)
|
125
|
+
CacheManager.invalidate_all_caches
|
126
|
+
fact_formatter = Facter::FormatterFactory.build(@options)
|
124
127
|
|
125
|
-
|
126
|
-
LegacyFacter.trace?
|
127
|
-
end
|
128
|
+
status = error_check(args, resolved_facts)
|
128
129
|
|
129
|
-
|
130
|
-
|
131
|
-
end
|
130
|
+
[fact_formatter.format(resolved_facts), status || 0]
|
131
|
+
end
|
132
132
|
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
resolved_facts = Facter::FactManager.instance.resolve_facts(@options, [user_query])
|
137
|
-
CacheManager.invalidate_all_caches
|
138
|
-
fact_collection = FactCollection.new.build_fact_collection!(resolved_facts)
|
139
|
-
splitted_user_query = Facter::Utils.split_user_query(user_query)
|
140
|
-
fact_collection.dig(*splitted_user_query)
|
141
|
-
end
|
133
|
+
def trace?
|
134
|
+
LegacyFacter.trace?
|
135
|
+
end
|
142
136
|
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
end
|
137
|
+
def trace(bool)
|
138
|
+
LegacyFacter.trace(bool)
|
139
|
+
end
|
147
140
|
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
141
|
+
def value(user_query)
|
142
|
+
@options.refresh([user_query])
|
143
|
+
user_query = user_query.to_s
|
144
|
+
resolved_facts = Facter::FactManager.instance.resolve_facts([user_query])
|
145
|
+
CacheManager.invalidate_all_caches
|
146
|
+
fact_collection = FactCollection.new.build_fact_collection!(resolved_facts)
|
147
|
+
splitted_user_query = Facter::Utils.split_user_query(user_query)
|
148
|
+
fact_collection.dig(*splitted_user_query)
|
149
|
+
end
|
150
|
+
|
151
|
+
def version
|
152
|
+
version_file = ::File.join(ROOT_DIR, 'VERSION')
|
153
|
+
::File.read(version_file).strip
|
157
154
|
end
|
158
155
|
|
159
|
-
|
156
|
+
private
|
157
|
+
|
158
|
+
def log_blocked_facts
|
159
|
+
block_list = BlockList.instance.block_list
|
160
|
+
@logger.debug("blocking collection of #{block_list.join("\s")} facts") if block_list.any? && Options[:block]
|
161
|
+
end
|
162
|
+
|
163
|
+
def error_check(args, resolved_facts)
|
164
|
+
if Options.instance[:strict]
|
165
|
+
missing_names = args - resolved_facts.map(&:user_query).uniq
|
166
|
+
if missing_names.count.positive?
|
167
|
+
status = 1
|
168
|
+
log_errors(missing_names)
|
169
|
+
else
|
170
|
+
status = nil
|
171
|
+
end
|
172
|
+
end
|
173
|
+
|
174
|
+
status
|
175
|
+
end
|
160
176
|
end
|
161
177
|
end
|
@@ -1,13 +1,15 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
module
|
3
|
+
module Facts
|
4
4
|
module Aix
|
5
|
-
|
6
|
-
|
5
|
+
module Augeas
|
6
|
+
class Version
|
7
|
+
FACT_NAME = 'augeas.version'
|
7
8
|
|
8
|
-
|
9
|
-
|
10
|
-
|
9
|
+
def call_the_resolver
|
10
|
+
fact_value = Facter::Resolvers::Augeas.resolve(:augeas_version)
|
11
|
+
Facter::ResolvedFact.new(FACT_NAME, fact_value)
|
12
|
+
end
|
11
13
|
end
|
12
14
|
end
|
13
15
|
end
|
@@ -1,14 +1,14 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
module
|
3
|
+
module Facts
|
4
4
|
module Aix
|
5
5
|
class Facterversion
|
6
6
|
FACT_NAME = 'facterversion'
|
7
7
|
|
8
8
|
def call_the_resolver
|
9
|
-
fact_value = Resolvers::Facterversion.resolve(:facterversion)
|
9
|
+
fact_value = Facter::Resolvers::Facterversion.resolve(:facterversion)
|
10
10
|
|
11
|
-
ResolvedFact.new(FACT_NAME, fact_value)
|
11
|
+
Facter::ResolvedFact.new(FACT_NAME, fact_value)
|
12
12
|
end
|
13
13
|
end
|
14
14
|
end
|