summaryrefslogtreecommitdiff
path: root/CLIENTS.md
blob: ce99de7e306012ea57e28dfc77ae363a2d809bd3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# Client overview

bmcweb being a user and network facing daemon, is subject to a vast array of
tests and clients that could target it. The below attempts to provide a
non-exhaustive list of tests and clients that bmcweb is expected to be
compatible with, they are split into a couple categories. Entries in the test
category are intended to be qualification tests to ensure the bmcweb meets the
specification. Entries in the clients category are intended to host user-facing
functionality.

The base expectation is that for master versions of bmcweb, and master versions
of these tools, the tests pass 100%. There may be cases where we workaround
limitations in the testing tools behavior within bmcweb to make the tools pass,
regardless of whether there is user impact.

## Tests

Redfish-Service-Validator: A tool to verify through GET requests that bmcweb
properly implements the Redfish schemas in the responded Resource.
git@github.com:DMTF/Redfish-Service-Validator.git

Status: 100% passing. Integrated with CI to ensure no regressions.

Redfish-Protocol-Validator: A tool to verify the protocol-level interactions
with the Redfish wire-protocol, and checks those against the Redfish
specification. git@github.com:DMTF/Redfish-Protocol-Validator.git

Status: 100% of assertions passing. No CI integration.

OpenBMC-test-automation: A tool based on robot framework for testing some
portion of the OpenBMC Redfish use cases.

Status: Passing for some machines with CI integration.

slowloris: A tool to verify timeouts and DOS attack mitigation is implemented
properly. <https://github.com/gkbrk/slowloris>

Status: Passing, no automated enforcement.

testssl.sh: A tool for verifying the correctness of the bmcweb cipher suites
against current recommended security standards
<https://github.com/drwetter/testssl.sh>

Status: Unknown

## Clients

fwupd: Is a client implementation that allows updating firmware components in a
generic way, and includes redfish as one of its plugins.
git@github.com:fwupd/fwupd.git

Status: Unknown

python-redfish-library: A python library used by a number of tools.
git@github.com:DMTF/python-redfish-library.git

Status: Compatible

Redfish-Event-Listener: An example client for testing and implementing
EventService handlers. <https://github.com/DMTF/Redfish-Event-Listener>

Status: Compatible. No CI integration.

Redfish-Tacklebox: A collection of common utilities for managing redfish servers
git@github.com:DMTF/Redfish-Tacklebox.git

Status: Unknown.

redfishtool: A generic command line tool for reading and writing operations to
the Redfish server. <https://github.com/DMTF/Redfishtool>

Status: Compatible. No automated testing.