Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-ovsdbapp for openSUSE:Factory 
checked in at 2021-12-12 00:57:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-ovsdbapp (Old)
 and      /work/SRC/openSUSE:Factory/.python-ovsdbapp.new.2520 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-ovsdbapp"

Sun Dec 12 00:57:41 2021 rev:10 rq:939548 version:1.12.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-ovsdbapp/python-ovsdbapp.changes  
2021-05-10 15:39:56.097427987 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-ovsdbapp.new.2520/python-ovsdbapp.changes    
    2021-12-12 00:57:57.590598809 +0100
@@ -1,0 +2,15 @@
+Mon Dec  6 09:29:45 UTC 2021 - [email protected]
+
+- update to version 1.12.0
+  - Improve "OvsdbIdl.from_server" method
+  - Don't spam retries 100s of times a second
+  - Actually close the connection in Connection.stop()
+  - Fix docs job
+  - ovn: support allow-stateless ACL verb
+  - Make exceptions in the event logs easier to read
+  - Add Python3 xena unit tests
+  - Update master for stable/wallaby
+  - Add an active wait in the "Backend.lookup"
+  - setup.cfg: Replace dashes with underscores
+
+-------------------------------------------------------------------

Old:
----
  ovsdbapp-1.9.0.tar.gz

New:
----
  ovsdbapp-1.12.0.tar.gz

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

Other differences:
------------------
++++++ python-ovsdbapp.spec ++++++
--- /var/tmp/diff_new_pack.WndF5V/_old  2021-12-12 00:57:58.094599155 +0100
+++ /var/tmp/diff_new_pack.WndF5V/_new  2021-12-12 00:57:58.094599155 +0100
@@ -18,13 +18,13 @@
 
 %define with_tests 1
 Name:           python-ovsdbapp
-Version:        1.9.0
+Version:        1.12.0
 Release:        0
 Summary:        A library for creating OVSDB applications
 License:        Apache-2.0
 Group:          Development/Languages/Python
 URL:            https://docs.openstack.org/ovsdbapp
-Source0:        
https://files.pythonhosted.org/packages/source/o/ovsdbapp/ovsdbapp-1.9.0.tar.gz
+Source0:        
https://files.pythonhosted.org/packages/source/o/ovsdbapp/ovsdbapp-1.12.0.tar.gz
 BuildRequires:  openstack-macros
 BuildRequires:  python3-fixtures >= 3.0.0
 BuildRequires:  python3-netaddr >= 0.7.18
@@ -70,7 +70,7 @@
 %{py3_build}
 
 # generate html docs
-PBR_VERSION=1.9.0 PYTHONPATH=. \
+PBR_VERSION=1.12.0 PYTHONPATH=. \
     %sphinx_build -b html doc/source doc/build/html
 rm -rf doc/build/html/.{doctrees,buildinfo}
 

++++++ _service ++++++
--- /var/tmp/diff_new_pack.WndF5V/_old  2021-12-12 00:57:58.118599172 +0100
+++ /var/tmp/diff_new_pack.WndF5V/_new  2021-12-12 00:57:58.118599172 +0100
@@ -1,8 +1,8 @@
 <services>
   <service mode="disabled" name="renderspec">
-    <param 
name="input-template">https://opendev.org/openstack/rpm-packaging/raw/branch/stable/wallaby/openstack/ovsdbapp/ovsdbapp.spec.j2</param>
+    <param 
name="input-template">https://opendev.org/openstack/rpm-packaging/raw/master/openstack/ovsdbapp/ovsdbapp.spec.j2</param>
     <param name="output-name">python-ovsdbapp.spec</param>
-    <param 
name="requirements">https://opendev.org/openstack/ovsdbapp/raw/branch/stable/wallaby/requirements.txt</param>
+    <param 
name="requirements">https://opendev.org/openstack/ovsdbapp/raw/master/requirements.txt</param>
     <param name="changelog-email">[email protected]</param>
     <param name="changelog-provider">gh,openstack,ovsdbapp</param>
   </service>

++++++ ovsdbapp-1.9.0.tar.gz -> ovsdbapp-1.12.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ovsdbapp-1.9.0/AUTHORS new/ovsdbapp-1.12.0/AUTHORS
--- old/ovsdbapp-1.9.0/AUTHORS  2021-03-03 15:36:06.000000000 +0100
+++ new/ovsdbapp-1.12.0/AUTHORS 2021-08-19 09:44:42.000000000 +0200
@@ -20,6 +20,7 @@
 Dong Jun <[email protected]>
 Doug Hellmann <[email protected]>
 Doug Wiegley <[email protected]>
+Elvira Garc??a <[email protected]>
 Emma Foley <[email protected]>
 Flavio Fernandes <[email protected]>
 Frank Wang <[email protected]>
@@ -55,6 +56,7 @@
 Terry Wilson <[email protected]>
 Terry Wilson <[email protected]>
 Vu Cong Tuan <[email protected]>
+XinxinShen <[email protected]>
 YAMAMOTO Takashi <[email protected]>
 Yalei Wang <[email protected]>
 Yi Zhao <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ovsdbapp-1.9.0/ChangeLog 
new/ovsdbapp-1.12.0/ChangeLog
--- old/ovsdbapp-1.9.0/ChangeLog        2021-03-03 15:36:06.000000000 +0100
+++ new/ovsdbapp-1.12.0/ChangeLog       2021-08-19 09:44:42.000000000 +0200
@@ -1,6 +1,28 @@
 CHANGES
 =======
 
+1.12.0
+------
+
+* Improve "OvsdbIdl.from\_server" method
+* Make exceptions in the event logs easier to read
+
+1.11.0
+------
+
+* ovn: support allow-stateless ACL verb
+* Actually close the connection in Connection.stop()
+* Don't spam retries 100s of times a second
+* Fix docs job
+* setup.cfg: Replace dashes with underscores
+
+1.10.0
+------
+
+* Add an active wait in the "Backend.lookup"
+* Add Python3 xena unit tests
+* Update master for stable/wallaby
+
 1.9.0
 -----
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ovsdbapp-1.9.0/PKG-INFO new/ovsdbapp-1.12.0/PKG-INFO
--- old/ovsdbapp-1.9.0/PKG-INFO 2021-03-03 15:36:06.790809000 +0100
+++ new/ovsdbapp-1.12.0/PKG-INFO        2021-08-19 09:44:42.884636600 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: ovsdbapp
-Version: 1.9.0
+Version: 1.12.0
 Summary: A library for creating OVSDB applications
 Home-page: https://pypi.org/project/ovsdbapp/
 Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ovsdbapp-1.9.0/ovsdbapp/backend/ovs_idl/__init__.py 
new/ovsdbapp-1.12.0/ovsdbapp/backend/ovs_idl/__init__.py
--- old/ovsdbapp-1.9.0/ovsdbapp/backend/ovs_idl/__init__.py     2021-03-03 
15:35:28.000000000 +0100
+++ new/ovsdbapp-1.12.0/ovsdbapp/backend/ovs_idl/__init__.py    2021-08-19 
09:44:11.000000000 +0200
@@ -14,6 +14,7 @@
 import uuid
 
 from ovsdbapp.backend.ovs_idl import command as cmd
+from ovsdbapp.backend.ovs_idl import event
 from ovsdbapp.backend.ovs_idl import idlutils
 from ovsdbapp.backend.ovs_idl import transaction
 from ovsdbapp import exceptions
@@ -22,6 +23,27 @@
 _NO_DEFAULT = object()
 
 
+class LookupWaitEvent(event.WaitEvent):
+
+    def __init__(self, backend, table, record, timeout):
+        events = (self.ROW_CREATE, self.ROW_UPDATE)
+        super().__init__(events, table, None, timeout=timeout)
+        self.backend = backend
+        self.record = record
+        self.event_name = 'LookupWaitEvent_%s' % table
+        self.result = None
+
+    def match_fn(self, event, row, old):
+        try:
+            # Normally, we would use run() to do things on match, but in this
+            # case, that would mean we'd have to run lookup() again.
+            with self.backend.ovsdb_connection.lock:
+                self.result = self.backend.lookup(self.table, self.record)
+            return bool(self.result)
+        except idlutils.RowNotFound:
+            return False
+
+
 class Backend(object):
     lookup_table = {}
     _ovsdb_connection = None
@@ -171,14 +193,36 @@
         return cmd.DbRemoveCommand(self, table, record, column,
                                    *values, **keyvalues)
 
-    def lookup(self, table, record, default=_NO_DEFAULT):
+    def lookup(self, table, record, default=_NO_DEFAULT, timeout=None,
+               notify_handler=None):
+        """Search for a record in a table
+
+        If timeout and notify_handler of type ``row_event.RowEventHandler``
+        are passed, in case the record is not present in the selected table,
+        the method creates an event, waiting for this record (UUID), on this
+        table and events CREATE and UPDATE. The event returns with the record
+        memoized if the record was created or updated.
+        """
         try:
             with self.ovsdb_connection.lock:
                 return self._lookup(table, record)
         except idlutils.RowNotFound:
             if default is not _NO_DEFAULT:
                 return default
-            raise
+            if not notify_handler:
+                notify_handler = getattr(self, 'notify_handler', None)
+            if not (timeout and notify_handler):
+                raise
+
+            wait_event = LookupWaitEvent(self, table, record, timeout)
+            notify_handler.watch_event(wait_event)
+            if not wait_event.wait():
+                LOG.info('Record %s from table %s was not registered in the '
+                         'IDL DB cache after %d seconds', record, table,
+                         timeout)
+                notify_handler.unwatch_event(wait_event)
+                raise
+            return wait_event.result
 
     def _lookup(self, table, record):
         if record == "":
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ovsdbapp-1.9.0/ovsdbapp/backend/ovs_idl/connection.py 
new/ovsdbapp-1.12.0/ovsdbapp/backend/ovs_idl/connection.py
--- old/ovsdbapp-1.9.0/ovsdbapp/backend/ovs_idl/connection.py   2021-03-03 
15:35:28.000000000 +0100
+++ new/ovsdbapp-1.12.0/ovsdbapp/backend/ovs_idl/connection.py  2021-08-19 
09:44:11.000000000 +0200
@@ -77,7 +77,9 @@
         with self.lock:
             if self.thread is not None:
                 return False
-            if not self.idl.has_ever_connected():
+            if not self.idl.has_ever_connected() or self.is_running is False:
+                if self.is_running is False:  # stop() was called
+                    self.idl.force_reconnect()
                 idlutils.wait_for_change(self.idl, self.timeout)
                 try:
                     self.idl.post_connect()
@@ -132,6 +134,7 @@
                                                   tb=traceback.format_exc())
                     txn.results.put(er)
                 self.txns.task_done()
+        self.idl.close()
 
     def stop(self, timeout=None):
         if not self.is_running:
@@ -157,11 +160,28 @@
 
 class OvsdbIdl(idl.Idl):
     @classmethod
-    def from_server(cls, connection_string, schema_name):
-        """Create the Idl instance by pulling the schema from OVSDB server"""
-        helper = idlutils.get_schema_helper(connection_string, schema_name)
-        helper.register_all()
-        return cls(connection_string, helper)
+    def from_server(cls, connection_string, schema_name, *args,
+                    helper=None, helper_tables=None, **kwargs):
+        """Create the Idl instance by pulling the schema from OVSDB server
+
+        :param connection_string: Connection name
+        :type connection_string: string
+        :param schema_name: Schema name
+        :type schema: string
+        :param helper: Helper instance
+        :type helper: ``idl.SchemaHelper``
+        :param helper_tables: Tables to be registered in the helper
+        :type helper_tables: Iterator of strings
+        """
+        if not helper:
+            helper = idlutils.get_schema_helper(connection_string, schema_name)
+
+        if not helper_tables:
+            helper.register_all()
+        else:
+            for table in helper_tables:
+                helper.register_table(table)
+        return cls(connection_string, helper, **kwargs)
 
     def post_connect(self):
         """Operations to execute after the Idl has connected to the server
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ovsdbapp-1.9.0/ovsdbapp/backend/ovs_idl/transaction.py 
new/ovsdbapp-1.12.0/ovsdbapp/backend/ovs_idl/transaction.py
--- old/ovsdbapp-1.9.0/ovsdbapp/backend/ovs_idl/transaction.py  2021-03-03 
15:35:28.000000000 +0100
+++ new/ovsdbapp-1.12.0/ovsdbapp/backend/ovs_idl/transaction.py 2021-08-19 
09:44:11.000000000 +0200
@@ -23,6 +23,7 @@
 from ovsdbapp import exceptions
 
 LOG = logging.getLogger(__name__)
+MAX_SLEEP = 8
 
 
 class Transaction(api.Transaction):
@@ -74,6 +75,7 @@
     def do_commit(self):
         self.start_time = time.time()
         attempts = 0
+        retries = 0
         if not self.commands:
             LOG.debug("There are no commands to commit")
             return []
@@ -103,7 +105,13 @@
                 # TRY_AGAIN until we time out and Connection.run() calls
                 # idl.run() again. So, call idl.run() here just in case.
                 self.api.idl.run()
+
+                # In the event that there is an issue with the txn or the db
+                # is down, don't spam new txns as fast as we can
+                time.sleep(min(2 ** retries, self.time_remaining(), MAX_SLEEP))
+                retries += 1
                 continue
+            retries = 0
             if status in (txn.ERROR, txn.NOT_LOCKED):
                 msg = 'OVSDB Error: '
                 if status == txn.NOT_LOCKED:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ovsdbapp-1.9.0/ovsdbapp/event.py 
new/ovsdbapp-1.12.0/ovsdbapp/event.py
--- old/ovsdbapp-1.9.0/ovsdbapp/event.py        2021-03-03 15:35:28.000000000 
+0100
+++ new/ovsdbapp-1.12.0/ovsdbapp/event.py       2021-08-19 09:44:11.000000000 
+0200
@@ -14,9 +14,7 @@
 import atexit
 import logging
 import queue
-import sys
 import threading
-import traceback
 
 LOG = logging.getLogger(__name__)
 STOP_EVENT = ("STOP", None, None, None)
@@ -111,16 +109,7 @@
         try:
             return candidate.matches(event, row, updates)
         except Exception:
-            # It seems reasonable to treat an Exception as a match failure
-            # as for ROW_UPDATE events old is None and users often check
-            # old.external_ids etc. to see if something has changed. We
-            # definitely don't want to interupt RowEventHandler.matching_events
-            # and miss checking other events due to an exception in this event.
-            # To avoid spamming full Exceptions for expected behavior, just
-            # log the initial location of the Exception.
-            _, _, tb = sys.exc_info()
-            LOG.debug("Event not matched due to exception:\n%s",
-                      traceback.format_tb(tb)[-1])
+            LOG.exception("Event not matched due to this exception:\n")
             return False
 
     def matching_events(self, event, row, updates):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ovsdbapp-1.9.0/ovsdbapp/schema/ovn_northbound/api.py 
new/ovsdbapp-1.12.0/ovsdbapp/schema/ovn_northbound/api.py
--- old/ovsdbapp-1.9.0/ovsdbapp/schema/ovn_northbound/api.py    2021-03-03 
15:35:28.000000000 +0100
+++ new/ovsdbapp-1.12.0/ovsdbapp/schema/ovn_northbound/api.py   2021-08-19 
09:44:11.000000000 +0200
@@ -109,7 +109,8 @@
         :param match:     The match rule
         :type match:      string
         :param action:    The action to take upon match
-        :type action:     'allow', 'allow-related', 'drop', or 'reject'
+        :type action:     'allow', 'allow-related', 'allow-stateless', 'drop',
+                          or 'reject'
         :param log:       If True, enable packet logging for the ACL
         :type log:        boolean
         :returns:         :class:`Command` with RowView result
@@ -159,7 +160,8 @@
         :param match:        The match rule
         :type match:         string
         :param action:       The action to take upon match
-        :type action:        'allow', 'allow-related', 'drop', or 'reject'
+        :type action:        'allow', 'allow-related', 'allow-stateless',
+                             'drop', or 'reject'
         :param log:          If True, enable packet logging for the ACL
         :type log:           boolean
         :param may_exist:    If True, don't fail if the ACL already exists
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ovsdbapp-1.9.0/ovsdbapp/schema/ovn_northbound/commands.py 
new/ovsdbapp-1.12.0/ovsdbapp/schema/ovn_northbound/commands.py
--- old/ovsdbapp-1.9.0/ovsdbapp/schema/ovn_northbound/commands.py       
2021-03-03 15:35:28.000000000 +0100
+++ new/ovsdbapp-1.12.0/ovsdbapp/schema/ovn_northbound/commands.py      
2021-08-19 09:44:11.000000000 +0200
@@ -91,8 +91,10 @@
         if not 0 <= priority <= const.ACL_PRIORITY_MAX:
             raise ValueError("priority must be between 0 and %s, inclusive" % (
                              const.ACL_PRIORITY_MAX))
-        if action not in ('allow', 'allow-related', 'drop', 'reject'):
-            raise TypeError("action must be allow/allow-related/drop/reject")
+        if action not in ('allow', 'allow-related', 'allow-stateless',
+                          'drop', 'reject'):
+            raise TypeError("action must be allow/allow-related/"
+                            "allow-stateless/drop/reject")
         super().__init__(api)
         self.entity = entity
         self.direction = direction
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ovsdbapp-1.9.0/ovsdbapp/tests/functional/backend/ovs_idl/test_backend.py 
new/ovsdbapp-1.12.0/ovsdbapp/tests/functional/backend/ovs_idl/test_backend.py
--- 
old/ovsdbapp-1.9.0/ovsdbapp/tests/functional/backend/ovs_idl/test_backend.py    
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/ovsdbapp-1.12.0/ovsdbapp/tests/functional/backend/ovs_idl/test_backend.py   
    2021-08-19 09:44:11.000000000 +0200
@@ -0,0 +1,63 @@
+#    Licensed under the Apache License, Version 2.0 (the "License"); you may
+#    not use this file except in compliance with the License. You may obtain
+#    a copy of the License at
+#
+#         http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+#    License for the specific language governing permissions and limitations
+#    under the License.
+
+import threading
+import time
+import uuid
+
+from ovsdbapp.backend.ovs_idl import event
+from ovsdbapp.backend.ovs_idl import idlutils
+from ovsdbapp.schema.ovn_northbound import impl_idl
+from ovsdbapp.tests.functional import base
+
+
+class TestOvnNbIndex(base.FunctionalTestCase):
+    schemas = ['OVN_Northbound']
+
+    def setUp(self):
+        super(TestOvnNbIndex, self).setUp()
+        self.api = impl_idl.OvnNbApiIdlImpl(self.connection)
+        self.lsp_name = str(uuid.uuid4())
+        self.a = None
+
+    def _create_ls(self):
+        time.sleep(1)  # Wait a bit to allow a first unsuccessful lookup().
+        self.api.db_create('Logical_Switch', name=self.lsp_name).execute()
+
+    def test_lookup_with_timeout_and_notify_handler(self):
+        notify_handler = event.RowEventHandler()
+        self.api.idl.notify = notify_handler.notify
+        t_create = threading.Thread(target=self._create_ls, args=())
+        t_create.start()
+        ret = self.api.lookup('Logical_Switch', self.lsp_name, timeout=3,
+                              notify_handler=notify_handler)
+        self.assertEqual(self.lsp_name, ret.name)
+        t_create.join()
+
+    def _test_lookup_exception(self, timeout, notify_handler):
+        if notify_handler:
+            self.api.idl.notify = notify_handler.notify
+        t_create = threading.Thread(target=self._create_ls, args=())
+        t_create.start()
+        self.assertRaises(idlutils.RowNotFound, self.api.lookup,
+                          'Logical_Switch', self.lsp_name, timeout=timeout,
+                          notify_handler=notify_handler)
+        t_create.join()
+
+    def test_lookup_without_timeout(self):
+        self._test_lookup_exception(0, event.RowEventHandler())
+
+    def test_lookup_without_event_handler(self):
+        self._test_lookup_exception(3, None)
+
+    def test_lookup_without_timeout_and_event_handler(self):
+        self._test_lookup_exception(0, None)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ovsdbapp-1.9.0/ovsdbapp.egg-info/PKG-INFO 
new/ovsdbapp-1.12.0/ovsdbapp.egg-info/PKG-INFO
--- old/ovsdbapp-1.9.0/ovsdbapp.egg-info/PKG-INFO       2021-03-03 
15:36:06.000000000 +0100
+++ new/ovsdbapp-1.12.0/ovsdbapp.egg-info/PKG-INFO      2021-08-19 
09:44:42.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: ovsdbapp
-Version: 1.9.0
+Version: 1.12.0
 Summary: A library for creating OVSDB applications
 Home-page: https://pypi.org/project/ovsdbapp/
 Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ovsdbapp-1.9.0/ovsdbapp.egg-info/SOURCES.txt 
new/ovsdbapp-1.12.0/ovsdbapp.egg-info/SOURCES.txt
--- old/ovsdbapp-1.9.0/ovsdbapp.egg-info/SOURCES.txt    2021-03-03 
15:36:06.000000000 +0100
+++ new/ovsdbapp-1.12.0/ovsdbapp.egg-info/SOURCES.txt   2021-08-19 
09:44:42.000000000 +0200
@@ -73,6 +73,7 @@
 ovsdbapp/tests/functional/base.py
 ovsdbapp/tests/functional/backend/__init__.py
 ovsdbapp/tests/functional/backend/ovs_idl/__init__.py
+ovsdbapp/tests/functional/backend/ovs_idl/test_backend.py
 ovsdbapp/tests/functional/backend/ovs_idl/test_connection.py
 ovsdbapp/tests/functional/backend/ovs_idl/test_indexing.py
 ovsdbapp/tests/functional/schema/__init__.py
@@ -105,6 +106,7 @@
 releasenotes/notes/.placeholder
 releasenotes/notes/configure-ovsdb-manager-a29a148b241a125e.yaml
 releasenotes/notes/drop-py27-support-c426980520444bfa.yaml
+releasenotes/notes/ovn-support-allow-stateless-01aed5acdcd1c0d1.yaml
 releasenotes/source/conf.py
 releasenotes/source/index.rst
 releasenotes/source/pike.rst
@@ -115,6 +117,7 @@
 releasenotes/source/unreleased.rst
 releasenotes/source/ussuri.rst
 releasenotes/source/victoria.rst
+releasenotes/source/wallaby.rst
 releasenotes/source/_templates/.placeholder
 tools/coding-checks.sh
 tools/debug_venv
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ovsdbapp-1.9.0/ovsdbapp.egg-info/pbr.json 
new/ovsdbapp-1.12.0/ovsdbapp.egg-info/pbr.json
--- old/ovsdbapp-1.9.0/ovsdbapp.egg-info/pbr.json       2021-03-03 
15:36:06.000000000 +0100
+++ new/ovsdbapp-1.12.0/ovsdbapp.egg-info/pbr.json      2021-08-19 
09:44:42.000000000 +0200
@@ -1 +1 @@
-{"git_version": "38a99c7", "is_release": true}
\ No newline at end of file
+{"git_version": "35c8eae", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ovsdbapp-1.9.0/releasenotes/notes/ovn-support-allow-stateless-01aed5acdcd1c0d1.yaml
 
new/ovsdbapp-1.12.0/releasenotes/notes/ovn-support-allow-stateless-01aed5acdcd1c0d1.yaml
--- 
old/ovsdbapp-1.9.0/releasenotes/notes/ovn-support-allow-stateless-01aed5acdcd1c0d1.yaml
     1970-01-01 01:00:00.000000000 +0100
+++ 
new/ovsdbapp-1.12.0/releasenotes/notes/ovn-support-allow-stateless-01aed5acdcd1c0d1.yaml
    2021-08-19 09:44:11.000000000 +0200
@@ -0,0 +1,3 @@
+---
+features:
+  - Support the new "allow-stateless" ACL action. It was added in OVN 21.06.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ovsdbapp-1.9.0/releasenotes/source/index.rst 
new/ovsdbapp-1.12.0/releasenotes/source/index.rst
--- old/ovsdbapp-1.9.0/releasenotes/source/index.rst    2021-03-03 
15:35:28.000000000 +0100
+++ new/ovsdbapp-1.12.0/releasenotes/source/index.rst   2021-08-19 
09:44:11.000000000 +0200
@@ -6,6 +6,7 @@
    :maxdepth: 1
 
    unreleased
+   wallaby
    victoria
    ussuri
    train
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ovsdbapp-1.9.0/releasenotes/source/wallaby.rst 
new/ovsdbapp-1.12.0/releasenotes/source/wallaby.rst
--- old/ovsdbapp-1.9.0/releasenotes/source/wallaby.rst  1970-01-01 
01:00:00.000000000 +0100
+++ new/ovsdbapp-1.12.0/releasenotes/source/wallaby.rst 2021-08-19 
09:44:11.000000000 +0200
@@ -0,0 +1,6 @@
+============================
+Wallaby Series Release Notes
+============================
+
+.. release-notes::
+   :branch: stable/wallaby
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ovsdbapp-1.9.0/setup.cfg 
new/ovsdbapp-1.12.0/setup.cfg
--- old/ovsdbapp-1.9.0/setup.cfg        2021-03-03 15:36:06.790809000 +0100
+++ new/ovsdbapp-1.12.0/setup.cfg       2021-08-19 09:44:42.888636800 +0200
@@ -1,12 +1,12 @@
 [metadata]
 name = ovsdbapp
 summary = A library for creating OVSDB applications
-description-file = 
+description_file = 
        README.rst
 author = OpenStack
-author-email = [email protected]
-home-page = https://pypi.org/project/ovsdbapp/
-python-requires = >=3.6
+author_email = [email protected]
+home_page = https://pypi.org/project/ovsdbapp/
+python_requires = >=3.6
 classifier = 
        Environment :: OpenStack
        Intended Audience :: Information Technology
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ovsdbapp-1.9.0/tox.ini new/ovsdbapp-1.12.0/tox.ini
--- old/ovsdbapp-1.9.0/tox.ini  2021-03-03 15:35:28.000000000 +0100
+++ new/ovsdbapp-1.12.0/tox.ini 2021-08-19 09:44:11.000000000 +0200
@@ -30,6 +30,7 @@
 
 [testenv:docs]
 deps =
+  
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/xena}
   -r{toxinidir}/doc/requirements.txt
 commands =
   sphinx-build -W -b html -d doc/build/doctrees doc/source doc/build/html
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ovsdbapp-1.9.0/zuul.d/project.yaml 
new/ovsdbapp-1.12.0/zuul.d/project.yaml
--- old/ovsdbapp-1.9.0/zuul.d/project.yaml      2021-03-03 15:35:28.000000000 
+0100
+++ new/ovsdbapp-1.12.0/zuul.d/project.yaml     2021-08-19 09:44:11.000000000 
+0200
@@ -2,7 +2,7 @@
     templates:
       - check-requirements
       - openstack-lower-constraints-jobs
-      - openstack-python3-wallaby-jobs
+      - openstack-python3-xena-jobs
       - publish-openstack-docs-pti
     check:
       jobs:

Reply via email to