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
openpyxl
pyasn1
pyasn1-modules
redfish_service_validator>=3.1.6
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"
Metadata
Release files for redfish-protocol-validator 1.3.2
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.2.tar.gz | 93.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| redfish_protocol_validator-1.3.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 192.9 kB
Release files / redfish_protocol_validator-1.3.2.tar.gz
| Download URL | redfish_protocol_validator-1.3.2.tar.gz |
|---|---|
| Size | 93.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d33495b48e8e08d75873ddc88cbb879c4210f3285a7d3d48a2788f482085574e
|
|
BLAKE2b-256 checksum How to use checksums |
1dd4592e953cf257760502d65b4d48fb02912be2a20efb49d1512726a8c09851
|
| 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.2-py3-none-any.whl
| Download URL | redfish_protocol_validator-1.3.2-py3-none-any.whl |
|---|---|
| Size | 99.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e1b224ab784f04a5b052a0388ea2824d7caeb364f7b6213c231d9947c1ebad3f
|
|
BLAKE2b-256 checksum How to use checksums |
fd7fe2dd9bdb798b065a67b3218e82959e6f546fb985d91be4f09791be9c130b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|