- monitor command role is to print on a regular base the values of
variable constants (Temperature, power, Fans, ...)
- new monitor_loop parameter (wait time between queries)
- new monitor_info.template
- get_power has been renamed to get_powerstate to avoid confusion with
Power measures and moved to the Device class as well as get_description
- More genericity for the Power and Thermal classes (moved into types.py)
- Build process amended (0.4.3 is the next version, repo are generic and
in line with pb 0.15
Change-Id: I05016b2557b2f7638e1ea22a89dcf91ebae1066f
- print Part or Serial numbers of Chassis and Systems
using a specific jinja2 template
- for HPE servers, print them for NICs and SmartArrays, and Physical
drives behind (not seen with calls on standard components)
Change-Id: I741c97847a07e126d7f34ceaa4695f9a8cdcec2b
The change on commit I319376f818b532a1511248a9f17ecd0a41540e88 is
reverse by Id13e94d75f85fec7d98f1fa005c37836c244e08a recently
Change-Id: Ibf8cd587bbbc2d01614e677721f5d80fce06e1fa
- Add redfish-check-cartridge to check cartridge changes into a HPE Moonshot
chassis.
- Fix for m510 cartridges with first revision of firmware that do not
have Manager and Chassis data.
- Various updates to be pep8 compliant.
Change-Id: Ie38cc5539e71aaf1041394fbbc6596c313f9bb47
- Add oem structure
- Add oem as a redfish submodule.
- Modify code and files to avoid circular imports :
- types.py contains the Base, BaseCollection and Device class on
which all standard and oem classes are inherited.
- standard.py will contain the redfish standard classes.
- oem/<oem_name> will contains specific classes for <oem_name>.
so oem/hpe will contains hpe specific classes.
Note: the goal of python-redfish is not to deal with oem part.
So oem will be kept as minimal as possible, however currently
some critical hardware characteristics are only available into the oem
part that's the reason why we are implementing it.
- Add oem class NetworkAdapter
- This is mainly to extract mac@ with function get_mac().
- Add classes SmartStorage, ArrayControllersCollection,
ArrayControllers, LogicalDrivesCollection, LogicalDrives.
- Add Logical drives methods get_capacity(), get_raid.
- Improve system template and add a couple of function.
- Add get_structured_name().
- Add get_uefi_path().
- However this 2 functions provide invalid content due to the firmware.
- Review and inherit from device instead of base for some components.
Change-Id: Id13e94d75f85fec7d98f1fa005c37836c244e08a
- Do not pass tests on redfish-client
Currently tests are using a local docker container. We remove them to
allow jenkins tests to pass.
- Move programme usage in a separate file to get rid of pep8 issue.
- Fix tox venv usage
- Add flake8 test dependency
Change-Id: I12f3a567f3ff83c34c3832a544ef547372857161
function geturl will rasie a TypeError if we specify a str url and
replace the scheme value with a unicode value. In order to work with
both string redfish url and unicode redfish url, we need to convert
the "https" to the scheme's type.
This bug canbe reproduced with:
from __future__ import unicode_literals
from __future__ import print_function
from __future__ import division
from __future__ import absolute_import
from future import standard_library
standard_library.install_aliases()
from builtins import object
import json
from urllib.parse import urlparse, urljoin, urlunparse
url=urlparse(unicode("http://127.0.0.1"))
url._replace(scheme="https").geturl()
url=urlparse(str("http://127.0.0.1"))
url._replace(scheme="https").geturl()
Change-Id: I1aa0f173a7b843c2bdf3eba8425ff794778b74da
- Default location for log files is now under the HOME directory of the
user instead of /var/log
- Create that default .redfish dir if not already existing
- Adapt error messages
- Login using https://<manager>/redfish/v1 raised an error, which was
not the case using https://<manager>/rest/v1.
This was due to a '/' appended to the Sessions url ending to a '//' in
the target url. Fix by using urlparse.urljoin to fix that issue.
1- Get target prefix
2- if prefix == '/usr' --> Force configuration file location to /etc
3- else --> set file location relative to the prefix
ex : prefix/bin, prefix/share, prefix/etc
4- Update conf file content with the template path location
5- Update script file content with version and configuration file
location
- 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.