Hello community,
here is the log from the commit of package python-ovsdbapp for openSUSE:Factory
checked in at 2020-06-05 20:15:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-ovsdbapp (Old)
and /work/SRC/openSUSE:Factory/.python-ovsdbapp.new.3606 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-ovsdbapp"
Fri Jun 5 20:15:53 2020 rev:6 rq:803606 version:1.1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-ovsdbapp/python-ovsdbapp.changes
2020-03-12 23:12:32.383329454 +0100
+++
/work/SRC/openSUSE:Factory/.python-ovsdbapp.new.3606/python-ovsdbapp.changes
2020-06-05 20:19:53.803801712 +0200
@@ -1,0 +2,26 @@
+Tue May 12 10:03:38 UTC 2020 - [email protected]
+
+- update to version 1.1.0
+ - Log invalid address values in lsp_set_addresses
+ - Make it possible to reference a newly created object within a transaction
+ - Help with troubleshooting failures from venv.py
+ - Handle unset OVN_SRCDIR
+ - Change EAFP to LBYL style in nested transaction
+ - Drop python 2 support and testing
+ - Update master for stable/train
+ - Do not try to execute transaction if command list is empty
+ - ovn_northbound: make all list commands ReadOnlyCommand
+ - Handle the ovs/ovn split
+ - More robustly handle venv ovs/ovn paths
+ - PDF documentation build
+ - Add consts for OVN install path
+ - Fix the url, change http to https
+ - Make ovndir configurable
+ - Default testenv to basepython = python3
+ - Switch to Ussuri jobs
+ - Update Zuul jobs: Enable docs publishing
+ - Fix debug_venv for ovn split
+ - Call row.verify() when updating map columns with db_set
+ - Fix building OVS after python2 removal
+
+-------------------------------------------------------------------
Old:
----
ovsdbapp-0.17.0.tar.gz
New:
----
ovsdbapp-1.1.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-ovsdbapp.spec ++++++
--- /var/tmp/diff_new_pack.TWz8uI/_old 2020-06-05 20:19:54.623804501 +0200
+++ /var/tmp/diff_new_pack.TWz8uI/_new 2020-06-05 20:19:54.623804501 +0200
@@ -18,13 +18,13 @@
%define with_tests 1
Name: python-ovsdbapp
-Version: 0.17.0
+Version: 1.1.0
Release: 0
Summary: A library for creating OVSDB applications
License: Apache-2.0
Group: Development/Languages/Python
URL: https://launchpad.net/ovsdbapp
-Source0:
https://files.pythonhosted.org/packages/source/o/ovsdbapp/ovsdbapp-0.17.0.tar.gz
+Source0:
https://files.pythonhosted.org/packages/source/o/ovsdbapp/ovsdbapp-1.1.0.tar.gz
BuildRequires: openstack-macros
BuildRequires: python3-fixtures >= 3.0.0
BuildRequires: python3-netaddr >= 0.7.18
@@ -72,7 +72,7 @@
%{py3_build}
# generate html docs
-PBR_VERSION=0.17.0 PYTHONPATH=. \
+PBR_VERSION=1.1.0 PYTHONPATH=. \
%sphinx_build -b html doc/source doc/build/html
rm -rf doc/build/html/.{doctrees,buildinfo}
++++++ _service ++++++
--- /var/tmp/diff_new_pack.TWz8uI/_old 2020-06-05 20:19:54.647804583 +0200
+++ /var/tmp/diff_new_pack.TWz8uI/_new 2020-06-05 20:19:54.647804583 +0200
@@ -1,8 +1,8 @@
<services>
<service mode="disabled" name="renderspec">
- <param
name="input-template">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/train/openstack/ovsdbapp/ovsdbapp.spec.j2</param>
+ <param
name="input-template">https://opendev.org/openstack/rpm-packaging/raw/branch/stable/ussuri/openstack/ovsdbapp/ovsdbapp.spec.j2</param>
<param name="output-name">python-ovsdbapp.spec</param>
- <param
name="requirements">https://raw.githubusercontent.com/openstack/ovsdbapp/stable/train/requirements.txt</param>
+ <param
name="requirements">https://opendev.org/openstack/ovsdbapp/raw/branch/stable/ussuri/requirements.txt</param>
<param name="changelog-email">[email protected]</param>
<param name="changelog-provider">gh,openstack,ovsdbapp</param>
</service>
++++++ ovsdbapp-0.17.0.tar.gz -> ovsdbapp-1.1.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ovsdbapp-0.17.0/AUTHORS new/ovsdbapp-1.1.0/AUTHORS
--- old/ovsdbapp-0.17.0/AUTHORS 2019-08-29 11:53:59.000000000 +0200
+++ new/ovsdbapp-1.1.0/AUTHORS 2020-04-02 19:56:42.000000000 +0200
@@ -7,6 +7,7 @@
Andreas Jaeger <[email protected]>
Aradhana Singh <[email protected]>
Arundhati Surpur <[email protected]>
+Bernard Cafarelli <[email protected]>
Bhagyashri Shewale <[email protected]>
Bo Wang <[email protected]>
Boden R <[email protected]>
@@ -19,6 +20,7 @@
Doug Hellmann <[email protected]>
Doug Wiegley <[email protected]>
Emma Foley <[email protected]>
+Flavio Fernandes <[email protected]>
Frank Wang <[email protected]>
Gal Sagie <[email protected]>
Gary Kotton <[email protected]>
@@ -34,6 +36,7 @@
Kevin Benton <[email protected]>
Lucas Alvares Gomes <[email protected]>
Luong Anh Tuan <[email protected]>
+Maciej Józefczyk <[email protected]>
Marcin Mirecki <[email protected]>
Martin Hickey <[email protected]>
Miguel Duarte Barroso <[email protected]>
@@ -61,8 +64,10 @@
ljhuang <[email protected]>
lzklibj <[email protected]>
melissaml <[email protected]>
+pengyuesheng <[email protected]>
qingszhao <[email protected]>
reedip <[email protected]>
rossella <[email protected]>
yan.haifeng <[email protected]>
zhangzs <[email protected]>
+zhouguowei <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ovsdbapp-0.17.0/CONTRIBUTING.rst
new/ovsdbapp-1.1.0/CONTRIBUTING.rst
--- old/ovsdbapp-0.17.0/CONTRIBUTING.rst 2019-08-29 11:53:03.000000000
+0200
+++ new/ovsdbapp-1.1.0/CONTRIBUTING.rst 2020-04-02 19:55:17.000000000 +0200
@@ -1,17 +1,17 @@
If you would like to contribute to the development of OpenStack, you must
follow the steps in this page:
- https://docs.openstack.org/infra/manual/developers.html
+ https://docs.openstack.org/infra/manual/developers.html
If you already have a good understanding of how the system works and your
OpenStack accounts are set up, you can skip to the development workflow
section of this documentation to learn how changes to OpenStack should be
submitted for review via the Gerrit tool:
- https://docs.openstack.org/infra/manual/developers.html#development-workflow
+ https://docs.openstack.org/infra/manual/developers.html#development-workflow
Pull requests submitted through GitHub will be ignored.
Bugs should be filed on Launchpad, not GitHub:
- https://bugs.launchpad.net/ovsdbapp
+ https://bugs.launchpad.net/ovsdbapp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ovsdbapp-0.17.0/ChangeLog
new/ovsdbapp-1.1.0/ChangeLog
--- old/ovsdbapp-0.17.0/ChangeLog 2019-08-29 11:53:59.000000000 +0200
+++ new/ovsdbapp-1.1.0/ChangeLog 2020-04-02 19:56:42.000000000 +0200
@@ -1,10 +1,43 @@
CHANGES
=======
+1.1.0
+-----
+
+* Call row.verify() when updating map columns with db\_set
+* Do not try to execute transaction if command list is empty
+
+1.0.0
+-----
+
+* More robustly handle venv ovs/ovn paths
+* Log invalid address values in lsp\_set\_addresses
+* Make it possible to reference a newly created object within a transaction
+* Make ovndir configurable
+* Drop python 2 support and testing
+* Fix debug\_venv for ovn split
+* Add consts for OVN install path
+* Switch to Ussuri jobs
+* ovn\_northbound: make all list commands ReadOnlyCommand
+
+0.18.0
+------
+
+* Handle unset OVN\_SRCDIR
+* Default testenv to basepython = python3
+* Fix building OVS after python2 removal
+* Change EAFP to LBYL style in nested transaction
+* Handle the ovs/ovn split
+* Update master for stable/train
+* Help with troubleshooting failures from venv.py
+* PDF documentation build
+* Update Zuul jobs: Enable docs publishing
+
0.17.0
------
* Add HA Chassis Group related commands
+* Fix the url, change http to https
* Add commands to set and get LRP options
* Add Python 3 Train unit tests
* Sync Sphinx requirement
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ovsdbapp-0.17.0/PKG-INFO new/ovsdbapp-1.1.0/PKG-INFO
--- old/ovsdbapp-0.17.0/PKG-INFO 2019-08-29 11:53:59.000000000 +0200
+++ new/ovsdbapp-1.1.0/PKG-INFO 2020-04-02 19:56:42.000000000 +0200
@@ -1,6 +1,6 @@
-Metadata-Version: 1.1
+Metadata-Version: 1.2
Name: ovsdbapp
-Version: 0.17.0
+Version: 1.1.0
Summary: A library for creating OVSDB applications
Home-page: https://pypi.org/project/ovsdbapp/
Author: OpenStack
@@ -18,10 +18,9 @@
* Free software: Apache license
* Source: https://opendev.org/openstack/ovsdbapp/
- * Bugs: http://bugs.launchpad.net/ovsdbapp
+ * Bugs: https://bugs.launchpad.net/ovsdbapp
- Features
- --------
+ Features:
* An thread-based event loop for using ovs.db.Idl
* Transaction support
@@ -35,8 +34,7 @@
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
+Requires-Python: >=3.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ovsdbapp-0.17.0/README.rst
new/ovsdbapp-1.1.0/README.rst
--- old/ovsdbapp-0.17.0/README.rst 2019-08-29 11:53:03.000000000 +0200
+++ new/ovsdbapp-1.1.0/README.rst 2020-04-02 19:55:17.000000000 +0200
@@ -10,10 +10,9 @@
* Free software: Apache license
* Source: https://opendev.org/openstack/ovsdbapp/
-* Bugs: http://bugs.launchpad.net/ovsdbapp
+* Bugs: https://bugs.launchpad.net/ovsdbapp
-Features
---------
+Features:
* An thread-based event loop for using ovs.db.Idl
* Transaction support
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ovsdbapp-0.17.0/doc/requirements.txt
new/ovsdbapp-1.1.0/doc/requirements.txt
--- old/ovsdbapp-0.17.0/doc/requirements.txt 1970-01-01 01:00:00.000000000
+0100
+++ new/ovsdbapp-1.1.0/doc/requirements.txt 2020-04-02 19:55:17.000000000
+0200
@@ -0,0 +1,6 @@
+sphinx!=1.6.6,!=1.6.7,>=1.6.2,<2.0.0;python_version=='2.7' # BSD
+sphinx!=1.6.6,!=1.6.7,>=1.6.2;python_version>='3.4' # BSD
+openstackdocstheme>=1.20.0 # Apache-2.0
+
+# releasenotes
+reno>=2.5.0 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ovsdbapp-0.17.0/doc/source/conf.py
new/ovsdbapp-1.1.0/doc/source/conf.py
--- old/ovsdbapp-0.17.0/doc/source/conf.py 2019-08-29 11:53:03.000000000
+0200
+++ new/ovsdbapp-1.1.0/doc/source/conf.py 2020-04-02 19:55:17.000000000
+0200
@@ -63,8 +63,6 @@
# html_static_path = ['static']
html_theme = 'openstackdocs'
-html_last_updated_fmt = '%Y-%m-%d %H:%M'
-
# Output file base name for HTML help builder.
htmlhelp_basename = '%sdoc' % project
@@ -73,9 +71,9 @@
# [howto/manual]).
latex_documents = [
('index',
- '%s.tex' % project,
+ 'doc-ovsdbapp.tex',
u'%s Documentation' % project,
- u'OpenStack Foundation', 'manual'),
+ u'OpenStack Foundation', 'howto'),
]
# Example configuration for intersphinx: refer to the Python standard library.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ovsdbapp-0.17.0/doc/source/index.rst
new/ovsdbapp-1.1.0/doc/source/index.rst
--- old/ovsdbapp-0.17.0/doc/source/index.rst 2019-08-29 11:53:03.000000000
+0200
+++ new/ovsdbapp-1.1.0/doc/source/index.rst 2020-04-02 19:55:17.000000000
+0200
@@ -1,14 +1,8 @@
-.. ovsdbapp documentation master file, created by
- sphinx-quickstart on Tue Jul 9 22:26:36 2013.
- You can adapt this file completely to your liking, but it should at least
- contain the root `toctree` directive.
-
.. the main title comes from README.rst
.. include:: ../../README.rst
-Contents
---------
+----
.. toctree::
:maxdepth: 2
@@ -17,10 +11,10 @@
user/index
contributor/index
-Indices and tables
-------------------
+.. only:: html
-* :ref:`genindex`
-* :ref:`modindex`
-* :ref:`search`
+ .. rubric:: Indices and tables
+ * :ref:`genindex`
+ * :ref:`modindex`
+ * :ref:`search`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ovsdbapp-0.17.0/ovsdbapp/api.py
new/ovsdbapp-1.1.0/ovsdbapp/api.py
--- old/ovsdbapp-0.17.0/ovsdbapp/api.py 2019-08-29 11:53:03.000000000 +0200
+++ new/ovsdbapp-1.1.0/ovsdbapp/api.py 2020-04-02 19:55:17.000000000 +0200
@@ -107,9 +107,9 @@
nested = nested and self._nested_txns
cur_thread_id = thread.get_ident() if nested else object()
- try:
+ if cur_thread_id in self._nested_txns_map:
yield self._nested_txns_map[cur_thread_id]
- except KeyError:
+ else:
with self.create_transaction(
check_error, log_errors, **kwargs) as txn:
self._nested_txns_map[cur_thread_id] = txn
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ovsdbapp-0.17.0/ovsdbapp/backend/ovs_idl/__init__.py
new/ovsdbapp-1.1.0/ovsdbapp/backend/ovs_idl/__init__.py
--- old/ovsdbapp-0.17.0/ovsdbapp/backend/ovs_idl/__init__.py 2019-08-29
11:53:03.000000000 +0200
+++ new/ovsdbapp-1.1.0/ovsdbapp/backend/ovs_idl/__init__.py 2020-04-02
19:55:17.000000000 +0200
@@ -114,6 +114,10 @@
if record == "":
raise TypeError("Cannot look up record by empty string")
+ # Handle commands by simply returning its result
+ if isinstance(record, cmd.BaseCommand):
+ return record.result
+
t = self.tables[table]
try:
if isinstance(record, uuid.UUID):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ovsdbapp-0.17.0/ovsdbapp/backend/ovs_idl/command.py
new/ovsdbapp-1.1.0/ovsdbapp/backend/ovs_idl/command.py
--- old/ovsdbapp-0.17.0/ovsdbapp/backend/ovs_idl/command.py 2019-08-29
11:53:03.000000000 +0200
+++ new/ovsdbapp-1.1.0/ovsdbapp/backend/ovs_idl/command.py 2020-04-02
19:55:17.000000000 +0200
@@ -123,17 +123,25 @@
def run_idl(self, txn):
record = self.api.lookup(self.table, self.record)
for col, val in self.col_values:
- # TODO(twilson) Ugh, the OVS library doesn't like OrderedDict
- # We're only using it to make a unit test work, so we should fix
- # this soon.
- if isinstance(val, collections.OrderedDict):
- val = dict(val)
- if isinstance(val, dict):
- # NOTE(twilson) OVS 2.6's Python IDL has mutate methods that
- # would make this cleaner, but it's too early to rely on them.
+ if isinstance(val, collections.Mapping):
+ # TODO(twilson) This is to make a unit/functional test that
+ # used OrderedDict work. In Python 3.7, insertion order is
+ # guaranteed to not change, but I need to verify this is is
+ # still even needed
+ if isinstance(val, collections.OrderedDict):
+ val = dict(val)
existing = getattr(record, col, {})
existing.update(val)
val = existing
+ # Since we are updating certain keys and leaving existing keys
+ # but rewriting the whole external_ids column, we must verify()
+ record.verify(col)
+ # After https://patchwork.ozlabs.org/patch/1254735/ is merged,
+ # and common, we should handle dicts with setkey like this:
+ # for k, v in val.items():
+ # record.setkey(col, k, v)
+ # For non-map columns, we unconditionally overwrite the values that
+ # exist, so prior state doesn't matter and we don't need verify()
self.set_column(record, col, val)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ovsdbapp-0.17.0/ovsdbapp/backend/ovs_idl/transaction.py
new/ovsdbapp-1.1.0/ovsdbapp/backend/ovs_idl/transaction.py
--- old/ovsdbapp-0.17.0/ovsdbapp/backend/ovs_idl/transaction.py 2019-08-29
11:53:03.000000000 +0200
+++ new/ovsdbapp-1.1.0/ovsdbapp/backend/ovs_idl/transaction.py 2020-04-02
19:55:17.000000000 +0200
@@ -72,6 +72,9 @@
def do_commit(self):
self.start_time = time.time()
attempts = 0
+ if not self.commands:
+ LOG.debug("There are no commands to commit")
+ return []
while True:
if attempts > 0 and self.timeout_exceeded():
raise RuntimeError("OVS transaction timed out")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ovsdbapp-0.17.0/ovsdbapp/constants.py
new/ovsdbapp-1.1.0/ovsdbapp/constants.py
--- old/ovsdbapp-0.17.0/ovsdbapp/constants.py 2019-08-29 11:53:03.000000000
+0200
+++ new/ovsdbapp-1.1.0/ovsdbapp/constants.py 2020-04-02 19:55:17.000000000
+0200
@@ -12,6 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
+
DEFAULT_OVSDB_CONNECTION = 'tcp:127.0.0.1:6640'
DEFAULT_OVNNB_CONNECTION = 'tcp:127.0.0.1:6641'
DEFAULT_TIMEOUT = 5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ovsdbapp-0.17.0/ovsdbapp/schema/ovn_northbound/commands.py
new/ovsdbapp-1.1.0/ovsdbapp/schema/ovn_northbound/commands.py
--- old/ovsdbapp-0.17.0/ovsdbapp/schema/ovn_northbound/commands.py
2019-08-29 11:53:03.000000000 +0200
+++ new/ovsdbapp-1.1.0/ovsdbapp/schema/ovn_northbound/commands.py
2020-04-02 19:55:17.000000000 +0200
@@ -70,7 +70,7 @@
raise RuntimeError(msg)
-class LsListCommand(cmd.BaseCommand):
+class LsListCommand(cmd.ReadOnlyCommand):
def run_idl(self, txn):
table = self.api.tables['Logical_Switch']
self.result = [rowview.RowView(r) for r in table.rows.values()]
@@ -190,7 +190,7 @@
lookup_table = 'Port_Group'
-class _AclListHelper(cmd.BaseCommand):
+class _AclListHelper(cmd.ReadOnlyCommand):
def __init__(self, api, entity):
super(_AclListHelper, self).__init__(api)
self.entity = entity
@@ -294,7 +294,7 @@
row.delete()
-class QoSListCommand(cmd.BaseCommand):
+class QoSListCommand(cmd.ReadOnlyCommand):
def __init__(self, api, switch):
super(QoSListCommand, self).__init__(api)
self.switch = switch
@@ -398,7 +398,7 @@
if_exists)
-class LspListCommand(cmd.BaseCommand):
+class LspListCommand(cmd.ReadOnlyCommand):
def __init__(self, api, switch=None):
super(LspListCommand, self).__init__(api)
self.switch = switch
@@ -443,8 +443,8 @@
for addr in addresses:
if not self.addr_re.match(addr):
raise TypeError(
- "address must be router/unknown/dynamic/"
- "ethaddr[ ipaddr...]")
+ "address (%s) must be router/unknown/dynamic/"
+ "ethaddr[ ipaddr...]" % (addr,))
super(LspSetAddressesCommand, self).__init__(api)
self.port = port
self.addresses = addresses
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ovsdbapp-0.17.0/ovsdbapp/tests/functional/base.py
new/ovsdbapp-1.1.0/ovsdbapp/tests/functional/base.py
--- old/ovsdbapp-0.17.0/ovsdbapp/tests/functional/base.py 2019-08-29
11:53:03.000000000 +0200
+++ new/ovsdbapp-1.1.0/ovsdbapp/tests/functional/base.py 2020-04-02
19:55:17.000000000 +0200
@@ -24,6 +24,7 @@
_connections = None
ovsvenv = venv.OvsOvnVenvFixture(tempfile.mkdtemp(),
ovsdir=os.getenv('OVS_SRCDIR'),
+ ovndir=os.getenv('OVN_SRCDIR'),
remove=not bool(os.getenv('KEEP_VENV')))
atexit.register(ovsvenv.cleanUp)
ovsvenv.setUp()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ovsdbapp-0.17.0/ovsdbapp/tests/functional/schema/ovn_northbound/test_impl_idl.py
new/ovsdbapp-1.1.0/ovsdbapp/tests/functional/schema/ovn_northbound/test_impl_idl.py
---
old/ovsdbapp-0.17.0/ovsdbapp/tests/functional/schema/ovn_northbound/test_impl_idl.py
2019-08-29 11:53:03.000000000 +0200
+++
new/ovsdbapp-1.1.0/ovsdbapp/tests/functional/schema/ovn_northbound/test_impl_idl.py
2020-04-02 19:55:17.000000000 +0200
@@ -489,7 +489,7 @@
def test_lsp_set_addresses_invalid(self):
self.assertRaises(
TypeError,
- self.api.lsp_set_addresses, 'fake', 'invalidaddress')
+ self.api.lsp_set_addresses, 'fake', ['invalidaddress'])
def test_lsp_get_addresses(self):
addresses = [
@@ -1546,3 +1546,44 @@
hcg1 = cmd.execute(check_error=True)
hcg2 = cmd.execute(check_error=True)
self.assertEqual(hcg1, hcg2)
+
+
+class TestReferencedObjects(OvnNorthboundTest):
+ """Exercise adding a ls, lsp and lsp_address in a single transaction.
+
+ The main goal of this test is to make sure a transaction can use either
+ a name or an object notation in order to create an ls+lsp while in a
+ transaction context.
+ """
+ def setUp(self):
+ super(TestReferencedObjects, self).setUp()
+ self.ls_name = utils.get_rand_device_name()
+ self.lsp_name = utils.get_rand_device_name()
+ self.lsp_test_addresses = ['de:ad:be:ef:4d:ad 192.0.2.1']
+
+ def _check_values(self):
+ # Check: Make sure ls_get and lsp_get work (no RowNotFound exception)
+ self.api.ls_get(self.ls_name).execute(check_error=True)
+ self.api.lsp_get(self.lsp_name).execute(check_error=True)
+ self.assertEqual(self.lsp_test_addresses,
+ self.api.lsp_get_addresses(self.lsp_name).execute(
+ check_error=True))
+
+ def test_lsp_add_by_name(self):
+ with self.api.transaction(check_error=True) as txn:
+ txn.add(self.api.ls_add(self.ls_name))
+ txn.add(self.api.lsp_add(self.ls_name, self.lsp_name))
+ txn.add(self.api.lsp_set_addresses(self.lsp_name,
+ self.lsp_test_addresses))
+ self._check_values()
+
+ def test_lsp_add_by_object_via_db_create(self):
+ with self.api.transaction(check_error=True) as txn:
+ sw = txn.add(self.api.db_create_row('Logical_Switch',
+ name=self.ls_name))
+ prt = txn.add(self.api.db_create_row('Logical_Switch_Port',
+ name=self.lsp_name))
+ txn.add(self.api.db_add('Logical_Switch', sw, "ports", prt))
+ txn.add(self.api.db_add('Logical_Switch_Port', prt,
+ "addresses", self.lsp_test_addresses[0]))
+ self._check_values()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ovsdbapp-0.17.0/ovsdbapp/venv.py
new/ovsdbapp-1.1.0/ovsdbapp/venv.py
--- old/ovsdbapp-0.17.0/ovsdbapp/venv.py 2019-08-29 11:53:03.000000000
+0200
+++ new/ovsdbapp-1.1.0/ovsdbapp/venv.py 2020-04-02 19:55:17.000000000 +0200
@@ -28,8 +28,12 @@
class OvsVenvFixture(fixtures.Fixture):
PATH_VAR_TEMPLATE = "{0}/ovsdb:{0}/vswitchd:{0}/utilities"
+ OVS_PATHS = (
+ os.path.join(os.path.sep, 'usr', 'local', 'share', 'openvswitch'),
+ os.path.join(os.path.sep, 'usr', 'share', 'openvswitch'))
- def __init__(self, venv, ovsdir, dummy=DUMMY_OVERRIDE_ALL, remove=False):
+ def __init__(self, venv, ovsdir=None, dummy=DUMMY_OVERRIDE_ALL,
+ remove=False):
"""Initialize fixture
:param venv: Path to venv directory.
@@ -42,21 +46,34 @@
self.venv = venv
self.env = {'OVS_RUNDIR': self.venv, 'OVS_LOGDIR': self.venv,
'OVS_DBDIR': self.venv, 'OVS_SYSCONFDIR': self.venv}
- if ovsdir:
- self.ovsdir = ovsdir
- self.env['PATH'] = (self.PATH_VAR_TEMPLATE.format(self.ovsdir) +
+ if ovsdir and os.path.isdir(ovsdir):
+ # From source directory
+ self.env['PATH'] = (self.PATH_VAR_TEMPLATE.format(ovsdir) +
":%s" % os.getenv('PATH'))
else:
+ # Use installed OVS
self.env['PATH'] = os.getenv('PATH')
- self.ovsdir = os.path.join('/usr', 'local', 'share', 'openvswitch')
- if not os.path.isdir(self.ovsdir):
- self.ovsdir = os.path.join('/usr', 'share', 'openvswitch')
- if not os.path.isdir(self.ovsdir):
- raise Exception("%s is not a directory" % self.ovsdir)
+
+ self.ovsdir = self._share_path(self.OVS_PATHS, ovsdir)
self._dummy = dummy
self.remove = remove
self.ovsdb_server_dbs = []
+ @staticmethod
+ def _share_path(paths, override=None, files=tuple()):
+ if not override:
+ try:
+ return next(
+ p for p in paths if os.path.isdir(p) and
+ all(os.path.isfile(os.path.join(p, f)) for f in files))
+ except StopIteration:
+ pass
+ elif os.path.isdir(override):
+ return override
+
+ raise Exception("Invalid directories: %s" %
+ ", ".join(paths + (str(override),)))
+
@property
def ovs_schema(self):
path = os.path.join(self.ovsdir, 'vswitchd', 'vswitch.ovsschema')
@@ -113,7 +130,8 @@
def call(self, cmd, *args, **kwargs):
cwd = kwargs.pop('cwd', self.venv)
return subprocess.check_call(
- cmd, *args, env=self.env, cwd=cwd, **kwargs)
+ cmd, *args, env=self.env, stderr=subprocess.STDOUT,
+ cwd=cwd, **kwargs)
def get_pids(self):
files = glob.glob(os.path.join(self.venv, "*.pid"))
@@ -129,26 +147,31 @@
class OvsOvnVenvFixture(OvsVenvFixture):
- PATH_VAR_TEMPLATE = OvsVenvFixture.PATH_VAR_TEMPLATE + (
- ":{0}/ovn/controller:{0}/ovn/northd:{0}/ovn/utilities")
-
- def __init__(self, *args, **kwargs):
- self.add_chassis = kwargs.pop('add_chassis', False)
- super(OvsOvnVenvFixture, self).__init__(*args, **kwargs)
+ OVN_PATHS = (
+ os.path.join(os.path.sep, 'usr', 'local', 'share', 'ovn'),
+ os.path.join(os.path.sep, 'usr', 'share', 'ovn')) + (
+ OvsVenvFixture.OVS_PATHS)
+ NBSCHEMA = 'ovn-nb.ovsschema'
+ SBSCHEMA = 'ovn-sb.ovsschema'
+
+ def __init__(self, venv, ovndir=None, add_chassis=False, **kwargs):
+ self.add_chassis = add_chassis
+ if ovndir and os.path.isdir(ovndir):
+ # Use OVN source dir
+ self.PATH_VAR_TEMPLATE += (
+ ":{0}/controller:{0}/northd:{0}/utilities".format(ovndir))
+ super(OvsOvnVenvFixture, self).__init__(venv, **kwargs)
+ self.ovndir = self._share_path(self.OVN_PATHS, ovndir,
+ [self.SBSCHEMA, self.NBSCHEMA])
+ self.env.update({'OVN_RUNDIR': self.venv})
@property
def ovnsb_schema(self):
- path = os.path.join(self.ovsdir, 'ovn', 'ovn-sb.ovsschema')
- if os.path.isfile(path):
- return path
- return os.path.join(self.ovsdir, 'ovn-sb.ovsschema')
+ return os.path.join(self.ovndir, self.SBSCHEMA)
@property
def ovnnb_schema(self):
- path = os.path.join(self.ovsdir, 'ovn', 'ovn-nb.ovsschema')
- if os.path.isfile(path):
- return path
- return os.path.join(self.ovsdir, 'ovn-nb.ovsschema')
+ return os.path.join(self.ovndir, self.NBSCHEMA)
@property
def ovnnb_connection(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ovsdbapp-0.17.0/ovsdbapp.egg-info/PKG-INFO
new/ovsdbapp-1.1.0/ovsdbapp.egg-info/PKG-INFO
--- old/ovsdbapp-0.17.0/ovsdbapp.egg-info/PKG-INFO 2019-08-29
11:53:59.000000000 +0200
+++ new/ovsdbapp-1.1.0/ovsdbapp.egg-info/PKG-INFO 2020-04-02
19:56:42.000000000 +0200
@@ -1,6 +1,6 @@
-Metadata-Version: 1.1
+Metadata-Version: 1.2
Name: ovsdbapp
-Version: 0.17.0
+Version: 1.1.0
Summary: A library for creating OVSDB applications
Home-page: https://pypi.org/project/ovsdbapp/
Author: OpenStack
@@ -18,10 +18,9 @@
* Free software: Apache license
* Source: https://opendev.org/openstack/ovsdbapp/
- * Bugs: http://bugs.launchpad.net/ovsdbapp
+ * Bugs: https://bugs.launchpad.net/ovsdbapp
- Features
- --------
+ Features:
* An thread-based event loop for using ovs.db.Idl
* Transaction support
@@ -35,8 +34,7 @@
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
+Requires-Python: >=3.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ovsdbapp-0.17.0/ovsdbapp.egg-info/SOURCES.txt
new/ovsdbapp-1.1.0/ovsdbapp.egg-info/SOURCES.txt
--- old/ovsdbapp-0.17.0/ovsdbapp.egg-info/SOURCES.txt 2019-08-29
11:53:59.000000000 +0200
+++ new/ovsdbapp-1.1.0/ovsdbapp.egg-info/SOURCES.txt 2020-04-02
19:56:42.000000000 +0200
@@ -15,6 +15,7 @@
setup.py
test-requirements.txt
tox.ini
+doc/requirements.txt
doc/source/conf.py
doc/source/index.rst
doc/source/contributor/index.rst
@@ -100,14 +101,15 @@
ovsdbapp/tests/unit/schema/open_vswitch/test_impl_idl.py
releasenotes/notes/.placeholder
releasenotes/notes/configure-ovsdb-manager-a29a148b241a125e.yaml
+releasenotes/notes/drop-py27-support-c426980520444bfa.yaml
releasenotes/source/conf.py
releasenotes/source/index.rst
releasenotes/source/pike.rst
releasenotes/source/queens.rst
releasenotes/source/rocky.rst
releasenotes/source/stein.rst
+releasenotes/source/train.rst
releasenotes/source/unreleased.rst
-releasenotes/source/_static/.placeholder
releasenotes/source/_templates/.placeholder
tools/coding-checks.sh
tools/debug_venv
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ovsdbapp-0.17.0/ovsdbapp.egg-info/pbr.json
new/ovsdbapp-1.1.0/ovsdbapp.egg-info/pbr.json
--- old/ovsdbapp-0.17.0/ovsdbapp.egg-info/pbr.json 2019-08-29
11:53:59.000000000 +0200
+++ new/ovsdbapp-1.1.0/ovsdbapp.egg-info/pbr.json 2020-04-02
19:56:42.000000000 +0200
@@ -1 +1 @@
-{"git_version": "74b52bb", "is_release": true}
\ No newline at end of file
+{"git_version": "85d6323", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ovsdbapp-0.17.0/releasenotes/notes/drop-py27-support-c426980520444bfa.yaml
new/ovsdbapp-1.1.0/releasenotes/notes/drop-py27-support-c426980520444bfa.yaml
---
old/ovsdbapp-0.17.0/releasenotes/notes/drop-py27-support-c426980520444bfa.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/ovsdbapp-1.1.0/releasenotes/notes/drop-py27-support-c426980520444bfa.yaml
2020-04-02 19:55:17.000000000 +0200
@@ -0,0 +1,6 @@
+---
+upgrade:
+ - |
+ Python 2.7 support has been dropped. Last release of ovsdbapp to support
+ python 2.7 is OpenStack Train. The minimum version of Python now supported
+ by ovsdbapp is Python 3.6.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ovsdbapp-0.17.0/releasenotes/source/conf.py
new/ovsdbapp-1.1.0/releasenotes/source/conf.py
--- old/ovsdbapp-0.17.0/releasenotes/source/conf.py 2019-08-29
11:53:03.000000000 +0200
+++ new/ovsdbapp-1.1.0/releasenotes/source/conf.py 2020-04-02
19:55:17.000000000 +0200
@@ -12,9 +12,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-# Glance Release Notes documentation build configuration file, created by
-# sphinx-quickstart on Tue Nov 3 17:40:50 2015.
-#
# This file is execfile()d with the current directory set to its
# containing dir.
#
@@ -145,7 +142,7 @@
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = ['_static']
+# html_static_path = ['_static']
# Add any extra paths that contain custom files (such as robots.txt or
# .htaccess) here, relative to this directory. These files are copied
@@ -154,7 +151,7 @@
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
-html_last_updated_fmt = '%Y-%m-%d %H:%M'
+# html_last_updated_fmt = '%Y-%m-%d %H:%M'
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
@@ -194,7 +191,7 @@
# html_file_suffix = None
# Output file base name for HTML help builder.
-htmlhelp_basename = 'GlanceReleaseNotesdoc'
+htmlhelp_basename = 'ovsdbappReleaseNotesdoc'
# -- Options for LaTeX output ---------------------------------------------
@@ -214,8 +211,8 @@
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
- ('index', 'GlanceReleaseNotes.tex', u'Glance Release Notes Documentation',
- u'Glance Developers', 'manual'),
+ ('index', 'ovsdbappNotes.tex', u'ovsdbapp Release Notes Documentation',
+ u'ovsdbapp Developers', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
@@ -239,42 +236,5 @@
# latex_domain_indices = True
-# -- Options for manual page output ---------------------------------------
-
-# One entry per manual page. List of tuples
-# (source start file, name, description, authors, manual section).
-man_pages = [
- ('index', 'glancereleasenotes', u'Glance Release Notes Documentation',
- [u'Glance Developers'], 1)
-]
-
-# If true, show URL addresses after external links.
-# man_show_urls = False
-
-
-# -- Options for Texinfo output -------------------------------------------
-
-# Grouping the document tree into Texinfo files. List of tuples
-# (source start file, target name, title, author,
-# dir menu entry, description, category)
-texinfo_documents = [
- ('index', 'GlanceReleaseNotes', u'Glance Release Notes Documentation',
- u'Glance Developers', 'GlanceReleaseNotes',
- 'One line description of project.',
- 'Miscellaneous'),
-]
-
-# Documents to append as an appendix to all manuals.
-# texinfo_appendices = []
-
-# If false, no module index is generated.
-# texinfo_domain_indices = True
-
-# How to display URL addresses: 'footnote', 'no', or 'inline'.
-# texinfo_show_urls = 'footnote'
-
-# If true, do not generate a @detailmenu in the "Top" node's menu.
-# texinfo_no_detailmenu = False
-
# -- Options for Internationalization output ------------------------------
locale_dirs = ['locale/']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ovsdbapp-0.17.0/releasenotes/source/index.rst
new/ovsdbapp-1.1.0/releasenotes/source/index.rst
--- old/ovsdbapp-0.17.0/releasenotes/source/index.rst 2019-08-29
11:53:03.000000000 +0200
+++ new/ovsdbapp-1.1.0/releasenotes/source/index.rst 2020-04-02
19:55:17.000000000 +0200
@@ -6,6 +6,7 @@
:maxdepth: 1
unreleased
+ train
stein
rocky
queens
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ovsdbapp-0.17.0/releasenotes/source/train.rst
new/ovsdbapp-1.1.0/releasenotes/source/train.rst
--- old/ovsdbapp-0.17.0/releasenotes/source/train.rst 1970-01-01
01:00:00.000000000 +0100
+++ new/ovsdbapp-1.1.0/releasenotes/source/train.rst 2020-04-02
19:55:17.000000000 +0200
@@ -0,0 +1,6 @@
+==========================
+Train Series Release Notes
+==========================
+
+.. release-notes::
+ :branch: stable/train
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ovsdbapp-0.17.0/setup.cfg
new/ovsdbapp-1.1.0/setup.cfg
--- old/ovsdbapp-0.17.0/setup.cfg 2019-08-29 11:53:59.000000000 +0200
+++ new/ovsdbapp-1.1.0/setup.cfg 2020-04-02 19:56:42.000000000 +0200
@@ -6,6 +6,7 @@
author = OpenStack
author-email = [email protected]
home-page = https://pypi.org/project/ovsdbapp/
+python-requires = >=3.6
classifier =
Environment :: OpenStack
Intended Audience :: Information Technology
@@ -13,8 +14,6 @@
License :: OSI Approved :: Apache Software License
Operating System :: POSIX :: Linux
Programming Language :: Python
- Programming Language :: Python :: 2
- Programming Language :: Python :: 2.7
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
@@ -23,15 +22,6 @@
packages =
ovsdbapp
-[build_sphinx]
-source-dir = doc/source
-build-dir = doc/build
-all_files = 1
-warning-is-error = 1
-
-[upload_sphinx]
-upload-dir = doc/build/html
-
[compile_catalog]
directory = ovsdbapp/locale
domain = ovsdbapp
@@ -46,11 +36,6 @@
mapping_file = babel.cfg
output_file = ovsdbapp/locale/ovsdbapp.pot
-[build_releasenotes]
-all_files = 1
-build-dir = releasenotes/build
-source-dir = releasenotes/source
-
[egg_info]
tag_build =
tag_date = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ovsdbapp-0.17.0/test-requirements.txt
new/ovsdbapp-1.1.0/test-requirements.txt
--- old/ovsdbapp-0.17.0/test-requirements.txt 2019-08-29 11:53:03.000000000
+0200
+++ new/ovsdbapp-1.1.0/test-requirements.txt 2020-04-02 19:55:17.000000000
+0200
@@ -6,15 +6,9 @@
coverage!=4.4,>=4.0 # Apache-2.0
python-subunit>=1.0.0 # Apache-2.0/BSD
-sphinx!=1.6.6,!=1.6.7,>=1.6.2,<2.0.0;python_version=='2.7' # BSD
-sphinx!=1.6.6,!=1.6.7,>=1.6.2;python_version>='3.4' # BSD
-openstackdocstheme>=1.18.1 # Apache-2.0
oslotest>=3.2.0 # Apache-2.0
os-testr>=1.0.0 # Apache-2.0
pylint==1.9.2 # GPLv2
stestr>=2.0.0 # Apache-2.0
testscenarios>=0.4 # Apache-2.0/BSD
testtools>=2.2.0 # MIT
-
-# releasenotes
-reno>=2.5.0 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ovsdbapp-0.17.0/tools/debug_venv
new/ovsdbapp-1.1.0/tools/debug_venv
--- old/ovsdbapp-0.17.0/tools/debug_venv 2019-08-29 11:53:03.000000000
+0200
+++ new/ovsdbapp-1.1.0/tools/debug_venv 2020-04-02 19:55:17.000000000 +0200
@@ -60,4 +60,4 @@
ovsvenv=$(head -1 $test_file)
fi
echo "Debugging OVS virtual environment: $ovsvenv$test_match"
-tools/debug_venv.py $ovsvenv $VIRTUAL_ENV/src/ovs
+tools/debug_venv.py $ovsvenv $VIRTUAL_ENV/src/ovs $VIRTUAL_ENV/src/ovn
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ovsdbapp-0.17.0/tools/debug_venv.py
new/ovsdbapp-1.1.0/tools/debug_venv.py
--- old/ovsdbapp-0.17.0/tools/debug_venv.py 2019-08-29 11:53:03.000000000
+0200
+++ new/ovsdbapp-1.1.0/tools/debug_venv.py 2020-04-02 19:55:17.000000000
+0200
@@ -22,8 +22,8 @@
from ovsdbapp import venv
-if len(sys.argv) != 3:
- print("Requires two arguments: venvdir ovsdir", file=sys.stderr)
+if len(sys.argv) != 4:
+ print("Requires three arguments: venvdir ovsdir ovndir", file=sys.stderr)
sys.exit(1)
for d in sys.argv[1:]:
@@ -33,8 +33,9 @@
venvdir = os.path.abspath(sys.argv[1])
ovsdir = os.path.abspath(sys.argv[2])
+ovndir = os.path.abspath(sys.argv[3])
-v = venv.OvsOvnVenvFixture(venvdir, ovsdir)
+v = venv.OvsOvnVenvFixture(venvdir, ovsdir, ovndir=ovndir)
try:
atexit.register(v.cleanUp)
v.setUp()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ovsdbapp-0.17.0/tools/setup-ovs.sh
new/ovsdbapp-1.1.0/tools/setup-ovs.sh
--- old/ovsdbapp-0.17.0/tools/setup-ovs.sh 2019-08-29 11:53:03.000000000
+0200
+++ new/ovsdbapp-1.1.0/tools/setup-ovs.sh 2020-04-02 19:55:17.000000000
+0200
@@ -1,11 +1,25 @@
#!/bin/bash -xe
+OVS_BRANCH=${OVS_BRANCH:-master}
+OVN_BRANCH=${OVN_BRANCH:-$OVS_BRANCH}
+
+function use_new_ovn_repository {
+ # If OVN_BRANCH > branch-2.12 return 0
+ return $(! printf "%s\n%s" $OVN_BRANCH branch-2.12 | sort -C -V)
+}
+
# We require at least OVS 2.7. Testing infrastructure doesn't support it yet,
# so build it. Eventually, we should run some checks to see what is actually
# installed and see if we can use it instead.
if [ "$OVS_SRCDIR" -a ! -d "$OVS_SRCDIR" ]; then
- echo "Building OVS in $OVS_SRCDIR"
+ echo "Building OVS branch $OVS_BRANCH in $OVS_SRCDIR"
mkdir -p $OVS_SRCDIR
git clone git://github.com/openvswitch/ovs.git $OVS_SRCDIR
- (cd $OVS_SRCDIR && ./boot.sh && PYTHON=/usr/bin/python ./configure && make
-j$(($(nproc) + 1)))
+ (cd $OVS_SRCDIR && git checkout $OVS_BRANCH && ./boot.sh &&
PYTHON=/usr/bin/python ./configure && make -j$(($(nproc) + 1)))
+fi
+if use_new_ovn_repository && [ "$OVN_SRCDIR" -a ! -d "$OVN_SRCDIR" ]; then
+ echo "Building OVN branch $OVN_BRANCH in $OVN_SRCDIR"
+ mkdir -p $OVN_SRCDIR
+ git clone git://github.com/ovn-org/ovn.git $OVN_SRCDIR
+ (cd $OVN_SRCDIR && git checkout $OVN_BRANCH && ./boot.sh &&
PYTHON=/usr/bin/python ./configure --with-ovs-source=$OVS_SRCDIR && make
-j$(($(nproc) + 1)))
fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ovsdbapp-0.17.0/tox.ini new/ovsdbapp-1.1.0/tox.ini
--- old/ovsdbapp-0.17.0/tox.ini 2019-08-29 11:53:03.000000000 +0200
+++ new/ovsdbapp-1.1.0/tox.ini 2020-04-02 19:55:17.000000000 +0200
@@ -1,6 +1,6 @@
[tox]
-minversion = 2.0
-envlist = py27,py37,pypy,pep8
+minversion = 3.1.1
+envlist = py36,py37,pypy,pep8
skipsdist = True
[testenv]
@@ -17,46 +17,51 @@
commands = stestr run --slowest {posargs}
[testenv:pep8]
-basepython = python3
commands = flake8
{toxinidir}/tools/coding-checks.sh --all '{posargs}'
[testenv:venv]
-basepython = python3
commands = {posargs}
[testenv:cover]
-basepython = python3
commands = python setup.py test --coverage --testr-args='{posargs}'
[testenv:docs]
-basepython = python3
-commands = python setup.py build_sphinx
+deps =
+ -r{toxinidir}/doc/requirements.txt
+commands =
+ sphinx-build -W -b html -d doc/build/doctrees doc/source doc/build/html
+
+[testenv:pdf-docs]
+envdir = {toxworkdir}/docs
+deps = {[testenv:docs]deps}
+whitelist_externals =
+ make
+commands =
+ sphinx-build -W -b latex doc/source doc/build/pdf
+ make -C doc/build/pdf
[testenv:releasenotes]
-basepython = python3
+deps =
+ -r{toxinidir}/doc/requirements.txt
commands =
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html
releasenotes/source releasenotes/build/html
[testenv:debug]
-basepython = python3
commands = oslo_debug_helper {posargs}
[testenv:functional]
setenv = {[testenv]setenv}
OS_TEST_PATH=./ovsdbapp/tests/functional
OVS_SRCDIR={envdir}/src/ovs
+ OVN_SRCDIR={envdir}/src/ovn
+ OVS_BRANCH={env:OVS_BRANCH:}
+ OVN_BRANCH={env:OVN_BRANCH:}
passenv = KEEP_VENV
commands =
{toxinidir}/tools/setup-ovs.sh
{[testenv]commands}
-[testenv:functional-py36]
-basepython = python3.6
-setenv = {[testenv:functional]setenv}
-passenv = {[testenv:functional]passenv}
-commands = {[testenv:functional]commands}
-
[flake8]
# E123, E125 skipped as they are invalid PEP-8.
@@ -65,7 +70,6 @@
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build
[testenv:lower-constraints]
-basepython = python3
deps =
-c{toxinidir}/lower-constraints.txt
-r{toxinidir}/test-requirements.txt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ovsdbapp-0.17.0/zuul.d/project.yaml
new/ovsdbapp-1.1.0/zuul.d/project.yaml
--- old/ovsdbapp-0.17.0/zuul.d/project.yaml 2019-08-29 11:53:03.000000000
+0200
+++ new/ovsdbapp-1.1.0/zuul.d/project.yaml 2020-04-02 19:55:17.000000000
+0200
@@ -1,17 +1,14 @@
- project:
templates:
- - openstack-python-jobs
- - openstack-python3-train-jobs
- check-requirements
+ - openstack-lower-constraints-jobs
+ - openstack-python3-ussuri-jobs
+ - publish-openstack-docs-pti
check:
jobs:
- - openstack-tox-lower-constraints
- openstack-tox-functional
- - openstack-tox-functional-py36
- ovsdbapp-tempest-dsvm-networking-ovn-ovs-release
gate:
jobs:
- - openstack-tox-lower-constraints
- openstack-tox-functional
- - openstack-tox-functional-py36
- ovsdbapp-tempest-dsvm-networking-ovn-ovs-release