Chapter 1. Open Virtual Network (OVN)

Open Virtual Network (OVN) is an Open vSwitch-based software-defined networking (SDN) solution for supplying network services to instances. OVN provides platform-agnostic support for the full OpenStack Networking API. OVN allows you to programmatically connect groups of guest instances into private L2 and L3 networks. OVN uses a standard approach to virtual networking that is capable of extending to other Red Hat platforms and solutions.

This release of the Red Hat OpenStack Platform (RHOSP) does not provide a supported migration from the ML2/OVS mechanism driver to the ML2/OVN mechanism driver. This RHOSP release does not support the OpenStack community migration strategy. Migration support is planned for a future RHOSP release.

To track the progress of migration support, see https://bugzilla.redhat.com/show_bug.cgi?id=1862888.

Note

The minimum Open vSwitch (OVS) version required is OVS 2.9.

OVN uses Python 3.6 packages by default.

This section describes the steps required to deploy OVN using director.

Note

OVN is supported only in an HA environment. We recommend that you deploy OVN with distributed virtual routing (DVR).

1.1. Quick Steps: Deploying Containerized OVN on the overcloud

If you are already familiar with OVN, you can use this quick step to deploy OVN with DVR in an HA configuration on the overcloud:

$ openstack overcloud deploy \
    --templates /usr/share/openstack-tripleo-heat-templates \
    ...
-e  /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-ovn-dvr-ha.yaml
    ....

1.2. OVN Architecture

The OVN architecture replaces the OVS ML2 plugin with the OVN Modular Layer 2 (ML2) plugin to support the Networking API. OVN provides robust networking services for the Red Hat OpenStack platform.

The OVN architecture consists of the following components and services:

OVN ML2 plugin
Translates the OpenStack-specific networking configuration into the platform-agnostic OVN logical networking configuration. This plugin typically runs on the Controller node.
OVN Northbound (NB) database (ovn-nb)
Stores the logical OVN networking configuration from the OVN ML2 plugin. This database typically runs on the Controller node and listens on TCP port 6641.
OVN Northbound service (ovn-northd)
Converts the logical networking configuration from the OVN NB database to the logical data path flows and populates these on the OVN Southbound database. This service typically runs on the Controller node.
OVN Southbound (SB) database (ovn-sb)
Stores the converted logical data path flows. This database typically runs on the Controller node and listens on TCP port 6642.
OVN controller (ovn-controller)
Connects to the OVN SB database and acts as the open vSwitch controller to control and monitor network traffic. Runs on all Compute and gateway nodes where OS::Tripleo::Services::OVNController is defined.
OVN metadata agent (ovn-metadata-agent)
Spawns the haproxy instances for managing the OVS interfaces, network namespaces and HAProxy processes used to proxy metadata API requests. Runs on all Compute and gateway nodes where OS::TripleO::Services::OVNMetadataAgent is defined.
ovn components