Here is why I don't think we need to have all the data collection
requirements up front. Clevis is designed to be very modular. A data
collector plugin is just an executable that outputs a JSON blob. A
corresponding server-side plugin parses this data and stores it in the
database in an efficient way to be later queried.

My goal is to stand up the basic service with some initial limited
data. Once we prove that this works, domain experts can write the
plugins to gather the data they want to collect. Here's an example to
show how easy it would be (this is the PCI device plugin):

https://github.com/npmccallum/census/blob/master/client/plugins/hardware.pci

A really great example is the one Peter Robinson just gave. I know
nothing about "SoC attached" devices. Nor should I. I can just let
Peter write the client and server plugins and help review them for
semantic correctness. He can also craft the queries he wants. But
since he's the domain expert, he get's to make most of the important
decisions.

If census does its job right, it totally offloads data collection and
analysis to the people who know what they are doing with that data.


On Tue, Nov 7, 2017 at 5:49 PM, Jeremy Cline <jer...@jcline.org> wrote:
> Hey folks,
>
> For some time now, Fedora has operated without a database of hardware
> users have. Smolt, the old hardware database, was retired in 2012[0] and
> its intended successor[1] was never deployed by Fedora Infrastructure.
>
> It would be nice to have a hardware database, so I (and hopefully some
> others) would like to get Census up and running for Fedora. Before we
> look at deploying Census, however, it would be good to make sure it has
> everything we need.
>
> Census has client plugins to collect information[2]. At the moment, it
> has plugins for:
>
> * The vendor, device, subsystem_vendor, subsystem_device, and class from
>   each PCI device
>
> * The idVendor, idProduct, bcdDevice, and bDeviceClass for USB devices
>   as well as the bInterfaceClass, bInterfaceSubClass, and
>   bInterfaceProtocol for each interface
>
> * The contents of /etc/os-release
>
> * All the RPMs installed on a system
>
> Other than the drivers bound to the PCI and USB devices (which is an
> open PR[3]), what else would be good to collect?
>
> [0] https://fedoraproject.org/wiki/Smolt_retirement
> [1] https://github.com/npmccallum/census
> [2] https://github.com/npmccallum/census/blob/master/client/plugins/
> [3] https://github.com/npmccallum/census/pull/3
>
>
> --
> Jeremy Cline
> XMPP: jer...@jcline.org
> IRC:  jcline
>
_______________________________________________
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org

Reply via email to