We jubilantly announce the release of: networking-sfc 4.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. 4.0.0 ^^^^^ New Features ************ * Symmetric Port Chains can now be created, when using the OVS Driver, which will instantiate both a forward and a reverse path for the Port Chain. To enable, set "symmetric=True" as a "chain_parameters" key and value pair. Path-ID can now be configured. Bug Fixes ********* * SFC path-ID parameter (Bug 1567654 (https://launchpad.net/bugs/1567654)) * Path-ID generation in plugin (Bug 1588460 (https://launchpad.net/bugs/1588460)) * Port Pair Group parameter (Bug 1588463 (https://launchpad.net/bugs/1588463)) Changes in networking-sfc 3.0.0..4.0.0 -------------------------------------- 7c4ef32 Fix release note formatting b19f658 Add reno release notes f4eca74 Support MPLS correlation without SFC Proxy f308fef Sync the flake8 extensions with neutron-lib 88767c8 Default chain parameters per parameter f081f64 Drop localrc references e4b66b9 Symmetric Chain Support Tempest Scenario Test 593ecc3 Symmetric Chain Support Unit_test drivers test ea5b943 Include SRC/DST IP in the flowclassifier from logical ports daf5eb5 Symmetric Chain Support Unit_test 669409a Symmetric Chain Support Tempest Api Test eb21e4f Use simple dict update and dict literal to optimize code dd346d0 Symmetric Chain Support for OVS driver and agent e9bfe8a Optimize and clean-up sfc_driver. 2222e80 Pass update_flowrule_status in driver.py 0be24a7 General clean up and optimize the code after PyCharm inspect code. c2fe814 Remove useless file subunit-trace.py 0d17062 Optimize unit test test_driver. cba3ae4 Fix possible reference before assignment errors. 845b2d8 Optimized imports to comply OpenStack style guideline. 6bb98eb Remove unused keyword parameters, and fix pylint wrong-import-order. 6df766c Add detail error message for SSH timeout in scenario tests. 60cf3e1 Make the pep8 env detect style errors again 67d0665 Updated from global requirements 989a125 Remove useless returns, modify code to use kwargs 68c7025 Optimize _resolve_resource_path logic. 71eb246 Clean requirements b959e2d Remove support for py34 ef6a992 Fix Annotator Errors 8137a6f Use https instead of http for git.openstack.org 40c55c8 Update hacking version 678a8c7 Prepare for using standard python tests a2ee4a1 Import type_vxlan in the base tests 914db95 Remove unused oslo-config-generator parts 8b46121 Use stevedore testing interface 2f93c0f Switch to decorators.idempotent_id cad96b8 Replace six.iteritems with dict.items() 0e27121 Updated from global requirements edd257b Functional tests: use neutron rootwrap filters 642367b Use ostestr everywhere db89abd Remove unused empty file 96bcf7f Fix extension loading functional test 8d32926 Remove unused module index in documentation de4d7d9 Use neutron-lib portbindings api-def 213b27d Remove support for py33 7712a49 Updated from global requirements a837daa Use project_id instead of tenant_id in DB models/OVS driver 1f690fc Reflect neutron-lib migration of agent extensions from neutron d31008b Fix intermittent tempest test failures 3087354 Fix flow deletion unit tests 9b39c43 Fix functional and tempest tests 2569586 Updated from global requirements a8417bf Fix Json Port Chain create response example 9ccdc4f Fix typos in functions name 884e8f5 Updated from global requirements dd60e79 Enable PEP8 tests everywhere ca71899 Move db migration tests to functional tests 64cdb2c Use ovs devstack plugin functions from neutron 62f8ced Replaces uuid.uuid4 with uuidutils.generate_uuid() 977fb46 Fix neutronclient.i18n._() DeprecationWarning dd56922 Updated from global requirements b090bb4 Updated from global requirements d92123a Update OVS handling and test hooks a105d20 Fix permissions of tools/ostestr_compat_shim.sh 1c915db Fix devstack all-in-one installation 1095793 added cli parameters validation 1e1ba49 Filter out tenant_id in OSC commands output 238dea2 Use DB field sizes instead of _MAX_LEN constants 7cf0011 Use ExtensionDescriptor from neutron-lib d4beac1 Remove PLURALS 3c1bb3f Show team and repo badges on README e2c792a Add reno for release notes management 35054cc Add script for neutron-lib source periodic job ae9da21 Updated from global requirements 2a7e7d0 Remove unused LOG to keep code clean 34d13a5 Fix file permissions e972a70 Replace 'assertFalse(a in b)' with 'assertNotIn(a, b)' 3f331fe Switch to using plugins directory in lieu of neutron manager 7c06ec1 Allow SFC installation with q-agt service only f57c744 Make osc entry points distinctive a640a99 Include alembic migrations in module fb95c8d Config logABug feature for networking-sfc api-ref Diffstat (except docs and test files) ------------------------------------- .gitignore | 1 + MANIFEST.in | 5 + README.rst | 11 +- api-ref/source/conf.py | 9 + api-ref/source/index.rst | 6 +- devstack/lib/ovs | 120 -- devstack/plugin.sh | 25 +- devstack/post_test_hook.sh | 33 +- devstack/pre_test_hook.sh | 11 - etc/README.txt | 9 - etc/flowclassifier_driver.ini.sample | 12 - 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/networking-sfc.filters | 9 - etc/neutron/rootwrap.d/openvswitch-plugin.filters | 24 - .../flowclassifier_driver.ini | 5 - etc/oslo-config-generator/sfc_driver.ini | 5 - etc/rootwrap.conf | 34 - etc/sfc_driver.ini.sample | 12 - networking_sfc/cli/flow_classifier.py | 6 +- networking_sfc/cli/port_chain.py | 2 +- networking_sfc/cli/port_pair.py | 13 +- networking_sfc/cli/port_pair_group.py | 15 +- networking_sfc/db/flowclassifier_db.py | 11 +- .../alembic_migrations/versions/EXPAND_HEAD | 2 +- .../mitaka/expand/5a475fc853e6_ovs_data_model.py | 104 +- .../9768e6a66c9_flowclassifier_data_model.py | 11 +- .../mitaka/expand/c3e178d4a985_sfc_data_model.py | 26 +- .../expand/d1002a1f97f6_update_flow_classifier.py | 6 +- .../fa75d46a7f11_add_port_pair_group_params.py | 31 +- .../010308b06b49_rename_tenant_to_project.py | 4 +- .../6185f1633a3d_add_correlation_as_pp_detail.py | 36 + ...b3adaf631bab__add_fwd_path_and_in_mac_column.py | 37 + networking_sfc/db/sfc_db.py | 62 +- networking_sfc/extensions/flowclassifier.py | 15 +- networking_sfc/extensions/sfc.py | 44 +- networking_sfc/osc/__init__.py | 0 networking_sfc/osc/common.py | 57 +- networking_sfc/osc/flow_classifier/__init__.py | 0 .../osc/flow_classifier/flow_classifier.py | 28 +- networking_sfc/osc/plugin.py | 0 networking_sfc/osc/sfc/__init__.py | 0 networking_sfc/osc/sfc/port_chain.py | 50 +- networking_sfc/osc/sfc/port_pair.py | 33 +- networking_sfc/osc/sfc/port_pair_group.py | 62 +- .../services/flowclassifier/driver_manager.py | 37 +- .../services/flowclassifier/drivers/ovs/driver.py | 6 - networking_sfc/services/flowclassifier/plugin.py | 6 +- .../sfc/agent/extensions/openvswitch/sfc_driver.py | 419 ++++-- .../services/sfc/agent/extensions/sfc.py | 5 +- networking_sfc/services/sfc/common/exceptions.py | 4 +- networking_sfc/services/sfc/common/ovs_ext_lib.py | 14 +- networking_sfc/services/sfc/driver_manager.py | 55 +- networking_sfc/services/sfc/drivers/dummy/dummy.py | 6 +- networking_sfc/services/sfc/drivers/ovs/db.py | 106 +- networking_sfc/services/sfc/drivers/ovs/driver.py | 617 +++++--- networking_sfc/services/sfc/drivers/ovs/rpc.py | 5 +- .../extensions/test_ovs_agent_sfc_extension.py | 6 +- .../osc/flow_classifier/test_flow_classifier.py | 14 +- .../flowclassifier/drivers/ovs/test_driver.py | 35 +- .../services/flowclassifier/test_driver_manager.py | 106 +- .../unit/services/sfc/agent/extensions/__init.py | 0 .../extensions/openvswitch/test_sfc_driver.py | 1506 +++++++++++++++++--- .../unit/services/sfc/drivers/ovs/test_driver.py | 1104 ++++++++++++-- networking_sfc/version.py | 17 + releasenotes/notes/.placeholder | 0 .../notes/mpls-correlation-c36070eba63b9f87.yaml | 8 + .../notes/networking-sfc-0151b67501c641ef.yaml | 15 + releasenotes/source/_static/.placeholder | 0 releasenotes/source/conf.py | 281 ++++ releasenotes/source/index.rst | 9 + releasenotes/source/newton.rst | 6 + releasenotes/source/unreleased.rst | 5 + requirements.txt | 32 +- setup.cfg | 45 +- test-requirements.txt | 10 +- tools/configure_for_func_testing.sh | 281 ---- tools/deploy_rootwrap.sh | 58 - tools/ostestr_compat_shim.sh | 8 + tools/pretty_tox.sh | 11 - tools/pretty_tox_py34.sh | 6 - tools/subunit-trace.py | 307 ---- tools/test-setup.sh | 57 + tox.ini | 62 +- 123 files changed, 4821 insertions(+), 2922 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index fe82866..b7e5ea0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4 +4 @@ -pbr>=1.6 # Apache-2.0 +pbr>=1.8 # Apache-2.0 @@ -6,5 +5,0 @@ pbr>=1.6 # Apache-2.0 -Paste # MIT -PasteDeploy>=1.5.0 # MIT -Routes!=2.0,!=2.1,!=2.3.0,>=1.12.3;python_version=='2.7' # MIT -Routes!=2.0,!=2.3.0,>=1.12.3;python_version!='2.7' # MIT -debtcollector>=1.2.0 # Apache-2.0 @@ -12,6 +6,0 @@ eventlet!=0.18.3,>=0.18.2 # MIT -pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0 # BSD -greenlet>=0.3.2 # MIT -httplib2>=0.7.5 # MIT -requests>=2.10.0 # Apache-2.0 -Jinja2>=2.8 # BSD License (3 clause) -keystonemiddleware!=4.5.0,>=4.2.0 # Apache-2.0 @@ -21,3 +10 @@ SQLAlchemy<1.1.0,>=1.0.10 # MIT -WebOb>=1.6.0 # MIT -python-keystoneclient>=3.6.0 # Apache-2.0 -alembic>=0.8.4 # MIT +alembic>=0.8.10 # MIT @@ -26 +12,0 @@ stevedore>=1.17.1 # Apache-2.0 -oslo.concurrency>=3.8.0 # Apache-2.0 @@ -28,2 +13,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,4 +16 @@ oslo.log>=3.11.0 # Apache-2.0 -oslo.messaging>=5.2.0 # Apache-2.0 -oslo.middleware>=3.0.0 # Apache-2.0 -oslo.policy>=1.15.0 # Apache-2.0 -oslo.rootwrap>=5.0.0 # Apache-2.0 +oslo.messaging>=5.14.0 # Apache-2.0 @@ -37 +17,0 @@ oslo.serialization>=1.10.0 # Apache-2.0 -oslo.service>=1.10.0 # Apache-2.0 @@ -39,2 +18,0 @@ oslo.utils>=3.18.0 # Apache-2.0 -oslo.versionedobjects>=1.13.0 # Apache-2.0 -os-client-config>=1.22.0 # Apache-2.0 @@ -42,3 +20 @@ python-openstackclient>=3.3.0 # Apache-2.0 -neutron-lib>=1.0.0 # Apache-2.0 - -python-novaclient!=2.33.0,>=2.29.0 # Apache-2.0 +neutron-lib>=1.1.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 4bea1ef..bd3aecc 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -4 +4 @@ -hacking<0.11,>=0.10.0 +hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0 @@ -6 +5,0 @@ hacking<0.11,>=0.10.0 -cliff>=2.2.0 # Apache-2.0 @@ -12 +11 @@ requests-mock>=1.1 # Apache-2.0 -sphinx!=1.3b1,<1.4,>=1.2.1 # BSD +sphinx>=1.5.1 # BSD @@ -18,0 +18 @@ testscenarios>=0.4 # Apache-2.0/BSD +WebOb>=1.6.0 # MIT @@ -23 +22,0 @@ tempest-lib>=0.14.0 # Apache-2.0 -ddt>=1.0.1 # MIT @@ -26 +25,2 @@ psycopg2>=2.5 # LGPL/ZPL -PyMySQL!=0.7.7,>=0.6.2 # MIT License +PyMySQL>=0.7.6 # MIT License +reno>=1.8.0 # Apache-2.0
participants (1)
-
no-reply@openstack.org