Commit Graph

25170 Commits (0634dcc6d0f08c18c69a2c360a2c5c0581ec7bb6)

Author SHA1 Message Date
Rodolfo Alonso Hernandez 0634dcc6d0 [OVS][FW] Initialize ConjIdMap._max_id depending on the current OFs
The OVS Firewall has a singleton class that manages the conjuction IDs
to used in the OF rules. Those conjuntions are used to group rules
related to remote security group IDs.

Now each time the OVS agent is started, the OVS Firewall initial
conjunction ID is calculated based on the present OF rules. This value
and the next one used won't clash with any present rule in the
integration bridge during the initial transient period.

Related-Bug: #1934917

Change-Id: Ie2e4441f766947a2164dec2d1555c7049428903f
2021-09-10 10:17:22 +00:00
Zuul 578f74ca87 Merge "Add "network_id" to "_after_router_interface_deleted" payload" 2021-08-10 21:42:17 +00:00
Zuul 0ccfed0ae1 Merge "Wait until workers have been launched" 2021-08-10 09:36:36 +00:00
Zuul 6fa09f3e82 Merge "Use payloads for ROUTER AFTER_ callbacks" 2021-08-10 09:20:37 +00:00
Zuul 4c2cdba9d5 Merge "Reduce the fullstack concurrency to 2" 2021-08-09 15:26:35 +00:00
Nurmatov Mamatisa ef83719da2 Use payloads for ROUTER AFTER_ callbacks
This patch switches over to callback payloads for ROUTER
AFTER_CREATE, AFTER_UPDATE and AFTER_DELETE events.

Change-Id: Ie818ffbb1a291faa80501157b46ff6671d5c26ba
2021-08-09 14:13:28 +00:00
Zuul 98695ed845 Merge "[OVN] Fix Router Availability Zones for segmented networks" 2021-08-09 13:58:31 +00:00
Zuul 4b35811b0d Merge "Use elevated context when getting default SG for tenant" 2021-08-09 11:49:14 +00:00
Lucas Alvares Gomes 8ac9e2fe6d [OVN] Fix Router Availability Zones for segmented networks
This patch changes the get_candidates_for_scheduling() method to also
consider all gateway chassis as potential candidates (limited by
Availability Zones) in case physnet parameter is empty (as for the
segmented networks case).

This patch is a simpler/backportable fix for the segmented networks +
Router AZs use case. In the future we should consider refactoring the
code responsible for scheduling the gateway router ports, a more detailed
explanation of what is happening/needed can be found at LP #1939144.

Change-Id: I8dc5336c6e2acd0b0a2cad0e80eee91280b9f945
Closes-Bug: #1939144
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
2021-08-06 15:21:27 +01:00
Zuul d77cecd6c6 Merge "Skip DVR binding for ports with invalid OFPORT" 2021-08-04 16:34:19 +00:00
Slawek Kaplonski e6c3686cd8 Use elevated context when getting default SG for tenant
With new scopes, when e.g. project admin context is used to ensure
default SG for different tenant, elevated context needs to be used
to make db query. Otherwise default SG will not be found and attempt to
create it in DB may fail with DuplicateDbEntry error.

Closes-Bug: #1938910
Change-Id: Ib884be6aa12bd0d3faf83f3e753f8e7aad503b68
2021-08-04 17:02:14 +02:00
Zuul 0985c7c29c Merge "Bump oslo.log to version 4.5.0" 2021-08-04 13:35:50 +00:00
Zuul 86de15d632 Merge "[QoS] Add rule type packet per second (pps)" 2021-08-04 13:30:17 +00:00
Zuul ece64f3857 Merge "Use elevated context to get default SG from database" 2021-08-04 10:41:52 +00:00
Zuul 4d205504b8 Merge "Use payloads for ROUTER callbacks" 2021-08-03 19:29:54 +00:00
Zuul f57917b214 Merge "bw-limit: Pass int parameters to Open vSwitch" 2021-08-03 17:19:27 +00:00
Oleg Bondarev 63a2a65bbe Skip DVR binding for ports with invalid OFPORT
Invalid OFPORT (-1) causes ofctl errors and timeouts if set
it as output in a flow rule.

Closes-Bug: #1938685
Change-Id: Ib8be66c3068309832e08066af4e0b75c30e8163a
2021-08-03 13:51:32 +03:00
Zuul 0b4a50e656 Merge "Update team ownership" 2021-08-03 10:21:59 +00:00
Nurmatov Mamatisa 40c8f60ee3 Use payloads for ROUTER callbacks
This patch switches over to callback payloads for ROUTER
BEFORE_CREATE, PRECOMMIT_CREATE, BEFORE_UPDATE and
PRECOMMIT_DELETE events.

Change-Id: I4a52c773d3f753c918df0986f1d261083156651c
2021-08-02 12:32:30 +03:00
Przemyslaw Szczerbik 2356f0eb87 Bump oslo.log to version 4.5.0
In this version versionutils were updated for Xena release.

Related-bug: #1922237
Change-Id: I89f52929cec067bbe55b183f5dcdbc64a92805de
2021-08-02 10:59:32 +02:00
Eduardo Olivares d4b1b4a072 Fix typo in OVN SUPPORTED_DHCP_OPTS_MAPPING dictionary (ia-addr)
Closes-Bug: #1938569

Change-Id: I10e0834594f68e06244c393c00d0b3d840c45fc5
2021-07-30 17:05:40 +02:00
Zuul 19372a3cd8 Merge "Ensure only one worker creates neturon_pg_drop" 2021-07-29 17:54:11 +00:00
Zuul 098a8c583e Merge "Notify ROUTER_GATEWAY event for router gw mode" 2021-07-29 17:54:06 +00:00
Rodolfo Alonso Hernandez fafcabdbe0 Wait until workers have been launched
In "test_restart_rpc_on_sighup_multiple_workers", the test needs to
wait until the RPC workers have been properly launched by
``oslo_service.service.ProcessLauncher.launch_service``. Once this
method returns, it is guaranteed that the child worker processes
are running and the signal process handlers are attending the
SIGHUP signal that will reset them.

Closes-Bug: #1938428
Change-Id: I1dc56092d099223accc3aefa8e303310c4f6787e
2021-07-29 15:49:50 +00:00
Rodolfo Alonso Hernandez a27bb19e74 Reduce the fullstack concurrency to 2
In order to mitigate the OOM problems in the CI, this patch reduces
the fullstack concurrency to 2. That should reduce the memory
consumption and will avoid those nasty OOM exceptions.

Closes-Bug: #1938455
Change-Id: I4de4b089e615353b7fde82bd54e0abefa244c8ab
2021-07-29 15:45:38 +00:00
Brian Haley caa05f9c56 Update team ownership
As I will not be maintaining the ovn-octavia-provider, I
am removing my name from the list. Also, since I have
not been as active in L3 recently, update that as well.

Change-Id: Ie883044f3bedc09ff19c58ce90ab9fdc09b92e29
2021-07-28 18:51:21 -04:00
Zuul 0411743bb9 Merge "Sanitize MAC addresses" 2021-07-28 14:27:03 +00:00
Rodolfo Alonso Hernandez cbef6cda98 Add "network_id" to "_after_router_interface_deleted" payload
This parameter, sent by the DHCP agent, is needed to remove the
workaround method "_get_network_lock_id".

The removal of this method will be done in [1] in Y release.

Related-Bug: #1732456

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

Change-Id: Ibd7fed33d314e901c69da33f42029f8ea67df98d
2021-07-28 11:26:27 +00:00
Zuul 4481b9b8db Merge "Improve Port list and show" 2021-07-27 21:10:39 +00:00
Terry Wilson 2e6f6c9ec3 Ensure only one worker creates neturon_pg_drop
Use an OVSDB lock to ensure that only one worker tries to create
the neutron_pg_drop port group. This also waits pre_fork so that if
getting the port group fails, neutron exits instead of continuing
on without the port group being created.

It was previously possible that a server could create the port
group and we wouldn't get the update before trying to create it
ourselves and checking for its existence.

This also modifies the get_port_group method to use the built-in
lookup() which searches by name or uuid and can take advantage of
both indexing and newly added ovsdbapp wait for sync functionality.

Closes-Bug: #1934930
Change-Id: Id870f746ff8e9741a7c211aebdcf13597d31465b
2021-07-27 14:47:28 -05:00
Zuul 476bf74783 Merge "Remove orphaned event_lock_name attribute" 2021-07-27 16:15:49 +00:00
Zuul ba53a14bff Merge "Promote neutron-ovn-tempest-slow job to be voting and gating" 2021-07-27 01:36:52 +00:00
Zuul 84ba0a9aeb Merge "use payloads for PORT and FLOATING_IP" 2021-07-23 21:28:17 +00:00
Zuul d48d7609f7 Merge "doc: Do not use dvr_snat on computes" 2021-07-23 05:26:37 +00:00
Nurmatov Mamatisa e7c61d3eba use payloads for PORT and FLOATING_IP
This patch switches over to callback payloads for PORT
and FLOATING_IP PRECOMMIT_DELETE events.

Change-Id: I2b3dd3ac70bcdd51125650f0a997859316ff644a
2021-07-22 18:25:42 +03:00
Zuul 6266c293dc Merge "Remove "_protect_original_resources" workaround" 2021-07-22 06:39:45 +00:00
LIU Yulong 8e30639452 [QoS] Add rule type packet per second (pps)
This patch adds new API extension to QoS service plugin
to allow CURD actions for packet rate limit (packet per
second) rule in Neutron server side.

NOTE: This patch will NOT implement the real functionality
in L2/L3 backend to limit the pps.

Co-Authored-By:  NANALI <lin203@chinaunicom.cn>

Closes-bug: #1912460
Change-Id: Icc88accb88d9cec40c960c56f032c3c27317b42e
2021-07-22 09:53:38 +08:00
Zuul b7befc9811 Merge "Revert "[OVN][Placement] Add a SB Chassis event to track changes in BW config"" 2021-07-22 00:58:02 +00:00
Bence Romsics 8261b67b6e bw-limit: Pass int parameters to Open vSwitch
Make sure we pass integer values to ovs when configuring bandwidth
limit. This was likely working properly with Python2, and we may have
missed this when migrating to Python3:

https://www.python.org/dev/peps/pep-0238/

Change-Id: I2f8d974d6644657aea95302d94ca0095d70a7e62
Closes-Bug: #1936839
Co-Authored-By: Tamás Trásy <tamas.trasy@ericsson.com>
2021-07-21 14:08:23 +02:00
Bence Romsics 45a33dcb0a doc: Do not use dvr_snat on computes
Change-Id: I1194d9995c16c1e178026986d9465aa09c1529c8
Closes-Bug: #1934666
2021-07-21 14:02:37 +02:00
Slawek Kaplonski 02c0b47d22 Promote neutron-ovn-tempest-slow job to be voting and gating
This jobs is almost the same as tempest-slow-py3 since we switched
OVN to be default backend in Neutron. And that tempest-slow-py3 job
is used by many projects. So to avoid potential breaks of the gate for
other projects (like we did recently, see related bug for details)
let's make this job voting and gating.
As it is really used in many different projects as voting and gating
job already I don't think there is any issue with doing the same in
the Neutron gate.

Related-bug: #1936983
Related-bug: #1930402

Change-Id: I85d3830e9cc65162db846e4858871e1db547a04b
2021-07-21 08:57:43 +00:00
Slawek Kaplonski c3b99a64fc Revert "[OVN][Placement] Add a SB Chassis event to track changes in BW config"
This reverts commit df5cb28737.

The reverted commit triggers the failure of tempest-slow-py3 job.
tempest-slow-py3 is equal to non-voting neutron-ovn-tempest-slow job
in the neutron CI. It is a non-voting job so the error was not detected
before merging it. To recover the tempest job in OpenStack wide,
this commit reverts it.

See http://lists.openstack.org/pipermail/openstack-discuss/2021-July/023764.html

Closes-Bug: #1936983
Change-Id: Id8cdd9c69e4fef2d9c335447b498958add8b7816
2021-07-20 23:38:09 +00:00
Zuul 147830620f Merge "Add a privsep context only for link commands" 2021-07-20 17:50:41 +00:00
Zuul 9f8ff42a48 Merge "Move mech driver VNIC validation to SimpleAgentMechanismDriverBase" 2021-07-20 16:42:57 +00:00
Zuul 1575ef5a14 Merge "[OVN][Placement] Add a SB Chassis event to track changes in BW config" 2021-07-20 16:42:49 +00:00
Zuul fcb2c7e2c8 Merge "Use explicit select condition in SQL query in "_port_filter_hook"" 2021-07-20 13:31:59 +00:00
Zuul 68e0e9447a Merge "Import ABC classes from collection.abc" 2021-07-20 13:22:42 +00:00
Rodolfo Alonso Hernandez f8ca735e5f Move mech driver VNIC validation to SimpleAgentMechanismDriverBase
The mechanism driver support VNIC types validation is done now in the
"SimpleAgentMechanismDriverBase" class __init__ method. If a subclass
needs to administratively prohibit any VNIC type supported by default,
"vnic_type_prohibit_list" must be passed to the base class __init__
call.

Related-Bug: #1578989

Change-Id: Ic25a8a7c716b4980ad2542b44519f77c6fdad309
2021-07-19 15:26:13 +00:00
Rodolfo Alonso Hernandez df5cb28737 [OVN][Placement] Add a SB Chassis event to track changes in BW config
Added a new OVN Client extension: OVNClientPlacementExtension. This
extension is in charge of handling the bandwidth information stored
in the OVN database, in the "Chassis" registers on the
"ovn-cms-options" dictionary.

Three new keys are created to store the resource provider information
needed to parameterize the network backend bandwidth information,
following the implementation done in OVS and SR-IOV:
- resource_provider_bandwidths
- resource_provider_inventory_defaults
- resource_provider_hypervisors

When the OVN Client is started, the Placement extension will check if
the "placement" extension is loaded. It will also create an event to
check any configuration change done in any "Chassis" register.

The Placement extension will read the initial configuration stored
in the OVN database and will populate it to Placement API, creating
the needed resource providers, traits and inventories.

NOTE: This patch belongs to a series of patches to implement
minimum bandwidth scheduling blueprint in OVN backend. The next
patch will make OVN backend scheduling aware using the information
stored in Placement API and the port information passed by Nova when
a VM is created.

Partial-Bug: #1578989

Change-Id: I8ba38b8ace8852009fba8712aafa9f88c2b93ccb
2021-07-19 15:25:57 +00:00
Zuul 7be2008090 Merge "[L3] Use processing queue for network update events" 2021-07-19 14:20:01 +00:00