taikun.cloud

Taikun OCP Guide

Table of Contents

Add VRRP to an existing router

This section describes the process of migrating from a classic router
to an L3 HA router, which is available starting from the Mitaka
release.

Similar to the classic scenario, all network traffic on a project
network that requires routing actively traverses only one network node
regardless of the quantity of network nodes providing HA for the router.
Therefore, this high-availability implementation primarily addresses
failure situations instead of bandwidth constraints that limit
performance. However, it supports random distribution of routers on
different network nodes to reduce the chances of bandwidth constraints
and to improve scaling.

This section references parts of deploy-lb-ha-vrrp and deploy-ovs-ha-vrrp. For details regarding needed
infrastructure and configuration to allow actual L3 HA deployment, read
the relevant guide before continuing with the migration process.

Migration

The migration process is quite simple, it involves turning down the
router by setting the router’s admin_state_up attribute to
False, upgrading the router to L3 HA and then setting the
router’s admin_state_up attribute back to
True.

Warning

Once starting the migration, south-north connections (instances to
internet) will be severed. New connections will be able to start only
when the migration is complete.

Here is the router we have used in our demonstration:

$ openstack router show router1
+-------------------------+-------------------------------------------+
| Field                   | Value                                     |
+-------------------------+-------------------------------------------+
| admin_state_up          | UP                                        |
| distributed             | False                                     |
| external_gateway_info   |                                           |
| ha                      | False                                     |
| id                      | 6b793b46-d082-4fd5-980f-a6f80cbb0f2a      |
| name                    | router1                                   |
| project_id              | bb8b84ab75be4e19bd0dfe02f6c3f5c1          |
| routes                  |                                           |
| status                  | ACTIVE                                    |
| tags                    | []                                        |
+-------------------------+-------------------------------------------+
  1. Source the administrative project credentials.

  2. Set the admin_state_up to False. This will severe
    south-north connections until admin_state_up is set to True
    again.

    $ openstack router set router1 --disable
  3. Set the ha attribute of the router to
    True.

    $ openstack router set router1 --ha
  4. Set the admin_state_up to True. After this,
    south-north connections can start.

    $ openstack router set router1 --enable
  5. Make sure that the router’s ha attribute has changed
    to True.

    $ openstack router show router1
    +-------------------------+-------------------------------------------+
    | Field                   | Value                                     |
    +-------------------------+-------------------------------------------+
    | admin_state_up          | UP                                        |
    | distributed             | False                                     |
    | external_gateway_info   |                                           |
    | ha                      | True                                      |
    | id                      | 6b793b46-d082-4fd5-980f-a6f80cbb0f2a      |
    | name                    | router1                                   |
    | project_id              | bb8b84ab75be4e19bd0dfe02f6c3f5c1          |
    | routes                  |                                           |
    | status                  | ACTIVE                                    |
    | tags                    | []                                        |
    +-------------------------+-------------------------------------------+

L3 HA to Legacy

To return to classic mode, turn down the router again, turning off L3
HA and starting the router again.

Warning

Once starting the migration, south-north connections (instances to
internet) will be severed. New connections will be able to start only
when the migration is complete.

Here is the router we have used in our demonstration:

$ openstack router show router1
+-------------------------+-------------------------------------------+
| Field                   | Value                                     |
+-------------------------+-------------------------------------------+
| admin_state_up          | DOWN                                      |
| distributed             | False                                     |
| external_gateway_info   |                                           |
| ha                      | True                                      |
| id                      | 6b793b46-d082-4fd5-980f-a6f80cbb0f2a      |
| name                    | router1                                   |
| project_id              | bb8b84ab75be4e19bd0dfe02f6c3f5c1          |
| routes                  |                                           |
| status                  | ACTIVE                                    |
| tags                    | []                                        |
+-------------------------+-------------------------------------------+
  1. Source the administrative project credentials.

  2. Set the admin_state_up to False. This will severe
    south-north connections until admin_state_up is set to True
    again.

    $ openstack router set router1 --disable
  3. Set the ha attribute of the router to
    True.

    $ openstack router set router1 --no-ha
  4. Set the admin_state_up to True. After this,
    south-north connections can start.

    $ openstack router set router1 --enable
  5. Make sure that the router’s ha attribute has changed
    to False.

    $ openstack router show router1
    +-------------------------+-------------------------------------------+
    | Field                   | Value                                     |
    +-------------------------+-------------------------------------------+
    | admin_state_up          | UP                                        |
    | distributed             | False                                     |
    | external_gateway_info   |                                           |
    | ha                      | False                                     |
    | id                      | 6b793b46-d082-4fd5-980f-a6f80cbb0f2a      |
    | name                    | router1                                   |
    | project_id              | bb8b84ab75be4e19bd0dfe02f6c3f5c1          |
    | routes                  |                                           |
    | status                  | ACTIVE                                    |
    | tags                    | []                                        |
    +-------------------------+-------------------------------------------+