We are happy to announce the release of: networking-odl 4.0.0: OpenStack Networking Download the package from: https://pypi.python.org/pypi/networking-odl For more details, please see below. 4.0.0 ^^^^^ BGPVPN Version 2 Driver for OpenDaylight. Changed devstack default to V2 driver. The new class of test cases, functional test, has been added. So was help scripts to setup necessary environment. L2Gateway Driver v2 or networking-odl. The default setting for OpenDayligut openstack service provider was changed from ovsdb netvirt (odl-ovsdb-openstack) to new netvirt(odl- netvirt-openstack) for OpenDaylight Boron/Carbon or later. Change the default value of port_binding_controller from network- topology to pseudo-agentdb-binding as networking-topology will be deprecated. QoS Driver V2 for networking-odl Networking SFC V2 driver for networking-odl. Trunk Drivers v1 and v2 for networking-odl. New Features ************ * A new version of BGPVPN driver that integrate OpenStack Neutron BGPVPN API with OpenDaylight backend. It supports CRUD operations for BGPVPN and enables networks and routers to be associated to such BGPVPNs. This driver uses journaling mechanism, unlike v1 driver, which will first log the operation in journal table before execution. * A new version of L2Gateway driver that integrate OpenStack neutron L2Gateway API with OpenDaylight backend. It supports CRUD operations for l2gateway and l2gateway_connection. This driver uses journalling mechanism, unlike v1 driver, which will first log the operation in journal table before execution. * A new version of QoS driver that integrate OpenStack neutron QoS API with OpenDaylight backend. This driver uses journaling mechanism unlike v1 driver, which will first log the operation in journal table before execution. * Second version of the driver to support networking-sfc API through OpenDaylight controller. This driver support CRUD operation for flow classifier, port-pair, port-pair-group and port-pair-chain. This is version 2 driver and it does support the journal based implementation, where operations are committed in the data store first and then journal thread sycn it with OpenDaylight. This implementation guarantee the ordering of the CRUD events. networking-sfc ocata or later is required. https://review.openstack.org/#/c/363893/ is the corresponding patch of networking-sfc in Ocata cycle. * A new driver to integrate OpenStack TrunkPort API with OpenDayLight backend. It supports CRUD operations for TrunkPorts. The version v2 driver will first log the call in journal table before execution. Version v1 driver doesn't log any calls. Upgrade Notes ************* * pseudo-agentdb-binding is supported by the version of OpenDaylight Boron(0.5.x) or later. So for the version of OpenDaylight Beryllium or earlier, the option, port_binding_controller, needs to be explicitly configured to be legacy-port-binding or network- topology(deprecated). Deprecation Notes ***************** * port binding controller, network-topology, is deprecated with OpenStack Ocata and will be removed in future openstack version. Other Notes *********** * Starting with Ocata, Devstack will use V2 drivers (where available) by default. To force the use of V1 architecture drivers you can specify 'ODL_V2DRIVER=False' in the local.conf file. * The functional tests were added. It's new class of test cases, which requires pre-configured environment. Environment to run such tests can be configured by tool in networking- odl/tools.configure_for_func_testing.sh * With devstack by default with OpenDaylight after Boron version, new netvirt openstack service provider(odl-netvirt-openstack) is used instead of legacy netvirt(odl-ovsdb-openstack). Changes in networking-odl 3.1.0..4.0.0 -------------------------------------- 9b03645 QoS V2 driver for ODL 28479a7 OpenDaylight BGPVPN Version 2 Driver 9320139 put back TrunkDependencyValidationsTestCase c66655a refactor test_dependency_validations 7d315ca OpenStack Networking-SFC Ver.2 driver for ODL 45fbb72 Fix typos (sunbet -> subnet) 6d56af2 test_dependency: sort retrieved journal rows. 428f974 l2gw/dependency validator: missing comma 1f93f80 Add a method to query operations 7fd1258 Add/Update hostconfig examples for OVS-DPDK and VPP 8f2ad85 devstack: show ODL neutron northbound data c2d7228 delete sg rule on sg deletion on ODL neutron northbound eac711a Updated from global requirements 80c3e1d L2Gateway version 2 driver for OpenDaylight 073c175 Fix typo in doc/source/installation.rst b4794a9 devstack: configure external net for new netvirt bfde171 Remove support for py34 cbc0d65 tox: pass OS_POST_MORTEM_DEBUGGER env 1832ec4 pseudo agent: don't set start_flag 0f62fcf avoid ovsdb port conflict b97a29c Typo fix: choses to chooses 2c4aff8 ODL Drivers for Vlan Aware VMs 29dafeb Update link reference in README.rst 17e922f Fix typo in doc/source/specs/journal-recovery.rst de0f696 devstack: skip several test cases with v2driver and old netvirt 1ccef56 Typo fix: binded => bound 461844e Fix typo in maintenance.rst ffac035 Update hacking version 63f8455 Enable smoke tests on grenade job 9a358fc Revert "devstack: disable metadata for rally" fa76329 Simplify dependency validations b060278 Remove the register_validator method 03026f9 devstack: enable placement-api f24de3c Remove SG validations eb2e980 devstack: remove trailing - in ODL_GATE_SERVICE_PROVIDER 9b7ac72 Remove link to modindex 4f8b7d9 Disable some tempest tests temporarily 5ac6003 devstack: show info even after tempest fails bb12061 Replace six.iteritems/itervalues with dict.items()/values() 6ad4ad3 Use neutron-lib portbindings api-def edd62ea Use neutron-lib provider net api-def 137c45c Use V2 driver by default in devstack cb4eb0c Updated from global requirements 0da3384 devstack: make new netvirt default for ODL boron+ 9699022 devstack: check latest revision of ODL snapshot 24485be Split tempest tests for V2 driver 4fbed85 run functional/fullstack tests with v2driver b2fd66b devstack: run rally with v2driver f5e2ca8 devstack: run rally with new netvirt b5e668c Revert "use osc-lib git master branch" dd82556 Fix failing stack on compute node 8340d54 use osc-lib git master branch e3aa2de devstack: make pseudo agent port binding as default 9c5e80e using sys.exit(main()) instead of main() 2b556b7 Update lbaas-driver-v2 releasenotes 10d6f5a fix some issues in legacy netvirt with mulitnode in carbon 0f91883 java: update oracle java 8 jdk version 9aab23a devstack: update NETWORK_API_EXTENSIONS 6b02b4b create Openstack with ODL by vagrant 1a00ff5 remove unused self.url from qos driver 2998ed6 neutron-lib: use L3 constant from neutron-lib 00dda4f fullstack - use configure_for_func_testing.sh to setup env da61281 functional test: documentation and relnotes b9cbbda gitignore: ignore vagrant generated dir 400e982 Removes unnecessary utf-8 encoding 4647407 odl-release: update boron definition e99af3d Upgrade script for networking-odl 6b6b9ba H803 hacking have been deprecated 4acf299 fullstack: increase check_flow_existance retry times and intervals 773504b Refactor config code for v2 tests cc54e92 Show team and repository tags 9b371fe devstack: disable metadata for rally 6862a59 Remove q-dhcp from compute node q-dhcp service in compute node causes metadata proxy failure as: checking http://169.254.169.254/2009-04-04/instance-id failed 1/20: up 11.03. request failed failed 2/20: up 23.35. request failed b8f0933 doc: unbreak build_sphinx 98f82d6 functional: vagrantfile for functional test 566a182 configure_for_func_testing: don't install rabbitmq 2ebaac6 configure_for_func_testing: don't use realpath 47efa26 devstack: refactor install_opendaylight 049ea62 Enable networking-odl compute mode in subnode 4797408 Consolidate qos v1 driver classes fd975d8 devstack multinode: disable some test cases f0c929e odl client: remove unnecessary except and log 2733d81 increase odl http timeout(experiment) aae5fe0 Add seqnum to dependency checks 6a26d52 Fix typo in devstack/settings.odl d701e31 Fix devstack for fedora 25 c5d97e5 functional test: configure opendaylight d8e2ec5 devstack: improve odl-release definition f183674 Fix typo 8de834f devstack: tempest CI fails 194da19 mech driver v2: build dict for sg on update 5bfdefd Configure L3 for grenade job b12a243 Fix the update of qos-policy 7da469b Show team and repo badges on README 43da40d devstack: reorder mech driver for debug 3c578b1 Use system subunit command if python-subunit is installed globally 5205b44 db: use neutron_lib.db.model_base 6ea988c functional test: install acl package 0cfbc4c Disable live migration tests c8efabc devstack: enable scenario test_security_groups_basic_ops 6e0a489 Fix fullstack CI 9d914df devstack: make tempest timeout longer 9666139 Update reno for stable/newton 79fad9d Forgot to reference arch in docs index 372d373 Added basic L3 functional tests 385f63d Run ovs appctl execution of flows more times a692fac devstack: show related info for debug 63c0842 devstack: option for conntrack for old netvirt 3249111 Switch to using plugins directory in lieu of neutron manager Diffstat (except docs and test files) ------------------------------------- .gitignore | 1 + README.rst | 13 +- TESTING.rst | 32 ++ devstack/README.rst | 70 ++++ devstack/devstackgaterc | 67 +++- devstack/entry_points | 79 ++-- devstack/functions | 69 +++- .../netvirt-impl-config_netvirt-impl-config.xml | 5 + devstack/odl-releases/boron-0.5.2-SR2 | 0 devstack/odl-releases/boron-snapshot-0.5 | 0 devstack/odl-releases/boron-snapshot-0.5.2 | 2 - devstack/odl-releases/boron-snapshot-0.5.3 | 0 devstack/odl-releases/carbon-snapshot-0.6 | 0 devstack/odl-releases/common | 56 ++- devstack/odl-releases/latest-snapshot | 0 devstack/override-defaults | 13 +- devstack/plugin.sh | 12 +- devstack/post_test_hook.sh | 52 ++- devstack/pre_test_hook.sh | 67 +++- devstack/settings | 45 ++- devstack/settings.odl | 33 +- devstack/setup_java.sh | 4 +- devstack/upgrade/settings | 11 +- devstack/upgrade/upgrade.sh | 23 ++ networking_odl/bgpvpn/__init__.py | 0 networking_odl/bgpvpn/odl_v2.py | 151 ++++++++ networking_odl/cmd/set_ovs_hostconfigs.py | 18 + networking_odl/common/cache.py | 2 +- networking_odl/common/callback.py | 5 +- networking_odl/common/client.py | 2 +- networking_odl/common/config.py | 2 +- networking_odl/common/constants.py | 16 +- networking_odl/common/lightweight_testing.py | 2 +- networking_odl/common/utils.py | 16 +- networking_odl/db/db.py | 18 +- .../db/migration/alembic_migrations/env.py | 2 +- networking_odl/journal/dependency_validations.py | 328 ++++++++-------- networking_odl/journal/full_sync.py | 14 +- networking_odl/journal/journal.py | 18 +- networking_odl/journal/recovery.py | 9 +- networking_odl/l2gateway/driver.py | 51 +-- networking_odl/l2gateway/driver_v2.py | 112 ++++++ networking_odl/l3/l3_odl.py | 3 +- networking_odl/l3/l3_odl_v2.py | 3 +- networking_odl/ml2/legacy_port_binding.py | 4 +- networking_odl/ml2/mech_driver.py | 8 +- networking_odl/ml2/mech_driver_v2.py | 34 +- networking_odl/ml2/network_topology.py | 7 +- networking_odl/ml2/ovsdb_topology.py | 7 +- networking_odl/ml2/pseudo_agentdb_binding.py | 42 +- networking_odl/qos/qos_driver.py | 89 ++--- networking_odl/qos/qos_driver_v2.py | 73 ++++ networking_odl/qos/qos_utils.py | 39 ++ .../sfc/flowclassifier/sfc_flowclassifier_v2.py | 80 ++++ networking_odl/sfc/sfc_driver_v2.py | 125 ++++++ .../unit/journal/test_dependency_validations.py | 427 +++++++++++++++++++-- .../flowclassifier/test_sfc_flowclassifier_v2.py | 79 ++++ networking_odl/trunk/__init__.py | 0 networking_odl/trunk/constants.py | 27 ++ networking_odl/trunk/trunk_driver_v1.py | 112 ++++++ networking_odl/trunk/trunk_driver_v2.py | 117 ++++++ .../notes/bgpvpn-driver-v2-36c0772d510587f4.yaml | 10 + ...evstack-default-driver-v2-6ae6ce789b4a6cc9.yaml | 7 + .../notes/functional-test-b0855d6f1d85da30.yaml | 9 + .../notes/l2gw-driver-v2-b32aacf882ed446c.yaml | 10 + .../notes/lbaas-driver-v2-46bf34992f4785d1.yaml | 5 +- .../new-netvirt-default-0eccc77d3cb54484.yaml | 13 + .../port-binding-default-b5f24ad350b47eb0.yaml | 16 + .../notes/qos-driver-v2-4c869a6f0b8e3a4d.yaml | 8 + .../notes/sfc-driver-v2-9378b0db810b6fcb.yaml | 16 + .../notes/trunk-drivers-3592691bdd08929e.yaml | 9 + releasenotes/source/index.rst | 1 + releasenotes/source/newton.rst | 6 + requirements.txt | 2 +- setup.cfg | 4 +- test-requirements.txt | 4 +- tools/configure_for_func_testing.sh | 95 ++++- tools/install_venv.py | 2 +- tools/subunit-trace.py | 2 +- tools/tox_install.sh | 1 + tox.ini | 20 +- vagrant/README.rst | 29 ++ vagrant/functional/Vagrantfile | 23 ++ vagrant/functional/config-override.sh | 38 ++ vagrant/functional/reproduce.sh | 121 ++++++ vagrant/functional/setup-minimum.sh | 11 + vagrant/integration/multinode/README.rst | 25 ++ vagrant/integration/multinode/Vagrantfile | 24 ++ vagrant/integration/multinode/compute.conf | 71 ++++ vagrant/integration/multinode/control.conf | 95 +++++ vagrant/integration/multinode/setup_compute.sh | 27 ++ vagrant/integration/multinode/setup_control.sh | 26 ++ vagrant/setup_proxy.sh | 50 +++ 135 files changed, 4400 insertions(+), 738 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index e7c053c..1b6fc37 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8 +8 @@ stevedore>=1.17.1 # Apache-2.0 -neutron-lib>=1.0.0 # Apache-2.0 +neutron-lib>=1.1.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index d1b3e9c..f991c2b 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -5 +5 @@ -hacking<0.11,>=0.10.0 +hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0 @@ -10 +10 @@ python-subunit>=0.0.18 # Apache-2.0/BSD -sphinx!=1.3b1,<1.4,>=1.2.1 # BSD +sphinx>=1.5.1 # BSD