[Beaker-devel] Simplify inventorying systems in Beaker

Amit Saha asaha at redhat.com
Mon May 4 04:56:29 UTC 2015


Hi all,

As part of implementing https://bugzilla.redhat.com/show_bug.cgi?id=846185 and 
https://bugzilla.redhat.com/show_bug.cgi?id=1121462, I was thinking that the best
user experience would be if we ask nothing of the user. They need to just click
on a system's "Update Inventory" button or run the "bkr update-inventory <fqdn>" command
to update the inventory data for the system.

So, the key step is to figure out which distro to use. RHEL6/CentOS6 would cover most
of the hardware, but there may be exceptions for older/newer hardware archs. So, here is
what I am thinking:

1. Start with RHEL6/CentOS6, and check if the system is compatible with it. If yes, go to step 4, 
else go to step 2.

2. Is the system compatible with RHEL7/CentOS7? If yes, go to step 4, else go to step 3.

3. Is the system compatible with RHEL5/CentOS5? If yes, go to step 4, else error out.

4. Submit a job with the chosen distro and /distribution/install and /distribution/inventory tasks.
(The job will use the <hostRequires force = .. /> element so that all non-removed systems can be inventoried
as long as the job owner has the sufficient rights on the system)

One immediate drawback of this is using hard coded distro names above. 

Another idea I can think of is have a system level ksmeta variable defined such as "inventory_distro=MyOSMajor"
and use that. But that is asking of system owners/beaker admins to have to do that explicitly. 
It would also vastly simplify the implementation.

Thoughts?

Best,
Amit.

-- 
Amit Saha <http://echorand.me> 
PnT DevOps - Developer
Red Hat, Inc.



More information about the Beaker-devel mailing list