Redfish Protocol Validator
Copyright 2020-2022 DMTF. All rights reserved.
About
The Redfish Protocol Validator tests the HTTP protocol behavior of a Redfish service to validate that it conforms to the Redfish Specification.
Installation
From PyPI:
pip install redfish_protocol_validator
From GitHub:
git clone https://github.com/DMTF/Redfish-Protocol-Validator.git
cd Redfish-Protocol-Validator
python setup.py sdist
pip install dist/redfish_protocol_validator-x.x.x.tar.gz
Requirements
The Redfish Protocol Validator requires Python3.
Required external packages:
aenum
colorama
pyasn1
pyasn1-modules
requests
sseclient-py
urllib3
If installing from GitHub, you may install the external packages by running:
pip install -r requirements.txt
Usage
The Redfish Protocol Validator can be configured using either command-line arguments or a configuration file (config.ini).
Configuration File
You can use a config.ini file in the current working directory with your settings. This is useful for repeated operations with the same configuration.
Example config.ini:
[Authentication]
user = username
password = password
[Connection]
rhost = https://RedfishIP
no-cert-check = true
avoid-http-redirect = true
[Logging]
log-level = WARNING
[Reporting]
report-dir = reports
report-type = both
To use a configuration file in a different location, use the --config option:
python rf_protocol_validator.py --config /path/to/myconfig.ini
Note: Command-line arguments always override configuration file settings, ensuring backward compatibility.
Command-Line Arguments
usage: rf_protocol_validator.py [-h] [--version] [--config CONFIG] [--user USER]
[--password PASSWORD] [--rhost RHOST]
[--log-level LOG_LEVEL] [--report-dir REPORT_DIR]
[--report-type {html,tsv,both}]
[--avoid-http-redirect]
[--no-cert-check | --ca-bundle CA_BUNDLE]
Validate the protocol conformance of a Redfish service
optional arguments:
-h, --help show this help message and exit
--version show program's version number and exit
--config CONFIG, -c CONFIG
path to configuration file; defaults to "config.ini"
in current directory
--user USER, -u USER the username for authentication
--password PASSWORD, -p PASSWORD
the password for authentication
--rhost RHOST, -r RHOST
address of the Redfish service (with scheme)
--log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL}
the logging level (default: WARNING)
--report-dir REPORT_DIR
the directory for generated report files (default:
"reports")
--report-type {html,tsv,both}
the type of report to generate: html, tsv, or both
(default: both)
--avoid-http-redirect
avoid attempts to generate HTTP redirects for services
that do not support HTTP
--no-cert-check disable verification of host SSL certificates
--ca-bundle CA_BUNDLE
the file or directory containing trusted CAs
Note: The --user, --password, and --rhost arguments are required if not provided in the configuration file.
Examples
Using command-line arguments only (backward compatible):
python rf_protocol_validator.py -u username -p password -r https://RedfishIP
Using a configuration file:
# Uses config.ini from current directory
python rf_protocol_validator.py
Using a custom configuration file:
python rf_protocol_validator.py --config /path/to/custom.ini
Mixing configuration file and command-line arguments (command-line overrides config):
# Uses settings from config.ini but overrides the report directory
python rf_protocol_validator.py --report-dir /different/output
Unit Tests
The Redfish Protocol Validator unit tests are executed using the tox package.
You may install tox by running:
pip install tox
Running the unit tests:
tox
Release Process
- Go to the "Actions" page
- Select the "Release and Publish" workflow
- Click "Run workflow"
- Fill out the form
- Click "Run workflow"
Release files for redfish-protocol-validator 1.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| redfish_protocol_validator-1.3.1.tar.gz | 88.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| redfish_protocol_validator-1.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 183.8 kB
Release files / redfish_protocol_validator-1.3.1.tar.gz
| Download URL | redfish_protocol_validator-1.3.1.tar.gz |
|---|---|
| Size | 88.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c0a3204763479a62d9848b5b9d14773d59fe1583c255403707c5e62635883e9c
|
|
BLAKE2b-256 checksum How to use checksums |
e5cb948f13d5ea1a8e18eaf0cb10e7673ac7606e0f0a7c37298aae13ce1cb227
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / redfish_protocol_validator-1.3.1-py3-none-any.whl
| Download URL | redfish_protocol_validator-1.3.1-py3-none-any.whl |
|---|---|
| Size | 95.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
638b6ed88e51902b50f347d2b963f0836fcf87e3cf564bfc150df92f61becbbe
|
|
BLAKE2b-256 checksum How to use checksums |
a7d36d6cc9ecc5ea5e93fbf7ce2afcd964acd80d01ff5947cd5e3cd0511d7050
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|