Hi everyone, Lucas and I were discussing a new feature that I think would be very useful for Autotest: hardware inventory.
With the upcoming/ongoing feature to add tighter Cobbler support to Autotest I, at least, have a need to know what kinds of machines are available to run jobs on. I want to know things like: CPU information, amount of memory, PCI devices, etc. - My initial proposal is to use lshw to acquire information from running systems. - An alternative would be smolt. I've found some issues with the distribution versions of smolt on ppc64, at least. - In theory, we could have a pluggable infrastructure, much like the install_server support itself, and the administrator could specify how to obtain the information. - Adding hardware information immediately requires us to extend the information stored in a Machine object - My current list includes (sources in parentheses): Machine model (dmidecode, lsvpd) CPU version (/proc/cpuinfo) CPU speed (/proc/cpuinfo) Memory installed (/sys/devices/system/memory or /proc/meminfo) Swap size (/proc/meminfo, /proc/swaps?) Serial number (dmidecode, lsvpd) CPU topology (# of cores, # of hardware threads, sysfs, /proc/cpuinfo)) PCI devices (lspci) KVM capable (/proc/cpuinfo) CPU flags (/proc/cpuinfo) Timestamp of last inventory Version of last inventory tool used BIOS/system firmware level - Reading through this list, I imagine the implementation becomes an InventoryInterface, with per-architecture implementations of how to actually obtain the data. - Additionally, one can imagine end-users may have site-specific, internal or controlled extra data they would like to be searchable & storable per-machine. I think it makes sense to have an additional, admin-interface defined table to store a list of labels and how to get the data that should be stored with that label. We would then store a hash of the obtained information in the inventory job. - Have a contrib script appropriate for /var/lib/cobbler/triggers/add/system/ to automatically run an inventory job on system add. - Extend the create job UI to allow searching by hardware information. This requires seeing what once satisfied the request, re-running inventory on that host, and if the required data is still present, running the job. This becomes necessary in particular for the case of PCI devices being removed, but also could come about when hostnames get recycled (for instance) or hardware is upgraded. Lucas & I thought the discussion from here was better-served being on the mailing-list to allow everyone interested to chime in. Thanks, Nish -- Nishanth Aravamudan <n...@us.ibm.com> IBM Linux Technology Center _______________________________________________ Autotest mailing list Autotest@test.kernel.org http://test.kernel.org/cgi-bin/mailman/listinfo/autotest