joelrebel / pbnj-tester

The pbnj-tester can be used to test various PBnJ functionality on one or servers BMCs.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PBnJ tester

The pbnj-tester can be used to test various PBnJ functionality on one or servers BMCs.

The plan is to have the pbnj-tester perform an action like power-cycle and validate that the PBnJ action was successful and that the server was power cycled.

Note: status beta, there be bugs.

list supported tests

❯ ./pbnj-tester list-tests
power-status
power-on
power-off
power-cycle
pxeBoot

run tests on a single server

❯ ./pbnj-tester run --pbnj-addr localhost:50051 --bmc-ip 192.168.1.1 --bmc-user root --bmc-pass hunter2 --tests power-status,power-on

[
 {
  "TestName": "power-status",
  "Output": null,
  "Error": null,
  "Succeeded": true,
  "Runtime": 0
 },
 {
  "TestName": "power-on",
  "Output": null,
  "Error": null,
  "Succeeded": true,
  "Runtime": 0
 }
]

run tests on multiple servers

This command requires a test configuration, see the tests.yaml for a sample test configuration.

The tests are executed concurrently and a JSON output is returned.

❯ ./pbnj-tester run-multiple --pbnj-addr localhost:50051 --tests-config tests.yaml

[
 {
  "Vendor": "ASRockRack",
  "Model": "ROMED8HM3 EPYC 7402P",
  "Name": "foo",
  "BMCIP": "192.168.1.1",
  "Results": [
   {
    "TestName": "power-status",
    "Output": null,
    "Error": null,
    "Succeeded": true,
    "Runtime": 0
   }
  ]
 },
 {
  "Vendor": "Super Micro",
  "Model": "SSG-110P-NTR10",
  "Name": "bar",
  "BMCIP": "192.168.1.2",
  "Results": [
   {
    "TestName": "power-status",
    "Output": null,
    "Error": null,
    "Succeeded": true,
    "Runtime": 0
   }
  ]
 }
]

TODO

  • Results to include the method used by the test when it was successful, the method being Redfish/IPMI/SSH/Vendor API.

About

The pbnj-tester can be used to test various PBnJ functionality on one or servers BMCs.

License:Apache License 2.0


Languages

Language:Go 100.0%