[release-announce] neutron 16.1.0 (ussuri)

no-reply at openstack.org no-reply at openstack.org
Wed Aug 26 21:44:43 UTC 2020


We are amped to announce the release of:

neutron 16.1.0: OpenStack Networking

This release is part of the ussuri stable release series.

The source is available from:

    https://opendev.org/openstack/neutron

Download the package from:

    https://tarballs.openstack.org/neutron/

Please report issues through:

    https://bugs.launchpad.net/neutron/+bugs

For more details, please see below.

16.1.0
^^^^^^


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

* A new configuration option "http_retries" was added. This option
  allows configuring the number of times the nova or ironic client
  should retry on a failed HTTP call.

* "DVR" routers now support "flat" networks.

* Added support for router availability zones in OVN. The OVN driver
  can now read from the router's availability_zone_hints field and
  schedule router ports accordingly with the given availability zones.


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

* Abstract method "plug_new" from the
  neutron.agent.linux.interface.LinuxInterfaceDriver class now accepts
  an optional parameter "link_up". Usage of this method, which takes
  from 5 to 9 positional arguments, without "link_up" is now
  deprecated and will not be possible starting in the W release.
  Third-party drivers which inherit from this base class should update
  the implementation of their "plug_new" method.


Bug Fixes
*********

* 1875981 (https://bugs.launchpad.net/neutron/+bug/1875981) Neutron
  now correctly removes associated DNS records when an admin deletes
  ports, servers or floation IPs.

* Fixed bug 1876092
  (https://bugs.launchpad.net/neutron/+bug/1876092) which caused DUP
  ICMP replies on the "flat" networks used with "DVR" routers.

* Fixed an issue where the client on a dual-stack (IPv4 + IPv6)
  network failed to get configuration from the dnsmasq DHCP server.
  See bug: 1876094 (https://launchpad.net/bugs/1876094).

Changes in neutron 16.0.0..16.1.0
---------------------------------

3549e52467 ovn-migration-mtu: Support migrating MTU of GRE networks
c3aedcd508 ovn-migration-mtu: Support providing project/user domain by name
083748fadd Fix port can not be created with the sg of other project
b468514e99 migration: Restart OVS after setting protocols
c678d89dab port_forwarding: validate args before invoking db update
3496564488 Fix validation of IPv6 subnets with external RAs
18f019984a String to byte conversion should provide the encoding type
ed22f7a2ff [OVS][FW] Remote SG IDs left behind when a SG is removed
8200c68f68 Use "replace" to remove a section of a string
9e699c3743 [ovn] Use normalized remote prefix IPs in OVN driver
21719a875d [Stable only] Drop *-master jobs
20b9e7759f ovn migration: Support stack name
ab32d7ae64 [OVN] Allow IP allocation with different segments for OVN service ports
d07e879208 [OVN] Extra DHCP options validation: Log invalid options
a678c43646 ovn-migration: Remove docker references
2b00041f4d Fix neutron-ovn-tempest-ovs-master-fedora job
143fe8ff89 Ensure drop flows on br-int at agent startup for DVR too
5554d620d1 [OVN] Fix logic issue while deleting port with QoS
61851345ce [OVN] Unify OVN/OVS compilation
c0fba2007c migration: Use ansible-inventory to parse tripleo inventory
fb9815fdf0 [OVN] Stop using neutron_tempest_plugin in OVN singlenode job
90955cf893 Stop installing Octavia in OVN jobs
8341a87bd0 [OVN] Wait for WaitForDataPathBindingCreateEvent event in functional tests
c172235f58 Optionally use admin powers when deleting DNS records
b4130c0dc1 Auto-delete dhcp ports on segment delete
f4172a9ab9 Fix pep8 job
2827100169 [DVR] Related routers should be included if are requested
e723f95e60 [ci] Fix several rally task arguments
34d4a8bb99 Add config option ``http_retries``
7b41d63f8f Make DVR router support FLAT network for ovs-agent
34c93c6c77 [OVN] Fix db-sync-util Traceback when port security not enabled
ce2866a4f6 [OVN] Allow use of ovn-sync mechanism driver
fd4821f918 [OVN] OVN driver to adapt to enable_distributed_floating_ip changes
87fae223fe Improve log message when port losts its vlan tag
88e70a520a Do not block connection between br-int and br-phys on startup
e79afe115c Workaround for TCP checksum issue with ovs-dpdk and  veth pair
53e99b76a2 [OVN] Add support for router availability zones
5f8af42dbd L3 agent scheduler should return a valid index if manual scheduling
1b86aff85e DhcpFilter should always return a valid index if "force_scheduling"
2b2abfc76a Use pyroute2 for SRIOV VF commands
19f60ce728 Fix the wrong value for QoS rate conversion to bytes/s
2509d26eb4 [OVN] Load segments plugin in case not loaded in maintanance task
bdbeb67357 Make _ensure_default_security_group method atomic
84ac8cf9ff [OVS] Make QoS OVS agent deletion operations more resilient
2ba53430f1 [OVN] Avoid unnecessary DB writes during agent liveness check
68706b556b Fixes dnsmasq host file parsing with "addr6_list"
ba5edb71db Configure privsep in SR-IOV agent
fd1883b50a ovn: Remove is_port_groups_supported() code
961e19b34a No rpc_response_max_timeout in LB-agent
990c3732d4 Migrate neutron grenade jobs to be native Zuul v3
080123851c Fix ussuri gates
dd49fae3f4 Fix ssh to nodes during ML2/OVS to ML2/OVN migration
9b0ca47c6d ovn-migration: Stop ml2/ovs agents before installing OVN resources
9dd0d32063 [OVN] Create localnet port for each created segment
b8e7886d8b Don't check if any bridges were recrected when OVS was restarted
fde6fc3ecd Fix iptables rules comments
1e53a77082 [OVN] Override notify_nova config in neutron-ovn-db-sync-util
a0dfb50a9a [OVN] Don't set virtual port type on ports with similar addresses
98010a2f6a Fix Traceback when running neutron-ipset-cleanup tool
d09b1b40b6 Blacklist the OVN tempest IPv6 hotplug test
32667390c7 [OVN] Enhance port's extra DHCP options support
b03f9d4c43 [DVR] Reconfigure re-created physical bridges for dvr routers
2614637a69 Delete segment RPs when network is deleted
ae4b3edce2 Ensure that stale flows are cleaned from phys_bridges
47f28d5a5f Fix neutron-ovn-db-sync-util issues
5e3c8640b0 Allow usage of legacy 3rd-party interface drivers
c1488863fb Add sg name in after delete event kwargs
548eca3180 Update OVN local.conf example files
8e20ca7d0a Set class ovsdb_conection to None
ef9869e0e1 Fix ovn-db-sync-util after removing l3 ovsdb connection
60212a1934 [ovn] devstack needs to support openflow15
bc223bcb93 [OVN]: Make _delete_port() more error-resilent
14aea286e6 [OVN][metadata] Adding ERROR trace upon unexpected data
d6ff46bdca Add Rocky milestone tag for alembic migration revisions
719cae183a Cap pycodestyle to be < 2.6.0
a6e524111c Switch to stable/ussuri neutron-tempest-plugin jobs
86b5771896 [ovn]: Fix l3_plugin.add_router_interface to comply with RouterPluginBase
f9752c5542 Report L3 extensions enabled in the L3 agent's config
38afccc28a Use dhcp-host tag support when supported


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

devstack/lib/ovn_agent                             | 117 +--
devstack/lib/ovs                                   |  65 +-
devstack/ovn-compute-local.conf.sample             |   2 +-
devstack/ovn-db-local.conf.sample                  |   2 +-
devstack/ovn-local.conf.sample                     |   2 +-
devstack/ovn-vtep-local.conf.sample                |   2 +-
.../internals/ovn/acl_optimizations.rst            | 186 -----
.../contributor/testing/ci_scenario_jobs.rst       |   3 +-
etc/neutron/rootwrap.d/dhcp.filters                |   1 +
etc/neutron/rootwrap.d/l3.filters                  |   1 +
lower-constraints.txt                              |   1 +
neutron/agent/common/ovs_lib.py                    |  12 +-
neutron/agent/l3/agent.py                          |   3 +-
neutron/agent/linux/dhcp.py                        |  58 +-
neutron/agent/linux/ethtool.py                     |  34 +
neutron/agent/linux/interface.py                   |  31 +-
neutron/agent/linux/ip_lib.py                      |  21 +-
neutron/agent/linux/ip_link_support.py             | 108 ---
neutron/agent/linux/iptables_firewall.py           |   9 +-
.../agent/linux/openvswitch_firewall/firewall.py   | 152 ++--
neutron/agent/linux/tc_lib.py                      |  28 +-
neutron/agent/ovn/metadata/server.py               |  14 +-
neutron/cmd/ipset_cleanup.py                       |   2 +
neutron/cmd/ovn/migration_mtu.py                   |  61 +-
neutron/cmd/ovn/neutron_ovn_db_sync_util.py        |  19 +-
neutron/cmd/runtime_checks.py                      |  11 +
neutron/cmd/sanity/checks.py                       |  36 -
neutron/cmd/sanity_check.py                        |  23 -
neutron/common/_constants.py                       |   9 +
neutron/common/ovn/acl.py                          | 195 +----
neutron/common/ovn/constants.py                    | 101 ++-
neutron/common/ovn/extensions.py                   |   9 +-
neutron/common/ovn/utils.py                        |  89 ++-
neutron/conf/common.py                             |  10 +-
neutron/db/db_base_plugin_v2.py                    |  22 +-
neutron/db/ipam_backend_mixin.py                   |  13 +-
neutron/db/ipam_pluggable_backend.py               |  17 +-
neutron/db/l3_agentschedulers_db.py                |  19 +-
neutron/db/l3_db.py                                |  23 +-
neutron/db/l3_dvrscheduler_db.py                   |  19 +-
.../rocky/expand/867d39095bf4_port_forwarding.py   |   5 +
neutron/db/securitygroups_db.py                    |  16 +-
neutron/notifiers/ironic.py                        |   3 +-
neutron/notifiers/nova.py                          |   1 +
neutron/objects/ports.py                           |  16 +-
neutron/objects/subnet.py                          |  14 +-
neutron/opts.py                                    |   2 +
neutron/plugins/ml2/db.py                          |  31 +-
.../drivers/linuxbridge/agent/common/constants.py  |   3 -
.../linuxbridge/agent/linuxbridge_neutron_agent.py |   3 +
.../drivers/mech_sriov/agent/common/exceptions.py  |   8 -
.../drivers/mech_sriov/agent/eswitch_manager.py    |  35 +-
.../agent/extension_drivers/qos_driver.py          |  15 +-
.../ml2/drivers/mech_sriov/agent/pci_lib.py        | 158 +----
.../drivers/mech_sriov/agent/sriov_nic_agent.py    |  11 +-
.../drivers/openvswitch/agent/common/constants.py  |  21 +-
.../openvswitch/agent/openflow/native/br_int.py    |  37 +-
.../openvswitch/agent/openflow/native/br_phys.py   |   8 +-
.../openvswitch/agent/ovs_dvr_neutron_agent.py     |  67 +-
.../drivers/openvswitch/agent/ovs_neutron_agent.py |  88 +--
.../ml2/drivers/ovn/mech_driver/mech_driver.py     | 156 +++-
.../ml2/drivers/ovn/mech_driver/ovsdb/api.py       |  54 --
.../ml2/drivers/ovn/mech_driver/ovsdb/commands.py  |  69 --
.../ovn/mech_driver/ovsdb/extensions/qos.py        |  11 +-
.../drivers/ovn/mech_driver/ovsdb/impl_idl_ovn.py  |  30 +-
.../drivers/ovn/mech_driver/ovsdb/maintenance.py   |  52 +-
.../drivers/ovn/mech_driver/ovsdb/ovn_client.py    | 331 ++++-----
.../drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py   | 289 ++------
neutron/privileged/agent/linux/ip_lib.py           |  42 ++
neutron/scheduler/base_scheduler.py                |  37 +
neutron/scheduler/dhcp_agent_scheduler.py          |  20 +-
.../externaldns/drivers/designate/driver.py        |  22 +-
neutron/services/ovn_l3/exceptions.py              |  21 +
neutron/services/ovn_l3/plugin.py                  |  70 +-
neutron/services/portforwarding/pf_plugin.py       |  43 ++
neutron/services/segments/db.py                    |   3 +-
neutron/services/segments/plugin.py                |  51 +-
.../ovn/mech_driver/ovsdb/test_maintenance.py      |  12 +-
.../ovn/mech_driver/ovsdb/test_ovn_db_resources.py |  96 +--
.../ovn/mech_driver/ovsdb/test_ovn_db_sync.py      | 175 +----
.../ovn/mech_driver/ovsdb/test_ovsdb_monitor.py    |  17 +-
.../drivers/ovn/mech_driver/test_mech_driver.py    |  93 +++
.../privileged/agent/linux/test_tc_lib.py          |   8 +-
.../l3_router/test_l3_dvr_router_plugin.py         |  50 ++
.../linux/openvswitch_firewall/test_firewall.py    | 196 ++++--
.../unit/agent/linux/test_iptables_firewall.py     |   9 +
.../unit/cmd/ovn/test_neutron_ovn_db_sync_util.py  |  31 +
.../agent/test_linuxbridge_neutron_agent.py        |   2 +-
.../agent/extension_drivers/test_qos_driver.py     |  14 +-
.../mech_sriov/agent/test_eswitch_manager.py       |  38 +-
.../ml2/drivers/mech_sriov/agent/test_pci_lib.py   | 186 ++---
.../mech_sriov/agent/test_sriov_nic_agent.py       |   8 +-
.../agent/openflow/native/test_br_int.py           | 113 ++-
.../agent/openflow/native/test_br_phys.py          |   6 +-
.../openvswitch/agent/test_ovs_neutron_agent.py    | 112 ++-
.../ovn/mech_driver/ovsdb/extensions/test_qos.py   |   8 +
.../drivers/ovn/mech_driver/ovsdb/test_commands.py | 165 -----
.../ovn/mech_driver/ovsdb/test_impl_idl_ovn.py     |   8 +-
.../ovn/mech_driver/ovsdb/test_maintenance.py      |  29 +-
.../ovn/mech_driver/ovsdb/test_ovn_db_sync.py      | 200 ++----
.../drivers/ovn/mech_driver/test_mech_driver.py    | 781 ++++++++++++++-------
.../unit/privileged/agent/linux/test_ip_lib.py     |  33 +
.../unit/services/portforwarding/test_pf_plugin.py |  87 ++-
playbooks/configure_functional_job.yaml            |   1 +
.../legacy/neutron-grenade-dvr-multinode/post.yaml |  15 -
.../legacy/neutron-grenade-dvr-multinode/run.yaml  |  60 --
.../legacy/neutron-grenade-multinode/post.yaml     |  15 -
.../legacy/neutron-grenade-multinode/run.yaml      |  60 --
rally-jobs/task-neutron.yaml                       |   8 +-
...ttp_retries-config-option-b81dd29c03ba8c6a.yaml |   6 +
...without-link_up-parameter-27f8310eb1e1910a.yaml |  10 +
.../notes/bug-1875981-ec32d8c3918b0dd4.yaml        |   6 +
...port-flat-network-for-ovs-fdf8c3eb461426ec.yaml |   9 +
...k-issue-with-dnsmasq-2.81-c95a46e4f4459bd1.yaml |   6 +
...router-availability-zones-03a802ee19689474.yaml |   6 +
test-requirements.txt                              |   3 +-
tools/configure_for_func_testing.sh                |  13 +-
.../infrared/tripleo-ovn-migration/main.yml        |  10 +-
.../roles/prepare-migration/tasks/main.yml         |  22 +-
.../tripleo_environment/ovn_migration.sh           |  61 +-
.../playbooks/ovn-migration.yml                    |   8 +
.../playbooks/reduce-dhcp-renewal-time.yml         |   9 +-
.../playbooks/roles/migration/tasks/sync-dbs.yml   |  12 +-
.../roles/migration/templates/activate-ovn.sh.j2   |  11 +-
.../roles/migration/templates/clone-br-int.sh.j2   |   2 +-
.../playbooks/roles/stop-agents/defaults/main.yml  |   3 +
.../playbooks/roles/stop-agents/tasks/cleanup.yml  |  21 +
.../playbooks/roles/stop-agents/tasks/main.yml     |  18 +
.../playbooks/roles/stop-agents/vars/main.yml      |  19 +
zuul.d/base.yaml                                   |   3 +
zuul.d/grenade.yaml                                |  86 ++-
zuul.d/project.yaml                                |   7 +-
zuul.d/rally.yaml                                  |   1 -
zuul.d/tempest-multinode.yaml                      |  50 --
zuul.d/tempest-singlenode.yaml                     |  72 +-
172 files changed, 4400 insertions(+), 3639 deletions(-)


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

diff --git a/test-requirements.txt b/test-requirements.txt
index 43d563a78f..21312fe318 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -9 +9 @@ flake8-import-order==0.12 # LGPLv3
-pycodestyle>=2.0.0 # MIT
+pycodestyle>=2.0.0,<2.6.0 # MIT
@@ -23,0 +24 @@ pylint==2.2.0;python_version>="3.0" # GPLv2
+isort==4.3.21 # MIT






More information about the Release-announce mailing list