Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-sushy for openSUSE:Factory checked in at 2023-07-18 22:09:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-sushy (Old) and /work/SRC/openSUSE:Factory/.python-sushy.new.3193 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-sushy" Tue Jul 18 22:09:09 2023 rev:13 rq:1099311 version:4.5.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-sushy/python-sushy.changes 2023-03-07 16:50:14.049552939 +0100 +++ /work/SRC/openSUSE:Factory/.python-sushy.new.3193/python-sushy.changes 2023-07-18 22:09:40.699510239 +0200 @@ -1,0 +2,12 @@ +Tue Jul 18 16:42:38 UTC 2023 - cloud-de...@suse.de + +- update to version 4.5.0 + - Retry on ilo state error + - Update master for stable/2023.1 + - Update pep8 dep hacking to latest: v6 + - Exclude all files starting with . from flake8 tests + - Add TransferProtocolType for any general error that mentions it + - Handle TransferMethod in vmedia insertion + - Handle non-default language for registries + +------------------------------------------------------------------- Old: ---- sushy-4.4.2.tar.gz New: ---- sushy-4.5.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-sushy.spec ++++++ --- /var/tmp/diff_new_pack.AF4ORK/_old 2023-07-18 22:09:41.375514018 +0200 +++ /var/tmp/diff_new_pack.AF4ORK/_new 2023-07-18 22:09:41.379514040 +0200 @@ -17,13 +17,13 @@ Name: python-sushy -Version: 4.4.2 +Version: 4.5.0 Release: 0 Summary: Python library to communicate with Redfish based systems License: Apache-2.0 Group: Development/Languages/Python URL: https://docs.openstack.org/sushy -Source0: https://files.pythonhosted.org/packages/source/s/sushy/sushy-4.4.2.tar.gz +Source0: https://files.pythonhosted.org/packages/source/s/sushy/sushy-4.5.0.tar.gz BuildRequires: openstack-macros BuildRequires: python3-oslotest BuildRequires: python3-pbr >= 2.0.0 @@ -62,7 +62,7 @@ This package contains the documentation. %prep -%autosetup -p1 -n sushy-4.4.2 +%autosetup -p1 -n sushy-4.5.0 %py_req_cleanup %build ++++++ sushy-4.4.2.tar.gz -> sushy-4.5.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-4.4.2/AUTHORS new/sushy-4.5.0/AUTHORS --- old/sushy-4.4.2/AUTHORS 2023-02-10 17:07:59.000000000 +0100 +++ new/sushy-4.5.0/AUTHORS 2023-05-11 11:12:15.000000000 +0200 @@ -10,6 +10,7 @@ Bob Fournier <bfour...@redhat.com> Christopher Dearborn <christopher.dearb...@dell.com> Debayan Ray <debayan....@gmail.com> +Derek Higgins <der...@redhat.com> Dmitry Tantsur <divius.ins...@gmail.com> Dmitry Tantsur <dtant...@protonmail.com> Doug Hellmann <d...@doughellmann.com> @@ -23,6 +24,7 @@ Jacob Anders <jand...@redhat.com> James E. Blair <jebl...@redhat.com> Javier Pena <jp...@redhat.com> +Jay Faulkner <j...@jvf.cc> John L. Villalovos <john.l.villalo...@intel.com> Julia Kreger <juliaashleykre...@gmail.com> Kafilat Adeleke <adelekekafilataden...@gmail.com> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-4.4.2/ChangeLog new/sushy-4.5.0/ChangeLog --- old/sushy-4.4.2/ChangeLog 2023-02-10 17:07:59.000000000 +0100 +++ new/sushy-4.5.0/ChangeLog 2023-05-11 11:12:15.000000000 +0200 @@ -1,6 +1,17 @@ CHANGES ======= +4.5.0 +----- + +* Retry on ilo state error +* Update pep8 dep hacking to latest: v6 +* Handle TransferMethod in vmedia insertion +* Add TransferProtocolType for any general error that mentions it +* Exclude all files starting with . from flake8 tests +* Update master for stable/2023.1 +* Handle non-default language for registries + 4.4.2 ----- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-4.4.2/PKG-INFO new/sushy-4.5.0/PKG-INFO --- old/sushy-4.4.2/PKG-INFO 2023-02-10 17:08:00.087798600 +0100 +++ new/sushy-4.5.0/PKG-INFO 2023-05-11 11:12:15.658070300 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.2 Name: sushy -Version: 4.4.2 +Version: 4.5.0 Summary: Sushy is a small Python library to communicate with Redfish based systems Home-page: https://docs.openstack.org/sushy/latest/ Author: OpenStack diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-4.4.2/releasenotes/notes/handle_transfer_method-a51d5a17e381ebee.yaml new/sushy-4.5.0/releasenotes/notes/handle_transfer_method-a51d5a17e381ebee.yaml --- old/sushy-4.4.2/releasenotes/notes/handle_transfer_method-a51d5a17e381ebee.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/sushy-4.5.0/releasenotes/notes/handle_transfer_method-a51d5a17e381ebee.yaml 2023-05-11 11:11:46.000000000 +0200 @@ -0,0 +1,4 @@ +--- +fixes: + - | + Add TransferMethod for any general error that mentions it. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-4.4.2/releasenotes/notes/more-transferprotocoltype-739ce8bdedbcb51c.yaml new/sushy-4.5.0/releasenotes/notes/more-transferprotocoltype-739ce8bdedbcb51c.yaml --- old/sushy-4.4.2/releasenotes/notes/more-transferprotocoltype-739ce8bdedbcb51c.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/sushy-4.5.0/releasenotes/notes/more-transferprotocoltype-739ce8bdedbcb51c.yaml 2023-05-11 11:11:46.000000000 +0200 @@ -0,0 +1,4 @@ +--- +fixes: + - | + Add TransferProtocolType for any general error that mentions it diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-4.4.2/releasenotes/notes/non-default-language-registries-f73bdecc98ba2cc8.yaml new/sushy-4.5.0/releasenotes/notes/non-default-language-registries-f73bdecc98ba2cc8.yaml --- old/sushy-4.4.2/releasenotes/notes/non-default-language-registries-f73bdecc98ba2cc8.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/sushy-4.5.0/releasenotes/notes/non-default-language-registries-f73bdecc98ba2cc8.yaml 2023-05-11 11:11:46.000000000 +0200 @@ -0,0 +1,7 @@ +--- +fixes: + - | + In some cases registries might not be available because the + our check for the registry language did not account for a + possible country suffix. The logic was improved to take it + into account. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-4.4.2/releasenotes/notes/retry-ilo-not-ready-error-0b4dce882282eaac.yaml new/sushy-4.5.0/releasenotes/notes/retry-ilo-not-ready-error-0b4dce882282eaac.yaml --- old/sushy-4.4.2/releasenotes/notes/retry-ilo-not-ready-error-0b4dce882282eaac.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/sushy-4.5.0/releasenotes/notes/retry-ilo-not-ready-error-0b4dce882282eaac.yaml 2023-05-11 11:11:46.000000000 +0200 @@ -0,0 +1,10 @@ +--- +fixes: + - | + An issue was encountered on some HPE iLO supported machines where the + Baseboard Management Controller would respond with a HTTP 400 error + and an error message indicating the requested operation was invalid + for the then system state. For example, attempting to change the power + state via the BMC shortly after previously changing the power state. + We now attempt to retry within the permitted number of retries when + this error is encountered. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-4.4.2/releasenotes/source/2023.1.rst new/sushy-4.5.0/releasenotes/source/2023.1.rst --- old/sushy-4.4.2/releasenotes/source/2023.1.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/sushy-4.5.0/releasenotes/source/2023.1.rst 2023-05-11 11:11:46.000000000 +0200 @@ -0,0 +1,6 @@ +=========================== +2023.1 Series Release Notes +=========================== + +.. release-notes:: + :branch: stable/2023.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-4.4.2/releasenotes/source/index.rst new/sushy-4.5.0/releasenotes/source/index.rst --- old/sushy-4.4.2/releasenotes/source/index.rst 2023-02-10 17:07:32.000000000 +0100 +++ new/sushy-4.5.0/releasenotes/source/index.rst 2023-05-11 11:11:46.000000000 +0200 @@ -6,6 +6,7 @@ :maxdepth: 1 unreleased + 2023.1 zed yoga xena diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-4.4.2/sushy/connector.py new/sushy-4.5.0/sushy/connector.py --- old/sushy-4.4.2/sushy/connector.py 2023-02-10 17:07:32.000000000 +0100 +++ new/sushy-4.5.0/sushy/connector.py 2023-05-11 11:11:46.000000000 +0200 @@ -94,12 +94,17 @@ def check_retry_on_exception(self, exception_msg): """Checks whether retry on exception is required.""" - if ('SYS518' in str(exception_msg)): + retry = False + exc_str = str(exception_msg) + if 'SYS518' in exc_str: LOG.debug('iDRAC is not yet ready after previous operation. ' - 'Error: %(err)s', {'err': str(exception_msg)}) - return True - else: - return False + 'Error: %(err)s', {'err': exc_str}) + retry = True + elif 'iLO.2.15.InvalidOperationForSystemState' in exc_str: + LOG.debug('iLO is not ready after previous operation. ' + 'Error: %(error)s', {'err': exc_str}) + retry = True + return retry def _op(self, method, path='', data=None, headers=None, blocking=False, timeout=60, server_side_retries_left=None, @@ -226,7 +231,7 @@ or self.check_retry_on_exception(e.message)) and server_side_retries_left > 0): LOG.warning('Got server side error %s in response to a ' - 'GET request, retrying after %d seconds. Retries ' + 'request, retrying after %d seconds. Retries ' 'left %d.', e, self._server_side_retries_delay, server_side_retries_left) @@ -239,7 +244,25 @@ **extra_session_req_kwargs) else: raise - + except exceptions.BadRequestError as e: + if (method.lower() != 'get' + and self.check_retry_on_exception(e.message) + and server_side_retries_left > 0): + LOG.warning('Server has indicated a BadRequest for %s but ' + 'the response payload is a known retriable ' + 'condition and we will retry in %d seconds. ' + 'Retries left %d.', + e, self._server_side_retries_delay, + server_side_retries_left) + time.sleep(self._server_side_retries_delay) + server_side_retries_left -= 1 + return self._op( + method, path, data=data, headers=headers, + blocking=blocking, timeout=timeout, + server_side_retries_left=server_side_retries_left, + **extra_session_req_kwargs) + else: + raise if blocking and response.status_code == 202: if not response.headers.get('Location'): m = ('HTTP response for %(method)s request to %(url)s ' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-4.4.2/sushy/resources/base.py new/sushy-4.5.0/sushy/resources/base.py --- old/sushy-4.4.2/sushy/resources/base.py 2023-02-10 17:07:32.000000000 +0100 +++ new/sushy-4.5.0/sushy/resources/base.py 2023-05-11 11:11:46.000000000 +0200 @@ -594,7 +594,12 @@ for key, registry in registries.items(): if (registry and self._attribute_registry in (key, registry.identity)): - if language != registry.language: + # NOTE(iurygregory): some registries may have "en-US" + # as their language, in this case we can check if the + # registry language starts with the requested language. + registry_language = registry.language.lower().split('-', 1)[0] + if (language != registry.language + and language.lower() != registry_language): LOG.debug('Found %(descr)s but its language %(reg_lang)s ' 'does not match the requested %(lang)s', {'descr': description, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-4.4.2/sushy/resources/manager/virtual_media.py new/sushy-4.5.0/sushy/resources/manager/virtual_media.py --- old/sushy-4.4.2/sushy/resources/manager/virtual_media.py 2023-02-10 17:07:32.000000000 +0100 +++ new/sushy-4.5.0/sushy/resources/manager/virtual_media.py 2023-05-11 11:11:46.000000000 +0200 @@ -111,12 +111,26 @@ Try to determine if it happened due to missing TransferProtocolType. """ + if (error.code.endswith('GeneralError') + and 'TransferProtocolType' in error.detail): + return True + return ( (error.code.endswith(".ActionParameterMissing") or error.code.endswith(".PropertyMissing")) and "#/TransferProtocolType" in error.related_properties ) + def is_transfer_method_required(self, error=None): + """Check the response code and body and in case of failure + + Try to determine if it happened due to missing TransferMethod + """ + if (error.code.endswith('GeneralError') + and 'TransferMethod' in error.detail): + return True + return False + def insert_media(self, image, inserted=True, write_protected=True, username=None, password=None, transfer_method=None): """Attach remote media to virtual media @@ -182,7 +196,18 @@ payload['TransferProtocolType'] = "HTTPS" elif payload['Image'].startswith('http://'): payload['TransferProtocolType'] = "HTTP" - self._conn.post(target_uri, data=payload) + + # NOTE (iurygregory) we try to handle the case where a + # a TransferMethod is also required in the payload. + try: + self._conn.post(target_uri, data=payload) + except exceptions.HTTPError as error2: + if self.is_transfer_method_required(error2): + payload['TransferMethod'] = "Stream" + self._conn.post(target_uri, data=payload) + else: + raise + else: raise self.invalidate() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-4.4.2/sushy/resources/registry/message_registry_file.py new/sushy-4.5.0/sushy/resources/registry/message_registry_file.py --- old/sushy-4.4.2/sushy/resources/registry/message_registry_file.py 2023-02-10 17:07:32.000000000 +0100 +++ new/sushy-4.5.0/sushy/resources/registry/message_registry_file.py 2023-05-11 11:11:46.000000000 +0200 @@ -119,8 +119,14 @@ # NOTE (etingof): as per RFC5646, languages are case-insensitive language = language.lower() + # NOTE(iurygregory): some registries may have "en-US" as their + # language, in this case we can check if the registry language + # starts with the requested language. locations = [ - l for l in self.location if l.language.lower() == language] + l for l in self.location + if l.language.lower().split('-', 1)[0] == language + or l.language == language + ] locations += [ l for l in self.location if l.language.lower() == 'default'] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-4.4.2/sushy/tests/unit/json_samples/bios_attribute_registry_file_zthardware.json new/sushy-4.5.0/sushy/tests/unit/json_samples/bios_attribute_registry_file_zthardware.json --- old/sushy-4.4.2/sushy/tests/unit/json_samples/bios_attribute_registry_file_zthardware.json 1970-01-01 01:00:00.000000000 +0100 +++ new/sushy-4.5.0/sushy/tests/unit/json_samples/bios_attribute_registry_file_zthardware.json 2023-05-11 11:11:46.000000000 +0200 @@ -0,0 +1,19 @@ +{ + "@odata.context": "/redfish/v1/$metadata#MessageRegistryFile.MessageRegistryFile", + "@odata.etag": "\"1642688165\"", + "@odata.id": "/redfish/v1/Registries/BiosAttributeRegistryProt0.208.208.0", + "@odata.type": "#MessageRegistryFile.v1_1_3.MessageRegistryFile", + "Description": "Registry for BiosAttributeRegistryProt0.208.208.0", + "Id": "BiosAttributeRegistryProt0.208.208.0", + "Languages": [ + "en-US" + ], + "Location": [ + { + "Language": "en-US", + "Uri": "/redfish/v1/Registries/BiosAttributeRegistryProt0.208.208.0.json" + } + ], + "Name": "BiosAttributeRegistryProt0.208.208.0 Registry", + "Registry": "BiosAttributeRegistryProt0.208.208.0" +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-4.4.2/sushy/tests/unit/json_samples/bios_attribute_registry_zthardware.json new/sushy-4.5.0/sushy/tests/unit/json_samples/bios_attribute_registry_zthardware.json --- old/sushy-4.4.2/sushy/tests/unit/json_samples/bios_attribute_registry_zthardware.json 1970-01-01 01:00:00.000000000 +0100 +++ new/sushy-4.5.0/sushy/tests/unit/json_samples/bios_attribute_registry_zthardware.json 2023-05-11 11:11:46.000000000 +0200 @@ -0,0 +1,75 @@ +{ + "RegistryVersion": "208.208.0", + "OwningEntity": "AMI", + "Name": "Prot0 BIOS Attribute Registry", + "@odata.context": "/redfish/v1/$metadata#AttributeRegistry.AttributeRegistry", + "RegistryEntries": { + "Dependencies": [ + { + "Type": "Map", + "DependencyFor": "ACPI004", + "Dependency": { + "MapToValue": "true", + "MapToProperty": "Hidden", + "MapFrom": [ + { + "MapFromValue": true, + "MapFromProperty": "CurrentValue", + "MapFromAttribute": "ACPI004", + "MapFromCondition": "EQU" + } + ], + "MapToAttribute": "ACPI002" + } + } + ], + "Attributes": [ + { + "DefaultValue": "Enable", + "UefiNamespaceId": "x-UEFI-AMI", + "DisplayName": "TPM SUPPORT", + "HelpText": "Enables or Disables BIOS support for security device. O.S. will not show Security Device. TCG EFI protocol and INT1A interface will not be available.", + "AttributeName": "TCG003", + "Value": [ + { + "ValueName": "Disable", + "ValueDisplayName": "Disable" + }, + { + "ValueName": "Enable", + "ValueDisplayName": "Enable" + } + ], + "ReadOnly": false, + "ResetRequired": true, + "Type": "Enumeration" + }, + { + "DefaultValue": "Disabled", + "UefiNamespaceId": "x-UEFI-AMI", + "DisplayName": " Disable Block Sid", + "HelpText": " Override to allow SID authentication in TCG Storage device", + "AttributeName": "TCG023", + "Value": [ + { + "ValueName": "Enabled", + "ValueDisplayName": "Enabled" + }, + { + "ValueName": "Disabled", + "ValueDisplayName": "Disabled" + } + ], + "ReadOnly": false, + "ResetRequired": true, + "Type": "Enumeration" + } + ] + }, + "@odata.type": "#AttributeRegistry.v1_3_1.AttributeRegistry", + "@odata.id": "/redfish/v1/Registries/BiosAttributeRegistryProt0.208.208.0.json", + "Language": "en-US", + "@odata.etag": "\"1627746301\"", + "Id": "BiosAttributeRegistryProt0.208.208.0", + "Description": "This registry defines a representation of BIOS Attribute instances" +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-4.4.2/sushy/tests/unit/json_samples/bios_zt.json new/sushy-4.5.0/sushy/tests/unit/json_samples/bios_zt.json --- old/sushy-4.4.2/sushy/tests/unit/json_samples/bios_zt.json 1970-01-01 01:00:00.000000000 +0100 +++ new/sushy-4.5.0/sushy/tests/unit/json_samples/bios_zt.json 2023-05-11 11:11:46.000000000 +0200 @@ -0,0 +1,400 @@ +{ + "@odata.context": "/redfish/v1/$metadata#Bios.Bios", + "@odata.etag": "\"1676250921\"", + "@odata.id": "/redfish/v1/Systems/Self/Bios", + "@odata.type": "#Bios.v1_1_0.Bios", + "Actions": { + "#Bios.ChangePassword": { + "@Redfish.ActionInfo": "/redfish/v1/Systems/Self/Bios/ChangePasswordActionInfo", + "target": "/redfish/v1/Systems/Self/Bios/Actions/Bios.ChangePassword" + }, + "#Bios.ResetBios": { + "@Redfish.ActionInfo": "/redfish/v1/Systems/Self/Bios/ResetBiosActionInfo", + "target": "/redfish/v1/Systems/Self/Bios/Actions/Bios.ResetBios" + }, + "#ZtVga.ChangeState": { + "@Redfish.ActionInfo": "/redfish/v1/Systems/Self/Bios/ChangeStateActionInfo", + "target": "/redfish/v1/Systems/Self/Bios/Actions/ZtVga.ChangeState" + } + }, + "AttributeRegistry": "BiosAttributeRegistryProt0.208.208.0", + "Attributes": { + "ACPI002": false, + "ACPI004": false, + "CRCS005": "Disable", + "CSM000": "Force BIOS", + "CSM001": "Immediate", + "CSM002": "Upon Request", + "CSM005": "Disabled", + "CSM006": "UEFI only", + "CSM007": "UEFI", + "CSM008": "UEFI", + "CSM009": "UEFI", + "CSM010": "UEFI", + "CSM011": "Adjust", + "GSIO020": false, + "GSIO201": false, + "GSIO202": true, + "GSIO607": "IO=2F8h; IRQ=3,4,5,6,7,9,10,11,12;", + "GSIO608": "IO=3F8h; IRQ=3,4,5,6,7,9,10,11,12;", + "IIOS001": "Yes", + "IIOS002": "No", + "IIOS1FE": "Enable", + "IPMI000": "Enabled", + "IPMI001": "No", + "IPMI002": "Do Nothing", + "IPMI003": "Error code", + "IPMI100": "Enabled", + "IPMI101": 20, + "IPMI102": "Reset", + "IPMI103": "Disabled", + "IPMI104": 10, + "IPMI105": "Reset", + "IPMI200": "Yes, On every reset", + "IPMI201": "Clear Log", + "IPMI400": "Disabled", + "IPMI500": "Unspecified", + "IPMI501": "...", + "IPMI502": "...", + "IPMI503": "0.0.0.0", + "IPMI504": "00-00-00-00-00-00", + "IPMI505": "Unspecified", + "IPMI506": "...", + "IPMI507": "...", + "IPMI508": "0.0.0.0", + "IPMI509": "00-00-00-00-00-00", + "IPMI510": "Enabled", + "IPMI511": "Unspecified", + "IPMI512": ":::::::", + "IPMI513": 0, + "IPMI514": ":::::::", + "IPMI515": "Enabled", + "IPMI516": "Unspecified", + "IPMI517": ":::::::", + "IPMI518": 0, + "IPMI519": ":::::::", + "IPMI520": 0, + "IPMI521": ":::::::", + "IPMI522": "Unspecified", + "IPMI523": 0, + "IPMI524": ":::::::", + "IPMI525": "Unspecified", + "IPMI600": "Enabled", + "IPMI601": "Enabled", + "IPMI800": "", + "IPMI801": "", + "IPMI802": "Disable", + "IPMI803": 0, + "IPMI804": "No Access", + "IPMI805": "", + "IPMI807": "", + "IPMI809": "", + "IPMI810": "Disable", + "IPMI811": 0, + "IPMI812": "No Access", + "IPMI900": "Unspecified", + "IRCS001": "Auto", + "KTIS001": "Auto", + "KTIS002": 0, + "KTIS003": 0, + "KTIS004": "Auto", + "KTIS005": "Auto", + "KTIS006": "Auto", + "KTIS007": "Enable", + "MDFX001": "PMem Management Driver", + "MDFX002": "Enabled", + "MDFX003": "Enabled", + "MDFX004": "Disable", + "MDFX005": "VOL:100% PMEM:0% AD-WB:0%", + "MDFX006": "VOL:100% PMEM:0% AD-WB:0%", + "MDFX007": "VOL:100% PMEM:0% AD-WB:0%", + "MDFX008": "VOL:100% PMEM:0% AD-WB:0%", + "MDFX009": "VOL:100% PMEM:0% AD-WB:0%", + "MDFX00A": "VOL:100% PMEM:0% AD-WB:0%", + "MDFX00B": "VOL:100% PMEM:0% AD-WB:0%", + "MDFX00C": "VOL:100% PMEM:0% AD-WB:0%", + "MEMS001": "POR", + "MEMS002": "Soft PPR", + "MEMS003": "Disable", + "MEMS004": "Auto", + "MEMS005": "Auto", + "MEMS006": "Auto", + "MEMS007": "2LM", + "MEMS008": "4KB Target, 256B Channel (4KB across CPU sockets, 256B across MCs within socket, 256B across channels within MCs)", + "MEMS00B": "2-way Interleave", + "MEMS00C": "Disabled", + "MEMS00D": "Disabled", + "MEMS00E": 100, + "MEMS00F": "Disabled", + "MEMS010": "Enable at End of POST", + "MESS001": "Disable", + "MESS002": 32768, + "NVLCK002": "Enable", + "NWSK000": "Enabled", + "NWSK001": "Enabled", + "NWSK002": "Disabled", + "NWSK004": 120, + "NWSK005": 1, + "NWSK006": "Disabled", + "NWSK007": "Disabled", + "OROM001": true, + "OROM002": true, + "OROM990": true, + "OROM991": true, + "OROM992": true, + "OROM993": true, + "OROM994": true, + "OROM995": true, + "OROM996": true, + "OROM998": true, + "OROM999": true, + "PCHS001": "Enable", + "PCHS002": "AHCI", + "PCHS005": "Enable", + "PCHS006": "AHCI", + "PCHS009": "Disable", + "PCHS00A": "Enable", + "PCHS00B": "Enable", + "PCHS00C": "Enable", + "PCHS00D": "Enable", + "PCHS00E": "Enable", + "PCHS00F": "Enable", + "PCHS010": "Enable", + "PCHS011": "Enable", + "PCHS012": "Enable", + "PCHS013": "Enable", + "PCHS014": "Enable", + "PCHS015": "Enable", + "PCHS016": "Enable", + "PCHS017": "Enable", + "PCHS018": "Enable", + "PCHS019": "Enable", + "PCHS01A": "Enable", + "PCHS01B": "Enable", + "PCHS01C": "Enable", + "PCHS01D": "Enable", + "PCHS01E": "Enable", + "PCHS01F": "Enable", + "PCHS020": "Enable", + "PCHS021": "Enable", + "PCIS001": "32 PCI Bus Clocks", + "PCIS002": "64 PCI Bus Clocks", + "PCIS003": "Disabled", + "PCIS004": "Disabled", + "PCIS005": "Disabled", + "PCIS006": "Enabled", + "PCIS007": "Enabled", + "PCIS008": "Enabled", + "PCIS009": "Disabled", + "PCIS010": "Enabled", + "PCIS011": "Auto", + "PCIS012": "Auto", + "PCIS013": "Disabled", + "PCIS014": "Disabled", + "PCIS015": "5", + "PCIS016": 1000, + "PCIS017": "Keep Link ON", + "PCIS018": "Disabled", + "PCIS020": "Disabled", + "PCIS021": "Disabled", + "PCIS022": "Disabled", + "PCIS023": "Disabled", + "PCIS024": "Disabled", + "PCIS025": "Disabled", + "PCIS026": "Disabled", + "PCIS027": "Auto", + "PCIS028": "Disabled", + "PCIS029": "Disabled", + "PCIS030": "Enabled", + "PCIS031": "Enabled", + "PCIS032": "Disabled", + "PCIS033": "Disabled", + "PMS001": "Enable", + "PMS002": "Enable", + "PMS003": "Native Mode with No Legacy Support", + "PMS005": "Enable", + "PMS006": "Disable", + "PMS007": "C0/C1 state", + "PMS008": "BIOS Controls EPB", + "PMS009": "OS controls EPB", + "PMS00A": "Performance", + "PMS00B": "Enable", + "PMS00C": 0, + "PMS00D": 1, + "PMS00E": "Enable", + "PMS00F": 0, + "PMS010": 1, + "PMS011": "Level 2", + "PMS012": "Disable", + "PMS013": "I/O sensitive", + "PMS014": "Disable", + "PMS015": 17, + "PMS016": "HW_ALL", + "PMS017": "Max Performance", + "PMS018": "Enable", + "PMS019": "512 Heavy", + "PMS01A": "Disable", + "PMS01B": "Disable", + "PMS01C": "Disable", + "PMS01D": "Disable", + "PMS01E": "Disable", + "PMS01F": "ACPI C2", + "PMS020": "Disable", + "PMS021": "Disable", + "PMS022": "Disable", + "PMS023": "0 us", + "PRSS001": 0, + "PRSS002": 0, + "PRSS003": 0, + "PRSS004": 0, + "PRSS011": "Enable", + "PRSS013": "Disable", + "PRSS014": "Enable", + "PRSS015": "Enable", + "PRSS016": "Enable", + "PRSS017": "Enable", + "PRSS018": "Enable", + "PRSS019": "Enable", + "PRSS01A": "Enable", + "PRSS01B": "Normal", + "PRSS01C": "Enable", + "PRSS01D": "Enable", + "REDF000": "Enabled", + "REDF001": "Basic Authentication", + "REDF002": "169.254.0.17", + "REDF003": "255.255.0.0", + "REDF004": 443, + "RFWCS030": "Disabled", + "SECB001": "Disabled", + "SECB002": "Custom", + "SECB008": "Enabled", + "SELS001": "Enable", + "SELS002": "Enable", + "SELS003": "Disable", + "SELS004": "Disable", + "SELS005": "Disable", + "SELS006": "EMCA gen 2 CSMI", + "SELS007": "EMCA gen 2 - MSMI", + "SELS008": "Enable", + "SELS009": "Enable", + "SELS00A": "Enable", + "SELS00C": "Enable", + "SELS00D": "Enable", + "SELS00E": "Enable", + "SELS00F": "Enable", + "SELS010": "Enable", + "SELS011": "Enable", + "SELS012": "Enable", + "SELS013": "Enable", + "SELS014": "Enable", + "SELS015": "Enable", + "SELS016": 1, + "SELS017": "Enable", + "SELS018": "Enable", + "SELS019": "Enable", + "SELS01A": "Enable", + "SETUP001": "", + "SETUP002": "", + "SETUP003": 1, + "SETUP004": "On", + "SETUP005": false, + "SETUP006": "Red Hat Enterprise Linux,0x000B,true;UEFI: AMI Virtual CDROM0 1.00,0x000A,true;UEFI: PXE IPv4 Intel(R) Ethernet Network Adapter E810-XXV-4,0x0001,false;UEFI: PXE IPv4 Intel(R) Ethernet Network Adapter E810-XXV-4,0x0002,false;UEFI: PXE IPv4 Intel(R) Ethernet Network Adapter E810-XXV-4,0x0003,false;UEFI: PXE IPv4 Intel(R) Ethernet Network Adapter E810-XXV-4,0x0004,false;UEFI: PXE IPv4 Intel(R) Ethernet Network Adapter E810-XXV-4,0x0005,false;UEFI: PXE IPv4 Intel(R) Ethernet Network Adapter E810-XXV-4,0x0006,false;UEFI: PXE IPv4 Intel(R) Ethernet Network Adapter E810-XXV-4,0x0007,false;UEFI: PXE IPv4 Intel(R) Ethernet Network Adapter E810-XXV-4,0x0008,false;UEFI: Built-in EFI Shell,0x0009,false;", + "TCG001": "Enabled", + "TCG002": "Enabled", + "TCG003": "Enable", + "TCG004": "Enable", + "TCG006": "None", + "TCG007": "None", + "TCG010": "TCG_2", + "TCG011": "Enabled", + "TCG012": "Enabled", + "TCG013": "Enabled", + "TCG014": "TIS", + "TCG016": "Auto", + "TCG017": "Enabled", + "TCG018": "Enabled", + "TCG019": "Disabled", + "TCG020": "Disabled", + "TCG021": "Disabled", + "TCG022": "1.3", + "TCG023": "Disabled", + "TER001": false, + "TER002": true, + "TER0020": "115200", + "TER0021": "115200", + "TER0022": "115200", + "TER010": false, + "TER011": "VT-UTF8", + "TER012": "VT100", + "TER013": "VT100", + "TER030": "8", + "TER031": "8", + "TER03F": "None", + "TER040": "None", + "TER04E": "1", + "TER04F": "1", + "TER05C": "None", + "TER05D": "None", + "TER05E": "None", + "TER06B": "COM1", + "TER06D": false, + "TER06c": false, + "TER07A": "80x24", + "TER07B": true, + "TER07C": true, + "TER089": false, + "TER08A": false, + "TER098": "VT100", + "TER099": "VT100", + "TER0A7": "Always Enable", + "TER0A8": "COM1", + "USB000": "Enabled", + "USB001": "Enabled", + "USB002": "Enabled", + "USB003": "Enabled", + "USB004": "Disabled", + "USB009": "20 sec", + "USB00A": "20 sec", + "USB00B": "Auto", + "USB00C": 5, + "USB00D": "Enabled", + "USB00E": "HiSpeed", + "USB00F": "Enabled", + "USB011": "Auto", + "USB012": "Auto", + "USB013": "Auto", + "USB014": "Auto", + "USB015": "Auto", + "USB016": "Auto", + "USB017": "Auto", + "USB018": "Auto", + "USB019": "Auto", + "USB01A": "Auto", + "USB01B": "Auto", + "USB01C": "Auto", + "USB01D": "Auto", + "USB01E": "Auto", + "USB01F": "Auto", + "USB020": "Auto", + "USB021": "Auto", + "USB022": "Auto", + "USB023": "Auto", + "USB024": "Auto", + "USB025": "Auto", + "USB026": "Auto", + "USB027": "Auto", + "USB028": "Auto", + "USB029": "Auto", + "USB02A": "Auto", + "USB02B": "Auto", + "USB02C": "Auto", + "USB02D": "Auto", + "USB02E": "Auto", + "USB02F": "Auto", + "USB030": "Auto" + }, + "Description": "Current BIOS Settings", + "Id": "Bios", + "Name": "Current BIOS Settings", + "VgaState": "Enable" +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-4.4.2/sushy/tests/unit/json_samples/transfer_method_required_error.json new/sushy-4.5.0/sushy/tests/unit/json_samples/transfer_method_required_error.json --- old/sushy-4.4.2/sushy/tests/unit/json_samples/transfer_method_required_error.json 1970-01-01 01:00:00.000000000 +0100 +++ new/sushy-4.5.0/sushy/tests/unit/json_samples/transfer_method_required_error.json 2023-05-11 11:11:46.000000000 +0200 @@ -0,0 +1,16 @@ +{ + "error": { + "code": "Base.1.4.0.GeneralError", + "message": "See ExtendedInfo for more information.", + "@Message.ExtendedInfo": [ + { + "@odata.type": "Message.v1_0_6.Message", + "MessageId": "Base.1.4.0.GeneralError", + "Message": "'TransferMethod' property which is mandatory to complete the action is missing in the request body.", + "MessageArgs": [], + "Severity": "Critical" + } + ] + } +} + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-4.4.2/sushy/tests/unit/json_samples/transfer_proto_required_error2.json new/sushy-4.5.0/sushy/tests/unit/json_samples/transfer_proto_required_error2.json --- old/sushy-4.4.2/sushy/tests/unit/json_samples/transfer_proto_required_error2.json 1970-01-01 01:00:00.000000000 +0100 +++ new/sushy-4.5.0/sushy/tests/unit/json_samples/transfer_proto_required_error2.json 2023-05-11 11:11:46.000000000 +0200 @@ -0,0 +1,16 @@ +{ + "error": { + "code": "Base.1.4.0.GeneralError", + "message": "See ExtendedInfo for more information.", + "@Message.ExtendedInfo": [ + { + "@odata.type": "Message.v1_0_6.Message", + "MessageId": "Base.1.4.0.GeneralError", + "Message": "'TransferProtocolType' property which is mandatory to complete the action is missing in the request body.", + "MessageArgs": [], + "Severity": "Critical" + } + ] + } +} + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-4.4.2/sushy/tests/unit/resources/manager/test_virtual_media.py new/sushy-4.5.0/sushy/tests/unit/resources/manager/test_virtual_media.py --- old/sushy-4.4.2/sushy/tests/unit/resources/manager/test_virtual_media.py 2023-02-10 17:07:32.000000000 +0100 +++ new/sushy-4.5.0/sushy/tests/unit/resources/manager/test_virtual_media.py 2023-05-11 11:11:46.000000000 +0200 @@ -186,7 +186,7 @@ retval = self.sys_virtual_media.is_transfer_protocol_required(error) self.assertTrue(retval) - def test_is_transfer_protocol_required_alt_code(self): + def test_is_transfer_protocol_required_alt(self): with open('sushy/tests/unit/json_samples/' 'transfer_proto_required_error.json') as f: response_obj = json.load(f) @@ -197,6 +197,26 @@ retval = self.sys_virtual_media.is_transfer_protocol_required(error) self.assertTrue(retval) + def test_is_transfer_protocol_required_alt2(self): + with open('sushy/tests/unit/json_samples/' + 'transfer_proto_required_error2.json') as f: + response_obj = json.load(f) + response = mock.Mock(spec=['json', 'status_code']) + response.json.return_value = response_obj + error = exceptions.HTTPError('GET', 'VirtualMedia', response) + retval = self.sys_virtual_media.is_transfer_protocol_required(error) + self.assertTrue(retval) + + def test_is_transfer_method_required(self): + with open('sushy/tests/unit/json_samples/' + 'transfer_method_required_error.json') as f: + response_obj = json.load(f) + response = mock.Mock(spec=['json', 'status_code']) + response.json.return_value = response_obj + error = exceptions.HTTPError('POST', 'VirtualMedia', response) + retval = self.sys_virtual_media.is_transfer_method_required(error) + self.assertTrue(retval) + def test_eject_media_none(self): self.sys_virtual_media._actions.eject_media = None self.assertRaisesRegex( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-4.4.2/sushy/tests/unit/resources/registry/test_attribute_registry.py new/sushy-4.5.0/sushy/tests/unit/resources/registry/test_attribute_registry.py --- old/sushy-4.4.2/sushy/tests/unit/resources/registry/test_attribute_registry.py 2023-02-10 17:07:32.000000000 +0100 +++ new/sushy-4.5.0/sushy/tests/unit/resources/registry/test_attribute_registry.py 2023-05-11 11:11:46.000000000 +0200 @@ -67,3 +67,41 @@ {'ValueDisplayName': 'Disabled', 'ValueName': 'Disabled'}], attributes.allowable_values) + + def test__parse_attributes_zt(self): + self.conn = mock.Mock() + with open('sushy/tests/unit/json_samples/' + 'bios_attribute_registry_zthardware.json') as f: + self.json_doc = json.load(f) + + self.conn.get.return_value.json.return_value = self.json_doc + self.registry = attribute_registry.AttributeRegistry( + self.conn, + '/redfish/v1/Registries/' + 'BiosAttributeRegistryProt0.208.208.0.json', + redfish_version='1.0.2') + + self.registry._parse_attributes(self.json_doc) + self.assertEqual('BiosAttributeRegistryProt0.208.208.0', + self.registry.identity) + self.assertEqual('Prot0 BIOS Attribute Registry', self.registry.name) + self.assertEqual('en-US', self.registry.language) + self.assertEqual('This registry defines a representation of ' + 'BIOS Attribute instances', + self.registry.description) + self.assertEqual('208.208.0', self.registry.registry_version) + self.assertEqual('AMI', self.registry.owning_entity) + + attributes = self.registry.registry_entries.attributes[0] + self.assertEqual('TCG003', attributes.name) + self.assertEqual('TPM SUPPORT', attributes.display_name) + self.assertEqual('Enable', attributes.default_value) + self.assertIsNone(attributes.immutable) + self.assertEqual(False, attributes.read_only) + self.assertEqual('Enumeration', attributes.attribute_type) + self.assertEqual(True, attributes.reset_required) + self.assertEqual([{'ValueDisplayName': 'Disable', + 'ValueName': 'Disable'}, + {'ValueDisplayName': 'Enable', + 'ValueName': 'Enable'}], + attributes.allowable_values) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-4.4.2/sushy/tests/unit/resources/system/test_bios.py new/sushy-4.5.0/sushy/tests/unit/resources/system/test_bios.py --- old/sushy-4.4.2/sushy/tests/unit/resources/system/test_bios.py 2023-02-10 17:07:32.000000000 +0100 +++ new/sushy-4.5.0/sushy/tests/unit/resources/system/test_bios.py 2023-05-11 11:11:46.000000000 +0200 @@ -341,3 +341,89 @@ self.sys_bios._attribute_registry = "Unknown" registry = self.sys_bios.get_attribute_registry() self.assertIsNone(registry) + + +class BiosZTTestCase(base.TestCase): + + def setUp(self): + super(BiosZTTestCase, self).setUp() + self.conn = mock.Mock() + with open('sushy/tests/unit/json_samples/bios_zt.json') as f: + self.bios_json = json.load(f) + # NOTE(iurygregory): ZT Hardware doesn't have Settings for Bios. + + self.conn.get.return_value.json.side_effect = [self.bios_json] + + registries = {} + conn = mock.Mock() + # Note(iurygregory): re-use message registry for now. + with open('sushy/tests/unit/json_samples/message_registry.json') as f: + conn.get.return_value.json.return_value = json.load(f) + msg_reg = message_registry.MessageRegistry( + conn, '/redfish/v1/Registries/Test', + redfish_version='1.0.2') + + registries['Test.1.0'] = msg_reg + + with open('sushy/tests/unit/json_samples/' + 'bios_attribute_registry_zthardware.json') as f: + conn.get.return_value.json.return_value = json.load(f) + self.bios_reg = attribute_registry.AttributeRegistry( + conn, + '/redfish/v1/Registries/BiosAttributeRegistryProt0.208.208.0', + redfish_version='1.3.1') + + registries['BiosAttributeRegistryProt0.208.208.0'] = self.bios_reg + + self.sys_bios = bios.Bios( + self.conn, '/redfish/v1/Systems/Self/Bios', + registries=registries, + redfish_version='1.0.2') + + def test__parse_attributes(self): + self.sys_bios._parse_attributes(self.bios_json) + self.assertEqual('1.0.2', self.sys_bios.redfish_version) + self.assertEqual('Bios', self.sys_bios.identity) + self.assertEqual('Current BIOS Settings', + self.sys_bios.name) + self.assertEqual(self.sys_bios.description, + 'Current BIOS Settings') + self.assertEqual('BiosAttributeRegistryProt0.208.208.0', + self.sys_bios._attribute_registry) + + def test_get_attribute_registry_no_lang(self): + + registry = self.sys_bios.get_attribute_registry(language='zh') + self.assertIsNone(registry) + + def test_get_attribute_registry(self): + + registry = self.sys_bios.get_attribute_registry(language="en") + registry2 = self.sys_bios.get_attribute_registry(language="en-US") + + self.assertEqual(registry.name, 'Prot0 BIOS Attribute Registry') + self.assertEqual(registry.description, 'This registry defines a ' + 'representation of BIOS Attribute instances') + self.assertEqual(registry.language, 'en-US') + self.assertEqual(registry.registry_entries.attributes[0].name, + 'TCG003') + self.assertEqual(registry.registry_entries.attributes[0].display_name, + 'TPM SUPPORT') + self.assertEqual(registry.registry_entries.attributes[0].read_only, + False) + self.assertEqual(registry.registry_entries.attributes[0]. + attribute_type, 'Enumeration') + + self.assertEqual(registry.name, registry2.name) + self.assertEqual(registry.description, registry2.description) + self.assertEqual(registry.language, registry2.language) + self.assertEqual(registry.registry_entries.attributes[0].name, + registry2.registry_entries.attributes[0].name) + self.assertEqual(registry.registry_entries.attributes[0].display_name, + registry2.registry_entries.attributes[0].display_name) + self.assertEqual(registry.registry_entries.attributes[0].read_only, + registry2.registry_entries.attributes[0].read_only) + self.assertEqual(registry.registry_entries.attributes[0]. + attribute_type, + registry2.registry_entries.attributes[0]. + attribute_type) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-4.4.2/sushy/tests/unit/test_connector.py new/sushy-4.5.0/sushy/tests/unit/test_connector.py --- old/sushy-4.4.2/sushy/tests/unit/test_connector.py 2023-02-10 17:07:32.000000000 +0100 +++ new/sushy-4.5.0/sushy/tests/unit/test_connector.py 2023-05-11 11:11:46.000000000 +0200 @@ -445,6 +445,43 @@ self.assertEqual(0, mock_sleep.call_count) self.assertEqual(1, self.request.call_count) + @mock.patch('time.sleep', autospec=True) + def test_op_retry_on_server_400_ilo_not_ready(self, mock_sleep): + response_info = {"error": {"@Message.ExtendedInfo": [ + {'MessageId': 'iLO.2.15.InvalidOperationForSystemState'}]}} + mock_error = mock.Mock() + mock_error.status_code = 400 + mock_error.json.return_value = response_info + self.request.return_value.status_code = ( + http_client.INTERNAL_SERVER_ERROR) + self.request.return_value.json.side_effect =\ + exceptions.ServerSideError( + method='DELETE', url='http://foo.bar', response=mock_error) + + self.assertRaises(exceptions.ServerSideError, self.conn._op, 'DELETE', + 'http://foo.bar') + self.assertEqual(10, mock_sleep.call_count) + self.assertEqual(11, self.request.call_count) + + @mock.patch('time.sleep', autospec=True) + def test_op_retry_on_server_400_ilo_not_ready_other_error(self, + mock_sleep): + response_info = {"error": {"@Message.ExtendedInfo": [ + {'MessageId': 'iLO.Invalid'}]}} + mock_error = mock.Mock() + mock_error.status_code = 400 + mock_error.json.return_value = response_info + self.request.return_value.status_code = ( + http_client.INTERNAL_SERVER_ERROR) + self.request.return_value.json.side_effect =\ + exceptions.ServerSideError( + method='DELETE', url='http://foo.bar', response=mock_error) + + self.assertRaises(exceptions.ServerSideError, self.conn._op, 'DELETE', + 'http://foo.bar') + self.assertEqual(0, mock_sleep.call_count) + self.assertEqual(1, self.request.call_count) + def test_access_error(self): self.conn._auth = None diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-4.4.2/sushy.egg-info/PKG-INFO new/sushy-4.5.0/sushy.egg-info/PKG-INFO --- old/sushy-4.4.2/sushy.egg-info/PKG-INFO 2023-02-10 17:07:59.000000000 +0100 +++ new/sushy-4.5.0/sushy.egg-info/PKG-INFO 2023-05-11 11:12:15.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.2 Name: sushy -Version: 4.4.2 +Version: 4.5.0 Summary: Sushy is a small Python library to communicate with Redfish based systems Home-page: https://docs.openstack.org/sushy/latest/ Author: OpenStack diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-4.4.2/sushy.egg-info/SOURCES.txt new/sushy-4.5.0/sushy.egg-info/SOURCES.txt --- old/sushy-4.4.2/sushy.egg-info/SOURCES.txt 2023-02-10 17:07:59.000000000 +0100 +++ new/sushy-4.5.0/sushy.egg-info/SOURCES.txt 2023-05-11 11:12:15.000000000 +0200 @@ -105,6 +105,7 @@ releasenotes/notes/fixes-ilo5-redfish-firmware-update-issue-273862b2a11e3536.yaml releasenotes/notes/get-retry-9ca311caf8a0b7bb.yaml releasenotes/notes/handle-basic-auth-access-errors-393b368b31f5cad2.yaml +releasenotes/notes/handle_transfer_method-a51d5a17e381ebee.yaml releasenotes/notes/health_literals_change-0e3fc0c439b765e3.yaml releasenotes/notes/increase-server-retries-5f11edde8ee0b461.yaml releasenotes/notes/indicator-led-mappings-e7b34da03f6abb06.yaml @@ -114,7 +115,9 @@ releasenotes/notes/message-parsing-resilience-534da532515a15da.yaml releasenotes/notes/message-registry-logging-39624ae114c02e15.yaml releasenotes/notes/monitor_firmware_update-664b0c6c1a0307cf.yaml +releasenotes/notes/more-transferprotocoltype-739ce8bdedbcb51c.yaml releasenotes/notes/no-passwords-295207ac891d27ab.yaml +releasenotes/notes/non-default-language-registries-f73bdecc98ba2cc8.yaml releasenotes/notes/property-missing-7602c421ec177e9a.yaml releasenotes/notes/raise-error-on-async-task-failure-b67c7bc189a4d6ca.yaml releasenotes/notes/reauthentication-session-fallback-failure-fixes-4f0dcfdad1afd2d7.yaml @@ -123,6 +126,7 @@ releasenotes/notes/releasenote-d7138d1e1d414632.yaml releasenotes/notes/remove-deprecated-task-monitors-58c505d43e1fa6a7.yaml releasenotes/notes/retry-if-transferprototype-missing-9cae57f3ecf470a9.yaml +releasenotes/notes/retry-ilo-not-ready-error-0b4dce882282eaac.yaml releasenotes/notes/secure-boot-76c5b80371ea85d1.yaml releasenotes/notes/secure-boot-database-7fae673722d7cf4f.yaml releasenotes/notes/sessions.yml @@ -138,6 +142,7 @@ releasenotes/notes/vmedia-certificate-06c367c6ef33d139.yaml releasenotes/notes/vmedia-credentials-14b7705c3c94cc07.yaml releasenotes/notes/workaround-sushy-requests-verify-handling-6879c273b651246f.yaml +releasenotes/source/2023.1.rst releasenotes/source/conf.py releasenotes/source/index.rst releasenotes/source/pike.rst @@ -263,7 +268,10 @@ sushy/tests/unit/json_samples/bios.json sushy/tests/unit/json_samples/bios_attribute_registry.json sushy/tests/unit/json_samples/bios_attribute_registry_file.json +sushy/tests/unit/json_samples/bios_attribute_registry_file_zthardware.json +sushy/tests/unit/json_samples/bios_attribute_registry_zthardware.json sushy/tests/unit/json_samples/bios_settings.json +sushy/tests/unit/json_samples/bios_zt.json sushy/tests/unit/json_samples/certificate.json sushy/tests/unit/json_samples/certificate_collection.json sushy/tests/unit/json_samples/certificate_locations.json @@ -341,7 +349,9 @@ sushy/tests/unit/json_samples/task_monitor.json sushy/tests/unit/json_samples/taskservice.json sushy/tests/unit/json_samples/thermal.json +sushy/tests/unit/json_samples/transfer_method_required_error.json sushy/tests/unit/json_samples/transfer_proto_required_error.json +sushy/tests/unit/json_samples/transfer_proto_required_error2.json sushy/tests/unit/json_samples/updateservice.json sushy/tests/unit/json_samples/updateservice_no_inv.json sushy/tests/unit/json_samples/virtual_media.json diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-4.4.2/sushy.egg-info/pbr.json new/sushy-4.5.0/sushy.egg-info/pbr.json --- old/sushy-4.4.2/sushy.egg-info/pbr.json 2023-02-10 17:07:59.000000000 +0100 +++ new/sushy-4.5.0/sushy.egg-info/pbr.json 2023-05-11 11:12:15.000000000 +0200 @@ -1 +1 @@ -{"git_version": "98c8999", "is_release": true} \ No newline at end of file +{"git_version": "f03d77e", "is_release": true} \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-4.4.2/tox.ini new/sushy-4.5.0/tox.ini --- old/sushy-4.4.2/tox.ini 2023-02-10 17:07:32.000000000 +0100 +++ new/sushy-4.5.0/tox.ini 2023-05-11 11:11:46.000000000 +0200 @@ -17,7 +17,7 @@ [testenv:pep8] deps= - hacking>=4.1.0,<5.0.0 # Apache-2.0 + hacking~=6.0.0 # Apache-2.0 flake8-import-order>=0.17.1 # LGPLv3 pycodestyle>=2.0.0,<3.0.0 # MIT commands = flake8 {posargs} @@ -83,7 +83,7 @@ # [H904] Delay string interpolations at logging calls. enable-extensions=H106,H203,H204,H205,H210,H904 builtins = _ -exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build +exclude=.*,dist,doc,*lib/python*,*egg,build import-order-style = pep8 application-import-names = sushy filename = *.py