25975 Commits

Author SHA1 Message Date
Zuul
969a7217cc Merge "Change set_device_rate calls according to new signature" 2022-04-08 10:21:54 +00:00
Zuul
4c05795f52 Merge "Switch fips scenario jobs to Centos stream 9" 2022-04-08 09:38:11 +00:00
elajkat
837fda7566 Change set_device_rate calls according to new signature
[1] changed the signature of set_device_rate to be alligned with how
pyroute2 expects rate parameters, some method which calls
set_device_rate needs to be changed also to use the new dict format for
calling it.

[1]: https://review.opendev.org/q/Ibbb6d938355440c42850812e368224b76b1fce19

Related-Bug: #1962844
Closes-Bug: #1968206
Change-Id: I7256747f45308b011edbb0f8c802439ea277423d
2022-04-08 09:51:34 +02:00
Zuul
bcdabad1c8 Merge "[L3][QoS] L3 agent QoS extension to handle duplicated FIPs" 2022-04-07 23:23:32 +00:00
Slawek Kaplonski
e41b8d0a94 Switch fips scenario jobs to Centos stream 9
Those jobs from periodic pipeline were run on Centos Stream 8
so far but lets switch them to new Centos Stream 9.

Change-Id: I9d87d1c6d2c5415a4bd602cb6968db4d155f15e1
2022-04-07 14:08:10 +00:00
Zuul
4f9313fca1 Merge "Add tag to port more earlier" 2022-04-06 09:47:46 +00:00
Zuul
bddf83eaa4 Merge "Remove reference of openstack-health" 2022-04-06 09:44:07 +00:00
Zuul
824cd572e8 Merge "[SR-IOV] Default "propagate_uplink_status" flag to True" 2022-04-06 09:44:02 +00:00
LIU Yulong
c63ebef2d5 Add tag to port more earlier
During some ml2 ovs agent port processing performance test, we noticed
that some ports are missing tag before it really done processing. While
ovs treats those ports without tag as trunk port, so some packets will
be flooded to it. In large scale cloud, if too many port added to the
bridge, the ovs-vswitchd will consume a huge amount of CPU cores if
ports are not bound in a short time.

So, in the port_bound function of ovs-agent, we set the port tag to
it after a local_vlan id is allocated. Because after that, setup
security groups (setup_port_filters) and bind devices in DB
(update_device_list) are really time-consuming.

And also fix a potential bug, port is processed as created first,
but no tag in ovsdb, so openflow security group will not be processed
successfully [1]. It must be done in a update event during next loop,
after port bound and ovsdb set the required value.

This patch can also fix some upstream test failures of waiting too
long time to ping some cases.

[1] https://github.com/openstack/neutron/blob/master/neutron/agent/linux/openvswitch_firewall/firewall.py#L112

Closes-Bug: #1952567
Change-Id: I3533f0d416d32f8d0888ad58f975960d89a985d9
2022-04-06 09:28:20 +08:00
Ghanshyam Mann
9183213067 Remove reference of openstack-health
openstack-health is retiring[1] so removing the
reference of it from contributor doc.

[1] https://review.opendev.org/c/openstack/governance/+/836706/2

Change-Id: Id6af0626987b89f109ffee1044469112d3ff3110
2022-04-05 19:44:58 -05:00
Slawek Kaplonski
b8dcb0b7af Set bigger swap in the functional and fullstack jobs
As we are hitting some memory limits (again) in functional tests
job, lets configure 8GB of swap in all functional and fullstack jobs.

Before that patch swap was configured to 4GB only in the FIPS jobs. Now
it will be set to 8GB in all functional and fullstack jobs.

Closes-Bug: #1966394

Change-Id: I6b097d8409318a5dfe17e9673adb6c1431a59b0b
2022-04-05 09:13:22 +02:00
Zuul
3615cd85a4 Merge "Add "qos_policy_id" field to "Router" OVO" 2022-04-04 14:08:15 +00:00
Zuul
a82c88875b Merge "[OVN] Pin OVS version for OVN v21.06.0" 2022-04-01 14:23:38 +00:00
Zuul
5c125be9ff Merge "Ensure that re_added ports are DOWN before set back to UP" 2022-04-01 11:50:39 +00:00
Zuul
28cabb8ccb Merge "ovn: Wait for northd in functional tests" 2022-03-30 20:25:15 +00:00
Zuul
e188e46f70 Merge "[OVN] Remove conditional metadata namespace with network name" 2022-03-30 16:10:29 +00:00
Jakub Libosvar
10250fa6d8 ovn: Don't override idl lookup() method with timeout
The timeout and notify_handler parameters are removed in ovsdbapp [1]
because they have never really been used and if we tried to use it, it
caused lots of various issues bringing low benefit. We often call
lookup() on non-existing objects and adding 2 seconds wait interval has
terrible effect on performance.

[1] https://review.opendev.org/c/openstack/ovsdbapp/+/835151

Change-Id: I5f22ecfe723e8710ff62e7e1a006e534ccc93919
Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
2022-03-29 16:21:24 -04:00
Jakub Libosvar
af03d133f4 ovn: Wait for northd in functional tests
Each functional test method create new empty NB and SB DBs. Each DB
has its own table NB_Global or SB_Global respectively that contains
exactly one record created by ovn-northd. When functional test spawns
northd, it populates the DBs however it doesn't guarantee the running
test in parallel will not attempt to access the record.

This patch makes sure that northd creates the records before it moves on
and considers northd spawned.

Closes-Bug: #1952004

Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
Change-Id: Ic936864aebcabb811860e17913fbff311c52845f
2022-03-29 20:01:29 +00:00
Zuul
a903fd20ef Merge "[test][unit]creating resources support set project_id" 2022-03-29 14:04:02 +00:00
Zuul
6713ce5913 Merge "[OVN] Remove maintenance "check_for_port_security_unknown_address"" 2022-03-28 16:52:57 +00:00
zhouhenglc
cc50b45ca3 [test][unit]creating resources support set project_id
To write a new unit test, need to set "project_id", and then
use the discarded "tenant_id" is not appropriate.

this patch updated creating resources method, both "project_id"
and "tenant_id" are acceptable. of course, "project_id" priority.

Closes-bug: #1966354

Change-Id: Ic24f03da169dd3d1549b05b35ec77d3e9a25f17b
2022-03-28 05:41:48 +00:00
Zuul
9e883210a7 Merge "[OVN] Reschedule router GW chassis when AZ updated" 2022-03-25 18:50:54 +00:00
Zuul
808972410a Merge "ovn migration: Remove usage of tripleo-ansible-inventory" 2022-03-25 18:50:49 +00:00
Zuul
3af84208ed Merge "Fix some Openvswitch firewall doc typos" 2022-03-25 18:50:45 +00:00
Zuul
f09ff28ef2 Merge "Add extra logs to the ip_monitor class" 2022-03-25 12:49:49 +00:00
Brian Haley
953c1671a8 Fix some Openvswitch firewall doc typos
Noticed a typo while reading the docs, fixed other grammatical
issues while I was here.

Trivial-fix

Change-Id: I9d62281e095688bcbcb1fbab3d1cd5101ae7ad37
2022-03-24 17:41:54 -04:00
Zuul
1473adca5d Merge "[Fullstack] Remove dhcp agent in tests where it isn't necessary" 2022-03-24 19:37:52 +00:00
Zuul
f3179a25d2 Merge "Repeat few times put new interface in the namespace" 2022-03-24 19:35:11 +00:00
Slawek Kaplonski
e7edcec260 Ensure that re_added ports are DOWN before set back to UP
During e.g. rebuild of the server by Nova, ports plugged to such server
are quickly removed and added again into br-int. In such case, ports are
in the "re_added" ports set in the neutron-ovs-agent.
But it seems that in some cases it may happen that such port isn't
switched to be DOWN first and then, when neutron-ovs-agent treats port
as added/updated and reports to the server that port is UP, there is no
notification to nova-compute send (because port's status was UP and new
status is still UP in the Neutron DB).
As Nova waits for the notification from Neutron in such case server
could ends up in the ERROR state.

To avoid such issue, all ports which are treated as "re_added" by the
neutron-ovs-agent are now first switched to be DOWN on the server side.
That way, when those ports are treated as added/updated in the same
rpc_loop iteration, switching their status to UP will for sure trigger
notification to nova.

Closes-Bug: #1963899
Change-Id: I0df376a80140ead7ff1fbf7f5ffef08a999dbe0b
2022-03-24 16:54:26 +01:00
Zuul
9c9dfb1ca6 Merge "[FT] Run all .*MySQL tests in an isolated thread" 2022-03-24 07:27:44 +00:00
Zuul
1aa36e7a3c Merge "[OVN][migration] Clean sg- and fg- interfaces" 2022-03-23 18:49:33 +00:00
Jakub Libosvar
5b2fd1f830 ovn migration: Remove usage of tripleo-ansible-inventory
tripleo-ansible-inventory stopped working in Wallaby. However, TripleO
now stores the needed ansible-inventory on the undercloud filesystem.
This patch switches from dynamic generation of the Ansible inventory to
use of the already existing inventory file. Fortunately, the format of
the file remained the same as the generated one, so no other changes in
parsing are required.

Closes-Bug: #1966099

Change-Id: I3bdf878617fbe962d56ebb66d59ae7edeb9b7c38
Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
2022-03-23 12:28:45 -04:00
Slawek Kaplonski
282ccbb8f0 [Fullstack] Remove dhcp agent in tests where it isn't necessary
In fullstack tests like test_connectivity or test_securitygroup using
dhcp agent isn't really needed. We are testing dhcp agents and
configuration of the IP addresses using DHCP in the tests from the
test_dhcp_agent module.
So this patch disables usage of the dhcp agent where it's not really
needed to save some resources (less agents running during tests) and to
minimize potential failures in the tests.

Additionally this patch also adds method
block_until_all_dhcp_config_done() to the FakeFullstackMachinesList
class and uses it in tests when fake VMs are using DHCP. That will
hopefully help better understand where the issue is in case of failures
like described in the related bug.

Related-Bug: #1962854
Change-Id: Ib6ca18b5a0ae101ad6424637abff3d992737f6f4
2022-03-23 16:52:48 +01:00
Rodolfo Alonso Hernandez
7d5ee7089b [FT] Run all .*MySQL tests in an isolated thread
This change in the "dsvm-functional" job definition will avoid the
parallel execution of any MySQL test.

Related-Bug: #1962594
Change-Id: I4fe6a6920b9b2711563e85b51f18a9d5a9086ceb
2022-03-23 15:24:51 +00:00
Zuul
1b68aebaba Merge "[QoS][L3] Use floating IP OVO QoS fields" 2022-03-23 08:16:47 +00:00
Zuul
dd55f1acd3 Merge "Remove exception `IpAddressAllocationNotFound`" 2022-03-22 12:46:18 +00:00
Zuul
b50183bc42 Merge "Log request IDs for matched Nova external events" 2022-03-22 08:42:50 +00:00
Zuul
39e395a450 Merge "ovn migration: Don't use executables in /tmp/" 2022-03-22 00:45:50 +00:00
Zuul
b632425d72 Merge "Fix ingress bandwidth limit in the openvswitch agent" 2022-03-21 23:24:04 +00:00
Zuul
28a941ce8c Merge "[OVN] Remove maintenance "check_metadata_ports"" 2022-03-21 14:40:42 +00:00
Zuul
1a705719a3 Merge "[OVN] Remove maintenance "check_for_fragmentation_support"" 2022-03-21 14:39:23 +00:00
Rodolfo Alonso Hernandez
3a81b051d4 [SR-IOV] Default "propagate_uplink_status" flag to True
Extension "uplink-status-propagation" does not allow to modify existing
ports. This extension only enables the creation of new ports with
this new flag.

Similar to [1], this patch changes the default behaviour of the
exiting ports: if no "propagate_uplink_status" flag is present, "True"
is returned now. The aim of this change is to enable this feature for
all existing ports, that is usually the aim of an administrator when
enables this extension.

[1]https://bugs.launchpad.net/neutron/+bug/1888487

Closes-Bug: #1967881
Related-Bug: #1888487

Change-Id: Ica5b76e0a9a5ae12f764c66be259d7f3cd5b248b
2022-03-21 11:43:08 +00:00
Rodolfo Alonso Hernandez
4e98078e7a [OVN] Pin OVS version for OVN v21.06.0
According to [1], the needed version for OVN v21.06.0 is
a4b04276ab5934d087669ff2d191a23931335c87

[1]4b0a02635f

Closes-Bug: #1967472
Change-Id: I1ecb31281ded60b396d408aa5c303081a90c4ae2
2022-03-20 06:45:27 +00:00
Rodolfo Alonso Hernandez
7c2420e3af Add "qos_policy_id" field to "Router" OVO
This new synthetic field is linked to a
"QosRouterGatewayIPPolicyBinding" register. This binding register will
bind a QoS policy and a Router.  Now is possible to provide this field
in the create/update input parameters. If provided, the "Router" OVO will
create/delete the "QosRouterGatewayIPPolicyBinding" register.

The "Router" OVO takes this parameter from the DB object. When the DB
object is retrieved, the QoS policy binding register is retrieved too
due to a backref link in the "QosRouterGatewayIPPolicyBinding" DB model to
the "Router" DB model.

Related-Bug: #1893625
Related-Bug: #1950454

Change-Id: I59ed68b2c1e19f1f31e72b4868e3db750ef06d6f
2022-03-20 05:59:45 +00:00
Rodolfo Alonso Hernandez
132905d81f [L3][QoS] L3 agent QoS extension to handle duplicated FIPs
The L3 agent QoS extension should be able to handle duplicated floating
IP addresses from different registers. Those floating IP addresses can
be hosted in different networks and routers but the same compute node
and L3 agent.

Now, instead of using the IP address as unique identifier, this patch
stores the (ID, IP address) tuple. This tuple is unique per floating IP
register and holds the IP address, needed by the "tc" library to set
the QoS rules.

Closes-Bug: #1962465
Change-Id: I3a09718c6e79fd1f37eb75264389c4e5043076a7
2022-03-18 14:40:37 +00:00
Rodolfo Alonso Hernandez
2d1b4fd80f [OVN] Implement router gateway IP QoS
This patch implements router gateway IP QoS based on meter,
using the existing plugin and extension, only the driver side
is different.

Closes-Bug: #1893625

Co-Authored-By: zhanghao <hao.zhang.am.i@gmail.com>
Co-Authored-By: Rodolfo Alonso Hernandez <ralonsoh@redhat.com>

Change-Id: I46864b9234af64f190f6b6daebfd94d2e3bd0c17
2022-03-17 12:37:13 +00:00
Bogdan Dobrelya
7cedbdeaba Log request IDs for matched Nova external events
Nova notifier logs for external events only provide the event
details without showing its connection to the associated request_id.

That complicates debugging of corner cases for external events as we
cannot be sure to which exact request a logged event is related.

Make the matching request_ids logged alongside external event
details, whenever it is available.

Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
Change-Id: I047a28744a0bf52ace9f9a205993c6037a21083c
2022-03-17 16:34:59 +05:30
Zuul
f962fff7f9 Merge "[OVN] Remove maintenance "check_for_localnet_legacy_port_name"" 2022-03-17 07:49:07 +00:00
Rodolfo Alonso Hernandez
2ffee1469f [OVN] Remove maintenance "check_for_port_security_unknown_address"
Removed maintenance task "check_for_port_security_unknown_address".
This method was added in [1], two years and five releases ago. It
was planned to be removed in Ussuri.

[1]https://review.opendev.org/c/openstack/neutron/+/697698

Change-Id: Iaa7a2c8bc326568bd3bafe871d4219ec84b9c2a3
2022-03-17 05:26:45 +00:00
Jakub Libosvar
0529ccdf71 ovn migration: Don't use executables in /tmp/
It's a common practice to have /tmp/ mounted separately with noexec
option. This effectively means no scripts can be executed from the
filesystem mounted to /tmp.

This patch explicitly calls sh binary to execute scripts from /tmp and
removes the executable flag from the scripts.

Closes-Bug: #1965183

Change-Id: I2f9cd67979a8a75848fcdd7a8c3bb56dd3590473
Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
2022-03-16 20:44:20 +00:00