facter 2.5.7-x64-mingw32 → 3.9.6.cfacter.20180412-x64-mingw32
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 +5 -5
- data/bin/facter.bat +8 -0
- data/bin/facter.exe +0 -0
- data/bin/facter_interactive.bat +6 -0
- data/bin/libfacter.so +0 -0
- data/bin/run_facter_interactive.bat +9 -0
- data/lib/facter.rb +45 -261
- data/lib/libfacter.so.a +0 -0
- metadata +23 -854
- data/COMMITTERS.md +0 -185
- data/CONTRIBUTING.md +0 -91
- data/Gemfile +0 -69
- data/LICENSE +0 -15
- data/README.md +0 -65
- data/Rakefile +0 -46
- data/bin/facter +0 -20
- data/etc/facter.conf +0 -5
- data/ext/build_defaults.yaml +0 -9
- data/ext/debian/changelog.erb +0 -59
- data/ext/debian/compat +0 -1
- data/ext/debian/control +0 -15
- data/ext/debian/copyright +0 -19
- data/ext/debian/docs +0 -1
- data/ext/debian/lintian-overrides +0 -0
- data/ext/debian/rules +0 -10
- data/ext/debian/source/format +0 -1
- data/ext/facter-diff +0 -74
- data/ext/ips/facter.p5m.erb +0 -10
- data/ext/ips/rules +0 -7
- data/ext/ips/transforms +0 -18
- data/ext/osx/file_mapping.yaml +0 -32
- data/ext/osx/preflight.erb +0 -33
- data/ext/osx/prototype.plist.erb +0 -38
- data/ext/project_data.yaml +0 -31
- data/ext/redhat/facter.spec.erb +0 -223
- data/ext/solaris/pkginfo +0 -7
- data/install.rb +0 -380
- data/lib/facter/Cfkey.rb +0 -42
- data/lib/facter/application.rb +0 -206
- data/lib/facter/architecture.rb +0 -50
- data/lib/facter/augeasversion.rb +0 -28
- data/lib/facter/blockdevices.rb +0 -105
- data/lib/facter/core/aggregate.rb +0 -220
- data/lib/facter/core/directed_graph.rb +0 -46
- data/lib/facter/core/execution.rb +0 -123
- data/lib/facter/core/execution/base.rb +0 -81
- data/lib/facter/core/execution/posix.rb +0 -50
- data/lib/facter/core/execution/windows.rb +0 -57
- data/lib/facter/core/logging.rb +0 -197
- data/lib/facter/core/resolvable.rb +0 -94
- data/lib/facter/core/suitable.rb +0 -113
- data/lib/facter/dhcp_servers.rb +0 -45
- data/lib/facter/domain.rb +0 -99
- data/lib/facter/ec2.rb +0 -68
- data/lib/facter/ec2/rest.rb +0 -137
- data/lib/facter/facterversion.rb +0 -15
- data/lib/facter/filesystems.rb +0 -45
- data/lib/facter/fqdn.rb +0 -24
- data/lib/facter/gce.rb +0 -16
- data/lib/facter/gce/metadata.rb +0 -87
- data/lib/facter/gid.rb +0 -25
- data/lib/facter/hardwareisa.rb +0 -20
- data/lib/facter/hardwaremodel.rb +0 -67
- data/lib/facter/hostname.rb +0 -31
- data/lib/facter/id.rb +0 -21
- data/lib/facter/interfaces.rb +0 -58
- data/lib/facter/ipaddress.rb +0 -169
- data/lib/facter/ipaddress6.rb +0 -82
- data/lib/facter/iphostnumber.rb +0 -29
- data/lib/facter/kernel.rb +0 -22
- data/lib/facter/kernelmajversion.rb +0 -23
- data/lib/facter/kernelrelease.rb +0 -45
- data/lib/facter/kernelversion.rb +0 -22
- data/lib/facter/ldom.rb +0 -51
- data/lib/facter/lsbdistcodename.rb +0 -20
- data/lib/facter/lsbdistdescription.rb +0 -21
- data/lib/facter/lsbdistid.rb +0 -20
- data/lib/facter/lsbdistrelease.rb +0 -20
- data/lib/facter/lsbmajdistrelease.rb +0 -22
- data/lib/facter/lsbminordistrelease.rb +0 -22
- data/lib/facter/lsbrelease.rb +0 -20
- data/lib/facter/macaddress.rb +0 -99
- data/lib/facter/macosx.rb +0 -56
- data/lib/facter/manufacturer.rb +0 -68
- data/lib/facter/memory.rb +0 -168
- data/lib/facter/netmask.rb +0 -43
- data/lib/facter/network.rb +0 -20
- data/lib/facter/operatingsystem.rb +0 -24
- data/lib/facter/operatingsystem/base.rb +0 -61
- data/lib/facter/operatingsystem/cumuluslinux.rb +0 -27
- data/lib/facter/operatingsystem/implementation.rb +0 -33
- data/lib/facter/operatingsystem/linux.rb +0 -511
- data/lib/facter/operatingsystem/osreleaselinux.rb +0 -28
- data/lib/facter/operatingsystem/sunos.rb +0 -54
- data/lib/facter/operatingsystem/vmkernel.rb +0 -11
- data/lib/facter/operatingsystem/windows.rb +0 -43
- data/lib/facter/operatingsystemmajrelease.rb +0 -31
- data/lib/facter/operatingsystemrelease.rb +0 -29
- data/lib/facter/os.rb +0 -98
- data/lib/facter/osfamily.rb +0 -18
- data/lib/facter/partitions.rb +0 -39
- data/lib/facter/path.rb +0 -14
- data/lib/facter/physicalprocessorcount.rb +0 -27
- data/lib/facter/processor.rb +0 -52
- data/lib/facter/processors.rb +0 -66
- data/lib/facter/processors/os.rb +0 -244
- data/lib/facter/ps.rb +0 -31
- data/lib/facter/puppetversion.rb +0 -20
- data/lib/facter/rackspace.rb +0 -37
- data/lib/facter/rubyplatform.rb +0 -12
- data/lib/facter/rubysitedir.rb +0 -15
- data/lib/facter/rubyversion.rb +0 -12
- data/lib/facter/selinux.rb +0 -154
- data/lib/facter/ssh.rb +0 -73
- data/lib/facter/system32.rb +0 -21
- data/lib/facter/system_uptime.rb +0 -44
- data/lib/facter/timezone.rb +0 -14
- data/lib/facter/uniqueid.rb +0 -4
- data/lib/facter/uptime.rb +0 -16
- data/lib/facter/uptime_days.rb +0 -13
- data/lib/facter/uptime_hours.rb +0 -13
- data/lib/facter/uptime_seconds.rb +0 -20
- data/lib/facter/util/architecture.rb +0 -19
- data/lib/facter/util/collection.rb +0 -161
- data/lib/facter/util/composite_loader.rb +0 -12
- data/lib/facter/util/config.rb +0 -88
- data/lib/facter/util/confine.rb +0 -66
- data/lib/facter/util/dhcp_servers.rb +0 -58
- data/lib/facter/util/directory_loader.rb +0 -88
- data/lib/facter/util/ec2.rb +0 -106
- data/lib/facter/util/fact.rb +0 -204
- data/lib/facter/util/file_read.rb +0 -37
- data/lib/facter/util/formatter.rb +0 -39
- data/lib/facter/util/ip.rb +0 -340
- data/lib/facter/util/ip/windows.rb +0 -215
- data/lib/facter/util/loader.rb +0 -155
- data/lib/facter/util/macaddress.rb +0 -43
- data/lib/facter/util/macosx.rb +0 -73
- data/lib/facter/util/manufacturer.rb +0 -99
- data/lib/facter/util/memory.rb +0 -228
- data/lib/facter/util/netmask.rb +0 -40
- data/lib/facter/util/normalization.rb +0 -94
- data/lib/facter/util/nothing_loader.rb +0 -12
- data/lib/facter/util/operatingsystem.rb +0 -21
- data/lib/facter/util/parser.rb +0 -168
- data/lib/facter/util/partitions.rb +0 -47
- data/lib/facter/util/partitions/linux.rb +0 -71
- data/lib/facter/util/partitions/openbsd.rb +0 -40
- data/lib/facter/util/plist.rb +0 -24
- data/lib/facter/util/plist/generator.rb +0 -228
- data/lib/facter/util/plist/parser.rb +0 -226
- data/lib/facter/util/posix.rb +0 -16
- data/lib/facter/util/processor.rb +0 -289
- data/lib/facter/util/registry.rb +0 -11
- data/lib/facter/util/resolution.rb +0 -160
- data/lib/facter/util/solaris_zones.rb +0 -158
- data/lib/facter/util/unix_root.rb +0 -5
- data/lib/facter/util/uptime.rb +0 -83
- data/lib/facter/util/values.rb +0 -109
- data/lib/facter/util/virtual.rb +0 -220
- data/lib/facter/util/vlans.rb +0 -21
- data/lib/facter/util/windows.rb +0 -10
- data/lib/facter/util/windows/api_types.rb +0 -135
- data/lib/facter/util/windows/dir.rb +0 -43
- data/lib/facter/util/windows/error.rb +0 -87
- data/lib/facter/util/windows/process.rb +0 -294
- data/lib/facter/util/windows/user.rb +0 -186
- data/lib/facter/util/windows_root.rb +0 -7
- data/lib/facter/util/wmi.rb +0 -49
- data/lib/facter/util/xendomains.rb +0 -28
- data/lib/facter/version.rb +0 -86
- data/lib/facter/virtual.rb +0 -339
- data/lib/facter/vlans.rb +0 -17
- data/lib/facter/xendomains.rb +0 -20
- data/lib/facter/zfs_version.rb +0 -14
- data/lib/facter/zonename.rb +0 -6
- data/lib/facter/zones.rb +0 -18
- data/lib/facter/zpool_version.rb +0 -10
- data/spec/fixtures/cpuinfo/amd64dual +0 -57
- data/spec/fixtures/cpuinfo/amd64dual-grep +0 -2
- data/spec/fixtures/cpuinfo/amd64quad +0 -79
- data/spec/fixtures/cpuinfo/amd64solo +0 -23
- data/spec/fixtures/cpuinfo/amd64tri +0 -86
- data/spec/fixtures/cpuinfo/amd64twentyfour +0 -600
- data/spec/fixtures/cpuinfo/amd64twentyfour-grep +0 -24
- data/spec/fixtures/cpuinfo/bbg3-armel +0 -12
- data/spec/fixtures/cpuinfo/beaglexm-armel +0 -12
- data/spec/fixtures/cpuinfo/panda-armel +0 -17
- data/spec/fixtures/cpuinfo/ppc64 +0 -19
- data/spec/fixtures/cpuinfo/ppc64le +0 -15
- data/spec/fixtures/cpuinfo/sparc +0 -10
- data/spec/fixtures/cpuinfo/two_multicore-grep +0 -4
- data/spec/fixtures/cpuinfo/two_singlecore-grep +0 -2
- data/spec/fixtures/hpux/machinfo/hppa-rp4440 +0 -26
- data/spec/fixtures/hpux/machinfo/ia64-rx2620 +0 -49
- data/spec/fixtures/hpux/machinfo/ia64-rx6600 +0 -26
- data/spec/fixtures/hpux/machinfo/ia64-rx8640 +0 -53
- data/spec/fixtures/hpux/machinfo/superdome-server-SD32B +0 -53
- data/spec/fixtures/hpux/machinfo/superdome2-16s +0 -31
- data/spec/fixtures/hpux/sched.models +0 -174
- data/spec/fixtures/hpux/unistd.h +0 -1534
- data/spec/fixtures/ifconfig/bsd_ifconfig_all_with_multiple_interfaces +0 -18
- data/spec/fixtures/ifconfig/centos_5_5 +0 -17
- data/spec/fixtures/ifconfig/centos_5_5_eth0 +0 -8
- data/spec/fixtures/ifconfig/darwin_10_3_0 +0 -26
- data/spec/fixtures/ifconfig/darwin_10_3_0_en0 +0 -6
- data/spec/fixtures/ifconfig/darwin_10_6_4 +0 -28
- data/spec/fixtures/ifconfig/darwin_10_6_4_en1 +0 -6
- data/spec/fixtures/ifconfig/darwin_10_6_6_dualstack +0 -8
- data/spec/fixtures/ifconfig/darwin_10_6_6_dualstack_en1 +0 -7
- data/spec/fixtures/ifconfig/darwin_9_8_0 +0 -26
- data/spec/fixtures/ifconfig/darwin_9_8_0_en0 +0 -6
- data/spec/fixtures/ifconfig/darwin_ifconfig_all_with_multiple_interfaces +0 -23
- data/spec/fixtures/ifconfig/fedora_10 +0 -36
- data/spec/fixtures/ifconfig/fedora_10_eth0 +0 -9
- data/spec/fixtures/ifconfig/fedora_13 +0 -18
- data/spec/fixtures/ifconfig/fedora_13_eth0 +0 -9
- data/spec/fixtures/ifconfig/fedora_8 +0 -38
- data/spec/fixtures/ifconfig/fedora_8_eth0 +0 -9
- data/spec/fixtures/ifconfig/freebsd_6_0 +0 -12
- data/spec/fixtures/ifconfig/ifconfig_net_tools_1.60.txt +0 -19
- data/spec/fixtures/ifconfig/ifconfig_ubuntu_1204.txt +0 -16
- data/spec/fixtures/ifconfig/linux_ifconfig_all_with_multiple_interfaces +0 -19
- data/spec/fixtures/ifconfig/linux_ifconfig_all_with_multiple_interfaces_and_fe80 +0 -19
- data/spec/fixtures/ifconfig/linux_ifconfig_all_with_multiple_interfaces_and_no_public_ipv6 +0 -18
- data/spec/fixtures/ifconfig/linux_ifconfig_no_addr +0 -19
- data/spec/fixtures/ifconfig/linux_ifconfig_no_mac +0 -8
- data/spec/fixtures/ifconfig/linux_ifconfig_venet +0 -24
- data/spec/fixtures/ifconfig/open_solaris_10 +0 -12
- data/spec/fixtures/ifconfig/open_solaris_b132 +0 -20
- data/spec/fixtures/ifconfig/openbsd_bridge_rules +0 -11
- data/spec/fixtures/ifconfig/sunos_ifconfig_all_with_multiple_interfaces +0 -10
- data/spec/fixtures/ifconfig/ubuntu_7_04 +0 -38
- data/spec/fixtures/ifconfig/ubuntu_7_04_eth0 +0 -9
- data/spec/fixtures/ldom/ldom_v1 +0 -6
- data/spec/fixtures/netstat/centos_5_5 +0 -5
- data/spec/fixtures/netstat/darwin_10_3_0 +0 -35
- data/spec/fixtures/netstat/darwin_10_6_4 +0 -29
- data/spec/fixtures/netstat/darwin_10_6_6_dualstack +0 -34
- data/spec/fixtures/netstat/darwin_9_8_0 +0 -28
- data/spec/fixtures/netstat/fedora_10 +0 -7
- data/spec/fixtures/netstat/open_solaris_10 +0 -16
- data/spec/fixtures/netstat/open_solaris_b132 +0 -17
- data/spec/fixtures/netstat/ubuntu_7_04 +0 -7
- data/spec/fixtures/processorcount/solaris-psrinfo +0 -24
- data/spec/fixtures/processorcount/solaris-sparc-kstat-cpu-info +0 -1216
- data/spec/fixtures/processorcount/solaris-x86_64-kstat-cpu-info +0 -225
- data/spec/fixtures/unit/dhcp_servers/nmcli_devices +0 -4
- data/spec/fixtures/unit/dhcp_servers/nmcli_devices_disconnected +0 -4
- data/spec/fixtures/unit/dhcp_servers/nmcli_eth0_dhcp +0 -36
- data/spec/fixtures/unit/dhcp_servers/nmcli_eth0_static +0 -24
- data/spec/fixtures/unit/dhcp_servers/nmcli_wlan0_dhcp +0 -49
- data/spec/fixtures/unit/dhcp_servers/nmcli_wlan0_static +0 -37
- data/spec/fixtures/unit/dhcp_servers/route +0 -3
- data/spec/fixtures/unit/dhcp_servers/route_nogw +0 -1
- data/spec/fixtures/unit/ec2/rest/meta-data/root +0 -20
- data/spec/fixtures/unit/filesystems/linux +0 -28
- data/spec/fixtures/unit/gce/metadata/metadata.json +0 -69
- data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt +0 -19
- data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt.em1 +0 -10
- data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt.lo +0 -8
- data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60_v6.txt +0 -9
- data/spec/fixtures/unit/ipaddress/ifconfig_multiple_127_addresses.txt +0 -20
- data/spec/fixtures/unit/ipaddress/ifconfig_net_tools_1.60.txt +0 -19
- data/spec/fixtures/unit/ipaddress/ifconfig_non_english_locale.txt +0 -18
- data/spec/fixtures/unit/ipaddress/ifconfig_ubuntu_1204.txt +0 -16
- data/spec/fixtures/unit/kernelrelease/openbsd-5.3 +0 -2
- data/spec/fixtures/unit/kernelrelease/openbsd-5.3-current +0 -3
- data/spec/fixtures/unit/memory/aix-svmon +0 -9
- data/spec/fixtures/unit/memory/aix-swap_l +0 -2
- data/spec/fixtures/unit/memory/darwin-swapinfo-multiple +0 -3
- data/spec/fixtures/unit/memory/darwin-swapinfo-single +0 -2
- data/spec/fixtures/unit/memory/darwin-vm_stat +0 -13
- data/spec/fixtures/unit/memory/dragonfly-vmstat +0 -3
- data/spec/fixtures/unit/memory/freebsd-vmstat +0 -3
- data/spec/fixtures/unit/memory/linux-proc_meminfo +0 -10
- data/spec/fixtures/unit/memory/openbsd-vmstat +0 -3
- data/spec/fixtures/unit/memory/smartos_zone_swap_l-single +0 -2
- data/spec/fixtures/unit/memory/solaris-prtconf +0 -4
- data/spec/fixtures/unit/memory/solaris-swap_l-multiple +0 -3
- data/spec/fixtures/unit/memory/solaris-swap_l-single +0 -2
- data/spec/fixtures/unit/memory/solaris-vmstat +0 -3
- data/spec/fixtures/unit/netmask/darwin_10_8_5.txt +0 -30
- data/spec/fixtures/unit/netmask/ifconfig_aix_7.txt +0 -3
- data/spec/fixtures/unit/netmask/ifconfig_net_tools_1.60.txt +0 -19
- data/spec/fixtures/unit/netmask/ifconfig_ubuntu_1204.txt +0 -16
- data/spec/fixtures/unit/processors/os/darwin-system-profiler +0 -287
- data/spec/fixtures/unit/selinux/selinux_sestatus +0 -6
- data/spec/fixtures/unit/selinux/selinux_sestatus2 +0 -9
- data/spec/fixtures/unit/util/dhcp_servers/route +0 -3
- data/spec/fixtures/unit/util/dhcp_servers/route_nogw +0 -1
- data/spec/fixtures/unit/util/ec2/centos-arp-ec2.out +0 -1
- data/spec/fixtures/unit/util/ec2/linux-arp-ec2.out +0 -1
- data/spec/fixtures/unit/util/ec2/linux-arp-not-ec2.out +0 -5
- data/spec/fixtures/unit/util/ec2/solaris8_arp_a_not_ec2.out +0 -7
- data/spec/fixtures/unit/util/ec2/windows-2008-arp-a-not-ec2.out +0 -6
- data/spec/fixtures/unit/util/ec2/windows-2008-arp-a.out +0 -10
- data/spec/fixtures/unit/util/ip/6.0-STABLE_FreeBSD_ifconfig +0 -12
- data/spec/fixtures/unit/util/ip/Mac_OS_X_10.5.5_ifconfig +0 -26
- data/spec/fixtures/unit/util/ip/darwin_ifconfig_all_with_multiple_interfaces +0 -10
- data/spec/fixtures/unit/util/ip/darwin_ifconfig_single_interface +0 -6
- data/spec/fixtures/unit/util/ip/debian_kfreebsd_ifconfig +0 -40
- data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lan0 +0 -2
- data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lan1 +0 -2
- data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lo0 +0 -2
- data/spec/fixtures/unit/util/ip/hpux_1111_lanscan +0 -5
- data/spec/fixtures/unit/util/ip/hpux_1111_netstat_in +0 -4
- data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lan0 +0 -2
- data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lan1 +0 -2
- data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lo0 +0 -2
- data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_lanscan +0 -5
- data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_netstat_in +0 -4
- data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lan0 +0 -2
- data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lan1 +0 -2
- data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lo0 +0 -2
- data/spec/fixtures/unit/util/ip/hpux_1131_lanscan +0 -4
- data/spec/fixtures/unit/util/ip/hpux_1131_netstat_in +0 -4
- data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan1 +0 -2
- data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan4 +0 -2
- data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan4_1 +0 -2
- data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lo0 +0 -2
- data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_lanscan +0 -9
- data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_netstat_in +0 -6
- data/spec/fixtures/unit/util/ip/linux_2_6_35_proc_net_bonding_bond0 +0 -19
- data/spec/fixtures/unit/util/ip/linux_get_single_interface_eth0 +0 -10
- data/spec/fixtures/unit/util/ip/linux_get_single_interface_ib0 +0 -8
- data/spec/fixtures/unit/util/ip/linux_get_single_interface_ib0_centos7 +0 -8
- data/spec/fixtures/unit/util/ip/linux_get_single_interface_lo +0 -9
- data/spec/fixtures/unit/util/ip/linux_ifconfig_all_with_single_interface +0 -18
- data/spec/fixtures/unit/util/ip/linux_ifconfig_ib0 +0 -8
- data/spec/fixtures/unit/util/ip/linux_ifconfig_ib0_centos7 +0 -8
- data/spec/fixtures/unit/util/ip/solaris_ifconfig_all_with_multiple_interfaces +0 -8
- data/spec/fixtures/unit/util/ip/solaris_ifconfig_single_interface +0 -3
- data/spec/fixtures/unit/util/ip/windows_netsh_all_interfaces +0 -12
- data/spec/fixtures/unit/util/ip/windows_netsh_single_interface +0 -7
- data/spec/fixtures/unit/util/ip/windows_netsh_single_interface6 +0 -18
- data/spec/fixtures/unit/util/manufacturer/freebsd_dmidecode +0 -42
- data/spec/fixtures/unit/util/manufacturer/intel_linux_dmidecode +0 -549
- data/spec/fixtures/unit/util/manufacturer/linux_dmidecode_with_spaces +0 -60
- data/spec/fixtures/unit/util/manufacturer/opensolaris_smbios +0 -33
- data/spec/fixtures/unit/util/manufacturer/smartos_smbios +0 -533
- data/spec/fixtures/unit/util/manufacturer/solaris_sunfire_v120_prtdiag +0 -33
- data/spec/fixtures/unit/util/manufacturer/solaris_t5220_prtdiag +0 -136
- data/spec/fixtures/unit/util/operatingsystem/coreos.txt +0 -9
- data/spec/fixtures/unit/util/operatingsystem/cumuluslinux.txt +0 -8
- data/spec/fixtures/unit/util/operatingsystem/redhat-7.txt +0 -12
- data/spec/fixtures/unit/util/operatingsystem/sabayon.txt +0 -7
- data/spec/fixtures/unit/util/operatingsystem/wheezy.txt +0 -9
- data/spec/fixtures/unit/util/partitions/partitions/mount +0 -9
- data/spec/fixtures/unit/util/processor/solaris-i86pc +0 -28
- data/spec/fixtures/unit/util/processor/solaris-sun4u +0 -151
- data/spec/fixtures/unit/util/processor/x86-pentium2 +0 -41
- data/spec/fixtures/unit/util/uptime/kstat_boot_time +0 -1
- data/spec/fixtures/unit/util/uptime/sysctl_kern_boottime_darwin +0 -1
- data/spec/fixtures/unit/util/uptime/sysctl_kern_boottime_openbsd +0 -1
- data/spec/fixtures/unit/util/uptime/ubuntu_proc_uptime +0 -1
- data/spec/fixtures/unit/util/virtual/invalid_unicode_dmi_entries +0 -0
- data/spec/fixtures/unit/util/virtual/solaris10_proc_self_status1 +0 -0
- data/spec/fixtures/unit/util/vlans/centos-5-no-vlans +0 -2
- data/spec/fixtures/unit/util/vlans/linux_vlan_config +0 -6
- data/spec/fixtures/unit/util/xendomains/xendomains +0 -4
- data/spec/fixtures/unit/virtual/sysfs_dmi_entries_raw.txt +0 -0
- data/spec/fixtures/unit/zfs_version/freebsd_8.2 +0 -14
- data/spec/fixtures/unit/zfs_version/freebsd_9.0 +0 -13
- data/spec/fixtures/unit/zfs_version/linux-fuse_0.6.9 +0 -14
- data/spec/fixtures/unit/zfs_version/solaris_10 +0 -10
- data/spec/fixtures/unit/zfs_version/solaris_11 +0 -12
- data/spec/fixtures/unit/zfs_version/zfs_new +0 -61
- data/spec/fixtures/unit/zfs_version/zfs_old +0 -43
- data/spec/fixtures/unit/zfs_version/zfsonlinux_0.6.1 +0 -13
- data/spec/fixtures/unit/zpool_version/freebsd_8.2 +0 -26
- data/spec/fixtures/unit/zpool_version/freebsd_9.0 +0 -38
- data/spec/fixtures/unit/zpool_version/linux-fuse_0.6.9 +0 -35
- data/spec/fixtures/unit/zpool_version/solaris_10 +0 -31
- data/spec/fixtures/unit/zpool_version/solaris_11 +0 -43
- data/spec/fixtures/unit/zpool_version/zfsonlinux_0.6.1 +0 -48
- data/spec/fixtures/virtual/proc_1_cgroup/in_a_container +0 -9
- data/spec/fixtures/virtual/proc_1_cgroup/in_a_docker_container +0 -8
- data/spec/fixtures/virtual/proc_1_cgroup/in_a_docker_container_with_systemd_slices +0 -10
- data/spec/fixtures/virtual/proc_1_cgroup/not_in_a_container +0 -9
- data/spec/fixtures/virtual/proc_self_status/vserver_2_1/guest +0 -37
- data/spec/fixtures/virtual/proc_self_status/vserver_2_1/host +0 -36
- data/spec/fixtures/virtual/proc_self_status/vserver_2_3/guest +0 -39
- data/spec/fixtures/virtual/proc_self_status/vserver_2_3/host +0 -39
- data/spec/integration/facter_spec.rb +0 -39
- data/spec/integration/util/windows/user_spec.rb +0 -59
- data/spec/lib/facter_spec/cpuinfo.rb +0 -15
- data/spec/lib/facter_spec/windows_network.rb +0 -64
- data/spec/puppetlabs_spec/files.rb +0 -57
- data/spec/puppetlabs_spec/fixtures.rb +0 -49
- data/spec/puppetlabs_spec/matchers.rb +0 -87
- data/spec/puppetlabs_spec/verbose.rb +0 -9
- data/spec/puppetlabs_spec_helper.rb +0 -26
- data/spec/schema/validate_facter_schema.rb +0 -18
- data/spec/shared_contexts/platform.rb +0 -55
- data/spec/shared_formats/parses.rb +0 -3
- data/spec/spec_helper.rb +0 -68
- data/spec/unit/application_spec.rb +0 -110
- data/spec/unit/architecture_spec.rb +0 -63
- data/spec/unit/blockdevices_spec.rb +0 -109
- data/spec/unit/core/aggregate_spec.rb +0 -125
- data/spec/unit/core/directed_graph_spec.rb +0 -79
- data/spec/unit/core/execution/base_spec.rb +0 -130
- data/spec/unit/core/execution/posix_spec.rb +0 -96
- data/spec/unit/core/execution/windows_spec.rb +0 -106
- data/spec/unit/core/execution_spec.rb +0 -42
- data/spec/unit/core/logging_spec.rb +0 -223
- data/spec/unit/core/resolvable_spec.rb +0 -81
- data/spec/unit/core/suitable_spec.rb +0 -106
- data/spec/unit/dhcp_servers_spec.rb +0 -212
- data/spec/unit/domain_spec.rb +0 -310
- data/spec/unit/ec2/rest_spec.rb +0 -168
- data/spec/unit/ec2_spec.rb +0 -139
- data/spec/unit/facter_spec.rb +0 -108
- data/spec/unit/filesystems_spec.rb +0 -50
- data/spec/unit/fqdn_spec.rb +0 -16
- data/spec/unit/gce/metadata_spec.rb +0 -49
- data/spec/unit/gce_spec.rb +0 -34
- data/spec/unit/gid_spec.rb +0 -51
- data/spec/unit/hardwareisa_spec.rb +0 -41
- data/spec/unit/hardwaremodel_spec.rb +0 -58
- data/spec/unit/hostname_spec.rb +0 -40
- data/spec/unit/id_spec.rb +0 -29
- data/spec/unit/interfaces_spec.rb +0 -67
- data/spec/unit/ipaddress6_spec.rb +0 -180
- data/spec/unit/ipaddress_spec.rb +0 -114
- data/spec/unit/kernel_spec.rb +0 -24
- data/spec/unit/kernelmajversion_spec.rb +0 -22
- data/spec/unit/kernelrelease_spec.rb +0 -66
- data/spec/unit/kernelversion_spec.rb +0 -32
- data/spec/unit/ldom_spec.rb +0 -84
- data/spec/unit/lsbdistcodename_spec.rb +0 -30
- data/spec/unit/lsbdistdescription_spec.rb +0 -30
- data/spec/unit/lsbdistid_spec.rb +0 -30
- data/spec/unit/lsbdistrelease_spec.rb +0 -30
- data/spec/unit/lsbmajdistrelease_spec.rb +0 -30
- data/spec/unit/lsbminordistrelease_spec.rb +0 -31
- data/spec/unit/lsbrelease_spec.rb +0 -30
- data/spec/unit/macaddress_spec.rb +0 -76
- data/spec/unit/manufacturer_spec.rb +0 -115
- data/spec/unit/memory_spec.rb +0 -470
- data/spec/unit/netmask_spec.rb +0 -106
- data/spec/unit/operatingsystem/base_spec.rb +0 -76
- data/spec/unit/operatingsystem/cumuluslinux_spec.rb +0 -40
- data/spec/unit/operatingsystem/implementation_spec.rb +0 -50
- data/spec/unit/operatingsystem/linux_spec.rb +0 -559
- data/spec/unit/operatingsystem/sunos_spec.rb +0 -143
- data/spec/unit/operatingsystem/vmkernel_spec.rb +0 -13
- data/spec/unit/operatingsystem/windows_spec.rb +0 -77
- data/spec/unit/operatingsystem_spec.rb +0 -17
- data/spec/unit/operatingsystemmajrelease_spec.rb +0 -21
- data/spec/unit/operatingsystemrelease_spec.rb +0 -20
- data/spec/unit/os_spec.rb +0 -131
- data/spec/unit/osfamily_spec.rb +0 -17
- data/spec/unit/partitions_spec.rb +0 -88
- data/spec/unit/physicalprocessorcount_spec.rb +0 -13
- data/spec/unit/processor_spec.rb +0 -38
- data/spec/unit/processors/os_spec.rb +0 -469
- data/spec/unit/processors_spec.rb +0 -203
- data/spec/unit/ps_spec.rb +0 -42
- data/spec/unit/rackspace_spec.rb +0 -40
- data/spec/unit/rubyplatform_spec.rb +0 -7
- data/spec/unit/selinux_spec.rb +0 -119
- data/spec/unit/ssh_spec.rb +0 -77
- data/spec/unit/system32_spec.rb +0 -28
- data/spec/unit/system_uptime_spec.rb +0 -80
- data/spec/unit/uniqueid_spec.rb +0 -27
- data/spec/unit/uptime_spec.rb +0 -110
- data/spec/unit/util/collection_spec.rb +0 -258
- data/spec/unit/util/config_spec.rb +0 -120
- data/spec/unit/util/confine_spec.rb +0 -148
- data/spec/unit/util/dhcp_servers_spec.rb +0 -63
- data/spec/unit/util/directory_loader_spec.rb +0 -102
- data/spec/unit/util/ec2_spec.rb +0 -184
- data/spec/unit/util/fact_spec.rb +0 -142
- data/spec/unit/util/file_read_spec.rb +0 -29
- data/spec/unit/util/formatter_spec.rb +0 -55
- data/spec/unit/util/ip/windows_spec.rb +0 -80
- data/spec/unit/util/ip_spec.rb +0 -487
- data/spec/unit/util/loader_spec.rb +0 -286
- data/spec/unit/util/macaddress_spec.rb +0 -143
- data/spec/unit/util/macosx_spec.rb +0 -114
- data/spec/unit/util/manufacturer_spec.rb +0 -223
- data/spec/unit/util/normalization_spec.rb +0 -113
- data/spec/unit/util/operatingsystem_spec.rb +0 -107
- data/spec/unit/util/parser_spec.rb +0 -233
- data/spec/unit/util/partitions/partitions_spec.rb +0 -67
- data/spec/unit/util/partitions_spec.rb +0 -19
- data/spec/unit/util/posix_spec.rb +0 -11
- data/spec/unit/util/processor_spec.rb +0 -212
- data/spec/unit/util/registry_spec.rb +0 -76
- data/spec/unit/util/resolution_spec.rb +0 -129
- data/spec/unit/util/solaris_zones_spec.rb +0 -127
- data/spec/unit/util/uptime_spec.rb +0 -131
- data/spec/unit/util/values_spec.rb +0 -171
- data/spec/unit/util/virtual_spec.rb +0 -393
- data/spec/unit/util/vlans_spec.rb +0 -42
- data/spec/unit/util/wmi_spec.rb +0 -19
- data/spec/unit/util/xendomains_spec.rb +0 -114
- data/spec/unit/version_spec.rb +0 -42
- data/spec/unit/virtual_spec.rb +0 -585
- data/spec/unit/zfs_version_spec.rb +0 -87
- data/spec/unit/zonename_spec.rb +0 -14
- data/spec/unit/zones_spec.rb +0 -55
- data/spec/unit/zpool_version_spec.rb +0 -80
- data/spec/watchr.rb +0 -125
@@ -1,12 +0,0 @@
|
|
1
|
-
# A composite loader that allows for more than one
|
2
|
-
# default directory loader
|
3
|
-
|
4
|
-
class Facter::Util::CompositeLoader
|
5
|
-
def initialize(loaders)
|
6
|
-
@loaders = loaders
|
7
|
-
end
|
8
|
-
|
9
|
-
def load(collection)
|
10
|
-
@loaders.each { |loader| loader.load(collection) }
|
11
|
-
end
|
12
|
-
end
|
data/lib/facter/util/config.rb
DELETED
@@ -1,88 +0,0 @@
|
|
1
|
-
require 'rbconfig'
|
2
|
-
|
3
|
-
# A module to return config related data
|
4
|
-
#
|
5
|
-
module Facter::Util::Config
|
6
|
-
|
7
|
-
def self.ext_fact_loader
|
8
|
-
@ext_fact_loader || Facter::Util::DirectoryLoader.default_loader
|
9
|
-
end
|
10
|
-
|
11
|
-
def self.ext_fact_loader=(loader)
|
12
|
-
@ext_fact_loader = loader
|
13
|
-
end
|
14
|
-
|
15
|
-
def self.is_mac?
|
16
|
-
RbConfig::CONFIG['host_os'] =~ /darwin/i
|
17
|
-
end
|
18
|
-
|
19
|
-
# Returns true if OS is windows
|
20
|
-
def self.is_windows?
|
21
|
-
RbConfig::CONFIG['host_os'] =~ /mswin|win32|dos|mingw|cygwin/i
|
22
|
-
end
|
23
|
-
|
24
|
-
def self.windows_data_dir
|
25
|
-
if Facter::Util::Config.is_windows?
|
26
|
-
Facter::Util::Windows::Dir.get_common_appdata()
|
27
|
-
else
|
28
|
-
nil
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
def self.external_facts_dirs=(dir)
|
33
|
-
@external_facts_dirs = dir
|
34
|
-
end
|
35
|
-
|
36
|
-
def self.external_facts_dirs
|
37
|
-
@external_facts_dirs
|
38
|
-
end
|
39
|
-
|
40
|
-
def self.setup_default_ext_facts_dirs
|
41
|
-
if Facter::Util::Root.root?
|
42
|
-
windows_dir = windows_data_dir
|
43
|
-
if windows_dir.nil? then
|
44
|
-
# Note: Beginning with Facter 3, /opt/puppetlabs/facter/facts.d will be the only
|
45
|
-
# default external fact directory.
|
46
|
-
@external_facts_dirs = ["/opt/puppetlabs/facter/facts.d",
|
47
|
-
"/etc/facter/facts.d",
|
48
|
-
"/etc/puppetlabs/facter/facts.d"]
|
49
|
-
else
|
50
|
-
@external_facts_dirs = [File.join(windows_dir, 'PuppetLabs', 'facter', 'facts.d')]
|
51
|
-
end
|
52
|
-
elsif ENV['HOME']
|
53
|
-
# Note: Beginning with Facter 3, ~/.puppetlabs/opt/facter/facts.d will be the only
|
54
|
-
# default external fact directory.
|
55
|
-
@external_facts_dirs = [File.expand_path(File.join(ENV['HOME'], ".puppetlabs", "opt", "facter", "facts.d")),
|
56
|
-
File.expand_path(File.join(ENV['HOME'], ".facter", "facts.d"))]
|
57
|
-
else
|
58
|
-
@external_facts_dirs = []
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
62
|
-
if Facter::Util::Config.is_windows?
|
63
|
-
require 'facter/util/windows/dir'
|
64
|
-
require 'facter/util/windows_root'
|
65
|
-
else
|
66
|
-
require 'facter/util/unix_root'
|
67
|
-
end
|
68
|
-
|
69
|
-
setup_default_ext_facts_dirs
|
70
|
-
|
71
|
-
def self.override_binary_dir=(dir)
|
72
|
-
@override_binary_dir = dir
|
73
|
-
end
|
74
|
-
|
75
|
-
def self.override_binary_dir
|
76
|
-
@override_binary_dir
|
77
|
-
end
|
78
|
-
|
79
|
-
def self.setup_default_override_binary_dir
|
80
|
-
if Facter::Util::Config.is_windows?
|
81
|
-
@override_binary_dir = nil
|
82
|
-
else
|
83
|
-
@override_binary_dir = "/opt/puppetlabs/puppet/bin"
|
84
|
-
end
|
85
|
-
end
|
86
|
-
|
87
|
-
setup_default_override_binary_dir
|
88
|
-
end
|
data/lib/facter/util/confine.rb
DELETED
@@ -1,66 +0,0 @@
|
|
1
|
-
# A restricting tag for fact resolution mechanisms. The tag must be true
|
2
|
-
# for the resolution mechanism to be suitable.
|
3
|
-
|
4
|
-
require 'facter/util/values'
|
5
|
-
|
6
|
-
class Facter::Util::Confine
|
7
|
-
attr_accessor :fact, :values
|
8
|
-
|
9
|
-
include Facter::Util::Values
|
10
|
-
|
11
|
-
# Add the restriction. Requires the fact name, an operator, and the value
|
12
|
-
# we're comparing to.
|
13
|
-
#
|
14
|
-
# @param fact [Symbol] Name of the fact
|
15
|
-
# @param values [Array] One or more values to match against.
|
16
|
-
# They can be any type that provides a === method.
|
17
|
-
# @param block [Proc] Alternatively a block can be supplied as a check. The fact
|
18
|
-
# value will be passed as the argument to the block. If the block returns
|
19
|
-
# true then the fact will be enabled, otherwise it will be disabled.
|
20
|
-
def initialize(fact = nil, *values, &block)
|
21
|
-
raise ArgumentError, "The fact name must be provided" unless fact or block_given?
|
22
|
-
if values.empty? and not block_given?
|
23
|
-
raise ArgumentError, "One or more values or a block must be provided"
|
24
|
-
end
|
25
|
-
@fact = fact
|
26
|
-
@values = values
|
27
|
-
@block = block
|
28
|
-
end
|
29
|
-
|
30
|
-
def to_s
|
31
|
-
return @block.to_s if @block
|
32
|
-
return "'%s' '%s'" % [@fact, @values.join(",")]
|
33
|
-
end
|
34
|
-
|
35
|
-
# Evaluate the fact, returning true or false.
|
36
|
-
# if we have a block paramter then we only evaluate that instead
|
37
|
-
def true?
|
38
|
-
if @block and not @fact then
|
39
|
-
begin
|
40
|
-
return !! @block.call
|
41
|
-
rescue StandardError => error
|
42
|
-
Facter.debug "Confine raised #{error.class} #{error}"
|
43
|
-
return false
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
unless fact = Facter[@fact]
|
48
|
-
Facter.debug "No fact for %s" % @fact
|
49
|
-
return false
|
50
|
-
end
|
51
|
-
value = convert(fact.value)
|
52
|
-
|
53
|
-
return false if value.nil?
|
54
|
-
|
55
|
-
if @block then
|
56
|
-
begin
|
57
|
-
return !! @block.call(value)
|
58
|
-
rescue StandardError => error
|
59
|
-
Facter.debug "Confine raised #{error.class} #{error}"
|
60
|
-
return false
|
61
|
-
end
|
62
|
-
end
|
63
|
-
|
64
|
-
return @values.any? do |v| convert(v) === value end
|
65
|
-
end
|
66
|
-
end
|
@@ -1,58 +0,0 @@
|
|
1
|
-
require 'facter/util/file_read'
|
2
|
-
|
3
|
-
module Facter::Util::DHCPServers
|
4
|
-
def self.gateway_device
|
5
|
-
interface = nil
|
6
|
-
if routes = Facter::Util::FileRead.read('/proc/net/route')
|
7
|
-
routes.each_line do |line|
|
8
|
-
device, destination = line.split(' ')
|
9
|
-
if destination == '00000000'
|
10
|
-
interface = device
|
11
|
-
break
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
interface
|
16
|
-
end
|
17
|
-
|
18
|
-
def self.devices
|
19
|
-
if Facter::Core::Execution.which('nmcli')
|
20
|
-
Facter::Core::Execution.exec("nmcli d").split("\n").select {|d| d =~ /\sconnected/i }.collect{ |line| line.split[0] }
|
21
|
-
else
|
22
|
-
[]
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
def self.device_dhcp_server(device)
|
27
|
-
if Facter::Core::Execution.which('nmcli')
|
28
|
-
# If the version is >= 0.9.9, use show instead of list
|
29
|
-
if is_newer_nmcli?
|
30
|
-
Facter::Core::Execution.exec("nmcli -f all d show #{device}").scan(/dhcp_server_identifier.*?(\d+\.\d+\.\d+\.\d+)$/).flatten.first
|
31
|
-
else
|
32
|
-
Facter::Core::Execution.exec("nmcli -f all d list iface #{device}").scan(/dhcp_server_identifier.*?(\d+\.\d+\.\d+\.\d+)$/).flatten.first
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
def self.network_manager_state
|
38
|
-
# If the version is >= 0.9.9, use g instead of nm
|
39
|
-
if is_newer_nmcli?
|
40
|
-
output = Facter::Core::Execution.exec('nmcli -t -f STATE g 2>/dev/null')
|
41
|
-
else
|
42
|
-
output = Facter::Core::Execution.exec('nmcli -t -f STATE nm 2>/dev/null')
|
43
|
-
end
|
44
|
-
return nil unless output
|
45
|
-
output.strip
|
46
|
-
end
|
47
|
-
|
48
|
-
def self.nmcli_version
|
49
|
-
if version = Facter::Core::Execution.exec("nmcli --version")
|
50
|
-
version.scan(/version\s(\d+)\.?(\d+)?\.?(\d+)?\.?(\d+)?/).flatten.map(&:to_i)
|
51
|
-
end
|
52
|
-
end
|
53
|
-
|
54
|
-
def self.is_newer_nmcli?
|
55
|
-
version = nmcli_version
|
56
|
-
version && (version[0] > 0 || version[1] > 9 || (version[1] == 9 && version[2] >= 9))
|
57
|
-
end
|
58
|
-
end
|
@@ -1,88 +0,0 @@
|
|
1
|
-
# A Facter plugin that loads external facts.
|
2
|
-
#
|
3
|
-
# Default Unix Directories:
|
4
|
-
# /opt/puppetlabs/facter/facts.d, /etc/facter/facts.d, /etc/puppetlabs/facter/facts.d
|
5
|
-
#
|
6
|
-
# Beginning with Facter 3, only /opt/puppetlabs/facter/facts.d will be a default external fact
|
7
|
-
# directory in Unix.
|
8
|
-
#
|
9
|
-
# Default Windows Direcotires:
|
10
|
-
# C:\ProgramData\Puppetlabs\facter\facts.d (2008)
|
11
|
-
# C:\Documents and Settings\All Users\Application Data\Puppetlabs\facter\facts.d (2003)
|
12
|
-
#
|
13
|
-
# Can also load from command-line specified directory
|
14
|
-
#
|
15
|
-
# Facts can be in the form of JSON, YAML or Text files
|
16
|
-
# and any executable that returns key=value pairs.
|
17
|
-
|
18
|
-
require 'facter'
|
19
|
-
require 'facter/util/config'
|
20
|
-
require 'facter/util/composite_loader'
|
21
|
-
require 'facter/util/parser'
|
22
|
-
require 'yaml'
|
23
|
-
|
24
|
-
class Facter::Util::DirectoryLoader
|
25
|
-
|
26
|
-
class NoSuchDirectoryError < Exception
|
27
|
-
end
|
28
|
-
|
29
|
-
# This value makes it highly likely that external facts will take
|
30
|
-
# precedence over all other facts
|
31
|
-
EXTERNAL_FACT_WEIGHT = 10000
|
32
|
-
|
33
|
-
# Directory for fact loading
|
34
|
-
attr_reader :directory
|
35
|
-
|
36
|
-
def initialize(dir, weight = nil)
|
37
|
-
@directory = dir
|
38
|
-
@weight = weight || EXTERNAL_FACT_WEIGHT
|
39
|
-
end
|
40
|
-
|
41
|
-
def self.loader_for(dir)
|
42
|
-
if File.directory?(dir)
|
43
|
-
Facter::Util::DirectoryLoader.new(dir)
|
44
|
-
else
|
45
|
-
raise NoSuchDirectoryError
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
def self.default_loader
|
50
|
-
loaders = Facter::Util::Config.external_facts_dirs.collect do |dir|
|
51
|
-
Facter::Util::DirectoryLoader.new(dir)
|
52
|
-
end
|
53
|
-
Facter::Util::CompositeLoader.new(loaders)
|
54
|
-
end
|
55
|
-
|
56
|
-
# Load facts from files in fact directory using the relevant parser classes to
|
57
|
-
# parse them.
|
58
|
-
def load(collection)
|
59
|
-
weight = @weight
|
60
|
-
entries.each do |file|
|
61
|
-
parser = Facter::Util::Parser.parser_for(file)
|
62
|
-
if parser == nil
|
63
|
-
next
|
64
|
-
end
|
65
|
-
|
66
|
-
data = parser.results
|
67
|
-
if data == false
|
68
|
-
Facter.warn "Could not interpret fact file #{file}"
|
69
|
-
elsif data == {} or data == nil
|
70
|
-
Facter.warn "Fact file #{file} was parsed but returned an empty data set"
|
71
|
-
else
|
72
|
-
data.each { |p,v| collection.add(p, :value => v) { has_weight(weight) } }
|
73
|
-
end
|
74
|
-
end
|
75
|
-
end
|
76
|
-
|
77
|
-
private
|
78
|
-
|
79
|
-
def entries
|
80
|
-
Dir.entries(directory).find_all { |f| should_parse?(f) }.sort.map { |f| File.join(directory, f) }
|
81
|
-
rescue Errno::ENOENT => detail
|
82
|
-
[]
|
83
|
-
end
|
84
|
-
|
85
|
-
def should_parse?(file)
|
86
|
-
not file =~ /^\./
|
87
|
-
end
|
88
|
-
end
|
data/lib/facter/util/ec2.rb
DELETED
@@ -1,106 +0,0 @@
|
|
1
|
-
require 'timeout'
|
2
|
-
require 'open-uri'
|
3
|
-
|
4
|
-
# Provide a set of utility static methods that help with resolving the EC2
|
5
|
-
# fact.
|
6
|
-
module Facter::Util::EC2
|
7
|
-
class << self
|
8
|
-
# Test if we can connect to the EC2 api. Return true if able to connect.
|
9
|
-
# On failure this function fails silently and returns false.
|
10
|
-
#
|
11
|
-
# The +wait_sec+ parameter provides you with an adjustable timeout.
|
12
|
-
#
|
13
|
-
def can_connect?(wait_sec=2)
|
14
|
-
Facter.warnonce("#{self}.#{__method__} is deprecated; see the Facter::EC2 classes instead")
|
15
|
-
url = "http://169.254.169.254:80/"
|
16
|
-
Timeout::timeout(wait_sec) {open(url, :proxy => nil)}
|
17
|
-
return true
|
18
|
-
rescue Timeout::Error
|
19
|
-
return false
|
20
|
-
rescue
|
21
|
-
return false
|
22
|
-
end
|
23
|
-
|
24
|
-
# Test if this host has a mac address used by Eucalyptus clouds, which
|
25
|
-
# normally is +d0:0d+.
|
26
|
-
def has_euca_mac?
|
27
|
-
Facter.warnonce("#{self}.#{__method__} is deprecated; see the Facter::EC2 classes instead")
|
28
|
-
!!(Facter.value(:macaddress) =~ %r{^[dD]0:0[dD]:})
|
29
|
-
end
|
30
|
-
|
31
|
-
# Test if this host has a mac address used by OpenStack, which
|
32
|
-
# normally starts with FA:16:3E (older versions of OpenStack
|
33
|
-
# may generate mac addresses starting with 02:16:3E)
|
34
|
-
def has_openstack_mac?
|
35
|
-
Facter.warnonce("#{self}.#{__method__} is deprecated; see the Facter::EC2 classes instead")
|
36
|
-
!!(Facter.value(:macaddress) =~ %r{^(02|[fF][aA]):16:3[eE]})
|
37
|
-
end
|
38
|
-
|
39
|
-
# Test if the host has an arp entry in its cache that matches the EC2 arp,
|
40
|
-
# which is normally +fe:ff:ff:ff:ff:ff+.
|
41
|
-
def has_ec2_arp?
|
42
|
-
Facter.warnonce("#{self}.#{__method__} is deprecated; see the Facter::EC2 classes instead")
|
43
|
-
kernel = Facter.value(:kernel)
|
44
|
-
|
45
|
-
mac_address_re = case kernel
|
46
|
-
when /Windows/i
|
47
|
-
/fe-ff-ff-ff-ff-ff/i
|
48
|
-
else
|
49
|
-
/fe:ff:ff:ff:ff:ff/i
|
50
|
-
end
|
51
|
-
|
52
|
-
arp_command = case kernel
|
53
|
-
when /Windows/i, /SunOS/i
|
54
|
-
"arp -a"
|
55
|
-
else
|
56
|
-
"arp -an"
|
57
|
-
end
|
58
|
-
|
59
|
-
if arp_table = Facter::Core::Execution.exec(arp_command)
|
60
|
-
return true if arp_table.match(mac_address_re)
|
61
|
-
end
|
62
|
-
return false
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
##
|
67
|
-
# userdata returns a single string containing the body of the response of the
|
68
|
-
# GET request for the URI http://169.254.169.254/latest/user-data/ If the
|
69
|
-
# metadata server responds with a 404 Not Found error code then this method
|
70
|
-
# retuns `nil`.
|
71
|
-
#
|
72
|
-
# @param version [String] containing the API version for the request.
|
73
|
-
# Defaults to "latest" and other examples are documented at
|
74
|
-
# http://aws.amazon.com/archives/Amazon%20EC2
|
75
|
-
#
|
76
|
-
# @api public
|
77
|
-
#
|
78
|
-
# @return [String] containing the response body or `nil`
|
79
|
-
def self.userdata(version="latest")
|
80
|
-
Facter.warnonce("#{self}.#{__method__} is deprecated; see the Facter::EC2 classes instead")
|
81
|
-
uri = "http://169.254.169.254/#{version}/user-data/"
|
82
|
-
begin
|
83
|
-
read_uri(uri)
|
84
|
-
rescue OpenURI::HTTPError => detail
|
85
|
-
case detail.message
|
86
|
-
when /404 Not Found/i
|
87
|
-
Facter.debug "No user-data present at #{uri}: server responded with #{detail.message}"
|
88
|
-
return nil
|
89
|
-
else
|
90
|
-
raise detail
|
91
|
-
end
|
92
|
-
end
|
93
|
-
end
|
94
|
-
|
95
|
-
##
|
96
|
-
# read_uri provides a seam method to easily test the HTTP client
|
97
|
-
# functionality of a HTTP based metadata server.
|
98
|
-
#
|
99
|
-
# @api private
|
100
|
-
#
|
101
|
-
# @return [String] containing the body of the response
|
102
|
-
def self.read_uri(uri)
|
103
|
-
open(uri, :proxy => nil).read
|
104
|
-
end
|
105
|
-
private_class_method :read_uri
|
106
|
-
end
|
data/lib/facter/util/fact.rb
DELETED
@@ -1,204 +0,0 @@
|
|
1
|
-
require 'facter'
|
2
|
-
require 'facter/util/resolution'
|
3
|
-
require 'facter/core/aggregate'
|
4
|
-
|
5
|
-
# This class represents a fact. Each fact has a name and multiple
|
6
|
-
# {Facter::Util::Resolution resolutions}.
|
7
|
-
#
|
8
|
-
# Create facts using {Facter.add}
|
9
|
-
#
|
10
|
-
# @api public
|
11
|
-
class Facter::Util::Fact
|
12
|
-
# The name of the fact
|
13
|
-
# @return [String]
|
14
|
-
attr_accessor :name
|
15
|
-
|
16
|
-
# @return [String]
|
17
|
-
# @deprecated
|
18
|
-
attr_accessor :ldapname
|
19
|
-
|
20
|
-
# Creates a new fact, with no resolution mechanisms. See {Facter.add}
|
21
|
-
# for the public API for creating facts.
|
22
|
-
# @param name [String] the fact name
|
23
|
-
# @param options [Hash] optional parameters
|
24
|
-
# @option options [String] :ldapname set the ldapname property on the fact
|
25
|
-
#
|
26
|
-
# @api private
|
27
|
-
def initialize(name, options = {})
|
28
|
-
@name = name.to_s.downcase.intern
|
29
|
-
|
30
|
-
extract_ldapname_option!(options)
|
31
|
-
|
32
|
-
@ldapname ||= @name.to_s
|
33
|
-
|
34
|
-
@resolves = []
|
35
|
-
@searching = false
|
36
|
-
|
37
|
-
@value = nil
|
38
|
-
end
|
39
|
-
|
40
|
-
# Adds a new {Facter::Util::Resolution resolution}. This requires a
|
41
|
-
# block, which will then be evaluated in the context of the new
|
42
|
-
# resolution.
|
43
|
-
#
|
44
|
-
# @param options [Hash] A hash of options to set on the resolution
|
45
|
-
#
|
46
|
-
# @return [Facter::Util::Resolution]
|
47
|
-
#
|
48
|
-
# @api private
|
49
|
-
def add(options = {}, &block)
|
50
|
-
define_resolution(nil, options, &block)
|
51
|
-
end
|
52
|
-
|
53
|
-
# Define a new named resolution or return an existing resolution with
|
54
|
-
# the given name.
|
55
|
-
#
|
56
|
-
# @param resolution_name [String] The name of the resolve to define or look up
|
57
|
-
# @param options [Hash] A hash of options to set on the resolution
|
58
|
-
# @return [Facter::Util::Resolution]
|
59
|
-
#
|
60
|
-
# @api public
|
61
|
-
def define_resolution(resolution_name, options = {}, &block)
|
62
|
-
|
63
|
-
resolution_type = options.delete(:type) || :simple
|
64
|
-
|
65
|
-
resolve = create_or_return_resolution(resolution_name, resolution_type)
|
66
|
-
|
67
|
-
resolve.set_options(options) unless options.empty?
|
68
|
-
resolve.evaluate(&block) if block
|
69
|
-
|
70
|
-
resolve
|
71
|
-
rescue => e
|
72
|
-
Facter.log_exception(e, "Unable to add resolve #{resolution_name.inspect} for fact #{@name}: #{e.message}")
|
73
|
-
end
|
74
|
-
|
75
|
-
# Retrieve an existing resolution by name
|
76
|
-
#
|
77
|
-
# @param name [String]
|
78
|
-
#
|
79
|
-
# @return [Facter::Util::Resolution, nil] The resolution if exists, nil if
|
80
|
-
# it doesn't exist or name is nil
|
81
|
-
def resolution(name)
|
82
|
-
return nil if name.nil?
|
83
|
-
|
84
|
-
@resolves.find { |resolve| resolve.name == name }
|
85
|
-
end
|
86
|
-
|
87
|
-
# Flushes any cached values.
|
88
|
-
#
|
89
|
-
# @return [void]
|
90
|
-
#
|
91
|
-
# @api private
|
92
|
-
def flush
|
93
|
-
@resolves.each { |r| r.flush }
|
94
|
-
@value = nil
|
95
|
-
end
|
96
|
-
|
97
|
-
# Returns the value for this fact. This searches all resolutions by
|
98
|
-
# suitability and weight (see {Facter::Util::Resolution}). If no
|
99
|
-
# suitable resolution is found, it returns nil.
|
100
|
-
#
|
101
|
-
# @api public
|
102
|
-
def value
|
103
|
-
return @value if @value
|
104
|
-
|
105
|
-
if @resolves.empty?
|
106
|
-
Facter.debug "No resolves for %s" % @name
|
107
|
-
return nil
|
108
|
-
end
|
109
|
-
|
110
|
-
searching do
|
111
|
-
|
112
|
-
suitable_resolutions = sort_by_weight(find_suitable_resolutions(@resolves))
|
113
|
-
@value = find_first_real_value(suitable_resolutions)
|
114
|
-
|
115
|
-
announce_when_no_suitable_resolution(suitable_resolutions)
|
116
|
-
announce_when_no_value_found(@value)
|
117
|
-
|
118
|
-
@value
|
119
|
-
end
|
120
|
-
end
|
121
|
-
|
122
|
-
# @api private
|
123
|
-
# @deprecated
|
124
|
-
def extract_ldapname_option!(options)
|
125
|
-
if options[:ldapname]
|
126
|
-
Facter.warnonce("ldapname is deprecated and will be removed in a future version")
|
127
|
-
self.ldapname = options.delete(:ldapname)
|
128
|
-
end
|
129
|
-
end
|
130
|
-
|
131
|
-
private
|
132
|
-
|
133
|
-
# Are we in the midst of a search?
|
134
|
-
def searching?
|
135
|
-
@searching
|
136
|
-
end
|
137
|
-
|
138
|
-
# Lock our searching process, so we never ge stuck in recursion.
|
139
|
-
def searching
|
140
|
-
raise RuntimeError, "Caught recursion on #{@name}" if searching?
|
141
|
-
|
142
|
-
# If we've gotten this far, we're not already searching, so go ahead and do so.
|
143
|
-
@searching = true
|
144
|
-
begin
|
145
|
-
yield
|
146
|
-
ensure
|
147
|
-
@searching = false
|
148
|
-
end
|
149
|
-
end
|
150
|
-
|
151
|
-
def find_suitable_resolutions(resolutions)
|
152
|
-
resolutions.find_all{ |resolve| resolve.suitable? }
|
153
|
-
end
|
154
|
-
|
155
|
-
def sort_by_weight(resolutions)
|
156
|
-
resolutions.sort { |a, b| b.weight <=> a.weight }
|
157
|
-
end
|
158
|
-
|
159
|
-
def find_first_real_value(resolutions)
|
160
|
-
resolutions.each do |resolve|
|
161
|
-
value = resolve.value
|
162
|
-
if not value.nil?
|
163
|
-
return value
|
164
|
-
end
|
165
|
-
end
|
166
|
-
nil
|
167
|
-
end
|
168
|
-
|
169
|
-
def announce_when_no_suitable_resolution(resolutions)
|
170
|
-
if resolutions.empty?
|
171
|
-
Facter.debug "Found no suitable resolves of %s for %s" % [@resolves.length, @name]
|
172
|
-
end
|
173
|
-
end
|
174
|
-
|
175
|
-
def announce_when_no_value_found(value)
|
176
|
-
if value.nil?
|
177
|
-
Facter.debug("value for %s is still nil" % @name)
|
178
|
-
end
|
179
|
-
end
|
180
|
-
|
181
|
-
def create_or_return_resolution(resolution_name, resolution_type)
|
182
|
-
resolve = self.resolution(resolution_name)
|
183
|
-
|
184
|
-
if resolve
|
185
|
-
if resolution_type != resolve.resolution_type
|
186
|
-
raise ArgumentError, "Cannot return resolution #{resolution_name} with type" +
|
187
|
-
" #{resolution_type}; already defined as #{resolve.resolution_type}"
|
188
|
-
end
|
189
|
-
else
|
190
|
-
case resolution_type
|
191
|
-
when :simple
|
192
|
-
resolve = Facter::Util::Resolution.new(resolution_name, self)
|
193
|
-
when :aggregate
|
194
|
-
resolve = Facter::Core::Aggregate.new(resolution_name, self)
|
195
|
-
else
|
196
|
-
raise ArgumentError, "Expected resolution type to be one of (:simple, :aggregate) but was #{resolution_type}"
|
197
|
-
end
|
198
|
-
|
199
|
-
@resolves << resolve
|
200
|
-
end
|
201
|
-
|
202
|
-
resolve
|
203
|
-
end
|
204
|
-
end
|