299 Commits

Author SHA1 Message Date
Rodolfo Alonso Hernandez
2347201455 [OVN] OVN metadata namespace is named "ovnmeta-$net_uuid"
Trivial-Fix

Change-Id: Icbab32479f96034f43db7f6a24906b9053fff9b5
2022-03-05 08:18:39 +00:00
Zuul
5c47957e89 Merge "[OVN][Placement] Read the initial config in the maintenance worker" 2022-02-23 22:21:55 +00:00
Frode Nordahl
0c9c60d5ca
[OVN] Off-path SmartNIC DPU Documentation
Closes-Bug: #1932154
Co-Authored-By: Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
Change-Id: I5b5e7957cfe8020001777fd40e038eaafb5fb894
2022-02-18 07:18:29 +01:00
Zuul
96509b2abc Merge "doc: Remove references to dead VMWare NSX extensions" 2022-02-11 19:58:02 +00:00
Rodolfo Alonso Hernandez
56dbfb7ac4 [OVN][Placement] Read the initial config in the maintenance worker
Read the chassis bandwidth configuration (stored in the "Chassis"
registers) only once, in the maintenance worker. The SB synchronizer
will call the OVN client Placement extension
"read_initial_chassis_config" method.

This new approach changes how the Placement information is stored. The
Placement extension does not store anymore a local cache of the
resource providers. Instead of this, in future patches, when this
information is required, the Placement extension will retrieve this
information from the SB DB, reading the content from the "Chassis"
registers and parsing the values.

Partial-Bug: #1578989
Change-Id: I160b1dda85596277125c532ea4ce4df8e4d25b63
2022-02-07 22:35:59 +00:00
Miguel Lavalle
94b961f179 Update dns_assignment attribute documentation
After the implementation of [1], the calculation of the port's
dns_assignment attribute changed for some use cases of the Neutron
integration with an external DNS service. This change updates the
documentation accordingly

[1] https://specs.openstack.org/openstack/neutron-specs/specs/victoria/port_dns_assignment.html

Partial-Bug: #1956632
Change-Id: I1c8c6850faa7741afabe31889cdad0228a366310
2022-01-26 18:22:50 -06:00
Zuul
5290a4b36a Merge "doc: Change availability of QoS policy change" 2022-01-13 17:44:55 +00:00
Zuul
32e9aae234 Merge "Do not block qos for direct-physical ports" 2022-01-11 17:34:01 +00:00
Balazs Gibizer
abfbe5d54d Do not block qos for direct-physical ports
Today the sriov qos service plugin blindly blocks creating ports
with minimum bandwidth qos and with direct_physical vnic_type. This was
originally added when only dataplane enforcement was the scope of the
qos service plugin. However in the last many releases we created
placement enforcement for this qos rule regardless of the vnic_type.
So now blindly blocking the port creation is now preventing using the
placement enforcement for this rule for direct_physical ports.

This patch removes this limitation by marking minimum bandwidth as
supported rule for the sriov qos service plugin. The limitation that
data plane enforcement is not supported for this rule remains. The agent
will not even try to apply any kind of rules to these ports as port
binding is not forwarded for the sriov agent at all.

The documentation is extended to explain that placement enforcement now
works while data plane enforcement still not supported.

This is somewhat similar to the case when the support for egress
direction is added to the minimum bandwidth rule, while the sriov data
plane enforcement was not (could not) been implemented for this
direction in the sriov agent. Today the sriov agent simply ignores the
egress direction rules in the minimum bandwidth qos rule during applying
the data plane enforcement.

Closes-Bug: #1949877

Change-Id: I20ad32eac414ff90b551bff940d92cbcfa848101
2021-12-10 12:28:59 +01:00
Rodolfo Alonso Hernandez
8813b0ed2d Replace "target_tenant" with "target_project" in RBAC OVOs and models
This is part of the remaining technical debt of the specs
https://specs.openstack.org/openstack/neutron-specs/specs/newton/moving-to-keystone-v3.html

Blueprint: https://blueprints.launchpad.net/neutron/+spec/keystone-v3

Change-Id: I2d2fd4d1802c9dfe0778ac8fdddc7b9a8afe7d25
2021-12-03 10:48:57 +00:00
Zuul
ab76b08019 Merge "[OVS][QOS] Dataplane enforcement is limited to min-bw egress direction" 2021-11-18 16:24:25 +00:00
Zuul
752fe6f433 Merge "Networking guide: Add Guaranteed Minimum Packet Rate" 2021-11-17 18:43:56 +00:00
Zuul
c433a8721b Merge "Document the effects of admin_state_up" 2021-11-15 11:45:58 +00:00
Zuul
5a409f9476 Merge "Enable QoS minimum packet rate rule for OVS backend" 2021-11-14 02:05:50 +00:00
Zuul
2a3f7aac7f Merge "[OVN][Placement] Add a SB Chassis event to track changes in BW config" 2021-11-10 03:52:31 +00:00
Rodolfo Alonso Hernandez
5627c87137 [OVS][QOS] Dataplane enforcement is limited to min-bw egress direction
OVS QoS extension only enforces dataplane traffic shapping for minimum
bandwidth rules with egress direction.

Change-Id: I57b274387505f42778f1d9d3ec2aa9feb5ae929d
Closes-Bug: #1949607
2021-11-08 16:19:37 +00:00
elajkat
2bb54a9c46 Document the effects of admin_state_up
Change-Id: Iae946d0194ab82e8b9aeaa005532c8540a20a0a4
Related-bug: #1949202
2021-11-08 13:41:19 +01:00
Przemyslaw Szczerbik
77b3a1a774 Networking guide: Add Guaranteed Minimum Packet Rate
Add Neutron doc for the Guaranteed Minimum Packet Rate feature.

Co-Authored-By: Balazs Gibizer <balazs.gibizer@est.tech>
Co-Authored-By: Bence Romsics <bence.romsics@est.tech>

Partial-Bug: #1922237
See-Also: https://review.opendev.org/785236
Change-Id: I8bbd503488ae0997c0e5f33e0ef7709841c310b5
2021-10-29 14:47:57 +02:00
Rodolfo Alonso Hernandez
a6f975ac03 [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.

NOTE: this patch improves [1], fixing the error [2] reported in [3].

[1]https://review.opendev.org/c/openstack/neutron/+/776701
[2]https://paste.opendev.org/show/807614/
[3]https://launchpad.net/bugs/1936983

Partial-Bug: #1578989
Change-Id: I63e81aebce2621226ff2cfe91f16c97913c137e8
2021-10-27 14:55:20 +00:00
Przemyslaw Szczerbik
507a61efba Networking guide: Add trunk limitation to min bandwidth
Change-Id: I261cc01de43c8e8004ae03c5dcbc2afd78feecab
2021-10-27 11:03:28 +02:00
Przemyslaw Szczerbik
aada855f6d Enable QoS minimum packet rate rule for OVS backend
This patch does *not* implement dataplane enforcement.

QoS minimum packet rate rule is enabled in OVS backend driver and
create/delete/update empty methods are added to enable placement
enforcement.

Partial-Bug: #1922237
See-Also: https://review.opendev.org/785236
Change-Id: Ie283ad3a4ec433c88ac23f798908cd143159394b
2021-10-21 15:17:24 +02:00
Zuul
06a6bfbd2d Merge "[Docs] Small improvements to the IPv6 config guide" 2021-10-18 11:35:29 +00:00
Dr. Jens Harbott
8a890ed29c
Fix list of DNS extensions supported by OVN
The OVN driver needs to announce all DNS extensions as supported,
otherwise the neutron server will reject them.

Closes-Bug: 1947127
Signed-off-by: Dr. Jens Harbott <harbott@osism.tech>
Change-Id: Ic269902ef7a16893c4ea624b04347d04db4f52d9
2021-10-14 11:21:40 +02:00
Slawek Kaplonski
e6ed9bd0c8 [Docs] Small improvements to the IPv6 config guide
This patch adds information about what "A", "M" and "O"
means in the ra_mode and and address_mode table.

It also changes from the "radvd" to the "neutron-generated
advertisements" in the same table as "radvd" is an implementation.

Change-Id: I66e2815e451a6940402d49240ec743f99785850c
2021-10-07 12:41:12 +00:00
Przemyslaw Szczerbik
56044db26d Add API extension for QoS minimum pps rule
This patch implements support for CRUD operations for QoS minimum
packet rate, for example:

DELETE /qos/policies/$POLICY_ID/minimum_packet_rate_rules/$RULE_ID

Placement or dataplane enforcement is not implemented yet.

Partial-Bug: #1922237
See-Also: https://review.opendev.org/785236
Change-Id: Ie994bdab62bab33737f25287e568519c782dea9a
2021-09-29 12:27:30 +02:00
Slawek Kaplonski
a383afa10f [Docs] Add info about how to use shared SG with VMs
This patch adds info about workaround how to spawn VM using Security
Groups shared through RBAC mechanism in Neutron.
Proper fix for that issue will require changes in the Neutron API and in
Nova so will not be possible to backport.

Related-bug: #1942615
Change-Id: Iadb3fe0ca8fa9c14ec2912016bd3912e5dcee5ff
2021-09-17 15:33:23 +02:00
elajkat
f546c11b33 doc: Change availability of QoS policy change
[1] allowed to change QoS policy of a bound port, but finally got only
merged during Wallaby cycle. The documentation (see [2]) says that it is
available from Victoria.
Fix this to avoid misunderstandings.

[1]: https://review.opendev.org/c/openstack/neutron/+/747774
[2]: https://docs.openstack.org/neutron/xena/admin/config-qos-min-bw.html#limitations

Change-Id: If313ec090919206e7de7492c7b82c44be3eceff0
2021-09-17 10:48:09 +02:00
Zuul
8995a59869 Merge "[OVN] Document Network Availability Zones" 2021-09-03 00:00:04 +00:00
Zuul
33b65b9031 Merge "[Doc] Fix link to the Mellanox documentation in SR-IOV doc" 2021-09-02 10:08:45 +00:00
Slawek Kaplonski
5b8889ad7f [Doc] Fix link to the Mellanox documentation in SR-IOV doc
TrivialFix

Change-Id: I4c8db2d73baf5eb38b4fa20aede552d2066602e9
2021-09-01 10:07:09 +02:00
manchandavishal
b0bb49a8f8 [doc]Correcting broken link
The link "QoS rule types" in neutron documentation [1]
reports 404 Not Found, so this patch fix it.

[1] https://docs.openstack.org/neutron/latest/admin/config-qos.html#supported-qos-rule-types

Change-Id: Icfc4b704e826ae8b74d90241288e6aeab1d62f2f
2021-09-01 02:20:42 +05:30
Zuul
3d0a4c26ac Merge "Add limitation about QoS min bw for PF less SRIOV platforms" 2021-08-23 21:52:59 +00:00
Balazs Gibizer
db7887cafd Add limitation about QoS min bw for PF less SRIOV platforms
Related-Bug: #1915255
Change-Id: I2bd386e9aaa4d1cf994943b59f82bc24f6424199
2021-08-19 10:36:54 +02:00
Zuul
96f1ea140e Merge "Remove `ConfDriver` code" 2021-08-16 17:36:13 +00:00
Lucas Alvares Gomes
4e325088d3 [OVN] Document Network Availability Zones
This patch adds the documentation to the Network Availability Zones
support in OVN. Instead of having two documentation pages, one for router
AZs and another one for network AZs, this patch merges both guides into
one single documentation. Setting up AZs in OVN is the same for both
types and the differences between the two are documented within their
own sections.

The patch also removes a limitation listed in the SR-IOV documentation
for OVN since we no longer have a default HA Chassis Group. This
limitation was removed as part of the Network AZ work.

Change-Id: I55f27a5473dcd1e6e2255007108c2008acfb6dec
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
2021-08-16 11:59:48 +01:00
Rodolfo Alonso Hernandez
ad31c58d60 Remove `ConfDriver` code
The quota driver ``ConfDriver`` was deprecated in Liberty release.

``NullQuotaDriver`` is created for testing although it could be used
in production if no quota enforcement is needed. However, because
the Quota engine is not plugable (is an extension always loaded), it
could be interesting to make it plugable as any other plugin.

This patch also creates a Quota engine driver API class that should be
used in any Quota engine driver. Currently it is used in the three
in-tree drivers implemented: ``NullQuotaDriver``, ``DbQuotaDriver``
and ``DbQuotaNoLockDriver``.

Change-Id: Ib4af80e18fac52b9f68f26c84a215415e63c2822
Closes-Bug: #1928211
2021-07-26 15:00:32 +00:00
Stephen Finucane
b6d2f07782 doc: Remove references to dead VMWare NSX extensions
There are a number of extensions that were removed from the vmware-nsx
package as part of the removal of NSX-MH support in 15.0.0 (October
2019) [1]. We don't need to keep references to these. You can prove this
by grepping for the various references config options in the current
source tree and using 'git log -S' to find the patches that removed
things.

[1] 26135f34ac

Change-Id: I6f4489b14b164e4699a600acac84065dfe1231dc
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2021-07-22 12:06:58 +01: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
c3b99a64fc Revert "[OVN][Placement] Add a SB Chassis event to track changes in BW config"
This reverts commit df5cb28737453e2dfee17e177160fa6d7a59b7e0.

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
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
Slawek Kaplonski
cde0f68f9e [OVN] Add binding-extended to the ML2_SUPPORTED_API_EXTENSIONS
This extension should be enabled with ML2/OVN backend also but
recent changes in how supported extensions are calculated ([1])
it was filtered out.

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

Closes-Bug: #1933954
Change-Id: Ic8ab322683e72101a8f797b108bf23bc169092cb
2021-06-29 12:10:39 +02:00
Slawek Kaplonski
0cd01edc9c [OVN] Add subnet-service-types as supported by OVN mech driver
This API extension is supported by ML2 plugin and is database only
thing. So there is no need to filter it out when OVN backend is used.

Related-Bug: #1933115
Change-Id: Ica4490d3ec36e227301e3f3a7b093750b2e18b83
2021-06-23 09:42:30 +02:00
Zuul
17327363fd Merge "[Docs] Add info about vlan transparent networks' MTU" 2021-06-21 17:51:18 +00:00
Slawek Kaplonski
c7e1de09e1 [Docs] Add info about vlan transparent networks' MTU
MTU configured inside instances which are connected to the networks
with enabled transparent vlan needs to have MTU set to 4 bytes less
than it is provided by DHCP to make space for additional vlan
header.
This is required only if instance will have some vlan tagged interfaces
configured.

Closes-bug: #1906318
Change-Id: Ia6691cbe35a1e874857ec94660ac4b1850586305
2021-06-16 14:03:33 +02:00
Roman Safronov
8f656aab7c Fix QoS dscp rule permissions in documentation
Closes bug: #1932016

Change-Id: I1d60c9c694a6d6821f3ab5a8ab96cbee9c3244c1
2021-06-15 15:28:31 +03:00
Zuul
f042d690be Merge "[OVN] Add 'port-mac-address-regenerate' to the supported extensions" 2021-06-13 03:03:52 +00:00
Zuul
389584c389 Merge "[Doc] Remove one of the known DVR HA limitations" 2021-06-11 07:26:37 +00:00
Slawek Kaplonski
4173fb6ca3 [Doc] Remove one of the known DVR HA limitations
Migration to/from the DVR HA router is now supported
from/to all other router types. All is tests in the
neutron_tempest_plugin.scenario.test_migration module.

Change-Id: Ib156b330c12f75bdb436e64c777425acaf7a9067
2021-06-10 08:04:02 +00:00
Rodolfo Alonso Hernandez
c0846c6518 Fix "config-routed-networks" document errors
Fixed "config-routed-networks" document errors reported in [1].

Related-Bug: #1923592

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

Change-Id: I3a0e83c1ca273582233fb7788c81e4ba298bc6d0
2021-06-09 15:37:48 +00:00
Slawek Kaplonski
6fb2f513da [OVN] Add 'port-mac-address-regenerate' to the supported extensions
In fact this API extension is independent of the mech driver and should
be listed as supported by the OVN mech driver to not be filtered out
from the list of actually available extensions.

Related-Bug: #1929676
Change-Id: Ie2d5c52ce09b1b366717830f0af53f26366ee4b8
2021-06-05 13:03:10 +02:00