Skip to content

Latest commit

 

History

History
81 lines (63 loc) · 2.41 KB

README.md

File metadata and controls

81 lines (63 loc) · 2.41 KB

Equinix Metal Hardware

Continuous Integration

This is a tool which is used within OSIE to audit hardware components to keep track of components that may need updating or components that may be missing.

This repository is Experimental meaning that it's based on untested ideas or techniques and not yet established or finalized or involves a radically new and innovative style! This means that support is best effort (at best!) and we strongly encourage you to NOT use this in production.

Required Binaries/Tools

  • dmidecode
  • ethtool
  • getbiosconfig
  • hdparm
  • idracadm7
  • ipmicfg
  • ipmitool
  • lsblk
  • lshw
  • lspci
  • MegaCli64
  • mlxup
  • smartctl

Reference the Dockerfile for other dependency requirements.

Installation

pip3 install git+https://github.com/packethost/packet-hardware.git@master

Running inventory (docker)

The below command will run the script without posting the results.

# Build image
docker build -t packet-hardware:latest .

# Run tool
docker run --rm --privileged \
    -v /dev:/dev \
    -v /sys:/sys \
    -v /tmp:/tmp \
    --network host \
    packet-hardware inventory -u localhost --dry --cache-file /tmp/hardware.json

Here I've specified a cache file so I may look at the json pickled results.

Usage (inventory)

# packet-hardware inventory --help
Usage: packet-hardware inventory [OPTIONS]

Options:
  -t, --component-type TEXT  Component type(s) to check
  -u, --tinkerbell TEXT      Tinkerbell uri  [required]
  -v, --verbose              Turn on verbose messages for debugging
  -d, --dry                  Don't actually post anything to API
  -c, --cache-file TEXT      Path to local json component store
  --help                     Show this message and exit.

Usage (update)

# packet-hardware update --help
Usage: packet-hardware update [OPTIONS]

Options:
  -t, --component-type TEXT  Component type(s) to check
  -u, --tinkerbell TEXT      Tinkerbell uri  [required]
  -v, --verbose              Turn on verbose messages for debugging
  -d, --dry                  Don't actually post anything to API
  -c, --cache-file TEXT      Path to local json component store
  --help                     Show this message and exit.