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