Feature: Hardware View - cockpit-project/cockpit GitHub Wiki

Goal

Show a summary of the notable hardware of the currently connected system.

Use cases

  1. System identification
    1. What type of system is this? (Make & Model #)
    2. What is the CPU and its clockspeed?
  2. Hardware upgrades
    1. RAM
      • How much RAM is in use?
      • What type of module is needed to add more RAM? (Based on currently used type.)
      • Are there free slots or will the RAM need replacing?
    2. Disks
      • What model of disk is in use?
    3. GPU
      • Is there a GPU?
      • Is the GPU model appropriate for running AI related tasks?
    4. NICs
      • How fast is the card? (Ex.: Does the network card support gigabit?)
    5. Available slots (PCI, DIMMs, etc.)

Design

This should be on the /system page, possibly a link behind "Hardware".

Current HTML mockups based on actual data.

Notes

Assinging hardware to a VM has a completely different scope, use case, location, and design. This is an independent piece of work._

Source of data

Grabbing the data from a system uses the lshw tool, called like so:

sudo lshw -sanitize -html > hardware-`hostname`.html

Then, pass the data into a script called devices2yaml.rb located in the cockpit-mockweb repo. It needs certain gems to run; checking out mockweb and running bundle install will set up dependencies. (Requires Ruby and Bundler.)