Hardware Testing

A node's underlying machine can optionally have its hardware tested using well-known Linux utilities.

Such testing can be performed on a node with a status of 'Ready' (i.e. recently commissioned), broken or on a deployed node.

Testing can also be included as part of the commissioning process. The dialog (described below) will be displayed when the 'Commission' action is chosen. Be aware that if the hardware tests fail the node will become unavailable for Deployment.

Note: The majority of testing scripts only work with nodes that are backed by physical hardware (e.g. they may be incompatible with KVM-based nodes).

Apply a hardware test

To launch a test, on the 'Nodes' page, or within a node's actual view, choose action 'Test hardware'. When ready, hit button 'Test machine'. Here, a test is being applied to a deployed node:

hw test deployed node

There is the option of not powering off the node and to allow SSH access.

A default test will be selected (smartctl-validate, a hard drive test) but others can be chosen by clicking the 'Select scripts' label. Doing so will reveal the following choices:

hw test deployed node choices

Included scripts

The following hardware testing scripts can be selected from the web UI:

Name Category Tags Description
badblocks storage Run badblocks on disk in readonly mode
badblocks-destructive storage, destructive Run badblocks on a disk in read/write destructive mode
internet-connectivity network, internet, node Check if the system has access to the Internet
memtester node Run memtester against all available userspace memory
ntp network, ntp, node Run ntp clock set to verify NTP connectivity
smartctl-conveyance storage Run the conveyance SMART self-test and validate SMART health on all drives in parallel
smartctl-long storage Run the long SMART self-test and validate SMART health on all drives in parallel
smartctl-short storage Run the short SMART self-test and validate SMART health on all drives in parallel
stress-ng-cpu-short cpu Run stress-ng memory tests for 5 minutes
stress-ng-cpu-long node Run stress-ng memory tests for 12 hours
stress-ng-memory-short memory Run stress-ng memory tests for 5 minutes
stress-ng-memory-long memory Run stress-ng memory tests for 12 hours

After either commissioning, testing, or installation has started, MAAS reports in real time which script is running.

The verbatim output from any tests is accessed by selecting a node, selecting the 'Hardware tests' page and clicking on the name of the specific test.

See [Hardware Testing Scripts][nodes-hw-scripts.md] for more details on how these scripts work and how you can write your own.