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 2024-06-05 17:41:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-ovsdbapp (Old)
and /work/SRC/openSUSE:Factory/.python-ovsdbapp.new.24587 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-ovsdbapp"
Wed Jun 5 17:41:58 2024 rev:17 rq:1178604 version:2.7.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-ovsdbapp/python-ovsdbapp.changes 2024-05-10 12:07:21.270325658 +0200
+++ /work/SRC/openSUSE:Factory/.python-ovsdbapp.new.24587/python-ovsdbapp.changes 2024-06-05 17:42:34.590490719 +0200
@@ -1,0 +2,18 @@
+Tue Jun 4 20:03:08 UTC 2024 - cloud-devel@suse.de
+
+- update to version 2.7.1
+ - reno: Update master for unmaintained/xena
+ - reno: Update master for unmaintained/zed
+ - ovn-sb: remove chassis from Chassis_Private on ChassisDelCommand
+ - reno: Update master for unmaintained/wallaby
+ - Handle IPv6 addresses for LB IP port mappings
+ - Add pre-commit configuration
+ - Remove executable from python files which don't really needs it
+ - Add if_exists to lrp_set_options
+ - nb: commands: fix passing string to LSP attach/detach mirror API
+ - Backend: always operate on (class level) ovsdb_connection
+ - reno: Update master for unmaintained/victoria
+ - Fix BFD functional test, avoid comparing status column
+ - Update master for stable/2024.1
+
+-------------------------------------------------------------------
Old:
----
ovsdbapp-2.6.0.tar.gz
New:
----
ovsdbapp-2.7.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-ovsdbapp.spec ++++++
--- /var/tmp/diff_new_pack.6fTve8/_old 2024-06-05 17:42:35.634528740 +0200
+++ /var/tmp/diff_new_pack.6fTve8/_new 2024-06-05 17:42:35.634528740 +0200
@@ -18,18 +18,18 @@
%define with_tests 1
Name: python-ovsdbapp
-Version: 2.6.0
+Version: 2.7.1
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-2.6.0.tar...
+Source0: https://files.pythonhosted.org/packages/source/o/ovsdbapp/ovsdbapp-2.7.1.tar...
# https://review.opendev.org/c/openstack/ovsdbapp/+/918970
Patch1: 0001-Improve-compatibility-with-netaddr-1.x.patch
BuildRequires: openstack-macros
BuildRequires: python3-fixtures >= 3.0.0
-BuildRequires: python3-netaddr >= 0.7.18
+BuildRequires: python3-netaddr >= 0.10.0
BuildRequires: python3-oslotest
BuildRequires: python3-ovs >= 2.10.0
BuildRequires: python3-pbr >= 2.0.0
@@ -46,7 +46,7 @@
%package -n python3-ovsdbapp
Summary: A library for creating OVSDB applications
Requires: python3-fixtures >= 3.0.0
-Requires: python3-netaddr >= 0.7.18
+Requires: python3-netaddr >= 0.10.0
Requires: python3-ovs >= 2.10.0
Requires: python3-pbr >= 2.0.0
Requires: python3-six
@@ -72,7 +72,7 @@
%{py3_build}
# generate html docs
-PBR_VERSION=2.6.0 PYTHONPATH=. \
+PBR_VERSION=2.7.1 PYTHONPATH=. \
%sphinx_build -b html doc/source doc/build/html
rm -rf doc/build/html/.{doctrees,buildinfo}
++++++ ovsdbapp-2.6.0.tar.gz -> ovsdbapp-2.7.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ovsdbapp-2.6.0/.pre-commit-config.yaml new/ovsdbapp-2.7.1/.pre-commit-config.yaml
--- old/ovsdbapp-2.6.0/.pre-commit-config.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/ovsdbapp-2.7.1/.pre-commit-config.yaml 2024-05-20 20:55:01.000000000 +0200
@@ -0,0 +1,38 @@
+---
+default_language_version:
+ # force all unspecified python hooks to run python3
+ python: python3
+repos:
+ - repo: https://github.com/pre-commit/pre-commit-hooks
+ rev: v4.5.0
+ hooks:
+ - id: trailing-whitespace
+ - id: mixed-line-ending
+ args: ['--fix', 'lf']
+ exclude: '.*\.(svg)$'
+ - id: check-byte-order-marker
+ - id: check-executables-have-shebangs
+ - id: check-merge-conflict
+ - id: debug-statements
+ - id: check-yaml
+ - repo: https://github.com/lucas-c/pre-commit-hooks
+ rev: v1.5.4
+ hooks:
+ - id: remove-tabs
+ exclude: '.*\.(svg)$'
+ - repo: https://opendev.org/openstack/hacking
+ rev: 6.1.0
+ hooks:
+ - id: hacking
+ additional_dependencies: []
+ exclude: '^(doc|releasenotes|tools)/.*$'
+ - repo: local
+ hooks:
+ - id: flake8
+ name: flake8
+ additional_dependencies:
+ - hacking>=6.1.0,<6.2.0
+ language: python
+ entry: flake8
+ files: '^.*\.py$'
+ exclude: '^(doc|releasenotes|tools)/.*$'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ovsdbapp-2.6.0/AUTHORS new/ovsdbapp-2.7.1/AUTHORS
--- old/ovsdbapp-2.6.0/AUTHORS 2024-02-22 16:11:45.000000000 +0100
+++ new/ovsdbapp-2.7.1/AUTHORS 2024-05-20 20:55:28.000000000 +0200
@@ -19,6 +19,7 @@
Cyril Roelandt
Daniel Alvarez
Davanum Srinivas
+Dmitrii Skorykh
Dong Jun
Doug Hellmann
Doug Wiegley
@@ -26,6 +27,7 @@
Emma Foley
Flavio Fernandes
Frank Wang
+Frode Nordahl
Frode Nordahl
Gal Sagie
Gary Kotton
@@ -59,6 +61,7 @@
Rodolfo Alonso
Rodolfo Alonso Hernandez
Sean Mooney
+Seena Fallah
Slawek Kaplonski
Takashi Kajinami
Takashi Natsume
@@ -88,6 +91,7 @@
shanyunfan33
wangzihao
yan.haifeng
+yatinkarel
zhangboye
zhangzs
zhouguowei
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ovsdbapp-2.6.0/ChangeLog new/ovsdbapp-2.7.1/ChangeLog
--- old/ovsdbapp-2.6.0/ChangeLog 2024-02-22 16:11:45.000000000 +0100
+++ new/ovsdbapp-2.7.1/ChangeLog 2024-05-20 20:55:28.000000000 +0200
@@ -1,6 +1,27 @@
CHANGES
=======
+2.7.1
+-----
+
+* Add if\_exists to lrp\_set\_options
+
+2.7.0
+-----
+
+* Backend: always operate on (class level) ovsdb\_connection
+* Add pre-commit configuration
+* Remove executable from python files which don't really needs it
+* reno: Update master for unmaintained/zed
+* Handle IPv6 addresses for LB IP port mappings
+* Fix BFD functional test, avoid comparing status column
+* ovn-sb: remove chassis from Chassis\_Private on ChassisDelCommand
+* Update master for stable/2024.1
+* reno: Update master for unmaintained/xena
+* reno: Update master for unmaintained/wallaby
+* reno: Update master for unmaintained/victoria
+* nb: commands: fix passing string to LSP attach/detach mirror API
+
2.6.0
-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ovsdbapp-2.6.0/PKG-INFO new/ovsdbapp-2.7.1/PKG-INFO
--- old/ovsdbapp-2.6.0/PKG-INFO 2024-02-22 16:11:45.992421600 +0100
+++ new/ovsdbapp-2.7.1/PKG-INFO 2024-05-20 20:55:28.470827000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.2
Name: ovsdbapp
-Version: 2.6.0
+Version: 2.7.1
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-2.6.0/ovsdbapp/backend/ovs_idl/__init__.py new/ovsdbapp-2.7.1/ovsdbapp/backend/ovs_idl/__init__.py
--- old/ovsdbapp-2.6.0/ovsdbapp/backend/ovs_idl/__init__.py 2024-02-22 16:11:10.000000000 +0100
+++ new/ovsdbapp-2.7.1/ovsdbapp/backend/ovs_idl/__init__.py 2024-05-20 20:55:01.000000000 +0200
@@ -32,12 +32,12 @@
super().__init__(**kwargs)
self.ovsdb_connection = connection
if auto_index:
- if connection.is_running:
+ if self.ovsdb_connection.is_running:
LOG.debug("Connection already started, not creating indices")
else:
self.autocreate_indices()
if start:
- self.start_connection(connection)
+ self.start_connection(self.ovsdb_connection)
@property
def ovsdb_connection(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ovsdbapp-2.6.0/ovsdbapp/backend/ovs_idl/command.py new/ovsdbapp-2.7.1/ovsdbapp/backend/ovs_idl/command.py
--- old/ovsdbapp-2.6.0/ovsdbapp/backend/ovs_idl/command.py 2024-02-22 16:11:10.000000000 +0100
+++ new/ovsdbapp-2.7.1/ovsdbapp/backend/ovs_idl/command.py 2024-05-20 20:55:01.000000000 +0200
@@ -348,14 +348,20 @@
class BaseSetOptionsCommand(BaseCommand):
table = []
- def __init__(self, api, entity, **options):
+ def __init__(self, api, entity, if_exists=False, **options):
super().__init__(api)
self.entity = entity
self.options = options
+ self.if_exists = if_exists
def run_idl(self, txn):
- entity = self.api.lookup(self.table, self.entity)
- entity.options = self.options
+ try:
+ entity = self.api.lookup(self.table, self.entity)
+ entity.options = self.options
+ except idlutils.RowNotFound:
+ if self.if_exists:
+ return
+ raise
class BaseGetOptionsCommand(ReadOnlyCommand):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ovsdbapp-2.6.0/ovsdbapp/schema/ovn_northbound/api.py new/ovsdbapp-2.7.1/ovsdbapp/schema/ovn_northbound/api.py
--- old/ovsdbapp-2.6.0/ovsdbapp/schema/ovn_northbound/api.py 2024-02-22 16:11:10.000000000 +0100
+++ new/ovsdbapp-2.7.1/ovsdbapp/schema/ovn_northbound/api.py 2024-05-20 20:55:01.000000000 +0200
@@ -650,14 +650,17 @@
"""
@abc.abstractmethod
- def lrp_set_options(self, port, **options):
+ def lrp_set_options(self, port, if_exists=False, **options):
"""Set options related to the type of 'port'
- :param port: The name or uuid of the port
- :type port: string or uuid.UUID
- :param options: keys and values for the port 'options' dict
- :type options: key: string, value: string
- :returns: :class:`Command` with no result
+ :param port: The name or uuid of the port
+ :type port: string or uuid.UUID
+ :param options: keys and values for the port 'options' dict
+ :param if_exists: If True, don't fail if the logical router port
+ doesn't exist
+ :type if_exists: boolean
+ :type options: key: string, value: string
+ :returns: :class:`Command` with no result
"""
@abc.abstractmethod
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ovsdbapp-2.6.0/ovsdbapp/schema/ovn_northbound/commands.py new/ovsdbapp-2.7.1/ovsdbapp/schema/ovn_northbound/commands.py
--- old/ovsdbapp-2.6.0/ovsdbapp/schema/ovn_northbound/commands.py 2024-02-22 16:11:10.000000000 +0100
+++ new/ovsdbapp-2.7.1/ovsdbapp/schema/ovn_northbound/commands.py 2024-05-20 20:55:01.000000000 +0200
@@ -1223,7 +1223,7 @@
msg = "Mirror Rule %s is already set on LSP %s" % (self.mirror,
self.port)
raise RuntimeError(msg)
- lsp.addvalue('mirror_rules', self.mirror)
+ lsp.addvalue('mirror_rules', mirror)
except idlutils.RowNotFound as e:
raise RuntimeError("LSP %s not found" % self.port) from e
@@ -1243,7 +1243,7 @@
msg = "Mirror Rule %s doesn't exist on LSP %s" % (self.mirror,
self.port)
raise RuntimeError(msg)
- lsp.delvalue('mirror_rules', self.mirror)
+ lsp.delvalue('mirror_rules', mirror)
except idlutils.RowNotFound as e:
if self.if_exists:
return
@@ -1670,15 +1670,22 @@
raise RuntimeError(msg)
-class LbAddIpPortMappingCommand(cmd.BaseCommand):
+class LbIpPortMappingCommand(cmd.BaseCommand):
+ @staticmethod
+ def normalize_ip(ip_str):
+ ip = netaddr.IPAddress(ip_str)
+ return f"[{ip}]" if ip.version == 6 else str(ip)
+
+
+class LbAddIpPortMappingCommand(LbIpPortMappingCommand):
table = 'Load_Balancer'
def __init__(self, api, lb, endpoint_ip, port_name, source_ip):
super().__init__(api)
self.lb = lb
- self.endpoint_ip = str(netaddr.IPAddress(endpoint_ip))
+ self.endpoint_ip = self.normalize_ip(endpoint_ip)
self.port_name = port_name
- self.source_ip = str(netaddr.IPAddress(source_ip))
+ self.source_ip = self.normalize_ip(source_ip)
def run_idl(self, txn):
lb = self.api.lookup(self.table, self.lb)
@@ -1686,13 +1693,13 @@
'%s:%s' % (self.port_name, self.source_ip))
-class LbDelIpPortMappingCommand(cmd.BaseCommand):
+class LbDelIpPortMappingCommand(LbIpPortMappingCommand):
table = 'Load_Balancer'
def __init__(self, api, lb, endpoint_ip):
super().__init__(api)
self.lb = lb
- self.endpoint_ip = str(netaddr.IPAddress(endpoint_ip))
+ self.endpoint_ip = self.normalize_ip(endpoint_ip)
def run_idl(self, txn):
lb = self.api.lookup(self.table, self.lb)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ovsdbapp-2.6.0/ovsdbapp/schema/ovn_northbound/impl_idl.py new/ovsdbapp-2.7.1/ovsdbapp/schema/ovn_northbound/impl_idl.py
--- old/ovsdbapp-2.6.0/ovsdbapp/schema/ovn_northbound/impl_idl.py 2024-02-22 16:11:10.000000000 +0100
+++ new/ovsdbapp-2.7.1/ovsdbapp/schema/ovn_northbound/impl_idl.py 2024-05-20 20:55:01.000000000 +0200
@@ -212,8 +212,8 @@
def lrp_get_enabled(self, port):
return cmd.LrpGetEnabledCommand(self, port)
- def lrp_set_options(self, port, **options):
- return cmd.LrpSetOptionsCommand(self, port, **options)
+ def lrp_set_options(self, port, if_exists=False, **options):
+ return cmd.LrpSetOptionsCommand(self, port, if_exists, **options)
def lrp_get_options(self, port):
return cmd.LrpGetOptionsCommand(self, port)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ovsdbapp-2.6.0/ovsdbapp/schema/ovn_southbound/commands.py new/ovsdbapp-2.7.1/ovsdbapp/schema/ovn_southbound/commands.py
--- old/ovsdbapp-2.6.0/ovsdbapp/schema/ovn_southbound/commands.py 2024-02-22 16:11:10.000000000 +0100
+++ new/ovsdbapp-2.7.1/ovsdbapp/schema/ovn_southbound/commands.py 2024-05-20 20:55:01.000000000 +0200
@@ -74,6 +74,12 @@
encap.delete()
chassis.delete()
+ try:
+ chassis_private = self.api.lookup('Chassis_Private', self.chassis)
+ chassis_private.delete()
+ except idlutils.RowNotFound:
+ pass
+
class ChassisListCommand(cmd.ReadOnlyCommand):
def run_idl(self, txn):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ovsdbapp-2.6.0/ovsdbapp/tests/functional/schema/ovn_northbound/test_impl_idl.py new/ovsdbapp-2.7.1/ovsdbapp/tests/functional/schema/ovn_northbound/test_impl_idl.py
--- old/ovsdbapp-2.6.0/ovsdbapp/tests/functional/schema/ovn_northbound/test_impl_idl.py 2024-02-22 16:11:10.000000000 +0100
+++ new/ovsdbapp-2.7.1/ovsdbapp/tests/functional/schema/ovn_northbound/test_impl_idl.py 2024-05-20 20:55:01.000000000 +0200
@@ -12,6 +12,7 @@
import netaddr
import testscenarios
+import types
import uuid
from ovsdbapp.backend.ovs_idl import idlutils
@@ -1641,6 +1642,17 @@
self.assertEqual(options, self.api.lrp_get_options(lrp.uuid).execute(
check_error=True))
+ def test_lrp_set_options_if_exists(self):
+ options = {'one': 'two', 'three': 'four'}
+ self.api.lrp_set_options(utils.get_rand_device_name(),
+ if_exists=True,
+ **options).execute(check_error=True)
+
+ def test_lrp_set_options_no_exist(self):
+ options = {'one': 'two', 'three': 'four'}
+ cmd = self.api.lrp_set_options(utils.get_rand_device_name(), **options)
+ self.assertRaises(idlutils.RowNotFound, cmd.execute, check_error=True)
+
def test_lrp_get_set_gateway_chassis(self):
lrp = self._lrp_add(None)
c1_name = utils.get_rand_device_name()
@@ -1906,10 +1918,11 @@
self.api.lb_del_health_check(lb.name, uuid.uuid4(),
if_exists=True).execute(check_error=True)
- def _test_lb_add_del_ip_port_mapping(self, col):
- endpoint_ip = '172.31.0.4'
+ def _test_lb_add_del_ip_port_mapping(self, col, input, expected):
+ endpoint_ip, source_ip = input
+ expected_endpoint_ip, expected_source_ip = expected
port_name = 'sw1-p1'
- source_ip = '172.31.0.6'
+
lb = self._lb_add(utils.get_rand_device_name(),
'192.0.0.1', ['10.0.0.1'])
self.assertEqual(lb.ip_port_mappings, {})
@@ -1918,18 +1931,30 @@
endpoint_ip,
port_name,
source_ip).execute(check_error=True)
- self.assertEqual(lb.ip_port_mappings[endpoint_ip],
- '%s:%s' % (port_name, source_ip))
+ self.assertEqual(lb.ip_port_mappings[expected_endpoint_ip],
+ '%s:%s' % (port_name, expected_source_ip))
self.api.lb_del_ip_port_mapping(val,
endpoint_ip).execute(check_error=True)
self.assertEqual(lb.ip_port_mappings, {})
def test_lb_add_del_ip_port_mapping_uuid(self):
- self._test_lb_add_del_ip_port_mapping('uuid')
+ input = ('172.31.0.3', '172.31.0.6')
+ self._test_lb_add_del_ip_port_mapping('uuid', input, input)
+
+ def test_lb_add_del_ip_port_mapping_uuid_v6(self):
+ input = ('2001:db8::1', '2001:db8::2')
+ expected = (f"[{input[0]}]", f"[{input[1]}]")
+ self._test_lb_add_del_ip_port_mapping('uuid', input, expected)
def test_lb_add_del_ip_port_mapping_name(self):
- self._test_lb_add_del_ip_port_mapping('name')
+ input = ('172.31.0.3', '172.31.0.6')
+ self._test_lb_add_del_ip_port_mapping('name', input, input)
+
+ def test_lb_add_del_ip_port_mapping_name_v6(self):
+ input = ('2001:db8::1', '2001:db8::2')
+ expected = (f"[{input[0]}]", f"[{input[1]}]")
+ self._test_lb_add_del_ip_port_mapping('name', input, expected)
def test_hc_get_set_options(self):
hc_options = {
@@ -2542,6 +2567,13 @@
super(TestBFDOps, self).setUp()
self.table = self.api.tables['BFD']
+ @staticmethod
+ def _freeze_and_filter_row(row, filter_columns):
+ return types.SimpleNamespace(
+ **{k: v
+ for k, v in idlutils.frozen_row(row)._asdict().items()
+ if k not in filter_columns})
+
def _bfd_add(self, *args, **kwargs):
cmd = self.api.bfd_add(*args, **kwargs)
row = cmd.execute(check_error=True)
@@ -2555,7 +2587,7 @@
'detect_mult'] else [], row.detect_mult)
self.assertEqual(cmd.columns['external_ids'] or {}, row.external_ids)
self.assertEqual(cmd.columns['options'] or {}, row.options)
- return idlutils.frozen_row(row)
+ return self._freeze_and_filter_row(row, ('status',))
def test_bfd_add(self):
name = utils.get_rand_name()
@@ -2633,8 +2665,12 @@
def test_bfd_get(self):
name = utils.get_rand_name()
- b1 = self.api.bfd_add(name, name).execute(check_error=True)
- b2 = self.api.bfd_get(b1.uuid).execute(check_error=True)
+ b1 = self._freeze_and_filter_row(
+ self.api.bfd_add(name, name).execute(check_error=True),
+ ('status',))
+ b2 = self._freeze_and_filter_row(
+ self.api.bfd_get(b1.uuid).execute(check_error=True),
+ ('status',))
self.assertEqual(b1, b2)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ovsdbapp-2.6.0/ovsdbapp.egg-info/PKG-INFO new/ovsdbapp-2.7.1/ovsdbapp.egg-info/PKG-INFO
--- old/ovsdbapp-2.6.0/ovsdbapp.egg-info/PKG-INFO 2024-02-22 16:11:45.000000000 +0100
+++ new/ovsdbapp-2.7.1/ovsdbapp.egg-info/PKG-INFO 2024-05-20 20:55:28.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.2
Name: ovsdbapp
-Version: 2.6.0
+Version: 2.7.1
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-2.6.0/ovsdbapp.egg-info/SOURCES.txt new/ovsdbapp-2.7.1/ovsdbapp.egg-info/SOURCES.txt
--- old/ovsdbapp-2.6.0/ovsdbapp.egg-info/SOURCES.txt 2024-02-22 16:11:45.000000000 +0100
+++ new/ovsdbapp-2.7.1/ovsdbapp.egg-info/SOURCES.txt 2024-05-20 20:55:28.000000000 +0200
@@ -1,3 +1,4 @@
+.pre-commit-config.yaml
.pylintrc
.stestr.conf
AUTHORS
@@ -132,6 +133,7 @@
releasenotes/notes/provide-lrp-networks-modifying-1af13589064c12c6.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/ovsdbapp-2.6.0/ovsdbapp.egg-info/pbr.json new/ovsdbapp-2.7.1/ovsdbapp.egg-info/pbr.json
--- old/ovsdbapp-2.6.0/ovsdbapp.egg-info/pbr.json 2024-02-22 16:11:45.000000000 +0100
+++ new/ovsdbapp-2.7.1/ovsdbapp.egg-info/pbr.json 2024-05-20 20:55:28.000000000 +0200
@@ -1 +1 @@
-{"git_version": "11b11a1", "is_release": true}
\ No newline at end of file
+{"git_version": "c717691", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ovsdbapp-2.6.0/releasenotes/source/2024.1.rst new/ovsdbapp-2.7.1/releasenotes/source/2024.1.rst
--- old/ovsdbapp-2.6.0/releasenotes/source/2024.1.rst 1970-01-01 01:00:00.000000000 +0100
+++ new/ovsdbapp-2.7.1/releasenotes/source/2024.1.rst 2024-05-20 20:55:01.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/ovsdbapp-2.6.0/releasenotes/source/index.rst new/ovsdbapp-2.7.1/releasenotes/source/index.rst
--- old/ovsdbapp-2.6.0/releasenotes/source/index.rst 2024-02-22 16:11:10.000000000 +0100
+++ new/ovsdbapp-2.7.1/releasenotes/source/index.rst 2024-05-20 20:55:01.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/ovsdbapp-2.6.0/releasenotes/source/victoria.rst new/ovsdbapp-2.7.1/releasenotes/source/victoria.rst
--- old/ovsdbapp-2.6.0/releasenotes/source/victoria.rst 2024-02-22 16:11:10.000000000 +0100
+++ new/ovsdbapp-2.7.1/releasenotes/source/victoria.rst 2024-05-20 20:55:01.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/ovsdbapp-2.6.0/releasenotes/source/wallaby.rst new/ovsdbapp-2.7.1/releasenotes/source/wallaby.rst
--- old/ovsdbapp-2.6.0/releasenotes/source/wallaby.rst 2024-02-22 16:11:10.000000000 +0100
+++ new/ovsdbapp-2.7.1/releasenotes/source/wallaby.rst 2024-05-20 20:55:01.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/ovsdbapp-2.6.0/releasenotes/source/xena.rst new/ovsdbapp-2.7.1/releasenotes/source/xena.rst
--- old/ovsdbapp-2.6.0/releasenotes/source/xena.rst 2024-02-22 16:11:10.000000000 +0100
+++ new/ovsdbapp-2.7.1/releasenotes/source/xena.rst 2024-05-20 20:55:01.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/ovsdbapp-2.6.0/releasenotes/source/zed.rst new/ovsdbapp-2.7.1/releasenotes/source/zed.rst
--- old/ovsdbapp-2.6.0/releasenotes/source/zed.rst 2024-02-22 16:11:10.000000000 +0100
+++ new/ovsdbapp-2.7.1/releasenotes/source/zed.rst 2024-05-20 20:55:01.000000000 +0200
@@ -3,4 +3,4 @@
========================
.. release-notes::
- :branch: stable/zed
+ :branch: unmaintained/zed