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
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
That should reduce or avoid the ocurrency of frequent OOM exceptions
during the execution of the tempest tests.
Change-Id: Ie67df706a560cd510015f9fb3c94d9353dd6159f
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
* 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
To assist with automated configuration validation, we need entry points
for oslo.config.opts for each one of the plugins.
Change-Id: I7fc132f917949d147dd6371d54e01a6cfd995aae
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
Add file to the reno documentation build to show release notes for
stable/wallaby.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/wallaby.
Sem-Ver: feature
Change-Id: I325cda1fb9d0b0027c1f95db264483909bb57594
This is totally broken with the pip 20.3 resolver. Attempts to fix the
lower-constraints file manually didn't work out, so start specifying
only the direct dependencies here, relying on upper-constraints for the
given release to restrict everything else.
Two dependencies, python-subunit and testrepository, are removed as
these are no longer necessary. Another, hacking, is moved to 'tox.ini'
since we're not managing this via the u-c system and don't need this
here.
Change-Id: I4bdc0d422813ecee1566256ec237d34f200406ee
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
These were moved in Python 3.3 and the aliases are going away in 3.10.
Preempt that change.
Change-Id: Id09b52ac5e746d8e4818cb4218422fe36f5e72f4
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
flake8 new release 3.8.0 added new checks and gate pep8
job start failing. hacking 3.0.1 fix the pinning of flake8 to
avoid bringing in a new version with new checks.
Though it is fixed in latest hacking but 2.0 and 3.0 has cap for
flake8 as <4.0.0 which mean flake8 new version 3.9.0 can also
break the pep8 job if new check are added.
To avoid similar gate break in future, we need to bump the hacking min
version.
- http://lists.openstack.org/pipermail/openstack-discuss/2020-May/014828.html
Change-Id: I2155491aa65b11c36e0f2f7f0b53b405fb2b387a
Till kernel 5.7 PF and VF representors are exposed as virtual device.
They are not linked to its parent PCI device like how uplink
representor is linked.
Starting from kernel 5.8 due to new change [1] the PF and VF representors are
linked to their parent PCI device, and so "get_ifname_by_pci_address" fails
to get the correct UpLink Representor.
This patch modifys the behviour of "get_ifname_by_pci_address" to
check the physical port name of the netdev in
vf_pci_addr_path/physfn/net to match the formart for the uplink "p\d+".
[1] https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=123f0f53dd64b67e34142485fe866a8a581f12f1
Closes-Bug: #1892132
Change-Id: I49f6ae3f0e6bfbf555c8284bfd70371ce90da0c7
This is the new name recommended by the base zuul jobs [1]:
Path to a pip constraints file. Will be provided to tox via
``TOX_CONSTRAINTS_FILE`` (deprecated but currently still supported
name is ``UPPER_CONSTRAINTS_FILE``) environment variable if it exists.
While we're here, we remove a wholly unnecessary layer of environment
variable-based indirection.
[1] https://opendev.org/zuul/zuul-jobs/raw/branch/master/roles/tox/README.rst
Change-Id: Ic82672f5376988ef6c40d2aaebf1a9e59d3538ad
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>