DMTF / Redfish-Usecase-Checkers

This is a collection of python3 tools to exercise and validate common use cases for Redfish
Other
1 stars 6 forks source link
redfish

Redfish Usecase Checkers

Copyright 2017-2021 DMTF. All rights reserved.

About

    Language: Python 3.x

This is a collection of tools to exercise and validate common use cases for DMTF Redfish. For example:

Prerequisites

Install jsonschema, redfish, and redfish_utilities:

pip install jsonschema
pip install redfish
pip install redfish_utilities

Test Details and Examples

Each tool may be execuated with the -h option to get verbose help on parameters.

One Time Boot Checker

This checker logs into a specified service and traverses the systems collection. It will perform the following operations on all systems:

Example:

$ python3 one_time_boot_check.py -r 127.0.0.1:8000 -u <user> -p <pass> -S Always

Power/Thermal Info Checker

This checker logs into a specified service and traverses the chassis collection. For each chassis found, it will ensure that it can collect at least one sensor reading from the Power and Thermal resources. For each sensor reading found, it will ensure that the readings are consistent with the state of the sensor, as in there are no bogus readings for a device that isn't present.

Example:

$ python3 power_thermal_test.py -r 127.0.0.1:8000 -u <user> -p <pass> -S Always

Power Control Checker

This checker logs into a specified service and traverses the system collection. It will perform the following operations on all systems:

Example:

$ python3 power_control.py -r 127.0.0.1:8000 -u <user> -p <pass> -S Always

Account Management Checker

This checker logs into a specified service and performs the following operations:

Example:

$ python3 account_management.py --r 127.0.0.1:8000 -u <user> -p <pass> -S Always

Query Parameter Checker

This checker logs into a specified service and performs the following operations:

Example:

$ python3 query_parameters_check.py --r 127.0.0.1:8000 -u <user> -p <pass> -S Always

Manager Ethernet Interface Checker

This checker logs into a specified service and traverses the Ethernet interface collection in each manager found in the manager collection. It will perform the following operations on all Ethernet interfaces:

Example:

$ python3 manager_ethernet_interface_check.py --r 127.0.0.1:8000 -u <user> -p <pass> -S Always