-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Labels
Description
Our image needs to be able to work as a discovery image. we need to determine the built in hardware and report that in a reliable format. I would recommend facter for this because it is fast, supports a wide variety of builtin facts and is easy to extend.
- Which data do we need?
- How do we determine it?
example facter output from a node booted with LARS:
disks => {
sda => {
model => "VIRTUAL DISK",
size => "931.00 GiB",
size_bytes => 999653638144,
vendor => "Dell"
}
}
dmi => {
bios => {
release_date => "09/10/2013",
vendor => "Dell Inc.",
version => "1.10.0"
},
board => {
manufacturer => "Dell Inc.",
product => "REMOVED",
serial_number => "REMOVED"
},
chassis => {
type => "Rack Mount Chassis"
},
manufacturer => "Dell Inc.",
product => {
name => "PowerEdge R210",
serial_number => "REMOVED",
uuid => "REMOVED"
}
}
facterversion => 3.1.4
filesystems => squashfs
identity => {
gid => 0,
group => "root",
uid => 0,
user => "root"
}
is_virtual => false
kernel => Linux
kernelmajversion => 4.2
kernelrelease => 4.2.5-1-ARCH
kernelversion => 4.2.5
load_averages => {
15m => 0.05,
1m => 0.23,
5m => 0.1
}
memory => {
system => {
available => "7.69 GiB",
available_bytes => 8262098944,
capacity => "1.21%",
total => "7.79 GiB",
total_bytes => 8363507712,
used => "96.71 MiB",
used_bytes => 101408768
}
}
mountpoints => {
/run/archiso/sfs/airootfs => {
available => "0 bytes",
available_bytes => 0,
capacity => "100%",
device => "/dev/loop0",
filesystem => "squashfs",
options => [
"ro",
"relatime"
],
size => "301.50 MiB",
size_bytes => 316145664,
used => "301.50 MiB",
used_bytes => 316145664
}
}
networking => {
fqdn => "archiso",
hostname => "archiso",
interfaces => {
eno2 => {
mac => "b8:ac:6f:97:7e:78",
mtu => 1500
},
eth0 => {
bindings => [
{
address => "10.30.7.41",
netmask => "255.255.255.128",
network => "10.30.7.0"
}
],
bindings6 => [
{
address => "fe80::baac:6fff:fe97:7e77",
netmask => "ffff:ffff:ffff:ffff::",
network => "fe80::"
}
],
ip => "10.30.7.41",
ip6 => "fe80::baac:6fff:fe97:7e77",
mac => "b8:ac:6f:97:7e:77",
mtu => 1500,
netmask => "255.255.255.128",
netmask6 => "ffff:ffff:ffff:ffff::",
network => "10.30.7.0",
network6 => "fe80::"
},
lo => {
bindings => [
{
address => "127.0.0.1",
netmask => "255.0.0.0",
network => "127.0.0.0"
}
],
bindings6 => [
{
address => "::1",
netmask => "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff",
network => "::1"
}
],
ip => "127.0.0.1",
ip6 => "::1",
mtu => 65536,
netmask => "255.0.0.0",
netmask6 => "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff",
network => "127.0.0.0",
network6 => "::1"
}
},
ip => "10.30.7.41",
ip6 => "fe80::baac:6fff:fe97:7e77",
mac => "b8:ac:6f:97:7e:77",
mtu => 1500,
netmask => "255.255.255.128",
netmask6 => "ffff:ffff:ffff:ffff::",
network => "10.30.7.0",
network6 => "fe80::",
primary => "eth0"
}
os => {
architecture => "x86_64",
family => "Archlinux",
hardware => "x86_64",
name => "Archlinux",
release => {
full => "4.2.5-1-ARCH",
major => "4",
minor => "2"
},
selinux => {
enabled => false
}
}
partitions => {
/dev/loop0 => {
backing_file => "/run/archiso/bootmnt/arch/x86_64/airootfs.sfs",
filesystem => "squashfs",
mount => "/run/archiso/sfs/airootfs",
size => "301.44 MiB",
size_bytes => 316080128
},
/dev/sda1 => {
filesystem => "ext4",
partuuid => "0dbaede7-01",
size => "931.00 GiB",
size_bytes => 999651541504,
uuid => "7518ffb3-7b29-42c0-992c-4f9097fa68a4"
}
}
path => /root/.gem/ruby/2.2.0/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/sbin:/bin:/sbin
processors => {
count => 4,
isa => "unknown",
models => [
"Intel(R) Xeon(R) CPU X3430 @ 2.40GHz",
"Intel(R) Xeon(R) CPU X3430 @ 2.40GHz",
"Intel(R) Xeon(R) CPU X3430 @ 2.40GHz",
"Intel(R) Xeon(R) CPU X3430 @ 2.40GHz"
],
physicalcount => 1
}
ssh => {
dsa => {
fingerprints => {
sha1 => "SSHFP 2 1 9fff86f8bcf740de72cda331a9ec2f08c574bebd",
sha256 => "SSHFP 2 2 426913fb46577b9b0e50698021073d2168c817a210adb6eba409e41bf082ba63"
},
key => "AAAAB3NzaC1kc3MAAACBAJYiCLR2bFHofn9vPh+V8mgpnbINW/sQB+H3b15ihajmE1OoFz0/+KTWb62a2kIXPCU/2LxOuuLCWqAoWnXM1OIabYHVssy3J+GLQBS+3it30NsMfn7ap7FkNA8IutTNxhfQk+3ZBPIqTM7MCaw4azT+A5as2c6eWuqonHkchBwHAAAAFQDUPwTQgKNUp4tQBjmAjY9oAURdnQAAAIEAkK+d+LAAoNFp4e5meMagqBD6t0NVH9Tg6rCwQFLyOdJXLCQPI4MjGYfjWakWyLUwD9KihmKb2caJErxGv7MBnes5Ld13Lr+xsrk39iVUn9+MQ2bfJ6FDdIpXCH2XAQmBGfk19Y0VIVNm6TW+uu7oE574/r/4nXp9c8fglyIhdZgAAACAGf+CCKK/kQUu4N4WyXmVXlh2TS9leyD2PNp+xHQ5cyMlKxB8XYMfR+1f2f0DwrVuoLNrzuZ1xWPWAoaf8FnOFNmlmrk1HQNsWN00RBR9IB6w1yt3CN3u56XCnn5JlL/LvpSHurdyIMazRh/8lg2RdyhHC3B1R0RECT8Jin3osYs="
},
ecdsa => {
fingerprints => {
sha1 => "SSHFP 3 1 af1d2fbf70345d65da8a5740ce30ab0d2003558f",
sha256 => "SSHFP 3 2 d07d06c97e6a62bbdb81b6a6d5994b882018adf81e3e5e78f35639b66bb4f887"
},
key => "AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLbNskWyBwi/n3yFmQTOZRG0nJEpGA/qjFBs9TslrT3Nqa3xHWOUXwBJObaESLyrdaImUz55uI4ce5jQTmGWZ7w="
},
ed25519 => {
fingerprints => {
sha1 => "SSHFP 4 1 4a526ae0f1ab96a59cbb9f2f9487a73149fac25b",
sha256 => "SSHFP 4 2 85d61bf53f18c4d8b2e9f02e189b490a23cdf3ef00861ef19b5e390df5fb76be"
},
key => "AAAAC3NzaC1lZDI1NTE5AAAAIOiTR4KFn86R9fbAbL5AOMGf3gNRyZL68XfK3wNIjfAa"
},
rsa => {
fingerprints => {
sha1 => "SSHFP 1 1 04e82a2470d6914e77e36c210dcf029075859270",
sha256 => "SSHFP 1 2 d256a79b2df4326ba4564ee784e47a1e264449d7a3acb5dd2d8dde4c7860dbad"
},
key => "AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Ww8M7eIzZZs+PDXa5P9Z3SJzeH8DdBndp+OEZ4eSEkX6K6bxoQMrXxR9MVxnThFMIUyE9eku6BIX4vEF57grXnpbt2eFpuVjOwPPPSXu+c0fSs/sqjl2oECAC1WYD9MEaTv730AaYF6VnXG0LHg8p3HQcQSjjizZuQgJCd/W6qw4KD80IG8DXHaL4aDQGJY9xRLWg0fVKLyWkj+MQLXOpvqHL362vZbXITCeQDJRk2DXTngoFjs0wmsXeje+FIRk9NLQ08clyGew45EEZkQT0hwHNlnSmBmbisRUo3hfi7Y20KZckkdsqwGE7roDRYCxb5eGSNADFaMk78gCROux"
}
}
system_uptime => {
days => 0,
hours => 0,
seconds => 240,
uptime => "0:04 hours"
}
timezone => CET
virtual => physical