Skip to content
This repository was archived by the owner on Aug 23, 2024. It is now read-only.

Commit f5ade97

Browse files
committed
0.9.6 Versioning
1 parent 1372788 commit f5ade97

File tree

4 files changed

+65
-71
lines changed

4 files changed

+65
-71
lines changed

AUTHORS.md

-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,2 @@
1-
21
# Original Contribution:
32
* Paul Vancil - Dell Inc. -- Dell Extreme Scale Infrastructure (ESI) Architecture Team
4-
5-
6-
# Other Key Contributions:
7-

CHANGELOG.md

+9-4
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
1-
21
# Change Log
32

3+
## [0.9.6] - 2018-05-25
4+
- Fixed setuptools config to install all necessary Python modules
5+
- Enabled OpenBMC Static OBmcMonolythicPower8
6+
- Made simulator more generic to support other mockups
7+
- Fixed several properties in the Computer System resource
8+
- Fixed Content-Type header when returning XML
9+
410
## [0.9.2] - 2016-12-08
5-
- fix code to work with late change in mockup data. It was failing to load
6-
- fixed incomplete code in systems.py modeling logs
11+
- Fixex code to work with late change in mockup data. It was failing to load
12+
- Fixed incomplete code in systems.py modeling logs
713

814
## [0.9.1] - 2016-09-06
915
- Initial Public Release
10-
-

README.md

+55-61
Original file line numberDiff line numberDiff line change
@@ -1,102 +1,96 @@
1-
Copyright 2016 Distributed Management Task Force, Inc. All rights reserved.
1+
Copyright 2016-2018 Distributed Management Task Force, Inc. All rights reserved.
2+
23
# Redfish Profile Simulator
4+
35
## About
4-
***Redfish Profile Simulator***
5-
is a Python34 real simulator of the "simple monolithic server" feature profile.
66

7-
* A simple, minimal Redfish Service
8-
* For a monolithic Server
9-
* Aligned with: OCP Remote Machine Management Spec feature set
7+
***Redfish Profile Simulator*** is a Python34 real simulator of the "simple monolithic server" feature profile.
8+
9+
* A simple, minimal Redfish Service
10+
* For a monolithic Server
11+
* Aligned with: OCP Remote Machine Management Spec feature set
1012

1113
### Description
14+
1215
* Based on flask
1316
* Initial resources are loaded from a catfish mockup into python dictionary structures
14-
* After that, data is read/patched... to the dictionaries
17+
* After that, data is read/patched... to the dictionaries
1518
* Supports BasicAuth, as well as Redfish Session Auth (for one session, one user)
1619
* Uses:
17-
* easy to add new URIs for testing a client
18-
* easy to tweak behavior or add bad responses to test a client
19-
* allows testing of authentication -- which current mockup servers dont do
20-
* easy to insert print statements in service to see if data coming across good..etc
20+
* easy to add new URIs for testing a client
21+
* easy to tweak behavior or add bad responses to test a client
22+
* allows testing of authentication -- which current mockup servers dont do
23+
* easy to insert print statements in service to see if data coming across good..etc
2124

2225
### Current Limitation:
23-
* supports a single user/passwd and token
24-
* the user/passwd is: root/password123456
25-
* The authToken for Session Auth is: 123456SESSIONauthcode
26-
* Supports only HTTP (not HTTPS)
27-
* with redfishtool, use options: redfishtool.py -r127.0.0.1:5000 -u root -p password123456 -S Never <subcmd>
28-
2926

27+
* supports a single user/passwd and token
28+
* the user/passwd is: root/password123456
29+
* The authToken for Session Auth is: 123456SESSIONauthcode
30+
* Supports only HTTP (not HTTPS)
31+
* with redfishtool, use options: redfishtool.py -r127.0.0.1:5000 -u root -p password123456 -S Never <subcmd>
3032

3133
## Usage
32-
* ` python redfishProfileSimulatorMain.py [options]`
3334

35+
* ` python redfishProfileSimulatorMain.py [options]`
3436
* `[Options]`:
3537

36-
-V, --Version,--- the program version
37-
-h, --help, --- help
38-
-H<hostIP>, --Host=<hostIp> --- host IP address. dflt=127.0.0.1
39-
-P<port>,--Port=<port> --- the port to use. dflt=5000
40-
-p<profile_path>, --profile=<profile_path> --- the path to the Redfish profile to use. dflt="SimpleOcpServerV1"
41-
38+
-V, --Version,--- the program version
39+
-h, --help, --- help
40+
-H<hostIP>, --Host=<hostIp> --- host IP address. dflt=127.0.0.1
41+
-P<port>,--Port=<port> --- the port to use. dflt=5000
42+
-p<profile_path>, --profile=<profile_path> --- the path to the Redfish profile to use. dflt="SimpleOcpServerV1"
4243

4344
## Implementation
45+
4446
* The simulation includes an http server, RestEngine, and dynamic Redfish datamodel.
4547
* You can GET, PATCH,... to the service just like a real Redfish service.
4648
* Both Basic and Redfish Session/Token authentication are supported
47-
* for a single user/passwd and token
48-
* the user/passwd is: root/password123456
49-
* The authToken for Session Auth is: 123456SESSIONauthcode
50-
* these can be changed by editing the redfishURSs.py file---will make dynamic later.
49+
* for a single user/passwd and token
50+
* the user/passwd is: root/password123456
51+
* The authToken for Session Auth is: 123456SESSIONauthcode
52+
* these can be changed by editing the redfishURSs.py file---will make dynamic later.
5153
* The http service and Rest engine is built on Flask, and all code is Python 3.4+
5254
* The data model resources are "initialized" from the SPMF "SimpleOcpServerV1" Mockup.
53-
* and stored as python dictionaries
54-
* then the dictionaries are updated with patches, posts, deletes.
55+
* and stored as python dictionaries
56+
* then the dictionaries are updated with patches, posts, deletes.
5557
* The program can be extended to support other mockup \"profiles\".
5658
* By default, the simulation runs on localhost (127.0.0.1), on port 5000.
57-
* These can be changed with CLI options: -P<port> -H <hostIP> | --port=<port> --host=<hostIp>
59+
* These can be changed with CLI options: -P<port> -H <hostIP> | --port=<port> --host=<hostIp>
5860

5961
## Simple OCP Server V1 Mockup Description
62+
6063
* A Monolithic server:
61-
* One ComputerSystem
62-
* One Chassis
63-
* One Manager
64+
* One ComputerSystem
65+
* One Chassis
66+
* One Manager
6467

6568
* Provides basic management features aligned with OCP Remote Machine Management Spec 1.01:
66-
* Power-on/off/reset
67-
* Boot to PXE, HDD, BIOS setup (boot override)
68-
* 4 temp sensors per DCMI (CPU1, CPU2, Board, Inlet)
69-
* Simple Power Reading, and DCMI Power Limiting
70-
* Fan Monitoring w/ redundancy
71-
* Set asset tag and Indicator LED
72-
* Basic inventory (serial#, model, SKU, Vendor, BIOS ver…)
73-
* User Management
74-
* BMC management: get/set IP, version, enable/disable protocol
69+
* Power-on/off/reset
70+
* Boot to PXE, HDD, BIOS setup (boot override)
71+
* 4 temp sensors per DCMI (CPU1, CPU2, Board, Inlet)
72+
* Simple Power Reading, and DCMI Power Limiting
73+
* Fan Monitoring w/ redundancy
74+
* Set asset tag and Indicator LED
75+
* Basic inventory (serial#, model, SKU, Vendor, BIOS ver…)
76+
* User Management
77+
* BMC management: get/set IP, version, enable/disable protocol
7578

7679
* What it does NOT have -- that the Redfish 1.0 model supports
77-
* No PSUs in model (RMM spec did not include PSUs)
78-
* No ProcessorInfo, MemoryInfo, StorageInfo, System-EthernetInterfaceInfo
79-
* No Tasks
80-
* JsonSchema and Registries collections left out (since that is optional)
81-
* No EventService--Remote Machine Management spec used basic PET alerts
82-
* Uses only the pre-defined privileges and roles
83-
80+
* No PSUs in model (RMM spec did not include PSUs)
81+
* No ProcessorInfo, MemoryInfo, StorageInfo, System-EthernetInterfaceInfo
82+
* No Tasks
83+
* JsonSchema and Registries collections left out (since that is optional)
84+
* No EventService--Remote Machine Management spec used basic PET alerts
85+
* Uses only the pre-defined privileges and roles
8486

8587
## TO DO
88+
8689
Some limitations to be extended in current implementation
8790

8891
* Auth supports a single hard-coded username, password, and AuthToken, although the protocol is 100% compliant with respect to testing clients trying to authenticate
89-
* ex with basic auth, you have to use the hard coded user/password
90-
* ex with Session Auth, you just use the hard coded AuthToken
92+
* ex with basic auth, you have to use the hard coded user/password
93+
* ex with Session Auth, you just use the hard coded AuthToken
9194
* adding and deleting users not implemented--has 3 or 4 users predefined
9295
* accountService properties can be written, but failed logins, lockouts, etc is not implemented
9396
* system log not implemented yet
94-
95-
96-
97-
98-
99-
100-
101-
102-

redfishProfileSimulator.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import getopt
1111
import os
1212

13-
rfVersion = "0.9.49"
13+
rfVersion = "0.9.6"
1414
rfProgram1 = "redfishProfileSimulator"
1515
rfProgram2 = " "
1616
rfUsage1 = "[-Vh] [--Version][--help]"

0 commit comments

Comments
 (0)