We are chuffed to announce the release of: networking-sfc 3.0.0: API's and implementations to support Service Function Chaining in Neutron. The source is available from: http://git.openstack.org/cgit/openstack/networking-sfc Download the package from: https://tarballs.openstack.org/networking-sfc/ Please report issues through launchpad: http://bugs.launchpad.net/networking-sfc For more details, please see below. Changes in networking-sfc 2.0.0..3.0.0 -------------------------------------- a2acf20 Updated from global requirements 49c4f43 add multinode support for tempest d3e08d0 Remove last vestiges of oslo-incubator f4113e8 Add sfc commands to openstackclient e8a3eeb Remove deprecation warnings for model_base 265e83d Fix deprecation warning in tests 01717ce Fix file permissions a28f092 Updated from global requirements 7467d10 refactor parameter validation 0d92eea Updated from global requirements b397668 Using --strict and add priority for del_flows 01f706e Fix random DB unit test failure dfd904d Added support of symmetric chain parameter in API 345a4b7 Bring models in sync with migrations, add test 518395e Replace OVSSfcAgent by a L2 agent extension b2fd7cf Networking-sfc / OVN Driver Details of the OVN northbound DB schema have been removed. 10cecb9 Use constraints environment for testing a4510ab Fix bug where a chain_id could not be specified 2ee2587 Remove retrying from requirements 3ad0ea9 Fix typo in db.py 6c313bf Force tempest tests to run sequentially. 44b7802 Updated from global requirements fa53b56 Enable plugins to determine if they want to rebuild OVS 2e5938f Change query for port-pair-group and port-chain id. Fix bug 1625186. d61d717 driver interface: introduce precommit, postcommit b8dd115 fix tempest tests failure. 17e2977 Use neutron-lib model_base a6a1c29 OVS Driver and Agent for Symmetric Port Chains c7eb3f4 Revert "Revert "Rename DB columns: tenant -> project"" Modified unit tests. 2a968a2 [api-ref] Remove unused parameter 786a033 [api-ref] Remove temporary block in conf.py 222d80f make functional test not skip the testcases f7d95a4 Fix order of arguments in assertEqual f82ed96 Unifying parameters type 9c88121 Remove logging import unused 40bcfa2 Remove unused CONF import Diffstat (except docs and test files) ------------------------------------- .pylintrc | 7 +- api-ref/source/conf.py | 36 +- api-ref/source/parameters.yaml | 43 +- devstack/devstackgaterc | 2 +- devstack/lib/ovs | 120 ++ devstack/plugin.sh | 11 + devstack/post_test_hook.sh | 9 + etc/neutron/rootwrap.d/debug.filters | 18 + etc/neutron/rootwrap.d/dhcp.filters | 33 + etc/neutron/rootwrap.d/dibbler.filters | 16 + etc/neutron/rootwrap.d/ebtables.filters | 11 + etc/neutron/rootwrap.d/ipset-firewall.filters | 12 + etc/neutron/rootwrap.d/iptables-firewall.filters | 28 + etc/neutron/rootwrap.d/l3.filters | 52 + etc/neutron/rootwrap.d/linuxbridge-plugin.filters | 28 + etc/neutron/rootwrap.d/openvswitch-plugin.filters | 24 + etc/rootwrap.conf | 34 + networking_sfc/cli/port_chain.py | 9 +- networking_sfc/db/flowclassifier_db.py | 6 +- .../db/migration/alembic_migrations/env.py | 2 +- .../alembic_migrations/versions/CONTRACT_HEAD | 2 +- .../010308b06b49_rename_tenant_to_project.py | 148 ++ .../06382790fb2c_fix_foreign_constraints.py | 49 + networking_sfc/db/migration/models/head.py | 2 +- networking_sfc/db/sfc_db.py | 17 +- networking_sfc/extensions/sfc.py | 231 ++- networking_sfc/osc/__init__.py | 0 networking_sfc/osc/common.py | 102 ++ networking_sfc/osc/flow_classifier/__init__.py | 0 .../osc/flow_classifier/flow_classifier.py | 226 +++ networking_sfc/osc/plugin.py | 52 + networking_sfc/osc/sfc/__init__.py | 0 networking_sfc/osc/sfc/port_chain.py | 213 +++ networking_sfc/osc/sfc/port_pair.py | 186 +++ networking_sfc/osc/sfc/port_pair_group.py | 201 +++ .../services/flowclassifier/driver_manager.py | 25 +- .../services/flowclassifier/drivers/base.py | 30 +- networking_sfc/services/flowclassifier/plugin.py | 33 +- networking_sfc/services/sfc/agent/agent.py | 619 -------- networking_sfc/services/sfc/agent/br_int.py | 48 - networking_sfc/services/sfc/agent/br_phys.py | 34 - networking_sfc/services/sfc/agent/br_tun.py | 48 - .../services/sfc/agent/extensions/__init__.py | 0 .../sfc/agent/extensions/openvswitch/__init__.py | 0 .../sfc/agent/extensions/openvswitch/sfc_driver.py | 428 ++++++ .../services/sfc/agent/extensions/sfc.py | 210 +++ networking_sfc/services/sfc/common/ovs_ext_lib.py | 130 +- networking_sfc/services/sfc/driver_manager.py | 60 +- networking_sfc/services/sfc/drivers/base.py | 79 +- .../services/sfc/drivers/ovs/constants.py | 2 +- networking_sfc/services/sfc/drivers/ovs/db.py | 13 +- networking_sfc/services/sfc/plugin.py | 124 +- .../functional/services/sfc/agent/__init__.py | 0 .../services/sfc/agent/extensions/__init__.py | 0 .../extensions/test_ovs_agent_sfc_extension.py | 28 + .../osc/flow_classifier/test_flow_classifier.py | 266 ++++ .../services/flowclassifier/test_driver_manager.py | 129 +- .../unit/services/flowclassifier/test_plugin.py | 164 +- .../unit/services/sfc/agent/extensions/__init.py | 0 .../unit/services/sfc/agent/extensions/__init__.py | 0 .../sfc/agent/extensions/openvswitch/__init__.py | 0 .../extensions/openvswitch/test_sfc_driver.py | 1560 ++++++++++++++++++++ .../unit/services/sfc/agent/extensions/test_sfc.py | 57 + .../unit/services/sfc/common/test_ovs_ext_lib.py | 22 +- requirements.txt | 31 +- setup.cfg | 32 +- test-requirements.txt | 16 +- tools/check_unit_test_structure.sh | 1 + tools/configure_for_func_testing.sh | 281 ++++ tools/deploy_rootwrap.sh | 58 + tools/install_venv.py | 72 - tools/install_venv_common.py | 172 --- tools/pretty_tox.sh | 7 +- tools/tox_install.sh | 38 +- tools/with_venv.sh | 19 - tox.ini | 66 +- 106 files changed, 7591 insertions(+), 3603 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index cc13d7b..fe82866 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12 +12 @@ eventlet!=0.18.3,>=0.18.2 # MIT -pecan>=1.0.0 # BSD +pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0 # BSD @@ -17,4 +17,3 @@ Jinja2>=2.8 # BSD License (3 clause) -keystonemiddleware!=4.1.0,!=4.5.0,>=4.0.0 # Apache-2.0 -netaddr!=0.7.16,>=0.7.12 # BSD -python-neutronclient>=4.2.0 # Apache-2.0 -retrying!=1.3.0,>=1.2.3 # Apache-2.0 +keystonemiddleware!=4.5.0,>=4.2.0 # Apache-2.0 +netaddr!=0.7.16,>=0.7.13 # BSD +python-neutronclient>=5.1.0 # Apache-2.0 @@ -22,2 +21,2 @@ SQLAlchemy<1.1.0,>=1.0.10 # MIT -WebOb>=1.2.3 # MIT -python-keystoneclient!=1.8.0,!=2.1.0,>=1.7.0 # Apache-2.0 +WebOb>=1.6.0 # MIT +python-keystoneclient>=3.6.0 # Apache-2.0 @@ -26 +25 @@ six>=1.9.0 # MIT -stevedore>=1.16.0 # Apache-2.0 +stevedore>=1.17.1 # Apache-2.0 @@ -28,3 +27,3 @@ oslo.concurrency>=3.8.0 # Apache-2.0 -oslo.config>=3.14.0 # Apache-2.0 -oslo.context!=2.6.0,>=2.4.0 # Apache-2.0 -oslo.db>=4.1.0 # Apache-2.0 +oslo.config!=3.18.0,>=3.14.0 # Apache-2.0 +oslo.context>=2.9.0 # Apache-2.0 +oslo.db!=4.13.1,!=4.13.2,>=4.11.0 # Apache-2.0 @@ -32 +31 @@ oslo.i18n>=2.1.0 # Apache-2.0 -oslo.log>=1.14.0 # Apache-2.0 +oslo.log>=3.11.0 # Apache-2.0 @@ -35 +34 @@ oslo.middleware>=3.0.0 # Apache-2.0 -oslo.policy>=1.9.0 # Apache-2.0 +oslo.policy>=1.15.0 # Apache-2.0 @@ -39 +38 @@ oslo.service>=1.10.0 # Apache-2.0 -oslo.utils>=3.16.0 # Apache-2.0 +oslo.utils>=3.18.0 # Apache-2.0 @@ -41 +40,3 @@ oslo.versionedobjects>=1.13.0 # Apache-2.0 -neutron-lib>=0.3.0 # Apache-2.0 +os-client-config>=1.22.0 # Apache-2.0 +python-openstackclient>=3.3.0 # Apache-2.0 +neutron-lib>=1.0.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 7bf7f6d..4bea1ef 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -6,2 +6,2 @@ hacking<0.11,>=0.10.0 -cliff!=1.16.0,!=1.17.0,>=1.15.0 # Apache-2.0 -coverage>=3.6 # Apache-2.0 +cliff>=2.2.0 # Apache-2.0 +coverage>=4.0 # Apache-2.0 @@ -11,4 +11,4 @@ python-subunit>=0.0.18 # Apache-2.0/BSD -requests-mock>=1.0 # Apache-2.0 -sphinx!=1.3b1,<1.3,>=1.2.1 # BSD -os-api-ref>=0.1.0 # Apache-2.0 -oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0 +requests-mock>=1.1 # Apache-2.0 +sphinx!=1.3b1,<1.4,>=1.2.1 # BSD +os-api-ref>=1.0.0 # Apache-2.0 +oslosphinx>=4.7.0 # Apache-2.0 @@ -21 +21 @@ oslotest>=1.10.0 # Apache-2.0 -os-testr>=0.7.0 # Apache-2.0 +os-testr>=0.8.0 # Apache-2.0 @@ -24,0 +25,2 @@ pylint==1.4.5 # GPLv2 +psycopg2>=2.5 # LGPL/ZPL +PyMySQL!=0.7.7,>=0.6.2 # MIT License