440 Commits

Author SHA1 Message Date
Takashi Kajinami
5c41f9f700 Fix missing or unnecessary dependencies
This fixes the following problems with current requirements and test
requirements.

- netaddr is not used

- oslo.serialization and oslo.utils are imported but are not listed in
  requirements.

This also fixes the workaround for python 2 from setup.py because
python 2 support was removed some time ago.

In addition, the described behavior of pip was already fixed in
recent versions.

Change-Id: I63a56adf73c221c8f5f725c2689ddf953f90c654
2024-02-19 10:40:44 +09:00
Zuul
a10ac95be1 Merge "coveragerc: Remove non-existent path" 3.4.0 2023-12-19 15:38:14 +00:00
Takashi Kajinami
09a3ecebf9 coveragerc: Remove non-existent path
The os_vif/openstack directory does not exist.

Change-Id: Iff0b027941d207d732863dc74f0a6c41300d4102
2023-12-19 20:58:39 +09:00
Zuul
03a53003f8 Merge "Deprecate Windows support" 2023-12-11 13:29:07 +00:00
Takashi Kajinami
077e43698e Deprecate Windows support
Because WinStackers project has been retired, running OpenStack on
Windows operating systems is no longer maintained.

Change-Id: Ic5971ee22aa309a8b46f21fccaa8be7c0091fb0c
2023-11-18 17:37:28 +00:00
458e8d5d9c Update master for stable/2023.2
Add file to the reno documentation build to show release notes for
stable/2023.2.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2023.2.

Sem-Ver: feature
Change-Id: I64f66933e552981b4affd841f640742d1f80bbb9
3.3.0
2023-09-07 09:37:02 +00:00
Vasyl Saienko
0a0dec37e4 Don't break traffic if port already exists
Nova compute service plugs VIF on service init, it triggers
rules reinitialization for iptables filter. But it breaks
traffic in case isolate_vif is used by assigning dead VLAN
to the port. This patch prevents dead VLAN assingment
for ports that exists.

Co-Authored-By: aarefiev@mirantis.com

Closes-Bug: #2023300

Change-Id: Ib1b7467fce9facfbfcd698bf6e9f950c0cead650
2023-06-08 15:52:50 +00:00
Zuul
da742a849a Merge "set default qos policy" 3.2.0 2023-05-11 13:42:10 +00:00
Sean Mooney
79be30fd13 remove focal based jobs
ubuntu 20.04 is no longer a tested runtime.
This patch removes the  os-vif-ovn-ubuntu-focal job
from  the check and gate pipeliens and removes the job defintion.

Change-Id: I3304b7a1d489e281fbceff19dcc97cbd6dadee13
2023-05-09 21:39:35 +01:00
Sean Mooney
c0d101aa81 set default qos policy
This change modifies the os-vif ovs plugin to set a default
tc qdisc on ovs interface when the host os is not windows
and the system datapath is used.

This change fixes a "silent" bug in the functional test code due
to a change in an ovsdbapp function signiture to accpet a new paramater.

Closes-Bug: #2017868
Change-Id: Id9ef7074634a0f23d67a4401fa8fca363b51bb43
2023-05-09 20:02:48 +01:00
6795bf63a2 Update master for stable/2023.1
Add file to the reno documentation build to show release notes for
stable/2023.1.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2023.1.

Sem-Ver: feature
Change-Id: I71e5f6c041bf8445da99bfb6f284b69f2ae10350
2023-02-24 15:09:00 +00:00
Zuul
54bae86c25 Merge "Implement "BaseCommand" result property" 3.1.1 2023-02-06 18:32:46 +00:00
Rodolfo Alonso Hernandez
b052dfe2f1 Increase the swap size to 8GB in tempest jobs
That should reduce or avoid the ocurrency of frequent OOM exceptions
during the execution of the tempest tests.

Change-Id: Ie67df706a560cd510015f9fb3c94d9353dd6159f
2023-02-03 16:37:51 +01:00
Rodolfo Alonso Hernandez
15e1327dc3 Implement "BaseCommand" result property
``ovsdbapp.api.Command`` abstract class will declare the "result"
property in [1]. This should be available in the next library
release.

Related-Bug: #1995078

[1]https://review.opendev.org/c/openstack/ovsdbapp/+/871836/11/ovsdbapp/api.py

Change-Id: I98fd0be0b7d3ca8dd631b00b75515b1ad0d61f3c
2023-01-26 02:57:27 +01:00
Ghanshyam Mann
03417ac879 Update gate jobs as per the 2023.1 cycle testing runtime
As per 2023.1 testing runtime[1], we need to test on Ubuntu
Jammy (which will be taken care by tempest and devstack patches
to move base jobs to Jammy) and at least single job to run on
Ubutnu Focal (for smooth upgrade). Also, python 3.10 testing is
voting now.

This commit adds a new job to run on focal which can be removed
in future cycle when testing runtime drop the requirement of Focal
testing.

[1] https://governance.openstack.org/tc/reference/runtimes/2023.1.html

Change-Id: I17cc6d619e7becff6b33fd66a47d3a9621b823fb
2023-01-09 11:42:51 +00:00
Balazs Gibizer
2f31947393 Make tox.ini tox 4.0.0 compatible
* removed skipdist=True to make sure os-vif is available in the virtual
  env
* removed basepython = python3 as we assume all developer switched to
  python3 in their env already
* removed ignore_basepython_conflict = True as without the basepython
  definition generative targets now work without conflict

Also squashed in the commit fixing the functional target as both fix is
needed to unblock the gate:

add CAP_DAC_OVERRIDE to test privsep contexts

This change modifes the privsep contexts used by the test
code to create inteface without using the os-vif plugins.

The os-vif functional tests actully create ovs and linux
brdiges and dummy netdevs. to ensure the drier work correctly
the functional tests have a simpler test only version of the
port/brige management commands that are used to prepare
and validate the test env. The simpler implementation uses
standard linux commandline tools like "ip" or "ovs-vsctl"
which on ubuntu 22.04 require the addtion of CAP_DAC_OVERRIDE
to work around socket/file ownership issues.

To avoid  adding capablities at runtime that are not required
this change modifes the existing test only context in
the os_vif.tests.functional.privsep module and add a new test
context for the vif_plug_ovs plugin

Change-Id: Ide357cb64a8d128ff8ad978abae6a039e814d8a9
2023-01-09 12:30:15 +01:00
Zuul
067b816732 Merge "remove unicode from code" 2022-12-06 11:40:45 +00:00
Zuul
05c8a6880c Merge "Move mtu update request into ovsdb transaction" 3.1.0 2022-11-02 13:35:25 +00:00
Sean Mooney
b0298b5350 adapt to stestr 4.0 release
This change removes usage of --black-regex which is no longer supported
as of stestr 4.0.0. The min version of stestr is increased to 3.1.0
which adds --exclude-regex as a replacement.

Change-Id: I24424aeeb178fd9ab1b736cb689a73f7bd8bd572
2022-10-12 12:09:27 +01:00
Rajesh Tailor
2f55e9ea06 Move mtu update request into ovsdb transaction
os-vif currently set the requested mtu as part of separate request
to the port add command. As a result the port is initially created
with mbufer pool for the jumboframe size, which results in an
error in openvswitch-vswitch logs.

This change moves the mtu update request into ovsdb transaction.

Closes-Bug: #1959586
Change-Id: I1acd74efc100c6f949b5c72525c455aebfa2c50e
2022-09-19 16:39:39 +05:30
35705ba59f Switch to 2023.1 Python3 unit tests and generic template name
This is an automatically generated patch to ensure unit testing
is in place for all the of the tested runtimes for antelope. Also,
updating the template name to generic one.

See also the PTI in governance [1].

[1]: https://governance.openstack.org/tc/reference/project-testing-interface.html

Change-Id: Ie53a00cebcabea9fbdc5578333c11725d81f4fc6
2022-09-14 09:28:52 +00:00
f8d504049a Update master for stable/zed
Add file to the reno documentation build to show release notes for
stable/zed.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/zed.

Sem-Ver: feature
Change-Id: If59aa141d86f9096305498c4d56d35bc24729343
2022-09-09 15:03:54 +00:00
wangjiaqi07
a0bd6be312 remove unicode from code
Change-Id: I5c47a6089c66972b330d0e6f344bb744ac46624d
2022-08-25 11:25:48 +08:00
Sean Mooney
771dfffcd9 update ci since linuxbridge is now experimental
neutron now considers linuxbridge to be experimental
This change enables the linuxbridge feature in the
linuxbridge job. we do not currently declare the
linuxbridge os-vif plug as experimental as it has
been stable for many release and we do not have an
experimental concept in os-vif.

Change-Id: Ia275d1c3a9a9cf63238cf354c8e7d93ed59097a2
Closes-Bug: #1980948
3.0.0
2022-07-07 12:52:41 +01:00
Zuul
18bd440bbe Merge "Check for hybrid plugging in OVS" 2022-06-30 16:04:54 +00:00
Ghanshyam Mann
1651a730c1 Drop lower-constraints.txt and its testing
As discussed in TC PTG[1] and TC resolution[2], we are
dropping the lower-constraints.txt file and its testing.
We will keep lower bounds in the requirements.txt file but
with a note that these are not tested lower bounds and we
try our best to keep them updated.

[1] https://etherpad.opendev.org/p/tc-zed-ptg#L326
[2] https://governance.openstack.org/tc/resolutions/20220414-drop-lower-constraints.html#proposal

Change-Id: I38a41071ac540e3b58f9d18ead88b86203a4c843
2022-06-16 13:46:59 +09:00
Zuul
b95daaecd3 Merge "Delete trunk bridges to avoid race with Neutron" 2022-05-31 15:41:32 +00:00
Zuul
124933574c Merge "Change minversion of tox to 3.18.0" 2022-05-30 21:24:29 +00:00
Miguel Lavalle
75b290fb2a Delete trunk bridges to avoid race with Neutron
During the Zed PTG it was decided that to solve the race condition
between os-vif and Neutron when deleting trunk bridges, os-vif will be
responsible of both the creation and the deletion of the bridge (see Day
2 first topic at [1]). This change adds the code to delete trunk
bridges.

[1] https://lists.openstack.org/pipermail/openstack-discuss/2022-April/028164.html

Change-Id: I7d834a0c31c801e96002f42f86409ba274c234e6
2022-05-26 14:27:52 -05:00
Sean Mooney
a12edbfe54 update job template to zed
This change updates the python job template to zed
this will disable py36 jobs and enable the default set
for zed. The repo presently used the yoga template
which now fails as a result of project dropping py36 support.

This change also increases the min python reqired to 3.8
to match the zed supported runtimes and adds a release note.

Change-Id: I50253be0c99df9b363da5f6cc0c8502536dbbb43
2022-05-26 14:43:49 +01:00
Jakub Libosvar
9ace551db2 Check for hybrid plugging in OVS
There is a cold migration scenario that leaves some interfaces behind in
case port binding changes from hybrid to direct plugging between the
nodes. This patch adds functionality that checks presence of
intermediate linux bridge and clears things up properly if found.

Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
Change-Id: Ic5b38a0467b3c18e38bec005d80cd1f5f0e66b28
2022-04-25 18:32:39 +00:00
Zuul
987c76d7c8 Merge "Fix race with DPDK and vhostuserclient mode" 2.8.0 2022-04-01 19:25:37 +00:00
Takashi Natsume
95fbe6abc8 Change minversion of tox to 3.18.0
The patch bumps min version of tox to 3.18.0 in order to
replace whitelist_externals with allowlist_externals option:
https://github.com/tox-dev/tox/blob/master/docs/changelog.rst#v3180-2020-07-23

Change-Id: I38c2a7277f33203f3a8b51f01d75ce15730a969f
Signed-off-by: Takashi Natsume <takanattie@gmail.com>
2022-03-04 17:04:06 +00:00
93fde12c39 Update master for stable/yoga
Add file to the reno documentation build to show release notes for
stable/yoga.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/yoga.

Sem-Ver: feature
Change-Id: Ide7a6f4c4307464087612b481a109111d49af843
2022-03-03 10:51:00 +00:00
Miguel Lavalle
21b076e7df Fix race with DPDK and vhostuserclient mode
When a VM is rebooted and it has a port in a Neutron trunk with DPDK and
vhostuserclient mode, Nova will delete the OVS port and then recreate it
when the VM reboots. This quick transition can create a race condition
whereby Neutron deletes the trunk's bridge between the interface removal
and addition by os-vif, so the latter operation fails because the bridge
doesn't exist anymore. To fix this, ensuring the bridge existance and
the vif addition becomes an atomic operation from the point of view of
the OVSDB transaction.

This change is associated to [1] on the Neutron side.

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

Partial-Bug: #1869244
Change-Id: Id7ece4ebc9239d9776c43b8d7f9e82b0319a08c6
2022-02-20 18:36:57 -06:00
Zuul
7f9e9b8a74 Merge "Fix typos" 2.7.1 2022-01-05 12:24:28 +00:00
Ghanshyam Mann
8fa891805c Updating python testing classifier as per Yoga testing runtime
Yoga testing runtime[1] has been updated to add py39
testing as voting. Unit tests update are handled by the
job template change in openstack-zuul-job

- https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/820286

this commit updates the classifier in setup.cfg file.

[1] https://governance.openstack.org/tc/reference/runtimes/yoga.html

Change-Id: I12c88a6154a0b004bd0008bf030644b25b6349f1
2021-12-14 02:20:16 +00:00
Zuul
a85d276195 Merge "only register tables used by os-vif" 2.7.0 2021-11-03 17:03:02 +00:00
Zuul
b0c42708a5 Merge "Use TCP keepalives for ovsdb connections" 2021-11-03 16:59:59 +00:00
ericxiett
4b4f291545 Fix typos
Change-Id: I605bcdde50a3e4427af74ba616887c15c787a40a
2021-09-21 09:33:29 +08:00
b30c7fc7f8 Add Python3 yoga unit tests
This is an automatically generated patch to ensure unit testing
is in place for all the of the tested runtimes for yoga.

See also the PTI in governance [1].

[1]: https://governance.openstack.org/tc/reference/project-testing-interface.html

Change-Id: I490ce12e1651ecfcd6ed7ca721ccd5ea4f5ef171
2021-09-10 15:20:24 +00:00
067fd6a3d2 Update master for stable/xena
Add file to the reno documentation build to show release notes for
stable/xena.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/xena.

Sem-Ver: feature
Change-Id: I95ebbc634530e097b223adb01a21573f13b89766
2021-09-10 15:20:20 +00:00
Sean Mooney
e4dc8b5664 only register tables used by os-vif
This change limits the tables registered in the native driver
to the set actully used by os-vif. This will shorten the inital
startup time and reconnection time if the ovs db connection is dropped.
as a result this will help mitigate bug #1929446 where on reconnection
the nova compute agent can stall until reconnection is completed.

Change-Id: I635dff2b4fcff905ca8f431eb7e928265200f92a
Partial-Bug: #1929446
2021-08-23 13:25:41 +01:00
Sean Mooney
09c0629bb7 Use TCP keepalives for ovsdb connections
Ultimately, this is something that should be fixed in python-ovs,
but setting the SO_KEEPALIVE socket option benefits the client by
removing the need to send 'echo' requests, which can time out on
an overloaded ovsdb-server, which causes a disconnection which then#
adds even more load on the ovsdb-server as it has to send the entire
db contents over the wire after the connection is restored.

This patch ports the optimisation form neutron to reduce the likelyhood
of a reconnection which can cause the nova compute agent to hang
temporarily while the connection is reestablished.

Change-Id: I984ec62730276f8ee60d71a02a98fbfc4c37f7d8
Related-Bug: #1930926
Partial-Bug: #1929446
2021-08-23 12:39:25 +01:00
Sean Mooney
b837c1a74f add configurable per port bridges
This patch add a new configuration option to use
per port bridge when hybrid_plug is false.
This can be used with OVN to reduce packet loss
during a live migration.

OVN can only install openflow rules when a port both has
external_ids set and an ofport-id assigned.
Since the ofport-id is only assigned when a netdev matching
the port name exists connected to the dataplane, OVN cannot
install the flows until libvirt create the tap on the destination
host during a live migration.

On loaded systems this can result in multiple seconds of packet loss.
To address this we introduce per port bridges which are connencted
to the integration brige by a patch port pair. Since the patch port
will exist on the dataplane during pre live migration OVN can install
the flows on the integration bridge before we begin the migration reducing
or avoiding packet loss.

Change-Id: I0d55ccbef5b585330b5512e67e442b80304a2e73
Depends-On: https://review.opendev.org/c/openstack/nova/+/797428
Closes-Bug: #1933517
2.6.0
2021-07-12 19:12:01 +00:00
Sean Mooney
b75af3ae13 update os-vif ci to account for devstack default changes
This change restores the os-vif-ovs-iptables job to deploying
with ml2/ovs follow the devstack default change to ovn.

This change replaces the os-vif-ovs job with an os-vif-ovn jobs.

This change also simplifies teh os-vif-ovs-base job by disabling
DVR since that does not change the behavior of os-vif.

This change reduces the job time out to 7800 and moves it
to os-vif-tempest-base.

Closes-Bug: #1933590
Change-Id: Icda02ec4b5be18c3646af7988f210baf4ceb0890
2021-07-06 10:13:16 +00:00
Zuul
e937367119 Merge "setup.cfg: Replace dashes with underscores" 2.5.0 2021-05-14 16:32:36 +00:00
David Vallee Delisle
c9b2077786 Creating oslo.config.opts entry_points for plugins
To assist with automated configuration validation, we need entry points
for oslo.config.opts for each one of the plugins.

Change-Id: I7fc132f917949d147dd6371d54e01a6cfd995aae
2021-05-11 05:57:24 -04:00
XinxinShen
fcfa244478 setup.cfg: Replace dashes with underscores
Setuptools v54.1.0 introduces a warning that the use of dash-separated
options in 'setup.cfg' will not be supported in a future version [1].
Get ahead of the issue by replacing the dashes with underscores. Without
this, we see 'UserWarning' messages like the following on new enough
versions of setuptools:

  UserWarning: Usage of dash-separated 'description-file' will not be
  supported in future versions. Please use the underscore name
  'description_file' instead

[1] https://github.com/pypa/setuptools/commit/a2e9ae4cb

Change-Id: Idf24b85695e7375765fcd6cc4c8988dc2a6be790
2021-05-05 16:51:17 +08:00
d8af3568b8 Add Python3 xena unit tests
This is an automatically generated patch to ensure unit testing
is in place for all the of the tested runtimes for xena.

See also the PTI in governance [1].

[1]: https://governance.openstack.org/tc/reference/project-testing-interface.html

Change-Id: I5978186792c12a98bc0af2f3bb8aeb8db88ae799
2021-03-19 19:48:27 +00:00