22861 Commits

Author SHA1 Message Date
Zuul
f79bfa7976 Merge "Bump neutron-lib to 2.0.0" 2020-01-16 13:03:28 +00:00
Zuul
8ad6bde44b Merge "IPv6 accepts first address only for routers" 2020-01-16 03:22:14 +00:00
Zuul
1a891b8eda Merge "Fix bug number in release note" 2020-01-15 13:46:51 +00:00
Zuul
a3819aece5 Merge "[OVN] TrivialFix: use_new_ovn_repository must check major version" 2020-01-15 13:46:48 +00:00
Zuul
2266941a93 Merge "[OVN] Add OVN metadata entry points" 2020-01-15 12:42:18 +00:00
Flavio Fernandes
7d5cd3f47d [OVN] TrivialFix: use_new_ovn_repository must check major version
use_new_ovn_repository function is used to determine whether
OVN source is co-located with OVS repo or if it is post-split [1].
In a nutshell, OVS versions 'branch-2.13' and newer are on a
separate repo [2].

The existing implementation only looks at minor portion of version
to determine if OVN is post-split, which is not future proof.

Since 'M' comes after 'B', the logic sees 'master' as newer
than 'branch-2.12', which is actually the wanted behavior.

[1]: f3e24610ea
[2]: https://github.com/ovn-org/ovn

Change-Id: I7abeb05ea53b6eeced77ca9490a9bb7c5c07c64c
Signed-off-by: Flavio Fernandes <flaviof@redhat.com>
Co-authored-by: Terry Wilson <twilson@redhat.com>
2020-01-14 06:19:00 -05:00
Bence Romsics
03ad5bf19c Fix bug number in release note
I mixed up the bug number and the gerrit change number in a previous
release note.

TrivialChange

Change-Id: I7599be8b7459c44db8e34d0de536154dccb19134
Related-Bug: #1853840
2020-01-14 11:11:28 +01:00
Zuul
ab24a11f13 Merge "Set binding profile directly from OVNTrunkDriver (redo cont.)" 2020-01-14 07:28:05 +00:00
Zuul
e2a2995a88 Merge "Add retries to update trunk port" 2020-01-13 20:36:12 +00:00
Zuul
d34b5b16e3 Merge "Switch to reader context" 2020-01-13 20:36:09 +00:00
Rodolfo Alonso Hernandez
b20669fa6e IPv6 accepts first address only for routers
Neutron considers the network address a valid IPv6 address if the
owner is a router or is not defined yet [1][2]. If not, the IPv6
address is discharded.

[1] https://tools.ietf.org/html/rfc4291#section-2.6.1
[2] https://review.opendev.org/#/c/647484/

Change-Id: I1ddee94bd34182960de8e5261fbc99edc10b6654
Closes-Bug: #1859163
2020-01-12 20:39:07 +00:00
Slawek Kaplonski
84658a96b3 Bump neutron-lib to 2.0.0
Change-Id: I6968da1d0f8dbf0ddb1b5d8b0796f2357a2a505e
2020-01-12 17:56:05 +00:00
Zuul
ae67ae824c Merge "Check "keepalived" is stopped in KeepalivedManagerTestCase" 2020-01-10 23:27:07 +00:00
Zuul
31730e4369 Merge "[L3] Switch order of processing added and removed router ports" 2020-01-09 20:10:11 +00:00
Flavio Fernandes
a022301b50 Set binding profile directly from OVNTrunkDriver (redo cont.)
This is a tweak to changes done to fix bug 1834637. Specifically,
this change addresses scaling. The previous gerrit change had
modifications to all OVN sub-ports performed as a single
transaction. That did not account for race-condition on neutron
DB queries, which leads to timeouts under heavy loads.

Another cleanup done by this change is to fold an additional
update on neutron db into ovn trunk driver. That saves
update from doing another database transaction, thus making
it faster. The no longer needed function in mech_driver was
called _update_subport_host_if_needed

By breaking the iteration into multiple transactions, the
change in time is marginal:

  Service-level agreement
  NeutronTrunks :: neutron.create_trunk

  from 34.2 sec to 35.6 for 50%ile
  from 35.6 sec to 36.1 for 95%ile

This patch is a cherry pick from networking-ovn stable/train [1], that
is now part of networking-ovn migration to neutron repo.

[1]: https://review.opendev.org/#/c/698863/

Change-Id: I118f93cdd34a1d25327a0dc61367720ac6559001
Closes-Bug: #1834637
Co-authored-by: Maciej Józefczyk <mjozefcz@redhat.com>
(cherry picked from commit c418dd720b9be9047d779f32407c474e90cb0002)
2020-01-09 14:23:28 +00:00
Zuul
91b702a30d Merge "[OVN] Migrate the OVN mech driver" 2020-01-09 14:00:52 +00:00
Lucas Alvares Gomes
193cc4b5ec [OVN] Add OVN metadata entry points
This patch is migrating the entry points for the OVN metadata agent.

Change-Id: I4062ade1231e29344a38cb69f32c3a0f198a7d03
Co-Authored-By: Daniel Alvarez <dalvarez@redhat.com>
Related-Blueprint: neutron-ovn-merge
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
2020-01-09 09:49:49 +00:00
Zuul
a762292003 Merge "Remove the condition that the mtu is nullable" 2020-01-09 00:49:51 +00:00
Zuul
e0c970daec Merge "Pass correct port data to extension manager" 2020-01-08 15:19:21 +00:00
Zuul
e81f1965d0 Merge "OVSInterfaceDriver.plug_new should catch correct exceptions" 2020-01-08 15:13:43 +00:00
Rodolfo Alonso Hernandez
331a195972 [OVN] Migrate the OVN mech driver
This patch moves the OVN mech driver.

Previous paths in networking-ovn tree:
./networking_ovn/ovn_db_sync.py ->
  ./neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py
./networking_ovn/ml2/mech_driver ->
  ./neutron/plugins/ml2/drivers/ovn/mech_driver/mech_driver.py
./networking_ovn/common/maintenance.py ->
  ./neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/maintenance.py

Co-Authored-By: Amitabha Biswas <abiswas@us.ibm.com>
Co-Authored-By: Aaron Rosen <aaronorosen@gmail.com>
Co-Authored-By: Andrew Austin <aaustin@redhat.com>
Co-Authored-By: Armando Migliaccio <armamig@gmail.com>
Co-Authored-By: Arslan Qadeer <arslanq@xgrid.co>
Co-Authored-By: Boden R <bodenvmw@gmail.com>
Co-Authored-By: Brian Haley <bhaley@redhat.com>
Co-Authored-By: Daniel Alvarez <dalvarez@redhat.com>
Co-Authored-By: Dong Jun <dongj@dtdream.com>
Co-Authored-By: Gal Sagie <gal.sagie@huawei.com>
Co-Authored-By: Gary Kotton <gkotton@vmware.com>
Co-Authored-By: Guoshuai Li <ligs@dtdream.com>
Co-Authored-By: Han Zhou <zhouhan@gmail.com>
Co-Authored-By: Hong Hui Xiao <xiaohhui@cn.ibm.com>
Co-Authored-By: Ihar Hrachyshka <ihrachys@redhat.com>
Co-Authored-By: Jakub Libosvar <libosvar@redhat.com>
Co-Authored-By: John Kasperski <jckasper@us.ibm.com>
Co-Authored-By: Kyle Mestery <mestery@mestery.com>
Co-Authored-By: Lucas Alvares Gomes <lucasagomes@gmail.com>
Co-Authored-By: Maciej Józefczyk <mjozefcz@redhat.com>
Co-Authored-By: Miguel Angel Ajo <majopela@redhat.com>
Co-Authored-By: Nirapada Ghosh <nghosh@us.ibm.com>
Co-Authored-By: Numan Siddique <nusiddiq@redhat.com>
Co-Authored-By: Richard Theis <rtheis@us.ibm.com>
Co-Authored-By: Rodolfo Alonso Hernandez <ralonsoh@redhat.com>
Co-Authored-By: Sean Mooney <work@seanmooney.info>
Co-Authored-By: Terry Wilson <twilson@redhat.com>
Co-Authored-By: venkata anil <anilvenkata@redhat.com>
Co-Authored-By: xurong00037997 <xu.rong@zte.com.cn>
Co-Authored-By: zhufl <zhu.fanglei@zte.com.cn>

Related-Blueprint: neutron-ovn-merge
Change-Id: I3ed2ff4008a3fed8534ee1eb42f0be2b6b779e83
2020-01-08 13:24:26 +00:00
Zuul
258b9a363f Merge "Unnecessary routers should not be created" 2020-01-08 11:25:14 +00:00
Zuul
0c348947ec Merge "Add missing parameter option in log message" 2020-01-08 06:26:59 +00:00
Zuul
5008294c4c Merge "Subnet gateway should be a valid IP" 2020-01-08 02:30:54 +00:00
zhanghao
af274fa826 Switch to reader context
Since the mtu is already non-nullable, the writer context
can be switched to a reader context. In addition, the redundant
reader context can be removed.

Change-Id: I482a3892dee8ee94ab70142cf734f71e766178ed
Closes-Bug: #1859258
2020-01-07 20:24:14 -05:00
zhanghao
08bfbed4c3 Remove the condition that the mtu is nullable
The mtu is already non-nullable, it no longer needs to
judge the mtu when updating the network.
Related-Bug: #1842261

Change-Id: Ic097bc2ae50198a3bda45e4a8161c22190ef1964
2020-01-06 13:05:21 -05:00
zhufl
b89616b1cf Add missing parameter option in log message
This is to add missing parameter option in the log message.

Change-Id: I0a1c128858c1d639e80763cac0df358949c56cfb
2020-01-03 16:52:05 +08:00
Zuul
ac63c570a1 Merge "Improve ovs cleanup utility help" 2020-01-01 22:20:34 +00:00
Miguel Lavalle
9c5156575d Pass correct port data to extension manager
The CRUD methods in the ML2 plugin must pass the data in the request
body to the extension manager, so it can be processed by all the ML2
extensions enabled in the deployment. The create_port_bulk method is
instead passing the dictionary generated after adding the port to the
DB. This will cause that fields in the request body intended for
extensions will not be processed.

Change-Id: I2fe8e2b98c05ba739e9e93b4bd5880eb97bdaef8
2019-12-28 18:09:28 -06:00
Zuul
68f89c79c8 Merge "Remove locks from privileged ip_lib module" 2019-12-26 14:54:54 +00:00
Zuul
3b074128ca Merge "Work around potential double row.delete() call" 2019-12-24 00:19:51 +00:00
Rodolfo Alonso Hernandez
0b3cff33c1 Subnet gateway should be a valid IP
When a subnet is created and allocated, the gateway IP is created
based on the subnet CIDR. In case of IPv6 prefix delegation, this
CIDR is a temporary one. In this case the gateway IP cannot be
assigned yet and the value stored in the DB should be "None".

IpamBackendMixin._gateway_ip_str must read properly the IP version
stored in the "subnet" variable, under the key "ip_version"
instead of "version".

Closes-Bug: #1856726
Closes-Bug: #1856675

Change-Id: I9313c880cc458f08dc3a1b0ff13187b764ba7042
2019-12-23 10:13:23 +00:00
Zuul
ba4895d479 Merge "Imported Translations from Zanata" 2019-12-22 00:28:52 +00:00
Zuul
524b205e82 Merge "Check mtu on network update" 2019-12-22 00:28:49 +00:00
OpenStack Proposal Bot
2a8b5860a0 Imported Translations from Zanata
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html

Change-Id: I78cbd02c7dc0c60b12c9c4e90046336157b8bcb1
2019-12-21 07:16:10 +00:00
Zuul
0115f71af8 Merge "Bump min pyroute2 version to 0.5.7" 2019-12-20 14:48:53 +00:00
Zuul
250d8a61c8 Merge "Allow to select subnets to publish DNS records" 2019-12-20 12:31:51 +00:00
Darragh O'Reilly
4075db5fd0 Improve ovs cleanup utility help
Fixed a couple of things for ovs_all_ports=False.
First state that it also cleans up ports created by Nova.
Second since [1] it only cleans up the integration bridge.

[1] https://opendev.org/openstack/neutron/commit/b09b4460

Change-Id: I41dda554e8cb4b4ca36515d64f17ad5bf52f3b49
Closes-Bug: #1853582
2019-12-20 09:14:34 +00:00
Rodolfo Alonso Hernandez
e54b64f725 OVSInterfaceDriver.plug_new should catch correct exceptions
Now that "IPWrapper.add_device_to_namespace" is implemented with
Pyroute2, the function should catch the correct exceptions:
- NetlinkError in case of duplicated interface
- OSError in case of corrupted namespace

Change-Id: I12b5710dc3bfdcc4c6b1e96bbfbfab9e59684065
Closes-Bug: #1856853
2019-12-19 17:43:04 +00:00
Zuul
4b7c2dceb4 Merge "Add Neutron Priorities to dashboards list" 2019-12-19 17:04:29 +00:00
Zuul
49f905150d Merge "Locate RP-tree parent by hypervisor name" 2019-12-19 17:01:22 +00:00
Terry Wilson
474bff078c Work around potential double row.delete() call
The update_acls code can potentially iterate over the same ACL
twice. This temporary workaround silently ignores an attempt to
delete the same row twice in the same transaction, since that
should be safe. Ultimately, refactoring the ACL code to use sets
and possibly handle the fact that an ACL could be referenced from
multiple rows should be done.

Change-Id: I895eaf4006583fedc2657a4eb527df1ff992c5bc
Related-bug: #1857016
2019-12-19 09:18:36 -06:00
Slawek Kaplonski
3faba7cae0 [L3] Switch order of processing added and removed router ports
It may happend that one router's port is going to be
removed and another one (same IP but new subnet) is going to be added
to the router in short time.
That can lead to the problem that IP which is allocated to the new
port is not added to keepalived's vips list because same IP address
is already in this list (this exising IP address belongs to old port).
But few seconds later old port is removed and finally router ends
up with new port configured without IP address.

To avoid such case, this patch switches order of processing new
and deleted ports in _process_internal_ports() method in RouterInfo
class.
So now first old ports will be removed and than new ports will be
configured so there will be no case when IP address is already added
to VIPs list when it is going to be removed in few seconds.

Change-Id: I72dc4a06a806731ec5124fa11c9f69c7dd6cbbb0
Closes-Bug: #1857021
2019-12-19 16:12:09 +01:00
Zuul
858d7f3395 Merge "[OVN] Import OVN Client, L3 and QoS related code" 2019-12-19 05:02:27 +00:00
Zuul
41acf3c2f6 Merge "don't clear skb mark when ovs is hw-offload enabled" 2019-12-19 04:15:13 +00:00
ushen
480b04ce04 Unnecessary routers should not be created
We observe an excessive amount of routers created on
compute node on which some virtual machines got a fixed
ip on floating network.

Rpc servers should filter out those unnecessary routers
during syncing.

Change-Id: I299031a505f05cd0469e2476b867b9dbca59c5bf
Partial-Bug: #1840579
2019-12-19 09:45:44 +08:00
Zuul
cfe31e8b47 Merge "Add a tox requirements target" 2019-12-18 18:19:19 +00:00
Zuul
3a67703951 Merge "Add etc/neutron/*.sample files to be ignored by git" 2019-12-18 17:22:44 +00:00
Zuul
1e19349a16 Merge "Support L3 agent cleanup on shutdown" 2019-12-18 15:38:10 +00:00
Zuul
0c5d6d0196 Merge "Remove the neutron-grenade job definition" 2019-12-18 15:23:52 +00:00