From 85d12b3f1d7f7bae0ee3de96e59bc286cc3e90e2 Mon Sep 17 00:00:00 2001 From: OpenStack Release Bot Date: Fri, 4 Mar 2022 17:19:30 +0000 Subject: [PATCH 1/4] Update master for stable/yoga Add file to the reno documentation build to show release notes for stable/yoga. Use pbr instruction to increment the minor version number automatically so that master versions are higher than the versions on stable/yoga. Sem-Ver: feature Change-Id: Ief6dc07dff0687763b615eca8e7e651c007f2557 --- releasenotes/source/index.rst | 1 + releasenotes/source/yoga.rst | 6 ++++++ 2 files changed, 7 insertions(+) create mode 100644 releasenotes/source/yoga.rst diff --git a/releasenotes/source/index.rst b/releasenotes/source/index.rst index f696d14..fda1bc3 100644 --- a/releasenotes/source/index.rst +++ b/releasenotes/source/index.rst @@ -6,6 +6,7 @@ :maxdepth: 1 unreleased + yoga xena wallaby victoria diff --git a/releasenotes/source/yoga.rst b/releasenotes/source/yoga.rst new file mode 100644 index 0000000..7cd5e90 --- /dev/null +++ b/releasenotes/source/yoga.rst @@ -0,0 +1,6 @@ +========================= +Yoga Series Release Notes +========================= + +.. release-notes:: + :branch: stable/yoga -- GitLab From bcbd6adbc3e74367e60208cae8f763d0f9d0eddf Mon Sep 17 00:00:00 2001 From: OpenStack Release Bot Date: Fri, 4 Mar 2022 17:19:31 +0000 Subject: [PATCH 2/4] Add Python3 zed unit tests This is an automatically generated patch to ensure unit testing is in place for all the of the tested runtimes for zed. See also the PTI in governance [1]. [1]: https://governance.openstack.org/tc/reference/project-testing-interface.html Change-Id: Ia2521e30dd07f468635d2425d0f9eb39de2eb639 --- .zuul.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.zuul.yaml b/.zuul.yaml index 4066fb4..24a1c11 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -2,7 +2,7 @@ templates: - check-requirements - lib-forward-testing-python3 - - openstack-python3-yoga-jobs + - openstack-python3-zed-jobs - periodic-stable-jobs - publish-openstack-docs-pti - release-notes-jobs-python3 -- GitLab From 0f5451555b1613dda7ace81991610c51d1ee2f00 Mon Sep 17 00:00:00 2001 From: songwenping Date: Tue, 19 Apr 2022 19:47:53 +0800 Subject: [PATCH 3/4] Remove unnecessary unicode prefixes Change-Id: I0910f62e7feaf928fe0afe4721c5b271d4748449 --- doc/source/conf.py | 8 ++--- oslo_serialization/msgpackutils.py | 22 ++++++------- oslo_serialization/tests/test_base64.py | 36 +++++++++++----------- oslo_serialization/tests/test_jsonutils.py | 14 ++++----- releasenotes/source/conf.py | 16 +++++----- 5 files changed, 48 insertions(+), 48 deletions(-) diff --git a/doc/source/conf.py b/doc/source/conf.py index 5180160..81f14e3 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -43,8 +43,8 @@ source_suffix = '.rst' master_doc = 'index' # General information about the project. -project = u'oslo.serialization' -copyright = u'2014, OpenStack Foundation' +project = 'oslo.serialization' +copyright = '2014, OpenStack Foundation' # If true, '()' will be appended to :func: etc. cross-reference text. add_function_parentheses = True @@ -74,6 +74,6 @@ htmlhelp_basename = '%sdoc' % project latex_documents = [ ('index', '%s.tex' % project, - u'%s Documentation' % project, - u'OpenStack Foundation', 'manual'), + '%s Documentation' % project, + 'OpenStack Foundation', 'manual'), ] diff --git a/oslo_serialization/msgpackutils.py b/oslo_serialization/msgpackutils.py index dfd6433..ff7b267 100644 --- a/oslo_serialization/msgpackutils.py +++ b/oslo_serialization/msgpackutils.py @@ -227,17 +227,17 @@ class DateTimeHandler(object): def serialize(self, dt): dct = { - u'day': dt.day, - u'month': dt.month, - u'year': dt.year, - u'hour': dt.hour, - u'minute': dt.minute, - u'second': dt.second, - u'microsecond': dt.microsecond, + 'day': dt.day, + 'month': dt.month, + 'year': dt.year, + 'hour': dt.hour, + 'minute': dt.minute, + 'second': dt.second, + 'microsecond': dt.microsecond, } if dt.tzinfo: tz = dt.tzinfo.tzname(None) - dct[u'tz'] = tz + dct['tz'] = tz return dumps(dct, registry=self._registry) def deserialize(self, blob): @@ -365,9 +365,9 @@ class DateHandler(object): def serialize(self, d): dct = { - u'year': d.year, - u'month': d.month, - u'day': d.day, + 'year': d.year, + 'month': d.month, + 'day': d.day, } return dumps(dct, registry=self._registry) diff --git a/oslo_serialization/tests/test_base64.py b/oslo_serialization/tests/test_base64.py index 645f2ee..5a70f4c 100644 --- a/oslo_serialization/tests/test_base64.py +++ b/oslo_serialization/tests/test_base64.py @@ -23,27 +23,27 @@ class Base64Tests(test_base.BaseTestCase): self.assertEqual(b'dGV4dA==', base64.encode_as_bytes(b'text')) self.assertEqual(b'dGV4dA==', - base64.encode_as_bytes(u'text')) + base64.encode_as_bytes('text')) self.assertEqual(b'ZTrDqQ==', - base64.encode_as_bytes(u'e:\xe9')) + base64.encode_as_bytes('e:\xe9')) self.assertEqual(b'ZTrp', - base64.encode_as_bytes(u'e:\xe9', encoding='latin1')) + base64.encode_as_bytes('e:\xe9', encoding='latin1')) def test_encode_as_text(self): - self.assertEqual(u'dGV4dA==', + self.assertEqual('dGV4dA==', base64.encode_as_text(b'text')) - self.assertEqual(u'dGV4dA==', - base64.encode_as_text(u'text')) - self.assertEqual(u'ZTrDqQ==', - base64.encode_as_text(u'e:\xe9')) - self.assertEqual(u'ZTrp', - base64.encode_as_text(u'e:\xe9', encoding='latin1')) + self.assertEqual('dGV4dA==', + base64.encode_as_text('text')) + self.assertEqual('ZTrDqQ==', + base64.encode_as_text('e:\xe9')) + self.assertEqual('ZTrp', + base64.encode_as_text('e:\xe9', encoding='latin1')) def test_decode_as_bytes(self): self.assertEqual(b'text', base64.decode_as_bytes(b'dGV4dA==')) self.assertEqual(b'text', - base64.decode_as_bytes(u'dGV4dA==')) + base64.decode_as_bytes('dGV4dA==')) def test_decode_as_bytes__error(self): self.assertRaises(TypeError, @@ -51,11 +51,11 @@ class Base64Tests(test_base.BaseTestCase): 'hello world') def test_decode_as_text(self): - self.assertEqual(u'text', + self.assertEqual('text', base64.decode_as_text(b'dGV4dA==')) - self.assertEqual(u'text', - base64.decode_as_text(u'dGV4dA==')) - self.assertEqual(u'e:\xe9', - base64.decode_as_text(u'ZTrDqQ==')) - self.assertEqual(u'e:\xe9', - base64.decode_as_text(u'ZTrp', encoding='latin1')) + self.assertEqual('text', + base64.decode_as_text('dGV4dA==')) + self.assertEqual('e:\xe9', + base64.decode_as_text('ZTrDqQ==')) + self.assertEqual('e:\xe9', + base64.decode_as_text('ZTrp', encoding='latin1')) diff --git a/oslo_serialization/tests/test_jsonutils.py b/oslo_serialization/tests/test_jsonutils.py index 9c92235..5599d91 100644 --- a/oslo_serialization/tests/test_jsonutils.py +++ b/oslo_serialization/tests/test_jsonutils.py @@ -89,24 +89,24 @@ class JSONUtilsTestMixin(object): def test_loads_unicode(self): self.assertIsInstance(jsonutils.loads(b'"foo"'), str) - self.assertIsInstance(jsonutils.loads(u'"foo"'), str) + self.assertIsInstance(jsonutils.loads('"foo"'), str) # 'test' in Ukrainian - i18n_str_unicode = u'"\u0442\u0435\u0441\u0442"' + i18n_str_unicode = '"\u0442\u0435\u0441\u0442"' self.assertIsInstance(jsonutils.loads(i18n_str_unicode), str) i18n_str = i18n_str_unicode.encode('utf-8') self.assertIsInstance(jsonutils.loads(i18n_str), str) def test_loads_with_kwargs(self): - jsontext = u'{"foo": 3}' + jsontext = '{"foo": 3}' result = jsonutils.loads(jsontext, parse_int=lambda x: 5) self.assertEqual(5, result['foo']) def test_load(self): - jsontext = u'{"a": "\u0442\u044d\u0441\u0442"}' - expected = {u'a': u'\u0442\u044d\u0441\u0442'} + jsontext = '{"a": "\u0442\u044d\u0441\u0442"}' + expected = {'a': '\u0442\u044d\u0441\u0442'} for encoding in ('utf-8', 'cp1251'): fp = io.BytesIO(jsontext.encode(encoding)) @@ -325,12 +325,12 @@ class ToPrimitiveTestCase(test_base.BaseTestCase): self.assertEqual({'ip_addr': '1.2.3.4'}, ret) def test_ipaddr_using_ipaddress_v4(self): - thing = {'ip_addr': ipaddress.ip_address(u'192.168.0.1')} + thing = {'ip_addr': ipaddress.ip_address('192.168.0.1')} ret = jsonutils.to_primitive(thing) self.assertEqual({'ip_addr': '192.168.0.1'}, ret) def test_ipaddr_using_ipaddress_v6(self): - thing = {'ip_addr': ipaddress.ip_address(u'2001:db8::')} + thing = {'ip_addr': ipaddress.ip_address('2001:db8::')} ret = jsonutils.to_primitive(thing) self.assertEqual({'ip_addr': '2001:db8::'}, ret) diff --git a/releasenotes/source/conf.py b/releasenotes/source/conf.py index 36186ab..294d1e1 100644 --- a/releasenotes/source/conf.py +++ b/releasenotes/source/conf.py @@ -60,8 +60,8 @@ source_suffix = '.rst' master_doc = 'index' # General information about the project. -project = u'oslo.serialization Release Notes' -copyright = u'2016, oslo.serialization Developers' +project = 'oslo.serialization Release Notes' +copyright = '2016, oslo.serialization Developers' # Release notes do not need a version in the title, they span # multiple versions. @@ -208,8 +208,8 @@ latex_elements = { # author, documentclass [howto, manual, or own class]). latex_documents = [ ('index', 'oslo.serializationReleaseNotes.tex', - u'oslo.serialization Release Notes Documentation', - u'oslo.serialization Developers', 'manual'), + 'oslo.serialization Release Notes Documentation', + 'oslo.serialization Developers', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of @@ -239,8 +239,8 @@ latex_documents = [ # (source start file, name, description, authors, manual section). man_pages = [ ('index', 'oslo.serializationReleaseNotes', - u'oslo.serialization Release Notes Documentation', - [u'oslo.serialization Developers'], 1) + 'oslo.serialization Release Notes Documentation', + ['oslo.serialization Developers'], 1) ] # If true, show URL addresses after external links. @@ -254,8 +254,8 @@ man_pages = [ # dir menu entry, description, category) texinfo_documents = [ ('index', 'oslo.serializationReleaseNotes', - u'oslo.serialization Release Notes Documentation', - u'oslo.serialization Developers', 'oslo.serializationReleaseNotes', + 'oslo.serialization Release Notes Documentation', + 'oslo.serialization Developers', 'oslo.serializationReleaseNotes', 'One line description of project.', 'Miscellaneous'), ] -- GitLab From dd2a819915d6410e95becc5b16263585975c4460 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Beraud?= Date: Thu, 5 May 2022 11:27:03 +0200 Subject: [PATCH 4/4] Drop python3.6/3.7 support in testing runtime In Zed cycle testing runtime, we are targetting to drop the python 3.6/3.7 support, project started adding python 3.8 as minimum, example nova: - https://github.com/openstack/nova/blob/56b5aed08c6a3ed81b78dc216f0165ebfe3c3350/setup.cfg#L13 Also indicates that we support python 3.9. Change-Id: I909c1da508e66ceafcb9f08717dad0a7cea9d50d --- setup.cfg | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/setup.cfg b/setup.cfg index 6b0ff4d..9f5eab0 100644 --- a/setup.cfg +++ b/setup.cfg @@ -6,7 +6,7 @@ description_file = author = OpenStack author_email = openstack-discuss@lists.openstack.org home_page = https://docs.openstack.org/oslo.serialization/latest/ -python_requires = >=3.6 +python_requires = >=3.8 classifier = Environment :: OpenStack Intended Audience :: Information Technology @@ -15,9 +15,8 @@ classifier = Operating System :: POSIX :: Linux Programming Language :: Python Programming Language :: Python :: 3 - Programming Language :: Python :: 3.6 - Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 + Programming Language :: Python :: 3.9 Programming Language :: Python :: 3 :: Only Programming Language :: Python :: Implementation :: CPython -- GitLab