Copyright 2017-2021 DMTF. All rights reserved.
Language: Python 3.x
This is a collection of tools to exercise and validate common use cases for DMTF Redfish. For example:
On
, GracefulShutdown
, GracefulRestart
, etc.)Install jsonschema
, redfish
, and redfish_utilities
:
pip install jsonschema
pip install redfish
pip install redfish_utilities
Each tool may be execuated with the -h
option to get verbose help on parameters.
This checker logs into a specified service and traverses the systems collection. It will perform the following operations on all systems:
Boot
objectBootSourceOverrideTarget
property to either Pxe
or Usb
, depending on what's allowedBootSourceOverrideTarget
property after the reset to ensure it changes back to None
Example:
$ python3 one_time_boot_check.py -r 127.0.0.1:8000 -u <user> -p <pass> -S Always
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
This checker logs into a specified service and traverses the system collection. It will perform the following operations on all systems:
ResetType
parameter valuesResetType
valuesExample:
$ python3 power_control.py -r 127.0.0.1:8000 -u <user> -p <pass> -S Always
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
This checker logs into a specified service and performs the following operations:
ProtocolFeatures
property to see what query parameters are supported$filter
on the role collection within the account service$select
on a role within the role collection within the account service$expand
on service rootonly
on various resources found on service rootExample:
$ python3 query_parameters_check.py --r 127.0.0.1:8000 -u <user> -p <pass> -S Always
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:
null
is used to show empty slots that a client is allowed to configure0.0.0.0
, are not usedGateway
is only present in the first array indexExample:
$ python3 manager_ethernet_interface_check.py --r 127.0.0.1:8000 -u <user> -p <pass> -S Always