facter 2.1.0-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of facter might be problematic. Click here for more details.
- checksums.yaml +7 -0
- data/COMMITTERS.md +194 -0
- data/CONTRIBUTING.md +65 -0
- data/Gemfile +53 -0
- data/LICENSE +15 -0
- data/README.md +33 -0
- data/Rakefile +79 -0
- data/bin/facter +20 -0
- data/etc/facter.conf +5 -0
- data/ext/build_defaults.yaml +24 -0
- data/ext/debian/changelog.erb +59 -0
- data/ext/debian/compat +1 -0
- data/ext/debian/control +14 -0
- data/ext/debian/copyright +19 -0
- data/ext/debian/docs +1 -0
- data/ext/debian/lintian-overrides +0 -0
- data/ext/debian/rules +10 -0
- data/ext/debian/source/format +1 -0
- data/ext/facter-diff +74 -0
- data/ext/ips/facter.p5m.erb +10 -0
- data/ext/ips/rules +7 -0
- data/ext/ips/transforms +18 -0
- data/ext/osx/file_mapping.yaml +27 -0
- data/ext/osx/preflight.erb +33 -0
- data/ext/osx/prototype.plist.erb +38 -0
- data/ext/project_data.yaml +36 -0
- data/ext/redhat/facter.spec.erb +220 -0
- data/ext/solaris/pkginfo +7 -0
- data/install.rb +380 -0
- data/lib/facter.rb +261 -0
- data/lib/facter/Cfkey.rb +42 -0
- data/lib/facter/application.rb +204 -0
- data/lib/facter/architecture.rb +50 -0
- data/lib/facter/augeasversion.rb +28 -0
- data/lib/facter/blockdevices.rb +105 -0
- data/lib/facter/core/aggregate.rb +220 -0
- data/lib/facter/core/directed_graph.rb +46 -0
- data/lib/facter/core/execution.rb +123 -0
- data/lib/facter/core/execution/base.rb +81 -0
- data/lib/facter/core/execution/posix.rb +50 -0
- data/lib/facter/core/execution/windows.rb +57 -0
- data/lib/facter/core/logging.rb +169 -0
- data/lib/facter/core/resolvable.rb +94 -0
- data/lib/facter/core/suitable.rb +113 -0
- data/lib/facter/dhcp_servers.rb +39 -0
- data/lib/facter/domain.rb +99 -0
- data/lib/facter/ec2.rb +44 -0
- data/lib/facter/ec2/rest.rb +130 -0
- data/lib/facter/facterversion.rb +15 -0
- data/lib/facter/filesystems.rb +38 -0
- data/lib/facter/fqdn.rb +24 -0
- data/lib/facter/gce.rb +16 -0
- data/lib/facter/gce/metadata.rb +87 -0
- data/lib/facter/hardwareisa.rb +20 -0
- data/lib/facter/hardwaremodel.rb +67 -0
- data/lib/facter/hostname.rb +31 -0
- data/lib/facter/id.rb +21 -0
- data/lib/facter/interfaces.rb +46 -0
- data/lib/facter/ipaddress.rb +171 -0
- data/lib/facter/ipaddress6.rb +82 -0
- data/lib/facter/iphostnumber.rb +29 -0
- data/lib/facter/kernel.rb +22 -0
- data/lib/facter/kernelmajversion.rb +23 -0
- data/lib/facter/kernelrelease.rb +50 -0
- data/lib/facter/kernelversion.rb +22 -0
- data/lib/facter/ldom.rb +47 -0
- data/lib/facter/lsbdistcodename.rb +16 -0
- data/lib/facter/lsbdistdescription.rb +25 -0
- data/lib/facter/lsbdistid.rb +16 -0
- data/lib/facter/lsbdistrelease.rb +16 -0
- data/lib/facter/lsbmajdistrelease.rb +27 -0
- data/lib/facter/lsbrelease.rb +16 -0
- data/lib/facter/macaddress.rb +97 -0
- data/lib/facter/macosx.rb +56 -0
- data/lib/facter/manufacturer.rb +68 -0
- data/lib/facter/memory.rb +168 -0
- data/lib/facter/netmask.rb +42 -0
- data/lib/facter/network.rb +20 -0
- data/lib/facter/operatingsystem.rb +141 -0
- data/lib/facter/operatingsystemmajrelease.rb +47 -0
- data/lib/facter/operatingsystemrelease.rb +250 -0
- data/lib/facter/osfamily.rb +37 -0
- data/lib/facter/partitions.rb +35 -0
- data/lib/facter/path.rb +14 -0
- data/lib/facter/physicalprocessorcount.rb +91 -0
- data/lib/facter/processor.rb +168 -0
- data/lib/facter/ps.rb +30 -0
- data/lib/facter/puppetversion.rb +20 -0
- data/lib/facter/rubysitedir.rb +12 -0
- data/lib/facter/rubyversion.rb +12 -0
- data/lib/facter/selinux.rb +99 -0
- data/lib/facter/ssh.rb +72 -0
- data/lib/facter/timezone.rb +14 -0
- data/lib/facter/uniqueid.rb +4 -0
- data/lib/facter/uptime.rb +34 -0
- data/lib/facter/uptime_days.rb +15 -0
- data/lib/facter/uptime_hours.rb +15 -0
- data/lib/facter/uptime_seconds.rb +24 -0
- data/lib/facter/util/architecture.rb +19 -0
- data/lib/facter/util/collection.rb +161 -0
- data/lib/facter/util/composite_loader.rb +12 -0
- data/lib/facter/util/config.rb +63 -0
- data/lib/facter/util/confine.rb +66 -0
- data/lib/facter/util/dhcp_servers.rb +43 -0
- data/lib/facter/util/directory_loader.rb +83 -0
- data/lib/facter/util/ec2.rb +106 -0
- data/lib/facter/util/fact.rb +204 -0
- data/lib/facter/util/file_read.rb +37 -0
- data/lib/facter/util/formatter.rb +39 -0
- data/lib/facter/util/ip.rb +285 -0
- data/lib/facter/util/ip/windows.rb +215 -0
- data/lib/facter/util/loader.rb +155 -0
- data/lib/facter/util/macaddress.rb +43 -0
- data/lib/facter/util/macosx.rb +73 -0
- data/lib/facter/util/manufacturer.rb +99 -0
- data/lib/facter/util/memory.rb +228 -0
- data/lib/facter/util/netmask.rb +40 -0
- data/lib/facter/util/normalization.rb +94 -0
- data/lib/facter/util/nothing_loader.rb +12 -0
- data/lib/facter/util/operatingsystem.rb +21 -0
- data/lib/facter/util/parser.rb +158 -0
- data/lib/facter/util/partitions.rb +41 -0
- data/lib/facter/util/partitions/linux.rb +65 -0
- data/lib/facter/util/plist.rb +24 -0
- data/lib/facter/util/plist/generator.rb +228 -0
- data/lib/facter/util/plist/parser.rb +226 -0
- data/lib/facter/util/posix.rb +16 -0
- data/lib/facter/util/processor.rb +289 -0
- data/lib/facter/util/registry.rb +11 -0
- data/lib/facter/util/resolution.rb +160 -0
- data/lib/facter/util/solaris_zones.rb +158 -0
- data/lib/facter/util/unix_root.rb +5 -0
- data/lib/facter/util/uptime.rb +81 -0
- data/lib/facter/util/values.rb +109 -0
- data/lib/facter/util/virtual.rb +180 -0
- data/lib/facter/util/vlans.rb +21 -0
- data/lib/facter/util/windows_root.rb +7 -0
- data/lib/facter/util/wmi.rb +16 -0
- data/lib/facter/util/xendomains.rb +10 -0
- data/lib/facter/version.rb +86 -0
- data/lib/facter/virtual.rb +311 -0
- data/lib/facter/vlans.rb +17 -0
- data/lib/facter/xendomains.rb +20 -0
- data/lib/facter/zfs_version.rb +10 -0
- data/lib/facter/zonename.rb +6 -0
- data/lib/facter/zones.rb +17 -0
- data/lib/facter/zpool_version.rb +10 -0
- data/spec/fixtures/cpuinfo/amd64dual +57 -0
- data/spec/fixtures/cpuinfo/amd64quad +79 -0
- data/spec/fixtures/cpuinfo/amd64solo +23 -0
- data/spec/fixtures/cpuinfo/amd64tri +86 -0
- data/spec/fixtures/cpuinfo/amd64twentyfour +600 -0
- data/spec/fixtures/cpuinfo/bbg3-armel +12 -0
- data/spec/fixtures/cpuinfo/beaglexm-armel +12 -0
- data/spec/fixtures/cpuinfo/panda-armel +17 -0
- data/spec/fixtures/cpuinfo/ppc64 +19 -0
- data/spec/fixtures/cpuinfo/sparc +10 -0
- data/spec/fixtures/hpux/machinfo/hppa-rp4440 +26 -0
- data/spec/fixtures/hpux/machinfo/ia64-rx2620 +49 -0
- data/spec/fixtures/hpux/machinfo/ia64-rx6600 +26 -0
- data/spec/fixtures/hpux/machinfo/ia64-rx8640 +53 -0
- data/spec/fixtures/hpux/machinfo/superdome-server-SD32B +53 -0
- data/spec/fixtures/hpux/machinfo/superdome2-16s +31 -0
- data/spec/fixtures/hpux/sched.models +174 -0
- data/spec/fixtures/hpux/unistd.h +1534 -0
- data/spec/fixtures/ifconfig/bsd_ifconfig_all_with_multiple_interfaces +18 -0
- data/spec/fixtures/ifconfig/centos_5_5 +17 -0
- data/spec/fixtures/ifconfig/centos_5_5_eth0 +8 -0
- data/spec/fixtures/ifconfig/darwin_10_3_0 +26 -0
- data/spec/fixtures/ifconfig/darwin_10_3_0_en0 +6 -0
- data/spec/fixtures/ifconfig/darwin_10_6_4 +28 -0
- data/spec/fixtures/ifconfig/darwin_10_6_4_en1 +6 -0
- data/spec/fixtures/ifconfig/darwin_10_6_6_dualstack +8 -0
- data/spec/fixtures/ifconfig/darwin_10_6_6_dualstack_en1 +7 -0
- data/spec/fixtures/ifconfig/darwin_9_8_0 +26 -0
- data/spec/fixtures/ifconfig/darwin_9_8_0_en0 +6 -0
- data/spec/fixtures/ifconfig/darwin_ifconfig_all_with_multiple_interfaces +23 -0
- data/spec/fixtures/ifconfig/fedora_10 +36 -0
- data/spec/fixtures/ifconfig/fedora_10_eth0 +9 -0
- data/spec/fixtures/ifconfig/fedora_13 +18 -0
- data/spec/fixtures/ifconfig/fedora_13_eth0 +9 -0
- data/spec/fixtures/ifconfig/fedora_8 +38 -0
- data/spec/fixtures/ifconfig/fedora_8_eth0 +9 -0
- data/spec/fixtures/ifconfig/freebsd_6_0 +12 -0
- data/spec/fixtures/ifconfig/ifconfig_net_tools_1.60.txt +19 -0
- data/spec/fixtures/ifconfig/ifconfig_ubuntu_1204.txt +16 -0
- data/spec/fixtures/ifconfig/linux_ifconfig_all_with_multiple_interfaces +19 -0
- data/spec/fixtures/ifconfig/linux_ifconfig_no_addr +19 -0
- data/spec/fixtures/ifconfig/linux_ifconfig_no_mac +8 -0
- data/spec/fixtures/ifconfig/linux_ifconfig_venet +24 -0
- data/spec/fixtures/ifconfig/open_solaris_10 +12 -0
- data/spec/fixtures/ifconfig/open_solaris_b132 +20 -0
- data/spec/fixtures/ifconfig/openbsd_bridge_rules +11 -0
- data/spec/fixtures/ifconfig/sunos_ifconfig_all_with_multiple_interfaces +10 -0
- data/spec/fixtures/ifconfig/ubuntu_7_04 +38 -0
- data/spec/fixtures/ifconfig/ubuntu_7_04_eth0 +9 -0
- data/spec/fixtures/ldom/ldom_v1 +6 -0
- data/spec/fixtures/netstat/centos_5_5 +5 -0
- data/spec/fixtures/netstat/darwin_10_3_0 +35 -0
- data/spec/fixtures/netstat/darwin_10_6_4 +29 -0
- data/spec/fixtures/netstat/darwin_10_6_6_dualstack +34 -0
- data/spec/fixtures/netstat/darwin_9_8_0 +28 -0
- data/spec/fixtures/netstat/fedora_10 +7 -0
- data/spec/fixtures/netstat/open_solaris_10 +16 -0
- data/spec/fixtures/netstat/open_solaris_b132 +17 -0
- data/spec/fixtures/netstat/ubuntu_7_04 +7 -0
- data/spec/fixtures/processorcount/solaris-psrinfo +24 -0
- data/spec/fixtures/processorcount/solaris-sparc-kstat-cpu-info +1216 -0
- data/spec/fixtures/processorcount/solaris-x86_64-kstat-cpu-info +225 -0
- data/spec/fixtures/unit/dhcp_servers/nmcli_devices +4 -0
- data/spec/fixtures/unit/dhcp_servers/nmcli_devices_disconnected +4 -0
- data/spec/fixtures/unit/dhcp_servers/nmcli_eth0_dhcp +36 -0
- data/spec/fixtures/unit/dhcp_servers/nmcli_eth0_static +24 -0
- data/spec/fixtures/unit/dhcp_servers/nmcli_wlan0_dhcp +49 -0
- data/spec/fixtures/unit/dhcp_servers/nmcli_wlan0_static +37 -0
- data/spec/fixtures/unit/dhcp_servers/route +3 -0
- data/spec/fixtures/unit/dhcp_servers/route_nogw +1 -0
- data/spec/fixtures/unit/ec2/rest/meta-data/root +20 -0
- data/spec/fixtures/unit/filesystems/linux +28 -0
- data/spec/fixtures/unit/gce/metadata/metadata.json +69 -0
- data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt +19 -0
- data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt.em1 +10 -0
- data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt.lo +8 -0
- data/spec/fixtures/unit/ipaddress/ifconfig_multiple_127_addresses.txt +20 -0
- data/spec/fixtures/unit/ipaddress/ifconfig_net_tools_1.60.txt +19 -0
- data/spec/fixtures/unit/ipaddress/ifconfig_non_english_locale.txt +18 -0
- data/spec/fixtures/unit/ipaddress/ifconfig_ubuntu_1204.txt +16 -0
- data/spec/fixtures/unit/kernelrelease/openbsd-5.3 +2 -0
- data/spec/fixtures/unit/kernelrelease/openbsd-5.3-current +3 -0
- data/spec/fixtures/unit/memory/aix-svmon +9 -0
- data/spec/fixtures/unit/memory/aix-swap_l +2 -0
- data/spec/fixtures/unit/memory/darwin-swapinfo-multiple +3 -0
- data/spec/fixtures/unit/memory/darwin-swapinfo-single +2 -0
- data/spec/fixtures/unit/memory/darwin-vm_stat +13 -0
- data/spec/fixtures/unit/memory/dragonfly-vmstat +3 -0
- data/spec/fixtures/unit/memory/freebsd-vmstat +3 -0
- data/spec/fixtures/unit/memory/linux-proc_meminfo +10 -0
- data/spec/fixtures/unit/memory/openbsd-vmstat +3 -0
- data/spec/fixtures/unit/memory/smartos_zone_swap_l-single +2 -0
- data/spec/fixtures/unit/memory/solaris-prtconf +4 -0
- data/spec/fixtures/unit/memory/solaris-swap_l-multiple +3 -0
- data/spec/fixtures/unit/memory/solaris-swap_l-single +2 -0
- data/spec/fixtures/unit/memory/solaris-vmstat +3 -0
- data/spec/fixtures/unit/netmask/darwin_10_8_5.txt +30 -0
- data/spec/fixtures/unit/netmask/ifconfig_aix_7.txt +3 -0
- data/spec/fixtures/unit/netmask/ifconfig_net_tools_1.60.txt +19 -0
- data/spec/fixtures/unit/netmask/ifconfig_ubuntu_1204.txt +16 -0
- data/spec/fixtures/unit/selinux/selinux_sestatus +6 -0
- data/spec/fixtures/unit/util/dhcp_servers/route +3 -0
- data/spec/fixtures/unit/util/dhcp_servers/route_nogw +1 -0
- data/spec/fixtures/unit/util/ec2/centos-arp-ec2.out +1 -0
- data/spec/fixtures/unit/util/ec2/linux-arp-ec2.out +1 -0
- data/spec/fixtures/unit/util/ec2/linux-arp-not-ec2.out +5 -0
- data/spec/fixtures/unit/util/ec2/solaris8_arp_a_not_ec2.out +7 -0
- data/spec/fixtures/unit/util/ec2/windows-2008-arp-a-not-ec2.out +6 -0
- data/spec/fixtures/unit/util/ec2/windows-2008-arp-a.out +10 -0
- data/spec/fixtures/unit/util/ip/6.0-STABLE_FreeBSD_ifconfig +12 -0
- data/spec/fixtures/unit/util/ip/Mac_OS_X_10.5.5_ifconfig +26 -0
- data/spec/fixtures/unit/util/ip/darwin_ifconfig_all_with_multiple_interfaces +10 -0
- data/spec/fixtures/unit/util/ip/darwin_ifconfig_single_interface +6 -0
- data/spec/fixtures/unit/util/ip/debian_kfreebsd_ifconfig +40 -0
- data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lan0 +2 -0
- data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lan1 +2 -0
- data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lo0 +2 -0
- data/spec/fixtures/unit/util/ip/hpux_1111_lanscan +5 -0
- data/spec/fixtures/unit/util/ip/hpux_1111_netstat_in +4 -0
- data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lan0 +2 -0
- data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lan1 +2 -0
- data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lo0 +2 -0
- data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_lanscan +5 -0
- data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_netstat_in +4 -0
- data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lan0 +2 -0
- data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lan1 +2 -0
- data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lo0 +2 -0
- data/spec/fixtures/unit/util/ip/hpux_1131_lanscan +4 -0
- data/spec/fixtures/unit/util/ip/hpux_1131_netstat_in +4 -0
- data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan1 +2 -0
- data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan4 +2 -0
- data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan4_1 +2 -0
- data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lo0 +2 -0
- data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_lanscan +9 -0
- data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_netstat_in +6 -0
- data/spec/fixtures/unit/util/ip/linux_2_6_35_proc_net_bonding_bond0 +19 -0
- data/spec/fixtures/unit/util/ip/linux_get_single_interface_eth0 +10 -0
- data/spec/fixtures/unit/util/ip/linux_get_single_interface_ib0 +8 -0
- data/spec/fixtures/unit/util/ip/linux_get_single_interface_lo +9 -0
- data/spec/fixtures/unit/util/ip/linux_ifconfig_all_with_single_interface +18 -0
- data/spec/fixtures/unit/util/ip/linux_ifconfig_ib0 +8 -0
- data/spec/fixtures/unit/util/ip/solaris_ifconfig_all_with_multiple_interfaces +8 -0
- data/spec/fixtures/unit/util/ip/solaris_ifconfig_single_interface +3 -0
- data/spec/fixtures/unit/util/ip/windows_netsh_all_interfaces +12 -0
- data/spec/fixtures/unit/util/ip/windows_netsh_single_interface +7 -0
- data/spec/fixtures/unit/util/ip/windows_netsh_single_interface6 +18 -0
- data/spec/fixtures/unit/util/manufacturer/freebsd_dmidecode +42 -0
- data/spec/fixtures/unit/util/manufacturer/intel_linux_dmidecode +549 -0
- data/spec/fixtures/unit/util/manufacturer/linux_dmidecode_with_spaces +60 -0
- data/spec/fixtures/unit/util/manufacturer/opensolaris_smbios +33 -0
- data/spec/fixtures/unit/util/manufacturer/smartos_smbios +533 -0
- data/spec/fixtures/unit/util/manufacturer/solaris_sunfire_v120_prtdiag +33 -0
- data/spec/fixtures/unit/util/manufacturer/solaris_t5220_prtdiag +136 -0
- data/spec/fixtures/unit/util/operatingsystem/cumuluslinux.txt +8 -0
- data/spec/fixtures/unit/util/operatingsystem/redhat-7.txt +12 -0
- data/spec/fixtures/unit/util/operatingsystem/sabayon.txt +7 -0
- data/spec/fixtures/unit/util/operatingsystem/wheezy.txt +9 -0
- data/spec/fixtures/unit/util/partitions/partitions/mount +9 -0
- data/spec/fixtures/unit/util/processor/solaris-i86pc +28 -0
- data/spec/fixtures/unit/util/processor/solaris-sun4u +151 -0
- data/spec/fixtures/unit/util/processor/x86-pentium2 +41 -0
- data/spec/fixtures/unit/util/uptime/kstat_boot_time +1 -0
- data/spec/fixtures/unit/util/uptime/sysctl_kern_boottime_darwin +1 -0
- data/spec/fixtures/unit/util/uptime/sysctl_kern_boottime_openbsd +1 -0
- data/spec/fixtures/unit/util/uptime/ubuntu_proc_uptime +1 -0
- 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 +2 -0
- data/spec/fixtures/unit/util/vlans/linux_vlan_config +6 -0
- data/spec/fixtures/unit/util/xendomains/xendomains +4 -0
- data/spec/fixtures/unit/virtual/sysfs_dmi_entries_raw.txt +0 -0
- data/spec/fixtures/unit/zfs_version/freebsd_8.2 +14 -0
- data/spec/fixtures/unit/zfs_version/freebsd_9.0 +13 -0
- data/spec/fixtures/unit/zfs_version/linux-fuse_0.6.9 +14 -0
- data/spec/fixtures/unit/zfs_version/solaris_10 +10 -0
- data/spec/fixtures/unit/zfs_version/solaris_11 +12 -0
- data/spec/fixtures/unit/zpool_version/freebsd_8.2 +26 -0
- data/spec/fixtures/unit/zpool_version/freebsd_9.0 +38 -0
- data/spec/fixtures/unit/zpool_version/linux-fuse_0.6.9 +35 -0
- data/spec/fixtures/unit/zpool_version/solaris_10 +31 -0
- data/spec/fixtures/unit/zpool_version/solaris_11 +43 -0
- data/spec/fixtures/virtual/proc_1_cgroup/in_a_container +9 -0
- data/spec/fixtures/virtual/proc_1_cgroup/in_a_docker_container +8 -0
- data/spec/fixtures/virtual/proc_1_cgroup/not_in_a_container +9 -0
- data/spec/fixtures/virtual/proc_self_status/vserver_2_1/guest +37 -0
- data/spec/fixtures/virtual/proc_self_status/vserver_2_1/host +36 -0
- data/spec/fixtures/virtual/proc_self_status/vserver_2_3/guest +39 -0
- data/spec/fixtures/virtual/proc_self_status/vserver_2_3/host +39 -0
- data/spec/integration/facter_spec.rb +39 -0
- data/spec/lib/facter_spec/cpuinfo.rb +15 -0
- data/spec/lib/facter_spec/windows_network.rb +64 -0
- data/spec/puppetlabs_spec/files.rb +57 -0
- data/spec/puppetlabs_spec/fixtures.rb +49 -0
- data/spec/puppetlabs_spec/matchers.rb +87 -0
- data/spec/puppetlabs_spec/verbose.rb +9 -0
- data/spec/puppetlabs_spec_helper.rb +26 -0
- data/spec/shared_contexts/platform.rb +55 -0
- data/spec/shared_formats/parses.rb +3 -0
- data/spec/spec_helper.rb +75 -0
- data/spec/unit/application_spec.rb +101 -0
- data/spec/unit/architecture_spec.rb +63 -0
- data/spec/unit/blockdevices_spec.rb +109 -0
- data/spec/unit/core/aggregate_spec.rb +125 -0
- data/spec/unit/core/directed_graph_spec.rb +79 -0
- data/spec/unit/core/execution/base_spec.rb +130 -0
- data/spec/unit/core/execution/posix_spec.rb +86 -0
- data/spec/unit/core/execution/windows_spec.rb +106 -0
- data/spec/unit/core/execution_spec.rb +42 -0
- data/spec/unit/core/logging_spec.rb +104 -0
- data/spec/unit/core/resolvable_spec.rb +81 -0
- data/spec/unit/core/suitable_spec.rb +106 -0
- data/spec/unit/dhcp_servers_spec.rb +152 -0
- data/spec/unit/domain_spec.rb +310 -0
- data/spec/unit/ec2/rest_spec.rb +145 -0
- data/spec/unit/ec2_spec.rb +127 -0
- data/spec/unit/facter_spec.rb +108 -0
- data/spec/unit/filesystems_spec.rb +50 -0
- data/spec/unit/fqdn_spec.rb +16 -0
- data/spec/unit/gce/metadata_spec.rb +49 -0
- data/spec/unit/gce_spec.rb +34 -0
- data/spec/unit/hardwareisa_spec.rb +41 -0
- data/spec/unit/hardwaremodel_spec.rb +56 -0
- data/spec/unit/hostname_spec.rb +40 -0
- data/spec/unit/id_spec.rb +29 -0
- data/spec/unit/interfaces_spec.rb +57 -0
- data/spec/unit/ipaddress6_spec.rb +161 -0
- data/spec/unit/ipaddress_spec.rb +114 -0
- data/spec/unit/kernel_spec.rb +24 -0
- data/spec/unit/kernelmajversion_spec.rb +22 -0
- data/spec/unit/kernelrelease_spec.rb +69 -0
- data/spec/unit/kernelversion_spec.rb +32 -0
- data/spec/unit/ldom_spec.rb +75 -0
- data/spec/unit/lsbdistcodename_spec.rb +25 -0
- data/spec/unit/lsbdistdescription_spec.rb +25 -0
- data/spec/unit/lsbdistid_spec.rb +25 -0
- data/spec/unit/lsbdistrelease_spec.rb +25 -0
- data/spec/unit/lsbmajdistrelease_spec.rb +13 -0
- data/spec/unit/lsbrelease_spec.rb +25 -0
- data/spec/unit/macaddress_spec.rb +73 -0
- data/spec/unit/manufacturer_spec.rb +115 -0
- data/spec/unit/memory_spec.rb +470 -0
- data/spec/unit/netmask_spec.rb +106 -0
- data/spec/unit/operatingsystem_spec.rb +160 -0
- data/spec/unit/operatingsystemmajrelease_spec.rb +38 -0
- data/spec/unit/operatingsystemrelease_spec.rb +236 -0
- data/spec/unit/osfamily_spec.rb +62 -0
- data/spec/unit/partitions_spec.rb +48 -0
- data/spec/unit/physicalprocessorcount_spec.rb +85 -0
- data/spec/unit/processor_spec.rb +401 -0
- data/spec/unit/ps_spec.rb +42 -0
- data/spec/unit/selinux_spec.rb +114 -0
- data/spec/unit/ssh_spec.rb +77 -0
- data/spec/unit/uniqueid_spec.rb +27 -0
- data/spec/unit/uptime_spec.rb +110 -0
- data/spec/unit/util/collection_spec.rb +258 -0
- data/spec/unit/util/config_spec.rb +97 -0
- data/spec/unit/util/confine_spec.rb +148 -0
- data/spec/unit/util/dhcp_servers_spec.rb +63 -0
- data/spec/unit/util/directory_loader_spec.rb +88 -0
- data/spec/unit/util/ec2_spec.rb +184 -0
- data/spec/unit/util/fact_spec.rb +142 -0
- data/spec/unit/util/file_read_spec.rb +29 -0
- data/spec/unit/util/formatter_spec.rb +50 -0
- data/spec/unit/util/ip/windows_spec.rb +80 -0
- data/spec/unit/util/ip_spec.rb +467 -0
- data/spec/unit/util/loader_spec.rb +286 -0
- data/spec/unit/util/macaddress_spec.rb +141 -0
- data/spec/unit/util/macosx_spec.rb +114 -0
- data/spec/unit/util/manufacturer_spec.rb +223 -0
- data/spec/unit/util/normalization_spec.rb +113 -0
- data/spec/unit/util/operatingsystem_spec.rb +92 -0
- data/spec/unit/util/parser_spec.rb +200 -0
- data/spec/unit/util/partitions/partitions_spec.rb +67 -0
- data/spec/unit/util/partitions_spec.rb +19 -0
- data/spec/unit/util/posix_spec.rb +11 -0
- data/spec/unit/util/processor_spec.rb +92 -0
- data/spec/unit/util/registry_spec.rb +76 -0
- data/spec/unit/util/resolution_spec.rb +129 -0
- data/spec/unit/util/solaris_zones_spec.rb +127 -0
- data/spec/unit/util/uptime_spec.rb +126 -0
- data/spec/unit/util/values_spec.rb +171 -0
- data/spec/unit/util/virtual_spec.rb +364 -0
- data/spec/unit/util/vlans_spec.rb +42 -0
- data/spec/unit/util/wmi_spec.rb +19 -0
- data/spec/unit/util/xendomains_spec.rb +21 -0
- data/spec/unit/version_spec.rb +42 -0
- data/spec/unit/virtual_spec.rb +519 -0
- data/spec/unit/zfs_version_spec.rb +75 -0
- data/spec/unit/zonename_spec.rb +14 -0
- data/spec/unit/zones_spec.rb +55 -0
- data/spec/unit/zpool_version_spec.rb +75 -0
- data/spec/watchr.rb +125 -0
- metadata +815 -0
@@ -0,0 +1,82 @@
|
|
1
|
+
# Fact: ipaddress6
|
2
|
+
#
|
3
|
+
# Purpose: Returns the "main" IPv6 IP address of a system.
|
4
|
+
#
|
5
|
+
# Resolution:
|
6
|
+
# OS dependant code that parses the output of various networking
|
7
|
+
# tools and currently not very intelligent. Returns the first
|
8
|
+
# non-loopback and non-linklocal address found in the ouput unless
|
9
|
+
# a default route can be mapped to a routeable interface. Guessing
|
10
|
+
# an interface is currently only possible with BSD type systems
|
11
|
+
# to many assumptions have to be made on other platforms to make
|
12
|
+
# this work with the current code. Most code ported or modeled
|
13
|
+
# after the ipaddress fact for the sake of similar functionality
|
14
|
+
# and familiar mechanics.
|
15
|
+
#
|
16
|
+
# Caveats:
|
17
|
+
#
|
18
|
+
|
19
|
+
# Cody Herriges <c.a.herriges@gmail.com>
|
20
|
+
#
|
21
|
+
# Used the ipaddress fact that is already part of
|
22
|
+
# Facter as a template.
|
23
|
+
|
24
|
+
require 'facter/util/ip'
|
25
|
+
|
26
|
+
def get_address_after_token(output, token, return_first=false)
|
27
|
+
ip = nil
|
28
|
+
|
29
|
+
String(output).scan(/#{token}\s?((?>[0-9,a-f,A-F]*\:{1,2})+[0-9,a-f,A-F]{0,4})/).each do |match|
|
30
|
+
match = match.first
|
31
|
+
unless match =~ /fe80.*/ or match == "::1"
|
32
|
+
ip = match
|
33
|
+
break if return_first
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
ip
|
38
|
+
end
|
39
|
+
|
40
|
+
Facter.add(:ipaddress6) do
|
41
|
+
confine :kernel => :linux
|
42
|
+
setcode do
|
43
|
+
output = Facter::Util::IP.exec_ifconfig(["2>/dev/null"])
|
44
|
+
get_address_after_token(output, 'inet6(?: addr:)?')
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
Facter.add(:ipaddress6) do
|
49
|
+
confine :kernel => %w{SunOS}
|
50
|
+
setcode do
|
51
|
+
output = Facter::Util::IP.exec_ifconfig(["-a"])
|
52
|
+
|
53
|
+
get_address_after_token(output, 'inet6')
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
Facter.add(:ipaddress6) do
|
58
|
+
confine :kernel => %w{Darwin FreeBSD OpenBSD}
|
59
|
+
setcode do
|
60
|
+
output = Facter::Util::IP.exec_ifconfig(["-a"])
|
61
|
+
|
62
|
+
get_address_after_token(output, 'inet6', true)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
Facter.add(:ipaddress6) do
|
67
|
+
confine :kernel => :windows
|
68
|
+
setcode do
|
69
|
+
require 'facter/util/ip/windows'
|
70
|
+
ipaddr = nil
|
71
|
+
|
72
|
+
adapters = Facter::Util::IP::Windows.get_preferred_ipv6_adapters
|
73
|
+
adapters.find do |nic|
|
74
|
+
nic.IPAddress.any? do |addr|
|
75
|
+
ipaddr = addr if Facter::Util::IP::Windows.valid_ipv6_address?(addr)
|
76
|
+
ipaddr
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
ipaddr
|
81
|
+
end
|
82
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# Fact: iphostnumber
|
2
|
+
#
|
3
|
+
# Purpose: On selected versions of Darwin, returns the host's IP address.
|
4
|
+
#
|
5
|
+
# Resolution:
|
6
|
+
# Uses either the scutil program to get the localhost name, or parses output
|
7
|
+
# of ifconfig for a MAC address.
|
8
|
+
#
|
9
|
+
# Caveats:
|
10
|
+
#
|
11
|
+
|
12
|
+
Facter.add(:iphostnumber) do
|
13
|
+
confine :kernel => :darwin, :kernelrelease => "R6"
|
14
|
+
setcode do
|
15
|
+
%x{/usr/sbin/scutil --get LocalHostName}
|
16
|
+
end
|
17
|
+
end
|
18
|
+
Facter.add(:iphostnumber) do
|
19
|
+
confine :kernel => :darwin, :kernelrelease => "R6"
|
20
|
+
setcode do
|
21
|
+
ether = nil
|
22
|
+
output = Facter::Util::IP.exec_ifconfig
|
23
|
+
|
24
|
+
output =~ /HWaddr (\w\w:\w\w:\w\w:\w\w:\w\w:\w\w)/
|
25
|
+
ether = $1
|
26
|
+
|
27
|
+
ether
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# Fact: kernel
|
2
|
+
#
|
3
|
+
# Purpose: Returns the operating system's name.
|
4
|
+
#
|
5
|
+
# Resolution:
|
6
|
+
# Uses Ruby's rbconfig to find host_os, if that is a Windows derivative, the
|
7
|
+
# returns 'windows', otherwise returns "uname -s" verbatim.
|
8
|
+
#
|
9
|
+
# Caveats:
|
10
|
+
#
|
11
|
+
|
12
|
+
Facter.add(:kernel) do
|
13
|
+
setcode do
|
14
|
+
require 'facter/util/config'
|
15
|
+
|
16
|
+
if Facter::Util::Config.is_windows?
|
17
|
+
'windows'
|
18
|
+
else
|
19
|
+
Facter::Core::Execution.exec("uname -s")
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# Fact: kernelmajversion
|
2
|
+
#
|
3
|
+
# Purpose: Return the operating system's release number's major value.
|
4
|
+
#
|
5
|
+
# Resolution:
|
6
|
+
# Takes the first 2 elements of the kernel version as delimited by periods.
|
7
|
+
# Takes the first element of the kernel version on FreeBSD
|
8
|
+
#
|
9
|
+
# Caveats:
|
10
|
+
#
|
11
|
+
|
12
|
+
Facter.add("kernelmajversion") do
|
13
|
+
setcode do
|
14
|
+
Facter.value(:kernelversion).split('.')[0..1].join('.')
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
Facter.add("kernelmajversion") do
|
19
|
+
confine :kernel => :FreeBSD
|
20
|
+
setcode do
|
21
|
+
Facter.value(:kernelversion).split('.')[0]
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
# Fact: kernelrelease
|
2
|
+
#
|
3
|
+
# Purpose: Return the operating system's release number.
|
4
|
+
#
|
5
|
+
# Resolution:
|
6
|
+
# On AIX returns the output from the "oslevel -s" system command.
|
7
|
+
# On Windows based systems, uses the win32ole gem to query Windows Management
|
8
|
+
# for the 'Win32_OperatingSystem' value.
|
9
|
+
# Otherwise uses the output of "uname -r" system command.
|
10
|
+
#
|
11
|
+
# Caveats:
|
12
|
+
#
|
13
|
+
require 'facter/util/posix'
|
14
|
+
|
15
|
+
Facter.add(:kernelrelease) do
|
16
|
+
setcode 'uname -r'
|
17
|
+
end
|
18
|
+
|
19
|
+
Facter.add(:kernelrelease) do
|
20
|
+
confine :kernel => "aix"
|
21
|
+
setcode 'oslevel -s'
|
22
|
+
end
|
23
|
+
|
24
|
+
Facter.add("kernelrelease") do
|
25
|
+
confine :kernel => :openbsd
|
26
|
+
setcode do
|
27
|
+
Facter::Util::POSIX.sysctl("kern.version").split(' ')[1]
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
Facter.add(:kernelrelease) do
|
32
|
+
confine :kernel => "hp-ux"
|
33
|
+
setcode do
|
34
|
+
version = Facter::Core::Execution.execute('uname -r')
|
35
|
+
version[2..-1]
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
Facter.add(:kernelrelease) do
|
40
|
+
confine :kernel => "windows"
|
41
|
+
setcode do
|
42
|
+
require 'facter/util/wmi'
|
43
|
+
version = ""
|
44
|
+
Facter::Util::WMI.execquery("SELECT Version from Win32_OperatingSystem").each do |ole|
|
45
|
+
version = "#{ole.Version}"
|
46
|
+
break
|
47
|
+
end
|
48
|
+
version
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# Fact: kernelversion
|
2
|
+
#
|
3
|
+
# Purpose: Return the operating system's kernel version.
|
4
|
+
#
|
5
|
+
# Resolution:
|
6
|
+
# On Solaris and SunOS based machines, returns the output of "uname -v".
|
7
|
+
# Otherwise returns the 'kernerlversion' fact up to the first '-'. This may be
|
8
|
+
# the entire 'kernelversion' fact in many cases.
|
9
|
+
#
|
10
|
+
# Caveats:
|
11
|
+
#
|
12
|
+
|
13
|
+
Facter.add("kernelversion") do
|
14
|
+
setcode do
|
15
|
+
Facter['kernelrelease'].value.split('-')[0]
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
Facter.add("kernelversion") do
|
20
|
+
confine :kernel => :sunos
|
21
|
+
setcode 'uname -v'
|
22
|
+
end
|
data/lib/facter/ldom.rb
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
if Facter.value(:kernel) == 'SunOS' and Facter::Core::Execution.which('virtinfo')
|
2
|
+
virtinfo = Facter::Core::Execution.exec('virtinfo -ap')
|
3
|
+
|
4
|
+
# Convert virtinfo parseable output format to array of arrays.
|
5
|
+
# DOMAINROLE|impl=LDoms|control=true|io=true|service=true|root=true
|
6
|
+
# DOMAINNAME|name=primary
|
7
|
+
# DOMAINUUID|uuid=8e0d6ec5-cd55-e57f-ae9f-b4cc050999a4
|
8
|
+
# DOMAINCONTROL|name=san-t2k-6
|
9
|
+
# DOMAINCHASSIS|serialno=0704RB0280
|
10
|
+
#
|
11
|
+
# For keys containing multiple value such as domain role:
|
12
|
+
# ldom_{key}_{subkey} = value
|
13
|
+
# Otherwise the fact will simply be:
|
14
|
+
# ldom_{key} = value
|
15
|
+
unless virtinfo.nil?
|
16
|
+
virt_array = virtinfo.split("\n").select{|l| l =~ /^DOMAIN/ }.
|
17
|
+
collect{|l| l.split('|')}
|
18
|
+
virt_array.each do |x|
|
19
|
+
key = x[0]
|
20
|
+
value = x[1..x.size]
|
21
|
+
|
22
|
+
if value.size == 1
|
23
|
+
Facter.add("ldom_#{key.downcase}") do
|
24
|
+
setcode { value.first.split('=')[1] }
|
25
|
+
end
|
26
|
+
else
|
27
|
+
value.each do |y|
|
28
|
+
k = y.split('=')[0]
|
29
|
+
v = y.split('=')[1]
|
30
|
+
Facter.add("ldom_#{key.downcase}_#{k.downcase}") do
|
31
|
+
setcode { v }
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
# When ldom domainrole control = false, the system is a guest, so we mark it
|
38
|
+
# as a virtual system:
|
39
|
+
Facter.add("virtual") do
|
40
|
+
confine :ldom_domainrole_control => 'false'
|
41
|
+
has_weight 10
|
42
|
+
setcode do
|
43
|
+
Facter.value(:ldom_domainrole_impl)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# Fact: lsbdistcodename
|
2
|
+
#
|
3
|
+
# Purpose: Return Linux Standard Base information for the host.
|
4
|
+
#
|
5
|
+
# Resolution:
|
6
|
+
# Uses the lsb_release system command
|
7
|
+
#
|
8
|
+
# Caveats:
|
9
|
+
# Only works on Linux (and the kfreebsd derivative) systems.
|
10
|
+
# Requires the lsb_release program, which may not be installed by default.
|
11
|
+
# Also is as only as accurate as that program outputs.
|
12
|
+
|
13
|
+
Facter.add(:lsbdistcodename) do
|
14
|
+
confine :kernel => [ :linux, :"gnu/kfreebsd" ]
|
15
|
+
setcode 'lsb_release -c -s 2>/dev/null'
|
16
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# Fact: lsbdistdescription
|
2
|
+
#
|
3
|
+
# Purpose: Return Linux Standard Base information for the host.
|
4
|
+
#
|
5
|
+
# Resolution:
|
6
|
+
# Uses the lsb_release system command
|
7
|
+
#
|
8
|
+
# Caveats:
|
9
|
+
# Only works on Linux (and the kfreebsd derivative) systems.
|
10
|
+
# Requires the lsb_release program, which may not be installed by default.
|
11
|
+
# Also is as only as accurate as that program outputs.
|
12
|
+
|
13
|
+
Facter.add(:lsbdistdescription) do
|
14
|
+
confine :kernel => [ :linux, :"gnu/kfreebsd" ]
|
15
|
+
confine do
|
16
|
+
Facter::Core::Execution.which("lsb_release")
|
17
|
+
end
|
18
|
+
|
19
|
+
setcode do
|
20
|
+
if output = Facter::Core::Execution.exec('lsb_release -d -s 2>/dev/null')
|
21
|
+
# the output may be quoted (at least it is on gentoo)
|
22
|
+
output.sub(/^"(.*)"$/,'\1')
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# Fact: lsbdistid
|
2
|
+
#
|
3
|
+
# Purpose: Return Linux Standard Base information for the host.
|
4
|
+
#
|
5
|
+
# Resolution:
|
6
|
+
# Uses the lsb_release system command
|
7
|
+
#
|
8
|
+
# Caveats:
|
9
|
+
# Only works on Linux (and the kfreebsd derivative) systems.
|
10
|
+
# Requires the lsb_release program, which may not be installed by default.
|
11
|
+
# Also is as only as accurate as that program outputs.
|
12
|
+
|
13
|
+
Facter.add(:lsbdistid) do
|
14
|
+
confine :kernel => [ :linux, :"gnu/kfreebsd" ]
|
15
|
+
setcode 'lsb_release -i -s 2>/dev/null'
|
16
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# Fact: lsbdistrelease
|
2
|
+
#
|
3
|
+
# Purpose: Return Linux Standard Base information for the host.
|
4
|
+
#
|
5
|
+
# Resolution:
|
6
|
+
# Uses the lsb_release system command
|
7
|
+
#
|
8
|
+
# Caveats:
|
9
|
+
# Only works on Linux (and the kfreebsd derivative) systems.
|
10
|
+
# Requires the lsb_release program, which may not be installed by default.
|
11
|
+
# Also is as only as accurate as that program outputs.
|
12
|
+
|
13
|
+
Facter.add(:lsbdistrelease) do
|
14
|
+
confine :kernel => [ :linux, :"gnu/kfreebsd" ]
|
15
|
+
setcode 'lsb_release -r -s 2>/dev/null'
|
16
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# Fact: lsbmajdistrelease
|
2
|
+
#
|
3
|
+
# Purpose: Returns the major version of the operation system version as gleaned
|
4
|
+
# from the lsbdistrelease fact.
|
5
|
+
#
|
6
|
+
# Resolution:
|
7
|
+
# Parses the lsbdistrelease fact for numbers followed by a period and
|
8
|
+
# returns those, or just the lsbdistrelease fact if none were found.
|
9
|
+
#
|
10
|
+
# Caveats:
|
11
|
+
#
|
12
|
+
|
13
|
+
# lsbmajdistrelease.rb
|
14
|
+
#
|
15
|
+
require 'facter'
|
16
|
+
|
17
|
+
Facter.add("lsbmajdistrelease") do
|
18
|
+
confine :kernel => %w{Linux GNU/kFreeBSD}
|
19
|
+
setcode do
|
20
|
+
if /(\d*)\./i =~ Facter.value(:lsbdistrelease)
|
21
|
+
result=$1
|
22
|
+
else
|
23
|
+
result=Facter.value(:lsbdistrelease)
|
24
|
+
end
|
25
|
+
result
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# Fact: lsbrelease
|
2
|
+
#
|
3
|
+
# Purpose: Return Linux Standard Base information for the host.
|
4
|
+
#
|
5
|
+
# Resolution:
|
6
|
+
# Uses the lsb_release system command
|
7
|
+
#
|
8
|
+
# Caveats:
|
9
|
+
# Only works on Linux (and the kfreebsd derivative) systems.
|
10
|
+
# Requires the lsb_release program, which may not be installed by default.
|
11
|
+
# Also is as only as accurate as that program outputs.
|
12
|
+
|
13
|
+
Facter.add(:lsbrelease) do
|
14
|
+
confine :kernel => [ :linux, :"gnu/kfreebsd" ]
|
15
|
+
setcode 'lsb_release -v -s 2>/dev/null'
|
16
|
+
end
|
@@ -0,0 +1,97 @@
|
|
1
|
+
# Fact: macaddress
|
2
|
+
#
|
3
|
+
# Purpose:
|
4
|
+
#
|
5
|
+
# Resolution:
|
6
|
+
#
|
7
|
+
# Caveats:
|
8
|
+
#
|
9
|
+
|
10
|
+
require 'facter/util/macaddress'
|
11
|
+
require 'facter/util/ip'
|
12
|
+
|
13
|
+
Facter.add(:macaddress) do
|
14
|
+
confine :kernel => 'Linux'
|
15
|
+
setcode do
|
16
|
+
ether = []
|
17
|
+
output = Facter::Util::IP.exec_ifconfig(["-a","2>/dev/null"])
|
18
|
+
|
19
|
+
String(output).each_line do |s|
|
20
|
+
ether.push($1) if s =~ /(?:ether|HWaddr) ((\w{1,2}:){5,}\w{1,2})/
|
21
|
+
end
|
22
|
+
Facter::Util::Macaddress.standardize(ether[0])
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
Facter.add(:macaddress) do
|
27
|
+
confine :kernel => %w{SunOS GNU/kFreeBSD}
|
28
|
+
setcode do
|
29
|
+
ether = []
|
30
|
+
output = Facter::Util::IP.exec_ifconfig(["-a"])
|
31
|
+
output.each_line do |s|
|
32
|
+
ether.push($1) if s =~ /(?:ether|HWaddr) ((\w{1,2}:){5,}\w{1,2})/
|
33
|
+
end
|
34
|
+
Facter::Util::Macaddress.standardize(ether[0])
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
Facter.add(:macaddress) do
|
39
|
+
confine :osfamily => "Solaris"
|
40
|
+
setcode do
|
41
|
+
ether = []
|
42
|
+
output = Facter::Core::Execution.exec("/usr/bin/netstat -np")
|
43
|
+
output.each_line do |s|
|
44
|
+
ether.push($1) if s =~ /(?:SPLA)\s+(\w{2}:\w{2}:\w{2}:\w{2}:\w{2}:\w{2})/
|
45
|
+
end
|
46
|
+
Facter::Util::Macaddress.standardize(ether[0])
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
Facter.add(:macaddress) do
|
51
|
+
confine :operatingsystem => %w{FreeBSD OpenBSD DragonFly}
|
52
|
+
setcode do
|
53
|
+
ether = []
|
54
|
+
output = Facter::Util::IP.exec_ifconfig
|
55
|
+
output.each_line do |s|
|
56
|
+
if s =~ /(?:ether|lladdr)\s+(\w\w:\w\w:\w\w:\w\w:\w\w:\w\w)/
|
57
|
+
ether.push($1)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
Facter::Util::Macaddress.standardize(ether[0])
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
Facter.add(:macaddress) do
|
65
|
+
confine :kernel => :darwin
|
66
|
+
setcode { Facter::Util::Macaddress::Darwin.macaddress }
|
67
|
+
end
|
68
|
+
|
69
|
+
Facter.add(:macaddress) do
|
70
|
+
confine :kernel => %w{AIX}
|
71
|
+
setcode do
|
72
|
+
ether = []
|
73
|
+
ip = nil
|
74
|
+
output = Facter::Util::IP.exec_ifconfig(["-a"])
|
75
|
+
output.each_line do |str|
|
76
|
+
if str =~ /([a-z]+\d+): flags=/
|
77
|
+
devname = $1
|
78
|
+
unless devname =~ /lo0/
|
79
|
+
output2 = %x{/usr/bin/entstat #{devname}}
|
80
|
+
output2.each_line do |str2|
|
81
|
+
if str2 =~ /^Hardware Address: (\w{1,2}:\w{1,2}:\w{1,2}:\w{1,2}:\w{1,2}:\w{1,2})/
|
82
|
+
ether.push($1)
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
Facter::Util::Macaddress.standardize(ether[0])
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
Facter.add(:macaddress) do
|
93
|
+
confine :kernel => %w(windows)
|
94
|
+
setcode do
|
95
|
+
Facter::Util::Macaddress::Windows.macaddress
|
96
|
+
end
|
97
|
+
end
|