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 2024-06-05 17:42:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-sushy (Old)
and /work/SRC/openSUSE:Factory/.python-sushy.new.24587 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-sushy"
Wed Jun 5 17:42:12 2024 rev:17 rq:1178612 version:5.1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-sushy/python-sushy.changes 2024-05-10 12:07:12.794016802 +0200
+++ /work/SRC/openSUSE:Factory/.python-sushy.new.24587/python-sushy.changes 2024-06-05 17:42:51.875120186 +0200
@@ -1,0 +2,12 @@
+Tue Jun 4 20:09:08 UTC 2024 - cloud-devel@suse.de
+
+- update to version 5.1.0
+ - Update master for stable/2024.1
+ - refectoring: Fix parameter and annotation mismatch
+ - reno: Update master for unmaintained/victoria
+ - reno: Update master for unmaintained/zed
+ - Handle NotAcceptable when Accept-Encoding: identity is not allowed
+ - reno: Update master for unmaintained/wallaby
+ - reno: Update master for unmaintained/xena
+
+-------------------------------------------------------------------
Old:
----
sushy-5.0.0.tar.gz
New:
----
sushy-5.1.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-sushy.spec ++++++
--- /var/tmp/diff_new_pack.uxDUPU/_old 2024-06-05 17:42:53.875193025 +0200
+++ /var/tmp/diff_new_pack.uxDUPU/_new 2024-06-05 17:42:53.887193461 +0200
@@ -17,13 +17,13 @@
Name: python-sushy
-Version: 5.0.0
+Version: 5.1.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-5.0.0.tar.gz
+Source0: https://files.pythonhosted.org/packages/source/s/sushy/sushy-5.1.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-5.0.0
+%autosetup -p1 -n sushy-5.1.0
%py_req_cleanup
%build
++++++ sushy-5.0.0.tar.gz -> sushy-5.1.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-5.0.0/AUTHORS new/sushy-5.1.0/AUTHORS
--- old/sushy-5.0.0/AUTHORS 2024-02-22 16:01:13.000000000 +0100
+++ new/sushy-5.1.0/AUTHORS 2024-05-23 09:55:12.000000000 +0200
@@ -59,6 +59,7 @@
Varsha
Vu Cong Tuan
Winicius Silva
+Youngjun
Yusef Shaban
ajya
ankit
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-5.0.0/ChangeLog new/sushy-5.1.0/ChangeLog
--- old/sushy-5.0.0/ChangeLog 2024-02-22 16:01:13.000000000 +0100
+++ new/sushy-5.1.0/ChangeLog 2024-05-23 09:55:12.000000000 +0200
@@ -1,6 +1,17 @@
CHANGES
=======
+5.1.0
+-----
+
+* reno: Update master for unmaintained/zed
+* Handle NotAcceptable when Accept-Encoding: identity is not allowed
+* reno: Update master for unmaintained/xena
+* reno: Update master for unmaintained/wallaby
+* reno: Update master for unmaintained/victoria
+* refectoring: Fix parameter and annotation mismatch
+* Update master for stable/2024.1
+
5.0.0
-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-5.0.0/PKG-INFO new/sushy-5.1.0/PKG-INFO
--- old/sushy-5.0.0/PKG-INFO 2024-02-22 16:01:13.680539100 +0100
+++ new/sushy-5.1.0/PKG-INFO 2024-05-23 09:55:13.139894000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.2
Name: sushy
-Version: 5.0.0
+Version: 5.1.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-5.0.0/releasenotes/notes/accept-encoding-4646ea43998f80bd.yaml new/sushy-5.1.0/releasenotes/notes/accept-encoding-4646ea43998f80bd.yaml
--- old/sushy-5.0.0/releasenotes/notes/accept-encoding-4646ea43998f80bd.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/sushy-5.1.0/releasenotes/notes/accept-encoding-4646ea43998f80bd.yaml 2024-05-23 09:54:08.000000000 +0200
@@ -0,0 +1,5 @@
+---
+fixes:
+ - |
+ Adds a work-around for cases where ``Accept-Encoding: identity`` is not
+ accepted.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-5.0.0/releasenotes/source/2024.1.rst new/sushy-5.1.0/releasenotes/source/2024.1.rst
--- old/sushy-5.0.0/releasenotes/source/2024.1.rst 1970-01-01 01:00:00.000000000 +0100
+++ new/sushy-5.1.0/releasenotes/source/2024.1.rst 2024-05-23 09:54:08.000000000 +0200
@@ -0,0 +1,6 @@
+===========================
+2024.1 Series Release Notes
+===========================
+
+.. release-notes::
+ :branch: stable/2024.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-5.0.0/releasenotes/source/index.rst new/sushy-5.1.0/releasenotes/source/index.rst
--- old/sushy-5.0.0/releasenotes/source/index.rst 2024-02-22 16:00:44.000000000 +0100
+++ new/sushy-5.1.0/releasenotes/source/index.rst 2024-05-23 09:54:08.000000000 +0200
@@ -6,6 +6,7 @@
:maxdepth: 1
unreleased
+ 2024.1
2023.2
2023.1
zed
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-5.0.0/releasenotes/source/victoria.rst new/sushy-5.1.0/releasenotes/source/victoria.rst
--- old/sushy-5.0.0/releasenotes/source/victoria.rst 2024-02-22 16:00:44.000000000 +0100
+++ new/sushy-5.1.0/releasenotes/source/victoria.rst 2024-05-23 09:54:08.000000000 +0200
@@ -3,4 +3,4 @@
=============================================
.. release-notes::
- :branch: stable/victoria
+ :branch: unmaintained/victoria
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-5.0.0/releasenotes/source/wallaby.rst new/sushy-5.1.0/releasenotes/source/wallaby.rst
--- old/sushy-5.0.0/releasenotes/source/wallaby.rst 2024-02-22 16:00:44.000000000 +0100
+++ new/sushy-5.1.0/releasenotes/source/wallaby.rst 2024-05-23 09:54:08.000000000 +0200
@@ -3,4 +3,4 @@
============================================
.. release-notes::
- :branch: stable/wallaby
+ :branch: unmaintained/wallaby
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-5.0.0/releasenotes/source/xena.rst new/sushy-5.1.0/releasenotes/source/xena.rst
--- old/sushy-5.0.0/releasenotes/source/xena.rst 2024-02-22 16:00:44.000000000 +0100
+++ new/sushy-5.1.0/releasenotes/source/xena.rst 2024-05-23 09:54:08.000000000 +0200
@@ -3,4 +3,4 @@
==========================================
.. release-notes::
- :branch: stable/xena
+ :branch: unmaintained/xena
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-5.0.0/releasenotes/source/zed.rst new/sushy-5.1.0/releasenotes/source/zed.rst
--- old/sushy-5.0.0/releasenotes/source/zed.rst 2024-02-22 16:00:44.000000000 +0100
+++ new/sushy-5.1.0/releasenotes/source/zed.rst 2024-05-23 09:54:08.000000000 +0200
@@ -3,4 +3,4 @@
========================================
.. release-notes::
- :branch: stable/zed
+ :branch: unmaintained/zed
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-5.0.0/sushy/connector.py new/sushy-5.1.0/sushy/connector.py
--- old/sushy-5.0.0/sushy/connector.py 2024-02-22 16:00:44.000000000 +0100
+++ new/sushy-5.1.0/sushy/connector.py 2024-05-23 09:54:08.000000000 +0200
@@ -51,15 +51,6 @@
# By default, we ask HTTP server to shut down HTTP connection we've
# just used.
self._session.headers['Connection'] = 'close'
- # NOTE(TheJulia): Depending on the BMC, offering compression as an
- # acceptable response changes the ETag behavior to offering an
- # automatic "weak" ETag response, which is appropriate because the
- # body content *may* not be a byte for byte match given compression.
- # Overall, the value of compression is less than the value of concise
- # interaction with the BMC. Setting to identity basically means
- # "without modification or compression". By default, python-requests
- # indicates responses can be compressed.
- self._session.headers['Accept-Encoding'] = 'identity'
if username or password:
LOG.warning('Passing username and password to Connector is '
@@ -115,7 +106,8 @@
PUT, PATCH, etc...
:param path: The sub-URI or absolute URL path to the resource.
:param data: Optional JSON data.
- :param headers: Optional dictionary of headers.
+ :param headers: Optional dictionary of headers. Use None value
+ to remove a default header.
:param blocking: Whether to block for asynchronous operations.
:param timeout: Max time in seconds to wait for blocking async call or
for requests library to connect and read. If a custom
@@ -138,12 +130,25 @@
url = path if urlparse.urlparse(path).netloc else urlparse.urljoin(
self._url, path)
- headers = headers or {}
+ headers = (headers or {}).copy()
lc_headers = [k.lower() for k in headers]
if data is not None and 'content-type' not in lc_headers:
headers['Content-Type'] = 'application/json'
if 'odata-version' not in lc_headers:
headers['OData-Version'] = '4.0'
+ # NOTE(TheJulia): Depending on the BMC, offering compression as an
+ # acceptable response changes the ETag behavior to offering an
+ # automatic "weak" ETag response, which is appropriate because the
+ # body content *may* not be a byte for byte match given compression.
+ # Overall, the value of compression is less than the value of concise
+ # interaction with the BMC. Setting to identity basically means
+ # "without modification or compression". By default, python-requests
+ # indicates responses can be compressed.
+ if 'accept-encoding' not in lc_headers:
+ headers['Accept-Encoding'] = 'identity'
+ # Allow removing default headers
+ headers = {k: v for k, v in headers.items() if v is not None}
+
# TODO(lucasagomes): We should mask the data to remove sensitive
# information
LOG.debug('HTTP request: %(method)s %(url)s; headers: %(headers)s; '
@@ -264,6 +269,21 @@
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
+ except exceptions.NotAcceptableError as e:
+ # NOTE(dtantsur): some HPE Gen 10 Plus machines do not allow
+ # identity encoding when fetching registries.
+ if (method.lower() == 'get'
+ and headers.get('Accept-Encoding') == 'identity'):
+ LOG.warning('Server has indicated a NotAcceptable for %s, '
+ 'retrying without identity encoding', e)
+ headers = dict(headers, **{'Accept-Encoding': None})
+ 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:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-5.0.0/sushy/exceptions.py new/sushy-5.1.0/sushy/exceptions.py
--- old/sushy-5.0.0/sushy/exceptions.py 2024-02-22 16:00:44.000000000 +0100
+++ new/sushy-5.1.0/sushy/exceptions.py 2024-05-23 09:54:08.000000000 +0200
@@ -160,6 +160,10 @@
pass
+class NotAcceptableError(HTTPError):
+ pass
+
+
class MissingXAuthToken(HTTPError):
message = ('No X-Auth-Token returned from remote host when '
'attempting to establish a session. Error: %(error)s')
@@ -176,6 +180,8 @@
elif response.status_code in (http_client.UNAUTHORIZED,
http_client.FORBIDDEN):
raise AccessError(method, url, response)
+ elif response.status_code == http_client.NOT_ACCEPTABLE:
+ raise NotAcceptableError(method, url, response)
elif response.status_code >= http_client.INTERNAL_SERVER_ERROR:
raise ServerSideError(method, url, response)
else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-5.0.0/sushy/resources/registry/message_registry.py new/sushy-5.1.0/sushy/resources/registry/message_registry.py
--- old/sushy-5.0.0/sushy/resources/registry/message_registry.py 2024-02-22 16:00:44.000000000 +0100
+++ new/sushy-5.1.0/sushy/resources/registry/message_registry.py 2024-05-23 09:54:08.000000000 +0200
@@ -93,7 +93,7 @@
Check only registries that support messages.
- :param registries: dict of Message Registries
+ :param message_registries: dict of Message Registries
:param message_field: settings.MessageListField to parse
:returns: parsed settings.MessageListField with missing attributes filled
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-5.0.0/sushy/tests/unit/test_connector.py new/sushy-5.1.0/sushy/tests/unit/test_connector.py
--- old/sushy-5.0.0/sushy/tests/unit/test_connector.py 2024-02-22 16:00:44.000000000 +0100
+++ new/sushy-5.1.0/sushy/tests/unit/test_connector.py 2024-05-23 09:54:08.000000000 +0200
@@ -168,18 +168,25 @@
server_side_retries=10, server_side_retries_delay=3)
self.conn._auth = mock_auth
self.data = {'fake': 'data'}
- self.headers = {'X-Fake': 'header'}
+ self.headers = {'Accept-Encoding': 'identity', 'OData-Version': '4.0'}
self.session = mock.Mock(spec=requests.Session)
self.conn._session = self.session
self.request = self.session.request
self.request.return_value.status_code = http_client.OK
def test_ok_get(self):
- self.conn._op('GET', path='fake/path', headers=self.headers)
+ self.conn._op('GET', path='fake/path')
self.request.assert_called_once_with(
'GET', 'http://foo.bar:1234/fake/path',
headers=self.headers, json=None, verify=True, timeout=60)
+ def test_ok_get_with_headers(self):
+ self.conn._op('GET', path='fake/path', headers={'answer': '42'})
+ self.request.assert_called_once_with(
+ 'GET', 'http://foo.bar:1234/fake/path',
+ headers=dict(self.headers, answer='42'),
+ json=None, verify=True, timeout=60)
+
def test_response_callback(self):
mock_response_callback = mock.MagicMock()
self.conn._response_callback = mock_response_callback
@@ -188,34 +195,42 @@
self.assertEqual(1, mock_response_callback.call_count)
def test_ok_get_url_redirect_false(self):
- self.conn._op('GET', path='fake/path', headers=self.headers,
- allow_redirects=False)
+ self.conn._op('GET', path='fake/path', allow_redirects=False)
self.request.assert_called_once_with(
'GET', 'http://foo.bar:1234/fake/path',
headers=self.headers, json=None, allow_redirects=False,
verify=True, timeout=60)
def test_ok_post(self):
+ self.conn._op('POST', path='fake/path', data=self.data.copy())
+ self.request.assert_called_once_with(
+ 'POST', 'http://foo.bar:1234/fake/path',
+ json=self.data,
+ headers=dict(self.headers, **{'Content-Type': 'application/json'}),
+ verify=True, timeout=60)
+
+ def test_ok_post_with_headers(self):
self.conn._op('POST', path='fake/path', data=self.data.copy(),
- headers=self.headers)
+ headers={'answer': 42})
self.request.assert_called_once_with(
'POST', 'http://foo.bar:1234/fake/path',
- json=self.data, headers=self.headers, verify=True, timeout=60)
+ json=self.data,
+ headers=dict(self.headers, **{'Content-Type': 'application/json',
+ 'answer': 42}),
+ verify=True, timeout=60)
def test_ok_put(self):
- self.conn._op('PUT', path='fake/path', data=self.data.copy(),
- headers=self.headers)
+ self.conn._op('PUT', path='fake/path', data=self.data.copy())
self.request.assert_called_once_with(
'PUT', 'http://foo.bar:1234/fake/path',
- json=self.data, headers=self.headers, verify=True, timeout=60)
+ headers=dict(self.headers, **{'Content-Type': 'application/json'}),
+ json=self.data, verify=True, timeout=60)
def test_ok_delete(self):
- expected_headers = self.headers.copy()
- expected_headers['OData-Version'] = '4.0'
- self.conn._op('DELETE', path='fake/path', headers=self.headers.copy())
+ self.conn._op('DELETE', path='fake/path')
self.request.assert_called_once_with(
'DELETE', 'http://foo.bar:1234/fake/path',
- headers=expected_headers, json=None, verify=True, timeout=60)
+ headers=self.headers, json=None, verify=True, timeout=60)
def test_ok_post_with_session(self):
self.conn._session.headers = {}
@@ -242,22 +257,23 @@
'GET', 'http://foo.bar:1234' + path,
headers=expected_headers, json=None, verify=True, timeout=60)
- def test_odata_version_header_redfish_no_headers(self):
- path = '/redfish/v1/bar'
- expected_headers = {'OData-Version': '4.0'}
- self.conn._op('GET', path=path)
+ def test_odata_version_header_redfish_existing_header(self):
+ path = '/redfish/v1/foo'
+ headers = {'OData-Version': '3.0'}
+ expected_headers = dict(self.headers, **headers)
+ self.conn._op('GET', path=path, headers=headers)
self.request.assert_called_once_with(
'GET', 'http://foo.bar:1234' + path,
headers=expected_headers, json=None, verify=True, timeout=60)
- def test_odata_version_header_redfish_existing_header(self):
+ def test_remove_header_accept_encoding(self):
path = '/redfish/v1/foo'
- headers = {'OData-Version': '3.0'}
- expected_headers = dict(headers)
+ headers = {'Accept-Encoding': None}
+ self.headers.pop('Accept-Encoding')
self.conn._op('GET', path=path, headers=headers)
self.request.assert_called_once_with(
'GET', 'http://foo.bar:1234' + path,
- headers=expected_headers, json=None, verify=True, timeout=60)
+ headers=self.headers, json=None, verify=True, timeout=60)
def test_timed_out_session_unable_to_create_session(self):
self.conn._auth.can_refresh_session.return_value = False
@@ -522,6 +538,29 @@
self.assertEqual(0, mock_sleep.call_count)
self.assertEqual(1, self.request.call_count)
+ def test_op_retry_without_identity(self):
+ self.request.side_effect = [
+ mock.Mock(status_code=http_client.NOT_ACCEPTABLE),
+ mock.Mock(status_code=http_client.OK),
+ ]
+ self.conn._op('GET', 'http://foo.bar')
+
+ self.assertEqual(2, self.request.call_count)
+ headers_no_accept = self.headers.copy()
+ headers_no_accept.pop('Accept-Encoding')
+ self.request.assert_has_calls([
+ mock.call('GET', 'http://foo.bar', headers=self.headers,
+ json=None, verify=True, timeout=60),
+ mock.call('GET', 'http://foo.bar', headers=headers_no_accept,
+ json=None, verify=True, timeout=60),
+ ])
+
+ def test_op_retry_without_identity_fails(self):
+ self.request.return_value.status_code = http_client.NOT_ACCEPTABLE
+ self.assertRaises(exceptions.NotAcceptableError, self.conn._op,
+ 'GET', 'http://foo.bar')
+ self.assertEqual(2, self.request.call_count)
+
def test_access_error(self):
self.conn._auth = None
@@ -715,8 +754,7 @@
'/redfish/v1/Systems/1',
data={'Boot': {'BootSourceOverrideTarget': 'Cd',
'BootSourceOverrideEnabled': 'Once'}},
- headers={'X-Fake': 'header',
- 'If-Match': '"3d7b8a7360bf2941d"'},
+ headers=dict(self.headers, **{'If-Match': '"3d7b8a7360bf2941d"'}),
blocking=False,
timeout=60)
@@ -738,8 +776,8 @@
'/redfish/v1/Systems/1',
data={'Boot': {'BootSourceOverrideTarget': 'Cd',
'BootSourceOverrideEnabled': 'Once'}},
- headers={'X-Fake': 'header',
- 'If-Match': 'W/"3d7b8a7360bf2941d"'},
+ headers=dict(self.headers,
+ **{'If-Match': 'W/"3d7b8a7360bf2941d"'}),
blocking=False,
timeout=60)
@@ -759,7 +797,7 @@
'/redfish/v1/Systems/1',
data={'Boot': {'BootSourceOverrideTarget': 'Cd',
'BootSourceOverrideEnabled': 'Once'}},
- headers={'X-Fake': 'header'},
+ headers=self.headers,
blocking=False,
timeout=60)
@@ -787,8 +825,7 @@
'/redfish/v1/Systems/1',
data={'Boot': {'BootSourceOverrideTarget': 'Cd',
'BootSourceOverrideEnabled': 'Once'}},
- headers={'X-Fake': 'header',
- 'If-Match': '"3d7b8a7360bf2941d"'},
+ headers=dict(self.headers, **{'If-Match': '"3d7b8a7360bf2941d"'}),
blocking=False,
timeout=60)
@@ -818,7 +855,7 @@
'/redfish/v1/Systems/1',
data={'Boot': {'BootSourceOverrideTarget': 'Cd',
'BootSourceOverrideEnabled': 'Once'}},
- headers={'X-Fake': 'header'},
+ headers=self.headers,
blocking=False,
timeout=60)
@@ -846,7 +883,7 @@
'/redfish/v1/Systems/1',
data={'Boot': {'BootSourceOverrideTarget': 'Cd',
'BootSourceOverrideEnabled': 'Once'}},
- headers={'X-Fake': 'header'},
+ headers=self.headers,
blocking=False,
timeout=60)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-5.0.0/sushy.egg-info/PKG-INFO new/sushy-5.1.0/sushy.egg-info/PKG-INFO
--- old/sushy-5.0.0/sushy.egg-info/PKG-INFO 2024-02-22 16:01:13.000000000 +0100
+++ new/sushy-5.1.0/sushy.egg-info/PKG-INFO 2024-05-23 09:55:12.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.2
Name: sushy
-Version: 5.0.0
+Version: 5.1.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-5.0.0/sushy.egg-info/SOURCES.txt new/sushy-5.1.0/sushy.egg-info/SOURCES.txt
--- old/sushy-5.0.0/sushy.egg-info/SOURCES.txt 2024-02-22 16:01:13.000000000 +0100
+++ new/sushy-5.1.0/sushy.egg-info/SOURCES.txt 2024-05-23 09:55:13.000000000 +0200
@@ -21,6 +21,7 @@
doc/source/reference/index.rst
doc/source/reference/usage.rst
releasenotes/notes/.placeholder
+releasenotes/notes/accept-encoding-4646ea43998f80bd.yaml
releasenotes/notes/action-parameter-missing-7d234b96b5b1d81a.yaml
releasenotes/notes/add-apply-time-support-to-bios-315ebad429dcab3d.yaml
releasenotes/notes/add-bios-bf69ac56c4ae8f50.yaml
@@ -151,6 +152,7 @@
releasenotes/notes/workaround-sushy-requests-verify-handling-6879c273b651246f.yaml
releasenotes/source/2023.1.rst
releasenotes/source/2023.2.rst
+releasenotes/source/2024.1.rst
releasenotes/source/conf.py
releasenotes/source/index.rst
releasenotes/source/pike.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sushy-5.0.0/sushy.egg-info/pbr.json new/sushy-5.1.0/sushy.egg-info/pbr.json
--- old/sushy-5.0.0/sushy.egg-info/pbr.json 2024-02-22 16:01:13.000000000 +0100
+++ new/sushy-5.1.0/sushy.egg-info/pbr.json 2024-05-23 09:55:12.000000000 +0200
@@ -1 +1 @@
-{"git_version": "8929cce", "is_release": true}
\ No newline at end of file
+{"git_version": "0cec13b", "is_release": true}
\ No newline at end of file