Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-oslo.utils for 
openSUSE:Factory checked in at 2022-05-12 22:59:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-oslo.utils (Old)
 and      /work/SRC/openSUSE:Factory/.python-oslo.utils.new.1538 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-oslo.utils"

Thu May 12 22:59:39 2022 rev:26 rq:976290 version:4.13.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-oslo.utils/python-oslo.utils.changes      
2021-12-12 00:57:49.390593179 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-oslo.utils.new.1538/python-oslo.utils.changes
    2022-05-12 23:00:07.340777629 +0200
@@ -1,0 +2,18 @@
+Tue May 10 16:03:36 UTC 2022 - cloud-de...@suse.de
+
+- update to version 4.13.0
+  - Add backing file format to the output
+  - Fix formatting of release list
+  - Update master for stable/yoga
+  - Update python testing classifier
+  - Update master for stable/xena
+  - Fix regex used to mask password
+  - QemuImgInfo: Fix inconsistent value format of encrypted
+  - Add Python3 zed unit tests
+  - Add Python3 yoga unit tests
+  - setup.cfg: Replace dashes with underscores
+  - fix strutils password regex
+  - Use LOG.warning instead of deprecated LOG.warn
+  - Changed minversion in tox to 3.18.0
+
+-------------------------------------------------------------------

Old:
----
  oslo.utils-4.10.0.tar.gz

New:
----
  oslo.utils-4.13.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-oslo.utils.spec ++++++
--- /var/tmp/diff_new_pack.dXBT2Y/_old  2022-05-12 23:00:07.888778364 +0200
+++ /var/tmp/diff_new_pack.dXBT2Y/_new  2022-05-12 23:00:07.892778370 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-oslo.utils
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,13 +17,13 @@
 
 
 Name:           python-oslo.utils
-Version:        4.10.0
+Version:        4.13.0
 Release:        0
 Summary:        OpenStack Utils Library
 License:        Apache-2.0
 Group:          Development/Languages/Python
 URL:            https://docs.openstack.org/oslo.utils
-Source0:        
https://files.pythonhosted.org/packages/source/o/oslo.utils/oslo.utils-4.10.0.tar.gz
+Source0:        
https://files.pythonhosted.org/packages/source/o/oslo.utils/oslo.utils-4.13.0.tar.gz
 BuildRequires:  openstack-macros
 BuildRequires:  python3-Babel
 BuildRequires:  python3-ddt
@@ -57,7 +57,6 @@
 Requires:       python3-oslo.i18n >= 3.15.3
 Requires:       python3-pyparsing >= 2.1.0
 Requires:       python3-pytz >= 2013.6
-Requires:       python3-six
 
 %description -n python3-oslo.utils
 The oslo.utils library provides support for common utility type functions,
@@ -74,7 +73,7 @@
 Documentation for OpenStack utils library.
 
 %prep
-%autosetup -p1 -n oslo.utils-4.10.0
+%autosetup -p1 -n oslo.utils-4.13.0
 
 %py_req_cleanup
 
@@ -85,7 +84,7 @@
 %py3_install
 
 # generate html docs
-PBR_VERSION=4.10.0 %sphinx_build -b html doc/source doc/build/html
+PBR_VERSION=4.13.0 %sphinx_build -b html doc/source doc/build/html
 # remove the sphinx-build leftovers
 rm -rf doc/build/html/.{doctrees,buildinfo}
 

++++++ oslo.utils-4.10.0.tar.gz -> oslo.utils-4.13.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.10.0/.zuul.yaml 
new/oslo.utils-4.13.0/.zuul.yaml
--- old/oslo.utils-4.10.0/.zuul.yaml    2021-08-19 14:35:10.000000000 +0200
+++ new/oslo.utils-4.13.0/.zuul.yaml    2022-04-27 17:30:25.000000000 +0200
@@ -2,7 +2,7 @@
     templates:
       - check-requirements
       - lib-forward-testing-python3
-      - openstack-python3-xena-jobs
+      - openstack-python3-zed-jobs
       - periodic-stable-jobs
       - publish-openstack-docs-pti
       - release-notes-jobs-python3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.10.0/AUTHORS 
new/oslo.utils-4.13.0/AUTHORS
--- old/oslo.utils-4.10.0/AUTHORS       2021-08-19 14:35:45.000000000 +0200
+++ new/oslo.utils-4.13.0/AUTHORS       2022-04-27 17:31:01.000000000 +0200
@@ -48,6 +48,7 @@
 Derek Higgins <der...@redhat.com>
 Dina Belova <dbel...@mirantis.com>
 Dirk Mueller <d...@dmllr.de>
+Dmitriy Rabotyagov <dmitriy.rabotya...@citynetwork.eu>
 Dmitry Mescheryakov <dmescherya...@mirantis.com>
 Dolph Mathews <dolph.math...@gmail.com>
 Doug Hellmann <doug.hellm...@dreamhost.com>
@@ -108,6 +109,7 @@
 Omar Shykhkerimov <oshykhkeri...@mirantis.com>
 OpenStack Release Bot <infra-r...@openstack.org>
 Paul Belanger <paul.belan...@polybeacon.com>
+Pierre Riteau <pie...@stackhpc.com>
 Radomir Dopieralski <openst...@sheep.art.pl>
 Rahul Nair <rahulun...@gmail.com>
 Rajath Agasthya <rajathagast...@gmail.com>
@@ -176,6 +178,7 @@
 songwenping <songwenp...@inspur.com>
 sridhargaddam <sridhar.gad...@enovance.com>
 sunyandi <su...@inspur.com>
+wangzihao <wangzi...@yovole.com>
 yatinkarel <yka...@redhat.com>
 yenai <ye...@cmss.chinamobile.com>
 zhangboye <zhangb...@inspur.com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.10.0/ChangeLog 
new/oslo.utils-4.13.0/ChangeLog
--- old/oslo.utils-4.10.0/ChangeLog     2021-08-19 14:35:45.000000000 +0200
+++ new/oslo.utils-4.13.0/ChangeLog     2022-04-27 17:31:00.000000000 +0200
@@ -1,6 +1,39 @@
 CHANGES
 =======
 
+4.13.0
+------
+
+* fix strutils password regex
+* Add Python3 zed unit tests
+* Update master for stable/yoga
+
+4.12.2
+------
+
+* Fix formatting of release list
+
+4.12.1
+------
+
+* Fix regex used to mask password
+* Update python testing classifier
+* Use LOG.warning instead of deprecated LOG.warn
+
+4.12.0
+------
+
+* Add backing file format to the output
+
+4.11.0
+------
+
+* Add Python3 yoga unit tests
+* Update master for stable/xena
+* QemuImgInfo: Fix inconsistent value format of encrypted
+* setup.cfg: Replace dashes with underscores
+* Changed minversion in tox to 3.18.0
+
 4.10.0
 ------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.10.0/PKG-INFO 
new/oslo.utils-4.13.0/PKG-INFO
--- old/oslo.utils-4.10.0/PKG-INFO      2021-08-19 14:35:45.859989400 +0200
+++ new/oslo.utils-4.13.0/PKG-INFO      2022-04-27 17:31:01.240427700 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: oslo.utils
-Version: 4.10.0
+Version: 4.13.0
 Summary: Oslo Utility library
 Home-page: https://docs.openstack.org/oslo.utils/latest/
 Author: OpenStack
@@ -47,6 +47,8 @@
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: 3 :: Only
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Requires-Python: >=3.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.10.0/oslo.utils.egg-info/PKG-INFO 
new/oslo.utils-4.13.0/oslo.utils.egg-info/PKG-INFO
--- old/oslo.utils-4.10.0/oslo.utils.egg-info/PKG-INFO  2021-08-19 
14:35:45.000000000 +0200
+++ new/oslo.utils-4.13.0/oslo.utils.egg-info/PKG-INFO  2022-04-27 
17:31:01.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: oslo.utils
-Version: 4.10.0
+Version: 4.13.0
 Summary: Oslo Utility library
 Home-page: https://docs.openstack.org/oslo.utils/latest/
 Author: OpenStack
@@ -47,6 +47,8 @@
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: 3 :: Only
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Requires-Python: >=3.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.10.0/oslo.utils.egg-info/SOURCES.txt 
new/oslo.utils-4.13.0/oslo.utils.egg-info/SOURCES.txt
--- old/oslo.utils-4.10.0/oslo.utils.egg-info/SOURCES.txt       2021-08-19 
14:35:45.000000000 +0200
+++ new/oslo.utils-4.13.0/oslo.utils.egg-info/SOURCES.txt       2022-04-27 
17:31:01.000000000 +0200
@@ -96,13 +96,16 @@
 releasenotes/notes/add-methods-for-json-yaml-file-check-746dca0a11c2f9c9.yaml
 releasenotes/notes/add-reno-350f5f34f794fb5e.yaml
 
releasenotes/notes/allow-to-convert-ipv4-address-from-text-to-binary-8c46ad2d9989e8c5.yaml
+releasenotes/notes/bug-1942682-ea95d54b2587b32f.yaml
 releasenotes/notes/bump-up-port-range-f774a16336158339.yaml
 releasenotes/notes/deprecate-fnmatch-057a092d434a0c53.yaml
 releasenotes/notes/drop-imageutils-human-format-support-a89101a36c4dd3cb.yaml
 releasenotes/notes/drop-python27-support-f97f680651693b47.yaml
+releasenotes/notes/fix_mask_password_regex-c0661f95a23369a4.yaml
 releasenotes/notes/image-utils-handle-scientific-notation-6f65d46e9c8c8f8c.yaml
 releasenotes/notes/introduce-keystoneidsentinel-16bf3e7f2ae7e9f3.yaml
 releasenotes/notes/mask-dict-passwords-99357ffb7972fb0b.yaml
+releasenotes/notes/mask-password-pattern-c8c880098743de3e.yaml
 releasenotes/notes/mask-password-patterns-f41524069b8ae488.yaml
 releasenotes/notes/netutils-get_mac_addr_by_ipv6-c3ce6a35a69f7c2b.yaml
 releasenotes/source/conf.py
@@ -118,6 +121,8 @@
 releasenotes/source/ussuri.rst
 releasenotes/source/victoria.rst
 releasenotes/source/wallaby.rst
+releasenotes/source/xena.rst
+releasenotes/source/yoga.rst
 releasenotes/source/_static/.placeholder
 releasenotes/source/_templates/.placeholder
 releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.10.0/oslo.utils.egg-info/pbr.json 
new/oslo.utils-4.13.0/oslo.utils.egg-info/pbr.json
--- old/oslo.utils-4.10.0/oslo.utils.egg-info/pbr.json  2021-08-19 
14:35:45.000000000 +0200
+++ new/oslo.utils-4.13.0/oslo.utils.egg-info/pbr.json  2022-04-27 
17:31:01.000000000 +0200
@@ -1 +1 @@
-{"git_version": "2c74bb9", "is_release": true}
\ No newline at end of file
+{"git_version": "de4429f", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.10.0/oslo_utils/imageutils.py 
new/oslo.utils-4.13.0/oslo_utils/imageutils.py
--- old/oslo.utils-4.10.0/oslo_utils/imageutils.py      2021-08-19 
14:35:10.000000000 +0200
+++ new/oslo.utils-4.13.0/oslo_utils/imageutils.py      2022-04-27 
17:30:25.000000000 +0200
@@ -58,12 +58,13 @@
             details = json.loads(cmd_output or '{}')
             self.image = details.get('filename')
             self.backing_file = details.get('backing-filename')
+            self.backing_file_format = details.get('backing-filename-format')
             self.file_format = details.get('format')
             self.virtual_size = details.get('virtual-size')
             self.cluster_size = details.get('cluster-size')
             self.disk_size = details.get('actual-size')
             self.snapshots = details.get('snapshots', [])
-            self.encrypted = details.get('encrypted')
+            self.encrypted = 'yes' if details.get('encrypted') else None
             self.format_specific = details.get('format-specific')
         else:
             if cmd_output is not None:
@@ -75,6 +76,7 @@
             details = self._parse(cmd_output or '')
             self.image = details.get('image')
             self.backing_file = details.get('backing_file')
+            self.backing_file_format = details.get('backing_file_format')
             self.file_format = details.get('file_format')
             self.virtual_size = details.get('virtual_size')
             self.cluster_size = details.get('cluster_size')
@@ -91,6 +93,7 @@
             'disk_size: %s' % self.disk_size,
             'cluster_size: %s' % self.cluster_size,
             'backing_file: %s' % self.backing_file,
+            'backing_file_format: %s' % self.backing_file_format,
         ]
         if self.snapshots:
             lines.append("snapshots: %s" % self.snapshots)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.10.0/oslo_utils/netutils.py 
new/oslo.utils-4.13.0/oslo_utils/netutils.py
--- old/oslo.utils-4.10.0/oslo_utils/netutils.py        2021-08-19 
14:35:10.000000000 +0200
+++ new/oslo.utils-4.13.0/oslo_utils/netutils.py        2022-04-27 
17:30:25.000000000 +0200
@@ -112,7 +112,7 @@
             return True
         else:
             if netaddr.valid_ipv4(address):
-                LOG.warn(
+                LOG.warning(
                     'Converting in non strict mode is deprecated. '
                     'You should pass strict=False if you want to '
                     'preserve legacy behavior')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.10.0/oslo_utils/strutils.py 
new/oslo.utils-4.13.0/oslo_utils/strutils.py
--- old/oslo.utils-4.10.0/oslo_utils/strutils.py        2021-08-19 
14:35:10.000000000 +0200
+++ new/oslo.utils-4.13.0/oslo_utils/strutils.py        2022-04-27 
17:30:25.000000000 +0200
@@ -73,11 +73,14 @@
 # for XML and JSON automatically.
 _SANITIZE_PATTERNS_2 = {}
 _SANITIZE_PATTERNS_1 = {}
+_SANITIZE_PATTERNS_WILDCARD = {}
 
 # NOTE(amrith): Some regular expressions have only one parameter, some
 # have two parameters. Use different lists of patterns here.
 _FORMAT_PATTERNS_1 = [r'(%(key)s[0-9]*\s*[=]\s*)[^\s^\'^\"]+']
 _FORMAT_PATTERNS_2 = [r'(%(key)s[0-9]*\s*[=]\s*[\"\'])[^\"\']*([\"\'])',
+                      r'(%(key)s[0-9]*\s*[=]\s*[\"])[^\"]*([\"])',
+                      r'(%(key)s[0-9]*\s*[=]\s*[\'])[^\']*([\'])',
                       r'(%(key)s[0-9]*\s+[\"\'])[^\"\']*([\"\'])',
                       r'([-]{2}%(key)s[0-9]*\s+)[^\'^\"^=^\s]+([\s]*)',
                       r'(<%(key)s[0-9]*>)[^<]*(</%(key)s[0-9]*>)',
@@ -88,6 +91,7 @@
                       r'([\'"][^\'"]*%(key)s[0-9]*[\'"]\s*,\s*\'--?[A-z]+'
                       r'\'\s*,\s*u?[\'"])[^\"\']*([\'"])',
                       r'(%(key)s[0-9]*\s*--?[A-z]+\s*)\S+(\s*)']
+_FORMAT_PATTERNS_WILDCARD = 
[r'([\'\"][^\"\']*%(key)s[0-9]*[\'\"]\s*:\s*u?[\'\"].*[\'\"])[^\"\']*([\'\"])'] 
 # noqa: E501
 
 # NOTE(dhellmann): Keep a separate list of patterns by key so we only
 # need to apply the substitutions for keys we find using a quick "in"
@@ -95,6 +99,7 @@
 for key in _SANITIZE_KEYS:
     _SANITIZE_PATTERNS_1[key] = []
     _SANITIZE_PATTERNS_2[key] = []
+    _SANITIZE_PATTERNS_WILDCARD[key] = []
 
     for pattern in _FORMAT_PATTERNS_2:
         reg_ex = re.compile(pattern % {'key': key}, re.DOTALL | re.IGNORECASE)
@@ -104,6 +109,10 @@
         reg_ex = re.compile(pattern % {'key': key}, re.DOTALL | re.IGNORECASE)
         _SANITIZE_PATTERNS_1[key].append(reg_ex)
 
+    for pattern in _FORMAT_PATTERNS_WILDCARD:
+        reg_ex = re.compile(pattern % {'key': key}, re.DOTALL | re.IGNORECASE)
+        _SANITIZE_PATTERNS_WILDCARD[key].append(reg_ex)
+
 
 def int_from_bool_as_string(subject):
     """Interpret a string as a boolean and return either 1 or 0.
@@ -331,6 +340,7 @@
 
     substitute1 = r'\g<1>' + secret
     substitute2 = r'\g<1>' + secret + r'\g<2>'
+    substitute_wildcard = r'\g<1>'
 
     # NOTE(ldbragst): Check to see if anything in message contains any key
     # specified in _SANITIZE_KEYS, if not then just return the message since
@@ -341,7 +351,12 @@
                 message = re.sub(pattern, substitute2, message)
             for pattern in _SANITIZE_PATTERNS_1[key]:
                 message = re.sub(pattern, substitute1, message)
-
+            # NOTE(hberaud): Those case are poorly handled by previous
+            # patterns. They are passwords with quotes or double quotes.
+            # They also needs a different way to substitute group this is why
+            # they aren't fix in the pattern 1 or 2.
+            for pattern in _SANITIZE_PATTERNS_WILDCARD[key]:
+                message = re.sub(pattern, substitute_wildcard, message)
     return message
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.utils-4.10.0/oslo_utils/tests/test_imageutils.py 
new/oslo.utils-4.13.0/oslo_utils/tests/test_imageutils.py
--- old/oslo.utils-4.10.0/oslo_utils/tests/test_imageutils.py   2021-08-19 
14:35:10.000000000 +0200
+++ new/oslo.utils-4.13.0/oslo_utils/tests/test_imageutils.py   2022-04-27 
17:30:25.000000000 +0200
@@ -174,6 +174,12 @@
               exp_backing_file='/b/3a988059e51a_2')),
     ]
 
+    _qcow2_backing_file_format = [
+        ('no_backing_file_format', dict(backing_file_format=None)),
+        ('backing_file_format', dict(backing_file_format='qcow2',
+                                     exp_backing_file_format='qcow2')),
+    ]
+
     @classmethod
     def generate_scenarios(cls):
         cls.scenarios = testscenarios.multiply_scenarios(
@@ -185,7 +191,8 @@
             cls._snapshot_count,
             cls._qcow2_cluster_size,
             cls._qcow2_encrypted,
-            cls._qcow2_backing_file)
+            cls._qcow2_backing_file,
+            cls._qcow2_backing_file_format)
 
     @mock.patch("debtcollector.deprecate")
     def test_qemu_img_info_human_format(self, mock_deprecate):
@@ -194,6 +201,9 @@
         if self.backing_file is not None:
             img_info = img_info + ('backing file: %s' %
                                    self.backing_file,)
+            if self.backing_file_format is not None:
+                img_info = img_info + ('backing file format: %s' %
+                                       self.backing_file_format,)
         if self.encrypted is not None:
             img_info = img_info + ('encrypted: %s' % self.encrypted,)
         if self.garbage_before_snapshot is True:
@@ -211,6 +221,9 @@
         if self.backing_file is not None:
             self.assertEqual(image_info.backing_file,
                              self.exp_backing_file)
+            if self.backing_file_format is not None:
+                self.assertEqual(image_info.backing_file_format,
+                                 self.exp_backing_file_format)
         if self.encrypted is not None:
             self.assertEqual(image_info.encrypted, self.encrypted)
 
@@ -223,7 +236,8 @@
         example_output = '\n'.join(['image: None', 'file_format: None',
                                     'virtual_size: None', 'disk_size: None',
                                     'cluster_size: None',
-                                    'backing_file: None'])
+                                    'backing_file: None',
+                                    'backing_file_format: None'])
         image_info = imageutils.QemuImgInfo()
         self.assertEqual(str(image_info), example_output)
         self.assertEqual(len(image_info.snapshots), 0)
@@ -238,7 +252,8 @@
                        "cluster-size": 65536,
                        "format": "qcow2",
                        "actual-size": 13168640,
-                       "format-specific": {"data": {"foo": "bar"}}
+                       "format-specific": {"data": {"foo": "bar"}},
+                       "encrypted": true
                       }'''
         image_info = imageutils.QemuImgInfo(img_output, format='json')
         mock_deprecate.assert_not_called()
@@ -248,6 +263,7 @@
         self.assertEqual('qcow2', image_info.file_format)
         self.assertEqual(13168640, image_info.disk_size)
         self.assertEqual("bar", image_info.format_specific["data"]["foo"])
+        self.assertEqual('yes', image_info.encrypted)
 
     @mock.patch("debtcollector.deprecate")
     def test_qemu_img_info_blank(self, mock_deprecate):
@@ -260,3 +276,4 @@
         self.assertIsNone(image_info.file_format)
         self.assertIsNone(image_info.disk_size)
         self.assertIsNone(image_info.format_specific)
+        self.assertIsNone(image_info.encrypted)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.10.0/oslo_utils/tests/test_netutils.py 
new/oslo.utils-4.13.0/oslo_utils/tests/test_netutils.py
--- old/oslo.utils-4.10.0/oslo_utils/tests/test_netutils.py     2021-08-19 
14:35:10.000000000 +0200
+++ new/oslo.utils-4.13.0/oslo_utils/tests/test_netutils.py     2022-04-27 
17:30:25.000000000 +0200
@@ -166,16 +166,16 @@
         self.assertFalse(netutils.is_valid_ipv4(''))
 
         self.assertTrue(netutils.is_valid_ipv4('10'))
-        mock_log.warn.assert_called_with(expected_log)
+        mock_log.warning.assert_called_with(expected_log)
         mock_log.reset_mock()
         self.assertTrue(netutils.is_valid_ipv4('10.10'))
-        mock_log.warn.assert_called_with(expected_log)
+        mock_log.warning.assert_called_with(expected_log)
         mock_log.reset_mock()
         self.assertTrue(netutils.is_valid_ipv4('10.10.10'))
-        mock_log.warn.assert_called_with(expected_log)
+        mock_log.warning.assert_called_with(expected_log)
         mock_log.reset_mock()
         self.assertTrue(netutils.is_valid_ipv4('10.10.10.10'))
-        mock_log.warn.assert_not_called()
+        mock_log.warning.assert_not_called()
         mock_log.reset_mock()
         self.assertFalse(
             netutils.is_valid_ipv4('10', strict=True)
@@ -186,7 +186,7 @@
         self.assertFalse(
             netutils.is_valid_ipv4('10.10.10', strict=True)
         )
-        mock_log.warn.assert_not_called()
+        mock_log.warning.assert_not_called()
         mock_log.reset_mock()
         self.assertTrue(
             netutils.is_valid_ipv4('10', strict=False)
@@ -197,7 +197,7 @@
         self.assertTrue(
             netutils.is_valid_ipv4('10.10.10', strict=False)
         )
-        mock_log.warn.assert_not_called()
+        mock_log.warning.assert_not_called()
         mock_log.reset_mock()
 
     def test_is_valid_ipv6(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.10.0/oslo_utils/tests/test_strutils.py 
new/oslo.utils-4.13.0/oslo_utils/tests/test_strutils.py
--- old/oslo.utils-4.10.0/oslo_utils/tests/test_strutils.py     2021-08-19 
14:35:10.000000000 +0200
+++ new/oslo.utils-4.13.0/oslo_utils/tests/test_strutils.py     2022-04-27 
17:30:25.000000000 +0200
@@ -289,6 +289,17 @@
 
 class MaskPasswordTestCase(test_base.BaseTestCase):
 
+    def test_namespace_objects(self):
+        payload = """
+        Namespace(passcode='', username='', password='my"password',
+        profile='', verify=None, token='')
+        """
+        expected = """
+        Namespace(passcode='', username='', password='***',
+        profile='', verify=None, token='***')
+        """
+        self.assertEqual(expected, strutils.mask_password(payload))
+
     def test_sanitize_keys(self):
 
         lowered = [k.lower() for k in strutils._SANITIZE_KEYS]
@@ -607,11 +618,20 @@
         expected = 'test = "param1" : "value"'
         self.assertEqual(expected, strutils.mask_password(payload))
 
+        payload = 'test = "original_password" : "aaaaa"aaaa"'
+        expected = 'test = "original_password" : "***"'
+        self.assertEqual(expected, strutils.mask_password(payload))
+
         payload = """{'adminPass':'TL0EfN33'}"""
         payload = str(payload)
         expected = """{'adminPass':'***'}"""
         self.assertEqual(expected, strutils.mask_password(payload))
 
+        payload = """{'adminPass':'TL0E'fN33'}"""
+        payload = str(payload)
+        expected = """{'adminPass':'***'}"""
+        self.assertEqual(expected, strutils.mask_password(payload))
+
         payload = """{'token':'mytoken'}"""
         payload = str(payload)
         expected = """{'token':'***'}"""
@@ -686,6 +706,11 @@
         expected = {'password': '***'}
         self.assertEqual(expected,
                          strutils.mask_dict_password(payload))
+
+        payload = {'password': 'TL0Ef"N33'}
+        expected = {'password': '***'}
+        self.assertEqual(expected,
+                         strutils.mask_dict_password(payload))
 
         payload = {'user': 'admin', 'password': 'TL0EfN33'}
         expected = {'user': 'admin', 'password': '***'}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.utils-4.10.0/releasenotes/notes/bug-1942682-ea95d54b2587b32f.yaml 
new/oslo.utils-4.13.0/releasenotes/notes/bug-1942682-ea95d54b2587b32f.yaml
--- old/oslo.utils-4.10.0/releasenotes/notes/bug-1942682-ea95d54b2587b32f.yaml  
1970-01-01 01:00:00.000000000 +0100
+++ new/oslo.utils-4.13.0/releasenotes/notes/bug-1942682-ea95d54b2587b32f.yaml  
2022-04-27 17:30:25.000000000 +0200
@@ -0,0 +1,6 @@
+---
+fixes:
+  - |
+    `bug #1942682 <https://bugs.launchpad.net/oslo.utils/+bug/1942682>`_:
+    Fix inconsistent value of `QemuImgInfo.encrypted`. Now the attribute is
+    always `'yes'` or `None` regardless of the format(`human` or `json`) used.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.utils-4.10.0/releasenotes/notes/fix_mask_password_regex-c0661f95a23369a4.yaml
 
new/oslo.utils-4.13.0/releasenotes/notes/fix_mask_password_regex-c0661f95a23369a4.yaml
--- 
old/oslo.utils-4.10.0/releasenotes/notes/fix_mask_password_regex-c0661f95a23369a4.yaml
      1970-01-01 01:00:00.000000000 +0100
+++ 
new/oslo.utils-4.13.0/releasenotes/notes/fix_mask_password_regex-c0661f95a23369a4.yaml
      2022-04-27 17:30:25.000000000 +0200
@@ -0,0 +1,7 @@
+---
+fixes:
+  - |
+    Fix regex used to mask password. The ``strutils.mask_password``
+    function will now correctly handle passwords that contain
+    single or double quotes. Previously, only the characters before the
+    quote were masked.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo.utils-4.10.0/releasenotes/notes/mask-password-pattern-c8c880098743de3e.yaml
 
new/oslo.utils-4.13.0/releasenotes/notes/mask-password-pattern-c8c880098743de3e.yaml
--- 
old/oslo.utils-4.10.0/releasenotes/notes/mask-password-pattern-c8c880098743de3e.yaml
        1970-01-01 01:00:00.000000000 +0100
+++ 
new/oslo.utils-4.13.0/releasenotes/notes/mask-password-pattern-c8c880098743de3e.yaml
        2022-04-27 17:30:25.000000000 +0200
@@ -0,0 +1,5 @@
+---
+security:
+  - |
+    This patch ensures that we mask sensitive data when masking password, even
+    if double quotes are used as password value.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.10.0/releasenotes/source/index.rst 
new/oslo.utils-4.13.0/releasenotes/source/index.rst
--- old/oslo.utils-4.10.0/releasenotes/source/index.rst 2021-08-19 
14:35:10.000000000 +0200
+++ new/oslo.utils-4.13.0/releasenotes/source/index.rst 2022-04-27 
17:30:25.000000000 +0200
@@ -2,17 +2,19 @@
  oslo.utils Release Notes
 ===========================
 
- .. toctree::
-    :maxdepth: 1
+.. toctree::
+   :maxdepth: 1
 
-    unreleased
-    wallaby
-    victoria
-    ussuri
-    train
-    stein
-    rocky
-    queens
-    pike
-    ocata
-    newton
+   unreleased
+   yoga
+   xena
+   wallaby
+   victoria
+   ussuri
+   train
+   stein
+   rocky
+   queens
+   pike
+   ocata
+   newton
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.10.0/releasenotes/source/xena.rst 
new/oslo.utils-4.13.0/releasenotes/source/xena.rst
--- old/oslo.utils-4.10.0/releasenotes/source/xena.rst  1970-01-01 
01:00:00.000000000 +0100
+++ new/oslo.utils-4.13.0/releasenotes/source/xena.rst  2022-04-27 
17:30:25.000000000 +0200
@@ -0,0 +1,6 @@
+=========================
+Xena Series Release Notes
+=========================
+
+.. release-notes::
+   :branch: stable/xena
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.10.0/releasenotes/source/yoga.rst 
new/oslo.utils-4.13.0/releasenotes/source/yoga.rst
--- old/oslo.utils-4.10.0/releasenotes/source/yoga.rst  1970-01-01 
01:00:00.000000000 +0100
+++ new/oslo.utils-4.13.0/releasenotes/source/yoga.rst  2022-04-27 
17:30:25.000000000 +0200
@@ -0,0 +1,6 @@
+=========================
+Yoga Series Release Notes
+=========================
+
+.. release-notes::
+   :branch: stable/yoga
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.10.0/setup.cfg 
new/oslo.utils-4.13.0/setup.cfg
--- old/oslo.utils-4.10.0/setup.cfg     2021-08-19 14:35:45.859989400 +0200
+++ new/oslo.utils-4.13.0/setup.cfg     2022-04-27 17:31:01.240427700 +0200
@@ -1,12 +1,12 @@
 [metadata]
 name = oslo.utils
 summary = Oslo Utility library
-description-file = 
+description_file = 
        README.rst
 author = OpenStack
-author-email = openstack-disc...@lists.openstack.org
-home-page = https://docs.openstack.org/oslo.utils/latest/
-python-requires = >=3.6
+author_email = openstack-disc...@lists.openstack.org
+home_page = https://docs.openstack.org/oslo.utils/latest/
+python_requires = >=3.6
 classifier = 
        Environment :: OpenStack
        Intended Audience :: Information Technology
@@ -17,6 +17,8 @@
        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
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo.utils-4.10.0/tox.ini 
new/oslo.utils-4.13.0/tox.ini
--- old/oslo.utils-4.10.0/tox.ini       2021-08-19 14:35:10.000000000 +0200
+++ new/oslo.utils-4.13.0/tox.ini       2022-04-27 17:30:25.000000000 +0200
@@ -1,5 +1,5 @@
 [tox]
-minversion = 3.1
+minversion = 3.18.0
 envlist = py3,pep8
 ignore_basepython_conflict = true
 
@@ -21,7 +21,7 @@
 commands = {posargs}
 
 [testenv:docs]
-whitelist_externals = rm
+allowlist_externals = rm
 deps =
   
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
   -r{toxinidir}/doc/requirements.txt
@@ -43,7 +43,7 @@
 exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,__init__.py
 
 [testenv:releasenotes]
-whitelist_externals = rm
+allowlist_externals = rm
 deps =
   {[testenv:docs]deps}
 commands =

Reply via email to