Commit Graph

17 Commits (72c7a90b55a3d233b32f133fcaf631a076e76e04)

Author SHA1 Message Date
Lucas Alvares Gomes 59db786ec3 Remove DevStack workaround
This is not needed anymore since DevStack has been fixed.

Change-Id: I3c3237d3bba4664abf5562c1272e9bd233444140
Depends-On: Ib5a8ffe63eaec15bc29bfdd133db7169507bab82
6 years ago
Lucas Alvares Gomes c82ee932d4 Disable horizon for the tests in the gate
Horizon has been disable by defaul in devstack-gate
(, just like many other
projects, networking-ovn also doesn't test horizon in the gate so
there's no reason to keep it enabled.

Change-Id: Id83583b360e60c038f63b3caaf0c0595a6b9df3e
6 years ago
Russell Bryant ac226200ab Remove DHCP and L3 agent remnants.
Both the L3 and DHCP agents are no longer supported.  Remove many more
remnants from when they were supported.

Change-Id: If71489f9ac56c7c26746d0fbfb4640e570591f26
Signed-off-by: Russell Bryant <>
6 years ago
Russell Bryant 92952f0165 Clarify that native L3 is always used.
Remove all remaining remnants of L3 agent support.

Change-Id: Ia9e97837e6eb1a23435f2def74060032ce0e5409
Closes-bug: 1626717
Signed-off-by: Russell Bryant <>
6 years ago
Numan Siddique f4ab65d384 Support native OVN DHCPv4
OVN has added a new DHC_Options table in OVN NB DB to define
DHCP options. Logical Switch ports refer to this table if
DHCP is to be enabled.

This patch creates rows for DHCP_Options for each of the
subnets and adds the reference to the ports when created.

If extra DHCP options are defined for a port, a new
DHCP_Options row is created for the port.

Change-Id: Ia3e229f86bf66f5b9b0d867ff41f56ed4be2e8f4
Closes-bug: #1514488
7 years ago
Richard Theis e1fac0fa31 Update to neutron-ovs-cleanup gate failure fix
Rework previous fix for gate failures [1] based on review
comments. Instead of overriding the neutron-ovs-cleanup command,
this fix will copy the applicable OVS bridge setup functions
from DevStack with the neutron-ovs-cleanup command removed.


Change-Id: I438f1eea732f28826c0061b16ddaf3f82685a6f7
7 years ago
Richard Theis c66ff8988c Fix gate failures
Neutron now enables the OVSDB native interface by default [1].
As a result, the neutron-ovs-cleanup command hangs when run
during with OVN. The command was being run as part of
DevStack neutron OVS bridge setup and neutron L3 agent setup.
Since the command does not appear to be necessary, this patch
set overrides the command within the networking-ovn DevStack

Also, neutron unit tests import testresources. To get tox py27
and py34 working correctly, testresources must be added to the
requirements. This fix was copied from [2].


Co-Authored-By: Amitabha Biswas <>

Change-Id: I6d934efe871d270bee07627394e2879ad9f56c06
7 years ago
Jenkins a4f7289a55 Merge "Support vlan tenant network type" 7 years ago
Jenkins 7a935154fa Merge "Support geneve tenant network type" 7 years ago
Richard Theis 12682f8c38 Use blank default for Q_AGENT
OVN doesn't have a neutron L2 agent and as a result, disables
the q-agt service. Since the service is disabled, Q_AGENT should
also be cleared instead of using the "openvswitch" default. The
default currently provides additional provider network setup
when Q_USE_PROVIDER_NETWORKING=True as noted in [1].

Prior to the ML2 conversion, Q_PLUGIN was set to "ovn" and
Q_AGENT wasn't set.


Change-Id: I2ba9256ca92a311190a6de2a84136ae46bd4bc05
7 years ago
Richard Theis d502f35b0e Support vlan tenant network type
OVN already supports VLAN provider networks. This support works
as-is for VLAN tenant networks under the ML2 framework. Therefore,
no code changes are required. However, documentation changes are

In addition, update the OVN DevStack plugin and related install
documentation to only set supported type drivers.

Change-Id: I874222be56347003df01fc3fb1107d5bbecf482d
Co-Authored-By: Matt Kassawara <>
Closes-Bug: #1588966
7 years ago
Richard Theis c6461e61ab Support geneve tenant network type
Update the OVN DevStack plugin to use the geneve tenant network
type. This includes related install documentation updates for

This patch set also validates network creation precommit. The
validation will ensure a valid network type is used and that
a multi-provider network isn't created (they will be supported
with routed networks).

A follow-on patch set will support vlan tenant network type.

Depends-On: Id75651dfe57a07045a6932a0369668f33c7eef09
Change-Id: I3e25999b24c23413596f1a95f22f794712814ce8
Partial-Bug: #1588966
7 years ago
Richard Theis d6c544c449 Convert core plugin to ML2 mechanism driver
This patch set converts networking-ovn from a core
plugin to an ML2 mechanism driver.

This patch set completes the following conversion work:
- DevStack and Vagrant deployment updates for ML2
- Documentation and release note updates for ML2
- Removes core plugin code and refactors remaining code
  over to ML2 mechanism driver

The conversion work remains:
- Resolve the ML2 unit test TODOs
- Resolve concerns about ML2 mechanism driver _ovn
  property raised in [1].


Co-Authored-By: Richard Theis <>
Co-Authored-By: John Kasperski <>

Change-Id: Iffa596baa5c7520c1ca5ecddaab790c52e761460
Closes-Bug: #1578198
Closes-Bug: #1550278
7 years ago
Aaron Rosen 9db056ba6d Change override-defaults to not override Q_PLUGIN
Previously, if one wanted to try the ml2 plugin one would need to
manually modify this file. This is because it's source in the file and overrides the previous values in the env.
This patch fixes this by only setting Q_PLUGIN to 'ovn' if it's not
already set.

Change-Id: I44cd0c967d7d12e9166d974cfa41413c12cff3a5
7 years ago
Richard Theis 3dcc3398e3 Add initial ML2 mechanism driver support
This patch set adds the initial ML2 mechanism driver
suport while maintaining the core plugin support.
Deployments will continue to use the core plugin
by default. However, the core plugin will be removed
as part of a follow-on patch set which will complete
the conversion to ML2. In the meantime, dual maintenance
will be required once this patch merges.

This patch set supports the following:
- ML2 create, update, delete network
- ML2 create, update, delete subnet
- ML2 create, update, bind, delete port
- ML2 segments
- OVN worker and logical port events
- Security group callbacks and OVN ACLs
- L3 create, update, delete router
- L3 add and remove router interface
- Basic unit tests for ML2 and ACLs

A follow-on patch set will complete the remaining
conversion work which includes the following:
- DevStack and Vagrant deployment updates for ML2
- Documentation and release note updates for ML2
- OVN DB sync support
- QoS support
- Additional unit tests

Co-Authored-By: Richard Theis <>
Co-Authored-By: John Kasperski <>

Change-Id: I6143be464d4897b9fb22837797347746d82c41b0
Partial-Bug: #1578198
7 years ago
Richard Theis 9423fcafc0 DevStack: Fix when OFFLINE=True
Running with OFFLINE=True will fail with the following
error: "openvswitch-switch: unrecognized service"

This patch set fixes this problem by allowing the OVN plugin
to skip the default OVS install done by DevStack. This was done
by ensuring the OVN plugin doesn't override its own defaults.
This patch set also ensures install_ovn is called when
OFFLINE=True because DevStack will honor OFFLINE within the
common install functions.

Change-Id: I3526d7e77e29da9221c16e5ae35b1a08cc8c3457
Closes-Bug: #1537981
7 years ago
armando-migliaccio 8912cb8984 Make networking-ovn use its own config file
This change takes a number of steps to include and use a config
file for OVN.

a) It leverages [1] to generate the project config files on the fly;
b) It fixes DevStack's support to use the plugin's config file; both
   when generating db migrations and when running the service.


Closes-bug: #1493128
Closes-bug: #1493127

Depends-on: I4997b8eae1f433b1c23f20c06ba254568ac4982b
Change-Id: Ic6a5356191d42168bd0cda968032d64e1d6c6663
8 years ago