[openstack-announce] [new][neutron] networking-odl 3.0.0 release

no-reply at openstack.org no-reply at openstack.org
Wed Nov 9 11:22:49 UTC 2016


We are psyched to announce the release of:

networking-odl 3.0.0: OpenStack Networking

Download the package from:

    https://tarballs.openstack.org/networking-odl/

For more details, please see below.

3.0.0
^^^^^

Host Configuration data population from agentless OpenDayLight.

Full sync supports and ODL controller with no Neutron resources on it.
This support is for the V2 driver, as V1 driver already supports this.

Journal recovery for the V2 driver handles failed journal entries.

Maintenance thread for the V2 driver.

Remove LbaaS v1 driver, as LbaaS removed v1 API.

Agentless Port binding controller using agentdb for persistency with
ODL provided host configuration.

QoS Driver V1 for networking-odl.

Networking SFC V1 driver for networking-odl.

Support for vlan-transparency.


New Features
************

* This configuration is used to get the information about physical
  host type and other config data like supported vnic types stored in
  ovsdb. Networking-odl can fetch this info from OpenDaylight via REST
  API request and feed agents_db table in neutron, which will be used
  by neutron scheduler.

* The full sync process looks for a "canary" network on the ODL
  controller side. If such a network is found, it doesn't do anything.
  If the network is missing then all the neutron resources are re-
  created on ODL. This supports cases when ODL controller comes online
  with no Neutron resources on it (also referred to as "cold reboot",
  but can happen on various cases).

* The journal recovery mechanism handles failed journal entries by
  inspecting ODL and deciding on the correct course of action. This
  support should be sufficient for the majority of entry failures.

* The maintenance thread was introduced in the V2 driver in order to
  perform various journal maintenance tasks, such as * Stale lock
  release * Completed entry cleanup * Full sync * Journal recovery The
  thread runs in a configurable interval and is HA safe so at most one
  will be executing regardless of how many threads are running
  concurrently.

* Reads host configuration from ODL using a REST/get and stores the
  information in Neutron agentdb for persistency. This host
  configuration is read back from agentdb and applied during port
  binding. Without this feature several out-of-sync race conditions
  were caused due to incorrect host information.

* A new driver to integrate OpenStack neutron QoS API with
  OpenDayLight backend. It supports CRUD operations for QoS policy and
  its associated rules. The QoS driver in tree is of version v1, which
  does not log the operation request in journal table.

* First 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 1 driver and does not support the journal based
  implementation.

* The extension *vlan-transparent* is supported for Newton release,
  unconditionally only vxlan is considered to support its extension
  independent of ODL openstack provider. It's future work to allow ODL
  openstack provider to report list of supported network types at
  start up statically.


Known Issues
************

* Currently only network type of VXLAN is statically considered to
  support vlan-transparent independently of OpenDaylight openstack
  provider. It should use capability report by OpenDaylight openstack
  provider statically instead of static hard code.


Upgrade Notes
*************

* Maintenace lock table was added to synchronize multiple threads.

* Upgrade to use LBaaS v2 driver and migrate to use LBaaS v2 driver.


Deprecation Notes
*****************

* LBaaS v1 API driver for ODL is removed. * LBaaS v2 API driver


Bug Fixes
*********

* Includes the following bug fixes Bug 1608659 -
  pseudo_agentdb_binding AttributeError.


Other Notes
***********

* For details please read 'VLAN trunking networks for NFV
  <https://specs.openstack.org/openstack/neutron-specs/specs/kilo/nfv-
  vlan-trunks.html>'_.

Changes in networking-odl 2.0.0..3.0.0
--------------------------------------

1ddf9e2 update Boron release definitions since SR1 release
da51856 devstack: create public network connectivity
eb53b78 mech v2: bug/1546910 work around
4787bc1 Excluding Tempest from Rally job to avoid failure
fd1f23f Updated from global requirements
2e633d3 Fix the implementation of ODLMemberManager in lbaas driver_v2
9194396 devstack: enable force config drive
9ca422f Fix set_ovs_hostconfigs exit issue
9d625aa Fix few typographical errors.
5020fc5 Add a reference to Neutron Devref and Apiref
1d398e5 Remove last vestiges of oslo-incubator
f1d1eb5 Add grenade plugin
2066b64 secgroup: pushdown default secgroup rules to ODL
b4427ed Fix up some documentation quirks
90401fc sort values for OVERRIDE_ENABLED_SERVICES
702ea75 Updated from global requirements
c35b318 follow up for https://review.openstack.org/#/c/268820/
767e23a Journal recovery for syncing with ODL
ed6594a Add developer docs for ODL drivers
3969f03 Added maintenance devref
3ec40af tools: catch up neutron-lbaas change
101bcd9 releasenotes: deprecate lbaasv1 driver
43982cd releasenotes: vlan-transparency
320d67f Adding a line space for proper rendering of doc
da87af6 Remove call to configure_neutron_odl in case of odl-compute and non-pseudo-agent port binding.
90dec81 Change import statement to not rename the module
f90f5ee alembic: db migration fails
6f6428f OpenStack Networking-SFC driver for OpenDaylight
2951f5a Updated from global requirements
23de6fb Journal recovery release notes added
a88853e Full sync release notes added
284d832 Maintenace thread release notes added
99d9c4e Modify the "create" and "update" method in lbaas driver_v2
d0843c9 Release notes for psuedo agent port binding
c17d14e Add instructions to enable qos
19e270d Release notes for Host Config
32a2b6e Imported Translations from Zanata
10167f5 add test_migrations test
5b4319b tox: use ostestr
5b78b03 stop doing any magic cloning of neutron during CI
bcc8f5b devstack: exclude tests that uses ssh
dc85678 bug/1614766 work around
0fee200 Wrapper method for client#sendjson
4ca4296 Bug 1608659 - pseudo_agentdb_binding AttributeError
5d4b8a5 transparent_vlan support
d36e0bf trivial fix
781cdc0 devstack: call odl-ovs-hostconfig conditionally
7035ed9 Remove dependency from neutron and move main() to the end.
005ff32 Improve README
a5cd639 journal: filter.py: AttributeError: 'NoneType'
612266b Fix typo in DB migration script
2a9e319 journal: created_at of second is too coarse
3438033 Enable release notes translation
4888228 Updated from global requirements
3b92aad devstack: setup hostconfig on compute node
088e0c4 Cloud admin script auto-config hostconfig defaults
f808127 Fix a typo in documentation
b666462 Add E123,E125 check and Solve several problems
33d5444 Add Apache 2.0 license to source file
db70637 Fix a typo in override-defaults
fda3164 Updated from global requirements
3c4d625 remove add/remove router interface to ODL
d480baf Updated from global requirements
7fd14d1 Include alembic migrations in module
416a5c7 security group rule: convert unknown protocol name
cf0068c Update homepage with developer documentation page
392ca38 simplify odl release definition
a674707 use v2 driver for v2 test
8b24c81 rest client: move parameter check to rest client
99756f3 update odl release definitions for Boron 0.5.0
9f91a0e Journal recovery for basic scenarios
c8f747a unbreak test_l3_odl failure
69139fb sqlite: datetime should be second precision
2f87ffd test: journal/maintenance db clean up properly
c287676 test_maintenance: cleanup looping call
74a8c3f populate json with both 'project_id', 'tenant_id'
0dc8397 models: use neutron_lib.db.model_base
42aaa8b more bug work around of Moxy bug of 475475
3765725 Sync Security Groups and SG Rules before other resources
1c70751 journal.record should use callers plugin context
aad8b20 Revert "Temporary fix for gate"
7647d95 tests/unit: consolidate journal db setup logic
539274c Add qos extension to devstack override defaults
5e8ec3a Temporary fix for gate
0dc831e Treat ODL's 404 hostconfigs, as an empty list On pseudo agent db, when odl response with 404 not_found for hostconfigs, treat it as an empty list rather then an error. Issue a debug log in this flow
15806f5 ml2 v1 driver: work around full_sync
9c15508 Updated from global requirements
8a2f804 nuke lbaasv1 driver
411ccc6 devstack: make NEXUSPATH configurable
59e668a ODL QoS driver of v1 Type.
c627647 Pass OptGroup variable for RequiredOptError
83f1b14 Remove reference to neutron.i18n
401a927 Fix the members name in OpenDaylightLbaasDriverV2
1e122ca Change the OpenDaylightManager url_path
3ff8809 wrap_db_retry: retry_on_request was deprecated
df084e1 add the synchronization between neutron and ODL in driver_v1
18521cf use carbon snapshot as default odl-release
4a7f003 devstack: add carbon snapshot to odl-releases
b519fa6 Enable DeprecationWarning in test environments
aeea7ff test_pseudo_agentdb_binding.py: adopt neutron_lib
e5fcabe journal: port::securitygroup needs only ids
ff29bb6 db: add Mitaka tag for alembic migration revisions
4613fcc devstack: refactor ODL_L3 logic depending on used feature
7876f08 Revert "devstack: setup hostconfig in ovsdb"
f92e215 Updated from global requirements
73122ca pseudo agent, devstack: hostconf_uri is set to ''
2cd9a1a Run set_ovs_hostconfigs as root with neutron-utils
2cd5575 devstack:ovsdbd doesn't understand localhost
5807e57 Add Python 3.5 classifier and venv
cc2e5e9 pseudo agent fails to load with unit test
f92c9a2 devstack: remove the definition of lithium snapshot
647be73 devstack: setup hostconfig in ovsdb
20f9d65 legacy_port_binding: teach VNIC type
848ec84 pep8, unittest: unbreak gate failure
9ba7a22 tox: add doc8 check
c610d16 devstack: the definition of beryllium snapshot 0.4.4
4c64284 devstack: add definition of beryllium SR3
221dd51 devstack: add more gate jobs
3a8c40b settings.odl: eliminate 0.4.2-snapshot which was deleted
36a9987 Add releasenotes support with reno
c8c22a1 various update for tox.ini
9e29720 devstack: configurable ODL repositories paths
bd04835 devstack: add specific ODL snapshot functionality
6d5e43d devstack: allow to enable v2 driver
9c447be devstack: remove beryllium snapshot 0.4.2
2a5be4f devstack: load neutron-northbound-service first
3647f28 refactor odl-release definition
de049fb Replace assertEqual(None, *) with assertIsNone in tests
5312d3e Remove discover from test-requirements
a212821 Fix bug in call to get_network - missing network_id param
b064cb7 devstack: remove optional bridge configuration
35a5d83 Fix the order of arguments in assertEqual
faed158 Support for ovs-dpdk, vpp in port binding
868924a Updated from global requirements
1c4304d fix _enrich_port() to return the modified "data"
0076400 Add name property to ENUM type
e614620 Fix devstack README indentation
eebb124 Corrects pep8 failure in set_ovs_hostconfigs.py
3c29197 Add __ne__ built-in function
dedafa6 Fix tox unit test issue
770a4e4 Switch-agnostic ODL port binding controller
329dff0 Add Spec for QoS driver
8380f40 Adding Host Config doc
7c64b27 devstack: support bridge configuration, for vpnservice-openstack
9f4a278 make dependency validator dynamically registerable
c2450f4 create dir, doc/specs, for spec
d8c6dd2 Updated from global requirements
5f756e9 Fix db error when running python34 Unit tests
a40b9d9 adopt neutron_lib for constants and exceptions
9a1ac1e Remove unused Params
6b20850 Fixed test_mechanism_odl.py due to functions map deprecation in ML2
6e7249f Full Sync for L3 resources
19d8a78 Add a hook for test debug
fccd53a more bug work around of Java MOXy bug of 475475
c1e69f1 Use already defined constants
3abe55a Revert "Workaround to fix gate py27 and py34 issue."
1d19555 Spec for journal recovery
18f98a9 Updated from global requirements
22751d3 drop unnecessary exec permission
46336ec Refactor SG callbacks
5475a0d beryllium SR2 definition
e3f8769 Simplify filtering logic
b1821fb ODL v2: Full sync resources
f1d19b6 Complete port details by journal instead of mech driver
e1d1fed [Trivial Fix] Correct log.debug() format
fbff52b Add cleanup operation to maintenance thread
153bc13 Journal entries can get stuck forever causing busy wait
b7f5d99 Add journal maintenance thread
4c52e58 Updated from global requirements


Diffstat (except docs and test files)
-------------------------------------

.gitignore                                         |   3 +
.pylintrc                                          |   7 +-
.testr.conf                                        |   2 +-
MANIFEST.in                                        |   9 +-
README.rst                                         |  35 +-
TESTING.rst                                        |  13 +
devstack/README.rst                                |  60 ++-
devstack/devstackgaterc                            |  21 +-
devstack/entry_points                              |  86 +++-
devstack/functions                                 |  46 +--
devstack/odl-releases/beryllium-0.4.0              |  10 +-
devstack/odl-releases/beryllium-0.4.1-SR1          |  10 +-
devstack/odl-releases/beryllium-0.4.2-SR2          |   1 +
devstack/odl-releases/beryllium-0.4.3-SR3          |   1 +
devstack/odl-releases/beryllium-snapshot-0.4.2     |   9 -
devstack/odl-releases/beryllium-snapshot-0.4.4     |   2 +
devstack/odl-releases/boron-0.5.0                  |   1 +
devstack/odl-releases/boron-0.5.1-SR1              |   1 +
devstack/odl-releases/boron-snapshot-0.5.0         |   9 -
devstack/odl-releases/boron-snapshot-0.5.2         |   2 +
devstack/odl-releases/carbon-snapshot-0.6.0        |   2 +
devstack/odl-releases/common                       |  18 +
devstack/odl-releases/helium-0.2.3-SR3             |   7 +-
devstack/odl-releases/lithium-0.3.1-SR1            |   7 +-
devstack/odl-releases/lithium-0.3.2-SR2            |   7 +-
devstack/odl-releases/lithium-0.3.3-SR3            |   7 +-
devstack/odl-releases/lithium-0.3.4-SR4            |   7 +-
devstack/odl-releases/lithium-snapshot-0.3.5       |   9 -
devstack/override-defaults                         |  18 +-
devstack/plugin.sh                                 |  14 +-
devstack/post_test_hook.sh                         |   4 +
devstack/pre_test_hook.sh                          |  55 ++-
devstack/settings.odl                              |  37 +-
devstack/upgrade/resources.sh                      |   0
devstack/upgrade/settings                          |  16 +
devstack/upgrade/upgrade.sh                        |   0
etc/neutron/plugins/ml2/ml2_conf_odl.ini           |  19 +
networking_odl/cmd/__init__.py                     |   0
networking_odl/cmd/set_ovs_hostconfigs.py          | 458 +++++++++++++++++++++
networking_odl/cmd/test_setup_hostconfigs.sh       |   3 +
networking_odl/common/cache.py                     |   3 +
networking_odl/common/callback.py                  | 123 +++---
networking_odl/common/client.py                    |  73 +++-
networking_odl/common/config.py                    |  24 +-
networking_odl/common/constants.py                 |  23 +-
networking_odl/common/exceptions.py                |   2 +-
networking_odl/common/filters.py                   | 289 +++++++------
networking_odl/common/lightweight_testing.py       |   5 +-
networking_odl/db/db.py                            | 122 ++++--
networking_odl/db/head.py                          |  24 ++
.../alembic_migrations/versions/CONTRACT_HEAD      |   2 +-
.../alembic_migrations/versions/EXPAND_HEAD        |   2 +-
.../contract/383acb0d38a0_initial_contract.py      |   4 +
...87ae5_opendaylight_neutron_mechanism_driver_.py |  10 +-
.../fa0c536252a5_update_opendayligut_journal.py    |  45 ++
.../3d560427d776_add_sequence_number_to_journal.py |  49 +++
.../703dbf02afde_add_journal_maintenance_table.py  |  52 +++
networking_odl/db/models.py                        |  25 +-
networking_odl/journal/cleanup.py                  |  46 +++
networking_odl/journal/dependency_validations.py   |  61 ++-
networking_odl/journal/full_sync.py                |  94 +++++
networking_odl/journal/journal.py                  |  76 ++--
networking_odl/journal/maintenance.py              |  83 ++++
networking_odl/journal/recovery.py                 | 102 +++++
networking_odl/l3/l3_odl.py                        |  57 +--
networking_odl/l3/l3_odl_v2.py                     |  40 +-
networking_odl/lbaas/driver_v1.py                  |  93 -----
networking_odl/lbaas/driver_v2.py                  |  62 ++-
networking_odl/ml2/legacy_port_binding.py          |   9 +-
networking_odl/ml2/mech_driver.py                  | 190 ++++++---
networking_odl/ml2/mech_driver_v2.py               | 253 ++++++++----
networking_odl/ml2/network_topology.py             |  14 +-
networking_odl/ml2/ovsdb_topology.py               |   6 +-
networking_odl/ml2/port_binding.py                 |   3 +-
networking_odl/ml2/pseudo_agentdb_binding.py       | 276 +++++++++++++
networking_odl/qos/__init__.py                     |   0
networking_odl/qos/qos_driver.py                   | 121 ++++++
networking_odl/sfc/__init__.py                     |   0
networking_odl/sfc/flowclassifier/__init__.py      |   0
.../sfc/flowclassifier/sfc_flowclassifier_v1.py    |  66 +++
networking_odl/sfc/sfc_driver_v1.py                | 101 +++++
.../unit/journal/test_dependency_validations.py    |  44 ++
.../flowclassifier/test_sfc_flowclassifier_v1.py   |  57 +++
rally-jobs/plugins/README.rst                      |   2 +-
releasenotes/notes/.placeholder                    |   0
.../notes/add-host-config-8fb45d7f9732a795.yaml    |  11 +
releasenotes/notes/full-sync-f6b7ec1bd9ea0e52.yaml |  15 +
.../notes/journal-recovery-88e583ad2db22bcc.yaml   |  10 +
.../notes/maintenance-thread-e54c3b4bd7c03546.yaml |  20 +
.../nuke-lbaasv1-driver-fce366522350fe21.yaml      |   9 +
...pseudo-agent-port-binding-0a3d1d193b99293e.yaml |  16 +
.../notes/qos-driver-v1-711698186ca693c4.yaml      |   9 +
.../notes/sfc-driver-v1-d11fd5fd17114f2c.yaml      |  10 +
.../notes/vlan-transparency-63c153d310eacc5d.yaml  |  21 +
releasenotes/source/_static/.placeholder           |   0
releasenotes/source/_templates/.placeholder        |   0
releasenotes/source/conf.py                        | 267 ++++++++++++
releasenotes/source/index.rst                      |  14 +
.../source/locale/fr/LC_MESSAGES/releasenotes.po   |  26 ++
releasenotes/source/unreleased.rst                 |   5 +
requirements.txt                                   |   6 +-
setup.cfg                                          |  24 +-
test-requirements.txt                              |  13 +-
tools/i18n_cfg.py                                  |  12 +
tools/ostestr_compat_shim.sh                       |   8 +
tools/tox_install.sh                               |  21 +
tools/tox_install_project.sh                       |  73 ++++
tox.ini                                            |  49 ++-
159 files changed, 6800 insertions(+), 1479 deletions(-)


Requirements updates
--------------------

diff --git a/requirements.txt b/requirements.txt
index 7034336..ff54ed4 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -6,3 +6,3 @@ pbr>=1.6 # Apache-2.0
-Babel!=2.3.0,!=2.3.1,!=2.3.2,!=2.3.3,>=1.3 # BSD
-stevedore>=1.5.0 # Apache-2.0
-neutron-lib>=0.1.0 # Apache-2.0
+Babel>=2.3.4 # BSD
+stevedore>=1.17.1 # Apache-2.0
+neutron-lib>=1.0.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index e13bb5e..d1b3e9c 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -7,2 +7,2 @@ hacking<0.11,>=0.10.0
-coverage>=3.6 # Apache-2.0
-discover # BSD
+coverage>=4.0 # Apache-2.0
+doc8 # Apache-2.0
@@ -10,2 +10,2 @@ python-subunit>=0.0.18 # Apache-2.0/BSD
-sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 # BSD
-oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
+sphinx!=1.3b1,<1.4,>=1.2.1 # BSD
+oslosphinx>=4.7.0 # Apache-2.0
@@ -12,0 +13 @@ oslotest>=1.10.0 # Apache-2.0
+os-testr>=0.8.0 # Apache-2.0
@@ -13,0 +15 @@ testrepository>=0.0.18 # Apache-2.0/BSD
+testresources>=0.2.4 # Apache-2.0/BSD
@@ -16,0 +19,3 @@ testtools>=1.4.0 # MIT
+
+# releasenotes
+reno>=1.8.0 # Apache-2.0





More information about the OpenStack-announce mailing list