Neutron/DVR/ServiceNode-HA

Executive summary
The sole objective of this document is to provide details on the Service Node HA for Distributed Virtual Routers. The details about the Distributed Virtual Routers can be obtained from the DVR HowTo Wiki or from the OpenStack Juno Documentation.

DVR L3 Agent Modes
There are three different modes of operation of L3 Agents that it can be configured to. The first mode is "legacy" mode and that is a typical centralized network node mode where all the routers will be created in a Single Node and the router namespaces will have the FIP and SNAT rules configured inside the namespaces. In this mode the l3_agent will not be able to create a DVR router.

The second mode is "dvr" mode and this configuration is for the Compute Node where the VMs reside. The namespaces that you can see in the Compute Node are the 'Router' namespace and the 'FIP namespace'. The router namespaces are distributed across the compute nodes.

The third mode is "dvr_snat" mode which is similar to the "legacy" mode but will also create the distributed routers. This is also called as a Service Node. The Service node will host the "SNAT Namespace" and the "Router namespace".

HA for Service Node
When distributed virtual routers are configured, the routers are distributed across the compute nodes, so even when one of the compute node fails, the VM can still be migrated to the other compute node and the distributed routers will be automatically created. Creating a Compute Cluster is out of scope and will not be discussed here. We are interestded in creating a Service Node HA Cluster.

In Service Node HA Cluster, the HA service is provided only for the SNAT and not for the Routers. That is one shift from how the old network node and HA worked when compared to the distributed virtual routers.

Today we only allow a Distributed Router with a default gateway set to be manually moved from one Service Node to another Service Node. This is because we are only trying to move the SNAT service and not the routing service.

So any HA work that is targeted for the Distributed Virtual Router should be only targeted towards the Service Node and the SNAT namespace.

The L3-HA-VRRP feature was added to neutron as part of the Juno release. L3-HA-VRRP will be leveraged to provide Distributed Virtual Router Service Node HA functionality.

Architecture and Desgin
TBD