23605 Commits

Author SHA1 Message Date
Zuul
82339b9211 Merge "Implement "RouterInfo.update_routing_table" with Pyroute2" 2020-07-02 13:16:27 +00:00
Zuul
71d0dc7cd9 Merge "[L3] Check agent gateway port robustly" 2020-07-02 13:16:23 +00:00
Frode Nordahl
206ce24676 [OVN] Allow use of ovn-sync mechanism driver
The ``neutron-ovn-db-sync-util`` replaces the ``ovn`` mechanism
driver with the ``ovn-sync`` mechanism driver. Subsequently it
makes calls into the OVN L3 service plugin.

At present the OVN L3 service plugin assumes the ``ovn`` mechanism
driver to be present and produces a Traceback when it is not.

This patch fixes that by testing for both of the supported
mechanism drivers.

Change-Id: I1ac685a12f49119f5ef1428cbc504b639d783803
Closes-Bug: #1882202
Signed-off-by: Frode Nordahl <frode.nordahl@canonical.com>
2020-07-01 08:57:33 +02:00
Zuul
efcc60ddec Merge "Improve log message when port losts its vlan tag" 2020-07-01 06:45:09 +00:00
Zuul
d34eb8ffc3 Merge "Fix metadata address usage" 2020-07-01 06:45:03 +00:00
Zuul
ad9641f9af Merge "[OVN] OVN driver to adapt to enable_distributed_floating_ip changes" 2020-06-30 21:25:43 +00:00
Zuul
83031a300d Merge "[OVN] Wait for WaitForDataPathBindingCreateEvent event in functional tests" 2020-06-30 18:12:47 +00:00
Zuul
4b31e0eeda Merge "[OVN] Fix db-sync-util Traceback when port security not enabled" 2020-06-30 18:03:05 +00:00
Zuul
c8f03ad112 Merge "Trivial: Change Health-check from filter to app_factory" 2020-06-30 16:03:35 +00:00
Brian Haley
ebd5480e90 Fix metadata address usage
There are places where we need to use a metadata address
in different forms:

  169.254.169.254
    - when binding to an address, used with a port

  169.254.169.254/32
    - when configuring an address on an interface
    - when adding a route

  169.254.0.0/16
    - when checking if a metadata subnet is present

We were not always using them correctly in either the
DHCP or OVN code, try and correct the usage. This will
make it easier to update the code when adding support
for metadata over IPv6.

Change-Id: I1780aa99204cc24e668d9798f4a5111eae83ecdb
2020-06-30 09:19:10 -04:00
Maciej Jozefczyk
598e0376c6 [OVN] Wait for WaitForDataPathBindingCreateEvent event in functional tests
There is a bug in OVN functional tests, where it looks for datapath binding
of just created network.
In rare conditions datapath binding entry could not be in place in time,
because it is a ovn-northd responsibility to create it and we don't lock
this process in neutron api.

Change-Id: Ice115623491ad5b50397a0338f0a7780dc05d24c
Closes-Bug: #1884986
2020-06-30 09:55:53 +00:00
Slawek Kaplonski
3ac63422ea Improve log message when port losts its vlan tag
In some cases it may be useful to log new vlan tag which is found
on the port when it losts old vlan tag which should is expected to
be there.
So this patch adds such value to the log message.

TrivialFix

Change-Id: I231e624f460510decc6d2237040c8bef207e2e8e
2020-06-30 10:20:28 +02:00
Zuul
885cce39b7 Merge "Do not block connection between br-int and br-phys on startup" 2020-06-29 15:53:23 +00:00
Zuul
9867baa86f Merge "Validate that snat namespace exits in _create_dvr_gateway" 2020-06-28 13:41:22 +00:00
Zuul
9c55c74948 Merge "L3 agent scheduler should return a valid index if manual scheduling" 2020-06-27 12:25:23 +00:00
Zuul
3ea8680efc Merge "DhcpFilter should always return a valid index if "force_scheduling"" 2020-06-27 12:25:20 +00:00
Zuul
d9d273e538 Merge "[OVN] Add router availability zones documentation" 2020-06-26 11:01:06 +00:00
Ann Taraday
3754bba806 Validate that snat namespace exits in _create_dvr_gateway
During rescheduling dvr router snat namespace may not be
created due to race between router added and router
updated updated notifications.

Verify that snat namespace exits or create one.

Partial-bug: 1881995

Change-Id: Ic28ce249d59264b0b882bd1cc3c9fb55854a6a47
2020-06-26 07:42:39 +00:00
Frode Nordahl
58d1d0dbdd
[OVN] Fix db-sync-util Traceback when port security not enabled
Change-Id: Id1ed2922a908148b2b271bd28cc974ef424530d5
Closes-Bug: #1882061
2020-06-26 09:31:22 +02:00
Zuul
8fa0663fc7 Merge "Use correct device_owner prefix in functional tests" 2020-06-26 05:48:31 +00:00
Zuul
b66e4438fd Merge "Deprecate use_veth_interconnection config option" 2020-06-26 05:36:36 +00:00
Zuul
9fd11dfc4c Merge "[Fullstack] SG test - first wait until all vms can ping each other" 2020-06-26 03:32:09 +00:00
Zuul
1f9268aafc Merge "[OVN] rename get_port_groups to get_sg_port_groups" 2020-06-25 20:47:18 +00:00
Zuul
49106829ea Merge "Remove unneeded argment in "_read_leases_file_leases"" 2020-06-25 18:05:52 +00:00
Zuul
5787708a01 Merge "[OVN] Add support for router availability zones" 2020-06-25 16:23:10 +00:00
Flavio Fernandes
e661a6b641 [OVN] rename get_port_groups to get_sg_port_groups
OVN's API called get_port_groups is poorly named and has misleading docstring.
It returns only the OVN port groups that map to the security group in Neutron.
Therefore, it should be called get_sg_port_groups.

Closes-Bug: #1883716
Related-Bug: #1881316
Change-Id: Iae3f413dd1c4b0813b05d9bfd593c9e709540370
Signed-off-by: Flavio Fernandes <flaviof@redhat.com>
2020-06-25 08:49:53 +00:00
Zuul
14b279bcdf Merge "Update neutron-dynamic-routing lieutenants" 2020-06-25 05:59:42 +00:00
Slawek Kaplonski
72f39226e0 Update neutron-dynamic-routing lieutenants
Change-Id: I077c0a25ae7a9580d2f391fdbaf7c36c52bc1d30
2020-06-24 20:07:40 +00:00
Zuul
fd73573024 Merge "Use unittest.mock instead of mock" 2020-06-24 16:42:11 +00:00
Zuul
382fe757ec Merge "Move "get_cdll" to a common place in privileged.agent.linux" 2020-06-24 16:24:02 +00:00
Rodolfo Alonso Hernandez
2bb514f2d7 L3 agent scheduler should return a valid index if manual scheduling
When retrieving a vacant L3 agent binding index, if
"is_manual_scheduling" is set, the method "get_vacant_binding_index"
should always return a valid binding index. If the existing binding
indexes are sequentially aligned, the method will return a new one
on top; if there is a gap in the binding indexes list, the first
free index will be returned.

Closes-Bug: #1884906

Change-Id: I0a89bca0734d3e735fb357e488f85589e81d709f
2020-06-24 15:37:23 +00:00
Lucas Alvares Gomes
f14a1b332d [OVN] Add router availability zones documentation
This patch is adding documentation about the router availability zones
feature in the OVN driver.

Change-Id: I6c8267100e1ee82c8b563528467b50b91f7700f6
Related-Bug: #1881095
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
2020-06-24 15:06:12 +00:00
Zuul
22b1e2ae4d Merge "Stop installing Octavia in OVN jobs" 2020-06-24 14:50:55 +00:00
Slawek Kaplonski
fb44416c05 Deprecate use_veth_interconnection config option
This was proposed to be deprecated long time ago already.
We have patch ports in Openvswitch to connect bridges together.

Change-Id: Ie343f83a886bb8c366873fd5e076bb7096e1a6ed
Related-bug: #1587296
2020-06-24 13:09:32 +00:00
Slawek Kaplonski
1e9a3bffd2 [Fullstack] SG test - first wait until all vms can ping each other
In fullstack security group test, after fake VMs are created there
check if connectivity to some custom port is working fine with port
security disabled.
After that there is called "block_until_ping" method for each vms.

This patch changes that to first wait if we can ping vms and later do
netcat tests.
Even if that will not solve problems with failures of this test, we
may know more if the issue is caused by netcat or it's just no
ICMP connectivity between VMs at all.

Change-Id: Ie9e2170c761c9a10f3daa991c3fb77f304bb07e2
Related-Bug: #1742401
2020-06-24 12:32:14 +02:00
elajkat
a42d0d0301 Trivial: Change Health-check from filter to app_factory
[1] added healthcheck url to neutron API, but in review it was noted
that the used filter_factory is deprecated and app_factory is the
suggested instead, as Akihiro commented in [1], in [2] filter is marked
for removal.

[1]: https://review.opendev.org/724676
[2]: https://opendev.org/openstack/oslo.middleware/src/branch/master/oslo_middleware/healthcheck/__init__.py#L409

Change-Id: I28c26d3357c21483b7642958564d675cd5feaa31
2020-06-24 12:00:46 +02:00
Lucas Alvares Gomes
d669dff1dc [OVN] Add support for router availability zones
This patch is adding support for the router_availability_zone extension
for Neutron.

The OVN driver will now read from the router's availability_zone_hints
field and schedule the router ports onto OVN chassis belonging to those
AZs.

Since the OVN driver does not rely on the L3 agent, this patch does not
re-use the configuration option for the agent to configure the
availability zone that a Chassis belongs to (even because there's no
configuration file in nodes such as networker nodes). Instead, this
patch reuses the "ovn-cms-options" field from the local OVSDB to
configure the Chassis. The follow syntax has been used:

$ ovs-vsctl set Open_VSwitch .
external-ids:ovn-cms-options="enable-chassis-as-gw,availability-zones=az0:az1"

In the example above, the Chassis has been configured to belong to two
AZs: "az0" and "az1".

This patch also implements listing the availability zones:
$ openstack availability zone list

As well as validating the router's availability zone hints:
$ openstack router create --availability-zone-hint az0
--availability-zone-hint az1 test_router

The above command would fail if there's no "az0" and "az1" configured in
any OVN chassis.

Documentation for this feature is being written and will be submitted
in a separated patch.

Partial-Bug: #1881095
Change-Id: I4567f3d541d382b6432c1ab3d35276d81ce71d82
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
2020-06-24 09:15:01 +01:00
Zuul
9fd60ffaac Merge "Fix the wrong value for QoS rate conversion to bytes/s" 2020-06-24 03:16:15 +00:00
Zuul
f200f62ac2 Merge "Fix a typo in the OVN manual install guide" 2020-06-24 03:01:47 +00:00
Zuul
b60ac100cc Merge "[OVN] Updates to tools/migrate_names.txt" 2020-06-24 02:46:03 +00:00
Zuul
dae15ed9d0 Merge "Make _ensure_default_security_group method atomic" 2020-06-24 00:58:04 +00:00
Zuul
d37c9259c7 Merge "[OVS] Make QoS OVS agent deletion operations more resilient" 2020-06-23 21:33:17 +00:00
Zuul
a8175c3e62 Merge "[OVN] Load segments plugin in case not loaded in maintanance task" 2020-06-23 21:24:48 +00:00
Zuul
c6d02a1980 Merge "Enable bridge debugging services on the tempest and grenade jobs" 2020-06-23 17:39:15 +00:00
Rodolfo Alonso Hernandez
ed56429548 DhcpFilter should always return a valid index if "force_scheduling"
WHen retrieving a vacant DHCP agent binding index, if
"force_scheduling" is set, the method should return a valid binding
index. If the existing binding indexes are sequentially aligned,
the method will return a new one on top; if there is a gap in the
binding indexes list, the first free index will be returned.

Change-Id: Ib4cbeb7c9f0c1e959ad53570320610925ff3d88f
Closes-Bug: #1883513
2020-06-23 13:38:25 +00:00
Zuul
8589e75aca Merge "Add singlenode tempest job with neutron-lib from master branch" 2020-06-23 08:38:23 +00:00
Maciej Józefczyk
b64d934964 Stop installing Octavia in OVN jobs
We have separate project now - OVN Octavia provider - and its gate
is responsible for testing OVN integration with Octavia.

Change-Id: I317b7ad54a2f5c5c99bf0bff9eba4d91a1a86491
2020-06-22 13:44:38 +00:00
Rodolfo Alonso Hernandez
e2d1c2869a [OVS] Make QoS OVS agent deletion operations more resilient
When a Port is deleted, the QoS extension will reset any rule (QoS
and Queue registers) applied on this port or will reset the
related Interface policing parameters.

If the Port and the related Interface are deleted during the QoS
extension operation, those commands will fail. This patch makes those
operations more resiliant by not checking the errors when writing on
the Port or the Interface register.

Change-Id: I2cc4cdf5be25fab6adbc64acabb3fffebb693fa6
Closes-Bug: #1884512
2020-06-22 09:47:51 +00:00
Slawek Kaplonski
7019c5cf50 Make _ensure_default_security_group method atomic
Method _ensure_default_security_group wasn't atomic as it first tries to get
default SG and if that not exists in DB, it tries to create it.

It may happend, like e.g. in Calico plugin that between
get_default_sg_id method and create_security_group method, this default
SG will be created by other neutron worker. And in such case there will
be Duplicate entry exception raised.

So this patch is adding handling of such exception.

Change-Id: I515c310f221e7d9ae3be59a26260538d1bc591c2
Closes-Bug: #1883730
2020-06-22 09:20:15 +00:00
Maciej Jozefczyk
56f519f472 [OVN] Load segments plugin in case not loaded in maintanance task
While the segments plugin is not loaded in neutron config, it should
be loaded anyways in OVN maintanance task, to operate on the first
default segment of each network.

Change-Id: Ideffacc2f478c95eeec881c82d1d5bae46ecdc74
Closes-Bug: 1883193
2020-06-22 07:11:47 +00:00