Commit Graph

78 Commits

Author SHA1 Message Date
Zuul 260fed1054 Merge "reno: Update master for unmaintained/victoria" 2024-03-21 10:12:04 +00:00
Zuul 0ab31df340 Merge "reno: Update master for unmaintained/wallaby" 2024-03-21 10:12:03 +00:00
Zuul 36e77894bf Merge "reno: Update master for unmaintained/xena" 2024-03-21 10:12:02 +00:00
OpenStack Release Bot 6174366bf0 Update master for stable/2024.1
Add file to the reno documentation build to show release notes for
stable/2024.1.

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

Sem-Ver: feature
Change-Id: If84e5ae82ffb6bbc6d58ac4526404f8504f0aec8
2024-03-12 18:14:45 +00:00
OpenStack Release Bot 0b1847a9f3 reno: Update master for unmaintained/xena
Update the xena release notes configuration to build from
unmaintained/xena.

Change-Id: I451cebf055061beba6c69e81d7980b206797c193
2024-03-05 18:51:42 +00:00
OpenStack Release Bot 500e34b334 reno: Update master for unmaintained/wallaby
Update the wallaby release notes configuration to build from
unmaintained/wallaby.

Change-Id: Iab42dd3d6150026669c52b2e39702e6a067a8fce
2024-03-05 18:50:06 +00:00
OpenStack Release Bot f3c6c34297 reno: Update master for unmaintained/victoria
Update the victoria release notes configuration to build from
unmaintained/victoria.

Change-Id: Icfd5238438045fb632c1b1a053b28678b0414340
2024-03-05 18:48:08 +00:00
OpenStack Release Bot 65db98dc4e reno: Update master for unmaintained/yoga
Update the yoga release notes configuration to build from
unmaintained/yoga.

Change-Id: I70f0efd7e01211ce851380844b1e77f8bd53ba4c
2024-02-06 14:27:21 +00: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
OpenStack Release Bot 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
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
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
OpenStack Release Bot 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 067b816732 Merge "remove unicode from code" 2022-12-06 11:40:45 +00:00
OpenStack Release Bot 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
Zuul 18bd440bbe Merge "Check for hybrid plugging in OVS" 2022-06-30 16:04:54 +00: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
OpenStack Release Bot 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
OpenStack Release Bot 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 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
2021-07-12 19:12:01 +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
OpenStack Release Bot e1ad9ea7f4 Update master for stable/wallaby
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
2021-03-19 19:48:12 +00:00
Zuul cb21c4ed8d Merge "Fix - os-vif fails to get the correct UpLink Representor" 2020-10-22 04:49:08 +00:00
Mamduh Alassi b37de19c58 Fix - os-vif fails to get the correct UpLink Representor
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
2020-10-21 10:35:22 +03:00
OpenStack Release Bot 9ba221e667 Update master for stable/victoria
Add file to the reno documentation build to show release notes for
stable/victoria.

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

Change-Id: I0690391e0c47169b8397e250593644636d2a80a4
Sem-Ver: feature
2020-09-10 09:45:32 +00:00
Sean Mooney d7928102d6 deprecate ovs-vsctl driver and make native the default
The native ovsdb backend was added in stein with the
intent of making it the default in train and removing
the vsctl backend in ussuri.

The default was never changed and the deprecation was
not done so this change now does both.

Change-Id: Iaeeb7eaa656611b3ae571c391d51fcbfd2b59670
2020-09-01 19:04:26 +00:00
Andreas Jaeger 94f17912c5 Switch to newer openstackdocstheme and reno versions
Switch to openstackdocstheme 2.2.1 and reno 3.1.0 versions. Using
these versions will allow especially:
* Linking from HTML to PDF document
* Allow parallel building of documents
* Fix some rendering

Update Sphinx version as well.

openstackdocstheme renames some variables, so follow the renames
before the next release removes them. A couple of variables are also
not needed anymore, remove them.

Change pygments_style to 'native' since old theme version always used
'native' and the theme now respects the setting and using 'sphinx' can
lead to some strange rendering.

See also
http://lists.openstack.org/pipermail/openstack-discuss/2020-May/014971.html

Change-Id: I612722e75975d6cfd5fc61037834b675117019e7
2020-05-22 17:30:44 +00:00
OpenStack Release Bot 4d4d1c604c Update master for stable/ussuri
Add file to the reno documentation build to show release notes for
stable/ussuri.

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

Change-Id: I35b412e4f2fd9d2ba995149b11a87ef2fe9e961b
Sem-Ver: feature
2020-04-30 17:04:46 +00:00
Eric Fried 7bad0f93bb Drop python2 support and testing
Change-Id: I1ce77e223674013754408b2db42b1fb6e80bb32b
2020-01-03 12:07:39 +00:00
OpenStack Release Bot 11e6390aa2 Update master for stable/train
Add file to the reno documentation build to show release notes for
stable/train.

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

Change-Id: I3101a37559fed5876f9d1565a231792bbecfaf58
Sem-Ver: feature
2019-09-20 16:28:20 +00:00
Zuul d29c6e7765 Merge "only disable mac ageing for ovs hybrid plug" 2019-08-08 10:50:10 +00:00
Sean Mooney 655c83d706 only disable mac ageing for ovs hybrid plug
The mac ageing configuration on linux bridges is now
conditional and caller controlled. By default mac ageing
is unspecified and will use the kernel's default of 300
seconds. For ovs with hybrid plug we override this to
0 to prevent packet loss issue during some migration
edgecases. This change reverts disabling mac ageing
for the linux bridge plugin which was accidentally
introduced during the brctl removal via inheriting the
ovs plugin's default behavior when the bridge create
code became shared.

Change-Id: I95612352de6cdb47de98eb80c208dd1a74499d41
Closes-bug: #1837252
2019-08-07 18:54:47 +01:00
pengyuesheng 2540f858cd Bump the openstackdocstheme extension to 1.20
Some options are now automatically configured by the version 1.20:
- project
- html_last_updated_fmt
- latex_engine
- latex_elements
- version
- release.

Change-Id: Iacccbabe71f3b68bdf28ecc349571887f191a3cd
2019-08-01 10:28:56 +08:00
jacky06 cef202b083 Sync Sphinx requirement
1. Sync sphinx dependency with global requirements. It caps python 2 since
sphinx 2.0 no longer supports Python 2.7.
2. Update some URLs to latest
3. Remove unncessary "=="

Closes-Bug: #1835804
Change-Id: I36fbb56a56832d535facd9bff25d352c8f0274a1
2019-07-08 17:16:33 +01:00
Rodolfo Alonso Hernandez 9ad9b84839 Prevent "qbr" Linux Bridge from replying to ARP messages
The Linux Bridge in between the VM TAP interface and OVS should [1][2]:
- Reply only if the target IP address is local address configured
  on the incoming interface.
- Always use the best local address.

[1]http://kb.linuxvirtualserver.org/wiki/Using_arp_announce/arp_ignore_to_disable_ARP
[2]http://linux-ip.net/html/ether-arp.html#ether-arp-flux

Change-Id: I8721b680bbd9f59a67bd8e6855ffb291c208cdb8
Closes-Bug: #1825888
2019-04-26 09:19:55 +00:00
OpenStack Release Bot 3cc0b79b9e Update master for stable/stein
Add file to the reno documentation build to show release notes for
stable/stein.

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

Change-Id: I58513b876e0bcbeddbe84871e216b022684b7ab1
Sem-Ver: feature
2019-03-18 14:42:49 +00:00
Rodolfo Alonso Hernandez 1546d349b1 Add native implementation OVSDB API
Added native implementation OVSDB API. Both APIs may be enabled
via configuration file. The default one is the CLI vsctl.

A new configuration variable, ``ovsdb_connection``, is added to
define the connection string for the OVSDB backend.

Added functional tests to vif_plug_ovs. This commit also includes
the base functions to execute functional tests and a set of them
to test the OVSDB APIs: native and ovs-vsctl.

Closes-Bug: #1666917
Change-Id: I86fbf8c67572e51889eb091d7bff7f9350b52481
2019-02-26 18:15:14 +00:00
Jan Gutter 646839649f Fix nits in brctl removal (vif_plug_linux_bridge)
This commit fixes the nits caught in:
Id03be72e22302a0954f3e47c116f389cb4304c03

Change-Id: Ib7fcb3c6f809222c33d163fe7a2d854016c7d392
Signed-off-by: Jan Gutter <jan.gutter@netronome.com>
2019-02-25 16:22:57 +02:00
Sean Mooney 1f6fed6a69 remove use of brctl from vif_plug_linux_bridge
- This change replaces calls to brctl with calls
  to the ip_command interface.
- This change adds a release note for the brctl
  removal.
- This change removes the use of tee to disable
  ipv6 in the linux bridge plugin.

Change-Id: Id03be72e22302a0954f3e47c116f389cb4304c03
Closes-Bug: #1801919
2019-02-21 15:13:07 +00:00
Sean Mooney 86ad3cb242 do not always plug ovs ports.
As part of resolving bug #1734320 the os-vif ovs plugin
was modified to always plug the vif to ovs in all code paths.
This change reverts that behavior as it has been determined
that libvirt will recreate the port which introduces new
issues for neutron and breaks the intent of the os-vif change.

Change-Id: I76a2de2e8077d8a931af0056690dad4a569e228a
Related-Bug: #1728600
Related-Bug: #1808171
Related-Bug: #1811405
2019-01-18 19:10:58 +00:00
Zuul 848f7a034a Merge "Extend port profiles with datapath offload type" 2019-01-16 11:28:42 +00:00
Jan Gutter e8f541fa0c Extend port profiles with datapath offload type
TC Offload capabilities have been present in Linux Kernel 4.13 for
hardware offloads. Currently OVS supports offloads (for OVS 2.8 and later)
with similar efforts planned for vrouter (OpenContrail and Tungsten
Fabric).

The existing method in os-vif is to pass the metadata required for
plugging via a VIFPortProfileOVSRepresentor port profile object. This is
used by the 'ovs' reference plugin and the external 'agilio_ovs' plugin.

With 'vrouter' being the third user of such metadata, it would be more
elegant to clean up this interface by using a composition pattern rather
than an inheritance based pattern.

Change-Id: I401ee6370dad68e62bc2d089e786a840d91d0267
Needed-By: I327894839a892a976cf314d4292b22ce247b0afa
Signed-off-by: Jan Gutter <jan.gutter@netronome.com>
blueprint: generic-os-vif-offloads
2019-01-14 17:23:22 +02:00
Sean Mooney d291213f1e add isolate_vif config option
- This change add a new isolate_vif config
  option to the OVS plugin.

- The isolate_vif option defaults to False
  for backwards compatiblity with SDN-based
  deployments.

- This change is a partial mitigation of bug
  1734320, when isolate_vif is set to True
  os-vif will assign VIFs to the neutron
  l2 agent dead VLAN 4095. This should only
  be set when using the ml2/ovs neutron
  backend.

Change-Id: I87ee9626cc6b4a01465a6b1908bc66bc7be0a4bc
Partial-Bug: #1734320
2018-12-07 12:21:44 +00:00
Sean Mooney 165ed32591 always create ovs port during plug
- This change modifies the ovs plugin to always
  create the ovs interface in the ovs db.
- This change enables the neutron l2 agent to configure
  the ovs interface by assigning a vlan tag and
  installing openflow rules as appropriate.
- This change will reduce the live migration
  time for kernel ovs ports with hybrid plug false
  by creating the ovs port as part of plug before
  the migration starts.
- This change adds the privsep decorator
  to delete_net_dev to account for it new usage
  via _unplug_vif_generic and address bug #1801072

Change-Id: Iaf15fa7a678ec2624f7c12f634269c465fbad930
Partial-Bug: #1734320
Closes-Bug: #1801072
2018-11-21 20:17:57 +00:00
Rodolfo Alonso Hernandez 512e64d794 Remove IPTools deprecated implementation
IPTools driver [1] was implemented to avoid a bug in pyroute2 library,
currently solved. This implementation was marked as "deprecated" two
releases ago.

[1] 570c05266f

Change-Id: I16b180a298e104f393b5f665409cdf4ba5bff203
Closes-Bug: #1794524
2018-10-09 08:58:06 +01:00
Rodolfo Alonso Hernandez 7bfb01bcb1 Add abstract OVSDB API
Abstract all existing 'ovs-vsctl' calls to an abstract OVSDB API.
This will allow the future addition of a native OVSDB protocol
implementation of the API without breaking backwards compatibility.

Partial-Bug: #1666917
Change-Id: I9ec36be390d713a928a673191008612f3fddad8f
2018-10-08 12:09:36 +01:00
OpenStack Release Bot f2206168bd Update reno for stable/rocky
Change-Id: I376f015af3107d344115fac59d9632b6af889c01
2018-07-26 12:36:02 +00:00