Currently, doing a hardware scan on a system requires a command line like the following:
bkr machine-test --inventory --family=RedHatEnterpriseLinux6 --arch=x86_64 --machine=<FQDN>
The "family" part may need to change when using Beaker to manage architectures that RHEL6 doesn't support. However, due to the fact beaker-system-scan currently still depends on smolt for some features, using RHEL7 or Fedora instead isn't ideal if RHEL6 supports the hardware.
In order to eventually add a "Scan this system now" button to the web UI, and, equivalently, a simple "bkr update-inventory <FQDN>" command, I think we may need to move the logic of choosing a preferred distro family to run the inventory task to the main Beaker server.
Specifically, I'm thinking of a mapping of architecture -> distro family + inventory task, with a default distro and inventory task to use for unspecified architectures, together with a dedicated server API *separate* from the normal job submission API, that requested an inventory scan for a particular machine. The task of choosing which distro to use, and which inventory task to run would then be handled by the server.
The purpose of this would be to better enable working with architectures that the default approach can't handle yet - standard supported architectures would use the default of /distribution/inventory-on-RHEL-6 (at least until we manage to remove the dependency on smolt, then we can switch to RHEL7 by default), while experimental architectures could use a different distro, or even a different inventory task.
By making this admin configurable (include the default distro used), we'd also better support instances that don't have RHEL trees loaded at all, but only Fedora and/or CentOS.
Cheers,
Nick.
--
Nick Coghlan
Red Hat Hosted & Shared Services
Software Engineering & Development, Brisbane
HSS Provisioning Architect