We are psyched to announce the release of: networking-bgpvpn 5.0.0: API and Framework to interconnect bgpvpn to neutron networks The source is available from: http://git.openstack.org/cgit/openstack/networking-bgpvpn Download the package from: https://tarballs.openstack.org/networking-bgpvpn/ Please report issues through launchpad: http://bugs.launchpad.net/bgpvpn For more details, please see below. 5.0.0 ^^^^^ The ovs/bagpipe driver now let you use both a Neutron router and a BGPVPN association simultaneously on a given Port. New Horizon panels for BGPVPN resources, allowing you to create a bgpvpn and to associate related resources such as a network or a router. New Features ************ * The bagpipe driver now let happily coexist a BGPVPN association and a Neutron router. Traffic that does not match any VPN route will be handled by the Neutron router. This evolution depends on corresponding evolutions in networking-bagpipe and bagpipe-bgp. (see bug 1627645 (https://bugs.launchpad.net/networking- bgpvpn/+bug/1627645)) * Horizon: * a view of all the existing BGPVPNs. * ability to view details of a BGPVPN. * ability to create, update and delete BGPVPN resources for an admin user. * ability to update BGPVPN resources for a tenant user. (with restrictions, compared to what an admin user can change) * abiity to associate/disassociate BGPVPN to/from networks and routers (for both tenant and admin users) Changes in networking-bgpvpn 4.0.0..5.0.0 ----------------------------------------- 5165dc7 undo some of the incorrect changes for prepping Newton d088925 prepare Newton release 3ee534f Stop adding ServiceAvailable group option f40b3da Pin ODL's dependency to a working commit 17875b8 bagpipe: compatibility with Neutron routers 712c1a0 opencontrail: not check tenant existence on update 82a445e import validate_regex from neutron_lib ddd47b4 Enable release notes translation 616dff8 devstack: fix to load bagpipe l2 agent extension 9073ba0 bagpipe: rely on Port AFTER_DELETE callbacks 1671101 bagpipe: port+orig_port are in Port AFTER_UPDATE callbacks 9a3c45b Prevent mixing bgpvpn associations fb35aab Fix a typo in documentation 02f7de8 Remove python 3 from setup.cfg classifiers 8d3cd42 Import DB model_base from neutron-lib bca7d4b Use os-testr instead of testr 8b615a4 TrivialFix: Remove logging import unused 006d882 devstack, bagpipe driver: properly set the l2 agent extension a9d9288 Horizon plugin patch to let user handle BGPVPN resources 273f9af Add doc for devstack configuration 0508a0e Use horizon UT framework ff62fbd Use more permissive UTs 9002df0 Enable L2 BGPVPN to be passed to OpenDaylight 396aee4 Add tempest tests for router association b5279bf Add more tempest tests for read permissions 4bff8dd Raise NotImplementedError instead of NotImplemented 5aa1598 Use constrained pip install for all jobs a547da2 Remove windows-style line breaks be7dff1 Import _ explicitly from ._i18n c0eefd7 Add error management regarding malformed UUID 304a7da Add a tempest test on read permission with bgpvpn_list c1ab126 Added the negative cases 28dcfbe Add tempest tests on route-target update cc4c52a import api validators/converters from neutron_lib c27b90c enable tempest tests for bgpvpn 50188f2 unit test fix: specify the tenand_id at Port/Net/Subnet creation 1ea3c8d Bad parameter name in disassociate_network_from_bgpvpn fcfdd83 Add a tenant ID check to create a bgpvpn resource 415740e Remove temporary local HasProject a044cf7 Enable DeprecationWarning in test environments e2f276a Add tempest test associate_disassociate_network 67e6e9f Delete execute permission of two files bd538d5 Add Python 3.5 classifier and venv 595db5a Updated from global requirements 70b68d2 Updated from global requirements 8eea958 Remove discover from test-requirements c358054 Add test delete_bgpvpn_as_non_admin_fail 00b9c11 Rename DB columns: tenant -> project cc1cf23 Bring models in sync with migrations, add test b0d07e1 Fix the permission of file -rwxr-xr-x ca7f0b3 Update API usage with Python and a sample code 8136b71 Remove useless/broken call in a bagpipe driver test a9d1094 Remove unused LOG to keep code clean cc8d478 Improve bagpipe unittest involving OVS bridges 76e70d4 Fix tox unit test issue 7f17824 Initialize the routers key in make_bgpvpn_dict cc28754 minor doc layout improvement c93da24 Horizon plugin to let the admin handle BGPVPN 7b3a06e Fix RD regex to match RFC 4364, chapter 4.2 06592f5 Move from neutron.i18n to oslo.i18n 2c27794 Update OpenContrail driver documentation 15bfd4f README cleanup 605e193 Update bagpipe driver documentation e8c379e Make test jobs constrained 0d8a7c3 Import neutron exceptions from neutron_lib 0cd20d7 bagpipe driver: add a unit test for agent extension eba2f98 Import constants from neutron_lib d8fa960 bagpipe: improve unit test d5b7703 bagpipe driver: enable a previously disabled unit test 167ecb1 Fix typos in bgpvpn installation manual ccc13f7 bagpipe: really use the extension-specific cookie 38fc3e7 bagpipe: update unit tests to follow a Neutron ML2 change d0fcacb Typo in OpenContrail driver documentation manual b5202df Add info on Nuage Networks driver 3279727 Improve installation documentation c31b679 devstack: fix OVS compilation hook c1cec62 Updated from global requirements Diffstat (except docs and test files) ------------------------------------- .gitignore | 3 + README.rst | 35 +- bgpvpn_dashboard/__init__.py | 0 bgpvpn_dashboard/api/__init__.py | 0 bgpvpn_dashboard/api/bgpvpn.py | 116 +++++ bgpvpn_dashboard/common/__init__.py | 0 bgpvpn_dashboard/common/bgpvpn.py | 31 ++ bgpvpn_dashboard/dashboards/__init__.py | 0 bgpvpn_dashboard/dashboards/admin/__init__.py | 0 .../dashboards/admin/bgpvpn/__init__.py | 0 bgpvpn_dashboard/dashboards/admin/bgpvpn/forms.py | 99 ++++ bgpvpn_dashboard/dashboards/admin/bgpvpn/panel.py | 23 + bgpvpn_dashboard/dashboards/admin/bgpvpn/tables.py | 125 +++++ .../admin/bgpvpn/templates/bgpvpn/_create.html | 26 + .../bgpvpn/templates/bgpvpn/_detail_overview.html | 34 ++ .../admin/bgpvpn/templates/bgpvpn/create.html | 7 + .../admin/bgpvpn/templates/bgpvpn/detail.html | 16 + bgpvpn_dashboard/dashboards/admin/bgpvpn/urls.py | 33 ++ bgpvpn_dashboard/dashboards/admin/bgpvpn/views.py | 72 +++ .../dashboards/admin/bgpvpn/workflows.py | 41 ++ bgpvpn_dashboard/dashboards/project/__init__.py | 0 .../dashboards/project/bgpvpn/__init__.py | 0 .../dashboards/project/bgpvpn/forms.py | 136 +++++ .../dashboards/project/bgpvpn/panel.py | 23 + .../dashboards/project/bgpvpn/tables.py | 97 ++++ .../templates/bgpvpn/_associated_networks.html | 15 + .../templates/bgpvpn/_associated_routers.html | 15 + .../bgpvpn/templates/bgpvpn/_detail_overview.html | 14 + .../project/bgpvpn/templates/bgpvpn/_modify.html | 7 + .../project/bgpvpn/templates/bgpvpn/detail.html | 16 + .../project/bgpvpn/templates/bgpvpn/index.html | 7 + .../project/bgpvpn/templates/bgpvpn/modify.html | 7 + bgpvpn_dashboard/dashboards/project/bgpvpn/urls.py | 32 ++ .../dashboards/project/bgpvpn/views.py | 139 +++++ .../dashboards/project/bgpvpn/workflows.py | 241 +++++++++ .../enabled/_1495_project_bgpvpn_panel.py | 10 + .../enabled/_2115_admin_bgpvpn_panel.py | 10 + bgpvpn_dashboard/enabled/__init__.py | 0 bgpvpn_dashboard/test/__init__.py | 0 bgpvpn_dashboard/test/helpers.py | 36 ++ bgpvpn_dashboard/test/settings.py | 38 ++ bgpvpn_dashboard/test/test.py | 20 + bgpvpn_dashboard/test/test_data/__init__.py | 0 bgpvpn_dashboard/test/test_data/bgpvpn_data.py | 51 ++ bgpvpn_dashboard/test/test_data/utils.py | 34 ++ bgpvpn_dashboard/test/urls.py | 18 + devstack/devstack-gate-bagpipe-rc | 13 +- devstack/devstack-gate-rc | 4 - devstack/gate_hook.sh | 19 - devstack/plugin.sh | 11 +- devstack/settings | 1 + networking_bgpvpn/_i18n.py | 42 ++ networking_bgpvpn/neutron/db/bgpvpn_db.py | 78 ++- networking_bgpvpn/neutron/db/head.py | 20 + .../alembic_migrations/versions/CONTRACT_HEAD | 1 + .../alembic_migrations/versions/EXPAND_HEAD | 1 + .../db/migration/alembic_migrations/versions/HEADS | 2 - .../alembic_migrations/versions/__init__.py | 0 .../versions/liberty/__init__.py | 0 .../versions/liberty/contract/__init__.py | 0 .../liberty/expand/17d9fd4fddee_initial.py | 2 +- .../versions/liberty/expand/__init__.py | 0 .../23ce05e0a19f_rename_tenant_to_project.py | 135 +++++ .../0ab4049986b8_add_indexes_to_tenant_id.py | 35 ++ networking_bgpvpn/neutron/extensions/bgpvpn.py | 38 +- .../neutron/services/common/constants.py | 19 + networking_bgpvpn/neutron/services/common/utils.py | 1 + networking_bgpvpn/neutron/services/plugin.py | 56 +- .../service_drivers/bagpipe/agent_extension.py | 83 ++- .../services/service_drivers/bagpipe/bagpipe.py | 313 ++++++----- .../neutron/services/service_drivers/driver_api.py | 15 + .../service_drivers/opencontrail/exceptions.py | 8 +- .../service_drivers/opencontrail/opencontrail.py | 32 +- .../opencontrail/opencontrail_client.py | 1 + .../services/service_drivers/opendaylight/odl.py | 6 +- .../neutronclient/neutron/v2_0/bgpvpn/bgpvpn.py | 3 +- networking_bgpvpn_heat/bgpvpnservice.py | 6 +- networking_bgpvpn_tempest/config.py | 11 +- networking_bgpvpn_tempest/plugin.py | 14 +- .../services/bgpvpn/bgpvpn_client.py | 33 ++ .../bagpipe-router-compat-b53b6f3799cd23db.yaml | 13 + .../notes/horizon-support-06a7b21286002949.yaml | 17 + releasenotes/source/conf.py | 3 + requirements.txt | 4 +- setup.cfg | 4 +- test-requirements.txt | 14 +- tools/django-manage.py | 23 + tools/ostestr_compat_shim.sh | 8 + tools/tox_install.sh | 64 ++- tox.ini | 15 +- 110 files changed, 3904 insertions(+), 733 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index fff2a24..2605a3d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6 +6 @@ pbr>=1.6 -Babel>=1.3 +Babel!=2.3.0,!=2.3.1,!=2.3.2,!=2.3.3,>=1.3 @@ -8,0 +9 @@ oslo.db>=2.4.1 # Apache-2.0 +oslo.i18n>=2.1.0 # Apache-2.0 @@ -12,0 +14 @@ sphinxcontrib-seqdiag +neutron-lib>=0.4.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 3d218f2..7024cdd 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -8 +8 @@ coverage>=3.6 -discover +django-nose>=1.4.4 # BSD @@ -11 +11,3 @@ sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 -oslosphinx>=2.5.0 # Apache-2.0 +oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0 +psycopg2>=2.5 # LGPL/ZPL +PyMySQL>=0.6.2 # MIT License @@ -15 +17,2 @@ oslotest>=1.10.0 # Apache-2.0 -testrepository>=0.0.18 +os-testr>=0.7.0 # Apache-2.0 +testresources>=0.2.4 # Apache-2.0/BSD @@ -18,0 +22,2 @@ reno>=0.1.1 # Apache2 +pylint===1.4.5 +networking-bagpipe>=5.0.0 @@ -20,2 +25 @@ reno>=0.1.1 # Apache2 --e git+https://git.openstack.org/openstack/networking-bagpipe#egg=networking-bagpip... --e git+https://git.openstack.org/openstack/networking-odl#egg=networking-odl +-e git+https://git.openstack.org/openstack/networking-odl@c62edca4437a0fb82403463bd...