- Change systems_list to systems_dict["<index>"] .
The systems_dict will contain system objects, <index> is
the redfish <index> as reported inside url.
- Put in place sphinx mechanism to build documentation.
Most of the documentation is generated from python docstrings.
- redfish-client.py usage is a bit modified to display a decent
documentation.
- A link rfclient.py to redfish-client.py was created to allow sphinx
parsing. The '-' char is not allowed for module and so sphinx autodoc
module.
- Note : Copyright may need to be reviewed as well as main.py.
- Use templating system, so user will be able to customize output.
- This could be use later to propose output in various format (html,
xml, json).
- Undefined EthernetInterfacesCollection in case of failure. So it
allows to test definition in the template or elsewhere.
- Change EthernetInterfacesCollection to not report a list but a dict.
This change will be the same on *Collection.
- Factorise get_name function from Root to Base class as Name parameter
seems defined for all kind of Redfish objects.
- Report first EthernetInterfaces data in redfish-client as
an example --> need to be elaborated
- Change ManagersCollection to not report a list by a dict.
The managers_dict will contain index --> manager object, index is the
redfish index as reported inside url
- Notice that Proliant firmware now uses EthernetInterfaces as specified
by Redfish
- Bug to be reported :
/redfish/v1/Managers/1/EthernetInterfaces/1 returns invalid content (not json)
- Revert some changes on " to ' as it can break json data. Example :
return self.set_parameter_json('{"Boot": {"BootSourceOverrideTarget":
"'+target+'"},{"BootSourceOverrideEnabled" : "'+enabled+'"}}')
- Try to factorise initialize_logger into redfish.config.
- Remove global logger declaration to avoid potential side effects.
- Add new logging.debug instead of print and try to cleanup.
- Allow logger.setlevel to be more flexible by configuring console and
file level of log.
- Prepare client to allow optional debug parameter with loglevel
selection.
- set_parameter(parameter_name, value): change parameter_name to value. Restart is required to apply the changes.
- set_parameter_json(json): update System with the json. Restart is required to apply the changes.
New tests were added to simple-proliat file to update boot value.
- Uses tortilla lib to wrap the REST API (dep)
- Uses python requests to manage login/logout (dep)
- Provides 2 functional working examples with Redfish simulator and
ProLiant server or Moonshot Server
- Remove OpenStack deps as this code has to be usable outside of
OpenStack
- Provides a configuration file to handle credentials and connection
URL
- Provides a mapping class to handle multiple versions of Redfish
(in this version, 0.95.0 for ProLiant and 1.0.0 for mockup)
- Provides a first action reset_server to ... reset system
The action is commented into simple-proliant.py to not do
unexpected reset.
- Provides a first retrieving function get_bios_version to get the
BIOS version of a system.
- Add basic logging capability
- Clean up to meet pep8 and doc strings (in progress).
Some big changes here:
Rename connection.py to server.py
Refactor about half of server.py into a new types.py module which builds
classes for each resource type, and auto-builds links to fetch
sub-resources from each type.
Add examples/walk-chassis.py to demonstrate how to use the Root and
Chassis classes to walk all the objects returned from /rest/v1/chassis/
Import oslo_log and start using it (more to do here, it's not working
quite yet).