It's a bit cleaner to have the API classes define their own factory
methods instead of having so many if statements in get_connection().
Change-Id: I36f1f16d9eef32f4012b18685ee155cc4886e0c4
In RULES_INGRESS_TABLE table 82 there is a rule for allow established and
related connections. The current rule sends the packet directly to the dest
port without doing a mac learning. This is causing ovs to age out the dest mac
of the remote VM and causing the rule to be changed in flood rule. For the normal
case it fine as they try to avoid high cpu. ovs hardware offload reduce cpu usage
by moving some of the packet processing to nic and flood rule is not offloaded,
therefore it prefre to use the NORMAL action to avoid the flood rule.
We also keep the same logic as today when using explicitly_egress_direct=True
which avoid NORMAL action in the entire pipeline.
Closes-Bug: #1897637
Change-Id: I9b611d62be5d0529e8b35e3d8280baa5be54bc2b
In "IpAddrCommand.list" method, the "scope" parameter is a string
("link", "site", "global" or "host"). This method will retrieve all
devices with an IP address calling "ip_lib.get_devices_with_ip".
Since [1], "ip_lib.get_devices_with_ip" makes the conversion of
"scope" string parameter to pyroute2 format (see
"pyroute2.netlink.rtnl.rtscopes"). The list command should skip then
the previous conversion.
Closes-Bug: #1899141
[1]https://review.opendev.org/#/c/747406/
Change-Id: I55a0f4341b328af52ea3bd758a72f633fbe3abcb
Multinode OVN jobs are failing very often due to bug [1] so
lets disable dstat service in those jobs for now as workaround
of the problem.
[1] https://bugs.launchpad.net/ubuntu/+source/dstat/+bug/1866619
Change-Id: Id9bb16d9e3e649e1538bc33bd1b7e8eab7e74048
Closes-Bug: #1898863
Since plugin agents are a global resource, relying just on the
'type' field for test_agent_show may end up finding an agent that
we don't know about, and that agent could be deleted by another
test. This reworks test_agent_show to sepecifically look for its
own OVN controller agent and test agent.
This also adds the 'id' field to the returned agent_status from
create_or_update_agent() to make it possible to look for the agent
that was just created.
Change-Id: Ib840e7c51f7b918b5e17ce9deff9ceafacf063cc
Closes-Bug: #1899004
Since [0] was merged propagate_uplink_status value is True,
tempest (and neutron-tempest-plugin) is branchless, so
test_create_port_without_propagate_uplink_status and
test_create_port_with_propagate_uplink_status can be moved to
fullstack tests to keep the coverage.
[0]: https://review.opendev.org/744208
Change-Id: I8dfe76e75aa932e587d91f475317b7bac1f02ed9
Related-Bug: #1890842
When running migration from ML2OVS to ML2OVN using infrared plugin
some ML2OVS-specific templates remain in 'overcloud deploy' command.
This is not correct and can cause issues.
Change-Id: I41c81cd42ab85395cb5fc56f339d14f2e939ebbc
Closes-bug: #1896470
Router_info class and port_forwarding L3 extensions are using same
instance of the iptables manager class and it could happend that
method which sets address scope rules and method which sets
port forwarding nat rules where run in almost same time and
one of them was adding rules which wasn't expected to be added.
Because of that port forwarding rules wasn't configured properly.
This patch fixed that by adding lock for methods which are changing
rules in iptables_manager's nat table in both router_info and
port_forwarding extension.
Change-Id: Ic1d5f893a81b7b841745da82f38b7583e47e468d
Closes-Bug: #1896735
OVN mechanism driver has support for a defined set of ML2 API
extensions. When the ML2Plugin is loaded, the OVN mechanism driver
will return, from the loaded plugin extensions, only the supported
subset.
Change-Id: Id23aa1c107504d47b08007752159b07f089c3090
Related-Bug: #1888829
Maciej no longer works on Openstack, so remove him, and add
Flavio Fernandes as a replacement. Also added contact into
to the neutron-teams page.
Change-Id: I2f43a389644afcfa5a42571b6c5c093fd21560f1
If QoS service plugin is not loaded, the L3 QoS extension in the OVN
L3 plugin should not be loaded neither.
Prior to this patch, the extension drivers were checked to find the
QoS extension. Although it is a misconfiguration to have the QoS
extension without loading the QoS driver, that is handled correctly
by the Neutron server, disabling the extension silently.
Closes-Bug: #1898842
Related-Bug: #1877408
Change-Id: Iea5ff76fe652ab1c04e23850b9259547c1d54365
For some agent extension implementation, it may need the router_info
to do some clean up work. So this patch just moves the extension
delete action forward.
Closes-Bug: #1897423
Change-Id: I3434ec7c0942229b99e67de7500090dedb37b13f