[release-announce] neutron 18.1.0 (wallaby)

no-reply at openstack.org no-reply at openstack.org
Mon Jul 12 10:18:05 UTC 2021


We high-spiritedly announce the release of:

neutron 18.1.0: OpenStack Networking

This release is part of the wallaby 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.

18.1.0
^^^^^^


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

* When "noauth" auth_strategy is used, neutron no longer requires a
  resource creation request to include a dummy 'project_id' in request
  body. A default project_id "fake_project_id" would be populated
  automatically in that case and would make the use of "noauth" usage
  simpler.


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

* When using the minimim-bandwidth QoS feature due to bug
  https://launchpad.net/bugs/1921150 physical NIC resource providers
  were for some time created with the wrong parent (i.e. the
  hypervisor RP). This is now partially fixed and new resource
  providers are created now with the expected parent (i.e. the agent
  RP).  However Placement does not allow re-parenting an already
  existing resource provider, therefore the following Placement DB
  update may be needed after the fix for bug 1921150 is applied:
  neutron/tools/bug-1921150-re-parent-device-rps.sql Until all
  resource providers have the proper parent, neutron-server will retry
  the re-parenting update, which will be rejected every time,
  therefore expect polluted logs and some wasted load on Placement.
  However please note that the bandwidth-aware scheduling is supposed
  to work even with the wrongly parented resource providers.


Bug Fixes
*********

* 1926693 (https://bugs.launchpad.net/neutron/+bug/1926693) The
  logic to detect the hypervisor hostname, which was introduced by
  change 69660
  (https://review.opendev.org/c/openstack/neutron/+/696600), has been
  fixed and now returns the result consistent with libvirt.

* The new "resource_provider_defualt_hypervisor" option has been
  added, to replace the default hypervisor name to locates the root
  resource provider without giving a complete list of interfaces or
  bridges in the "resource_provider_hypervisors" option. This option
  is located in the "[ovs]" ini-section for "ovs-agent" and
  "[sriov_nic]" ini-section for "sriov-agent".

Changes in neutron 18.0.0..18.1.0
---------------------------------

c1390d86a0 Add fake_project_id middleware for noauth
85a668dd16 Update arp entry of snat port on qrouter ns
2b5c141ec9 [OVN] neutron-ovn-metadat-agent add retry logic for sb_idl
58e9da409d [OVN] Do not fail when processing SG rule deletion
3534dc7aed Use "multiprocessing.Queue" for "TestNeutronServer" related tests
2ede99559b Copy existing IPv6 leases to generated lease file
0ff471aeba [OVN] Disable mcast_flood on localnet ports
170e6306e2 Remove FIP agent's gw port when L3 agent is deleted
061b234c7a Improve Subnet delete performance
9afbe8b65f Improve Subnet create performance
b8581a7d57 Force to close http connection after notify about HA router status
26f366119f ovn: Don't use dict.remove() for filtering dhcp ports in db-sync
8576690c19 Read keepalived initial state in parallel to interface monitoring
b0c487f711 Make default hypervisor hostname compatible with libvirt
5f57525c9d Add a single option to override the default hypervisor name
04f4d9d406 Provide the rpc_response_max_timeout parameter to sriov-agent
79acb98cfa Added common config and SR-IOV agent config to sanity check
c516d5bc03 [DHCP] Fix cleanup_deleted_ports method
562b99a968 Add "filter-validation" support for "OVNL3RouterPlugin"
4d2889454d [OVN] Add "filter-validation" extension to supported list
f1cd2a1cb8 Use TCP keepalives for ovsdb connections
9c9ffea8d5 Make phynet paramter also is optional when network_segment_range enabled
c23de14eaf Dropping lower constraints testing (stable Wallaby)
cb746e2ca4 [ovs fw] Restrict IPv6 NA and DHCP(v6) IP and MAC source addresses
50fd545ee8 Remove leading zeroes from an IP address
51394b775b Use local and ip address to create vxlan interface
f29641a7f7 HA-non-DVR router don't need manually add static route
e622b28e2c [DVR] Send allowed address pairs info to the L3 agents
8c6f774504 [OVN] Fix: Disabling snat after it was enabled
c9a100db20 Install "pyroute2" as a doc job depedency
a54ef341b5 ovn-migration: Introduce migrate mode to DB sync tool
d3be39433c Physical NIC RP should be child of agent RP
fe44c0b1af Improve Network delete performance
dd353320eb Improve Subnet update performance
87ad1bc89b designate: allow PTR zone creation to fail
fc00c0959b [OVN] Check for lock in check_for_mcast_flood_reports
ddf20886f8 Don't ever give up trying to connect to OVN DBs
f748962e5a [OVN] Only account for bound ports in metadata agent
220d9875a0 [OVN] MetadataProxyHandler to conditionally monitor both Chassis's tables
69fcf1be75 Use exceptions and resources from neutron-lib
85faee6cd4 Initialize privsep library for neutron-ovs-cleanup
de78aaec9d Initialize privsep library in Neutron commands
d614e9dac7 Remove SRIOV attach limitation from the doc
3ec596f9ef trivial: Make driver_controller's _attrs_to_driver py3 compatible
a226f23326 [OVN] Fix FDB table not registered in OvnSbIdl
c2a88c5d86 Get only FIP ID on network delete
aba6d0f6f2 Pass existing DB obj to save DB requests
b0b64e3e03 DHCP notification optimization
dd40bac8b5 Make ARP protection commands compatible with "ebtables-nft"
f6b4c7deb3 [stable/wallaby] Drop -master jobs
14eba92cee Group execution of SQL functional tests
d028f59772 [Functional] Fix mocks of the create_dhcp_port method
bfaf0ebc11 Always use absolute path for custom kill-scripts
51163ffa46 Add locks for setting iptables rules in l3 and metadata agents
9c8710f406 Fix "_get_sg_members" method
148f7c3a32 Remove class "Timer"
5eac64b623 Remove FT "test_has_offline_migrations_*" tests
54afc0461e Switch to use neutron-tempest-plugin jobs for Wallaby branch


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

TESTING.rst                                        |   6 +-
.../contributor/testing/ci_scenario_jobs.rst       |   8 --
etc/api-paste.ini                                  |   5 +-
lower-constraints.txt                              | 138 ------------------
neutron/agent/common/placement_report.py           |   4 +-
neutron/agent/common/utils.py                      |  40 +++++-
neutron/agent/dhcp/agent.py                        |   5 +-
neutron/agent/firewall.py                          |   7 +-
neutron/agent/l3/dvr_local_router.py               |  20 +++
neutron/agent/l3/ha_router.py                      |   4 +-
neutron/agent/l3/keepalived_state_change.py        |  54 +++++--
neutron/agent/linux/dhcp.py                        |  49 +++++--
neutron/agent/linux/external_process.py            |   5 +-
neutron/agent/linux/iptables_firewall.py           |   3 +-
.../agent/linux/openvswitch_firewall/firewall.py   |  65 ++++++---
neutron/agent/metadata/driver.py                   |  40 +++---
neutron/agent/ovn/metadata/agent.py                |   3 +-
neutron/agent/ovn/metadata/ovsdb.py                |  15 +-
neutron/agent/ovn/metadata/server.py               |  29 +++-
.../api/rpc/agentnotifiers/dhcp_rpc_agent_api.py   |  33 +++--
neutron/auth.py                                    |  15 ++
neutron/cmd/ipset_cleanup.py                       |   1 +
neutron/cmd/ovn/neutron_ovn_db_sync_util.py        |  11 ++
neutron/cmd/ovs_cleanup.py                         |   1 +
neutron/cmd/sanity_check.py                        |   7 +
neutron/common/ovn/extensions.py                   |   2 +
neutron/common/utils.py                            |  72 ----------
.../plugins/ml2/drivers/mech_sriov/agent_common.py |   9 +-
neutron/conf/plugins/ml2/drivers/ovn/ovn_conf.py   |  10 +-
neutron/conf/plugins/ml2/drivers/ovs_conf.py       |   9 +-
neutron/db/address_group_db.py                     |  29 +---
neutron/db/agents_db.py                            |   3 +
neutron/db/allowedaddresspairs_db.py               |  12 ++
neutron/db/db_base_plugin_v2.py                    |  32 +++--
neutron/db/ipam_backend_mixin.py                   |   5 +-
neutron/db/ipam_pluggable_backend.py               |   6 +-
neutron/db/l3_db.py                                |   9 +-
neutron/db/l3_dvr_db.py                            |  78 +++++++++-
neutron/objects/network_segment_range.py           |   6 +-
.../objects/port/extensions/allowedaddresspairs.py |  10 ++
neutron/objects/ports.py                           |   8 ++
neutron/objects/router.py                          |   9 ++
neutron/opts.py                                    |   4 +
.../ml2/drivers/linuxbridge/agent/arp_protect.py   |  54 ++++---
.../linuxbridge/agent/linuxbridge_neutron_agent.py |   4 +
.../drivers/mech_sriov/agent/sriov_nic_agent.py    |   6 +-
.../drivers/openvswitch/agent/ovs_neutron_agent.py |   3 +-
neutron/plugins/ml2/drivers/ovn/db_migration.py    |  83 +++++++++++
.../ml2/drivers/ovn/mech_driver/mech_driver.py     |   9 +-
.../drivers/ovn/mech_driver/ovsdb/impl_idl_ovn.py  |  83 +++++++++--
.../drivers/ovn/mech_driver/ovsdb/maintenance.py   |   5 +-
.../drivers/ovn/mech_driver/ovsdb/ovn_client.py    |  11 +-
.../drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py   |  20 +--
.../drivers/ovn/mech_driver/ovsdb/ovsdb_monitor.py |   2 +
neutron/plugins/ml2/ovo_rpc.py                     |   5 +-
neutron/plugins/ml2/plugin.py                      |  33 +++--
.../externaldns/drivers/designate/driver.py        |  21 ++-
.../service_providers/driver_controller.py         |   2 +-
neutron/services/ovn_l3/plugin.py                  |   1 +
neutron/services/placement_report/plugin.py        |  16 ++-
neutron/services/segments/db.py                    |   9 +-
neutron/services/segments/plugin.py                |   4 +-
.../agent/l3/test_keepalived_state_change.py       |  19 +++
.../drivers/ovn/mech_driver/ovsdb/test_impl_idl.py |  11 ++
.../unit/agent/common/test_placement_report.py     |   8 +-
.../linux/openvswitch_firewall/test_firewall.py    |  13 ++
.../unit/agent/linux/test_external_process.py      |   3 +-
.../unit/agent/linux/test_iptables_firewall.py     |  16 +++
.../rpc/agentnotifiers/test_dhcp_rpc_agent_api.py  |  19 +--
.../unit/objects/test_network_segment_range.py     |  78 +++++++++-
.../drivers/linuxbridge/agent/test_arp_protect.py  |  51 ++-----
.../agent/test_linuxbridge_neutron_agent.py        |   1 +
.../ovn/mech_driver/ovsdb/test_maintenance.py      |   2 +-
.../drivers/ovn/mech_driver/test_mech_driver.py    |  12 +-
.../plugins/ml2/drivers/ovn/test_db_migration.py   | 158 +++++++++++++++++++++
.../service_providers/test_driver_controller.py    |  13 ++
.../unit/services/metering/test_metering_plugin.py |   2 +-
...h-work-without-project-id-f92fac5df37810f0.yaml |   7 +
.../notes/bug-1921150-c02692e548a3750e.yaml        |  17 +++
.../notes/bug-1926693-55406915708d59ec.yaml        |   7 +
...ovider_default_hypervisor-b92cff207dfb94c0.yaml |   9 ++
tools/bug-1921150-re-parent-device-rps.sql         |  52 +++++++
.../playbooks/ovn-migration.yml                    |   9 --
.../playbooks/roles/migration/tasks/sync-dbs.yml   |   4 +-
.../roles/prepare-controllers/defaults/main.yml    |   2 -
.../roles/prepare-controllers/tasks/main.yml       |  20 ---
tox.ini                                            |  10 +-
zuul.d/project.yaml                                |  11 +-
zuul.d/tempest-multinode.yaml                      |  53 -------
zuul.d/tempest-singlenode.yaml                     |  99 -------------
110 files changed, 1632 insertions(+), 859 deletions(-)







More information about the Release-announce mailing list