The two ways to configure OpenStack Controller cluster are as follows:

Method 1

The following are the steps to configure OpenStack Controller cluster:

  1. Spin up three or more Avi Load Balancer Controllers on OpenStack.

  2. Consider one Controller for cloud or cluster configuration. If Controller is not reachable from outside OpenStack, assign Floating IP to Controller IP. You can access the controller using Floating IP and configure Cluster VIP on the Controller.

    avi-dev-venv) ~ $> neutron floatingip-create public
     Created a new floatingip:
     +---------------------+--------------------------------------+
     | Field               | Value                                |
     +---------------------+--------------------------------------+
     | description         |                                      |
     | fixed_ip_address    |                                      |
     | floating_ip_address | 10.176.2.102                         |
     | floating_network_id | d11a54be-2de8-46be-a847-9402d3e2ea35 |
     | id                  | 55cbe4ce-97d4-44fc-ad38-78faf0cbe2d7 |
     | port_id             |                                      |
     | router_id           |                                      |
     | status              | DOWN                                 |
     | tenant_id           | 037e661ac0cb44c89449e5e9b76b9a00     |
     +---------------------+--------------------------------------+
        
     (avi-dev-venv) ~ $> neutron floatingip-associate 55cbe4ce-97d4-44fc-ad38-78faf0cbe2d7 2aecadeb-755a-495e-8f19-53301ee63d6b
     Associated floating IP 55cbe4ce-97d4-44fc-ad38-78faf0cbe2d7

  3. Configure the cloud, wait for the status to be green indicating that the installation is successful.

  4. Create a port in OpenStack for cluster VIP. It should be in the Avi Load Balancer management network.

     avi-dev-venv) ~ $> neutron port-show cvip1
     +-----------------------+-----------------------------------------------------------------------------------+
     | Field                 | Value                                                                             |
     +-----------------------+-----------------------------------------------------------------------------------+
     | admin_state_up        | True                                                                              |
     | allowed_address_pairs | {"ip_address": "172.16.0.3", "mac_address": ""}                                   |
     | binding:host_id       |                                                                                   |
     | binding:vif_details   | {"port_filter": true}                                                             |
     | binding:vif_type      | vrouter                                                                           |
     | binding:vnic_type     | normal                                                                            |
     | description           |                                                                                   |
     | device_id             |                                                                                   |
     | device_owner          |                                                                                   |
     | fixed_ips             | {"subnet_id": "4982c62d-ada2-4067-879a-1c5b1ec94ec8", "ip_address": "172.16.0.3"} |
     | id                    | 1fed2319-a179-4dc5-b9e5-49853606e7a8                                              |
     | mac_address           | 02:1f:ed:23:19:a1                                                                 |
     | name                  | cvip1                                                                             |
     | network_id            | 9feb21ba-6c14-44a3-a478-1f09e16b60df                                              |
     | port_security_enabled | True                                                                              |
     | security_groups       | 367987f6-f373-4637-8867-aa5b31dc60d2                                              |
     | status                | DOWN                                                                              |
     | tenant_id             | 037e661ac0cb44c89449e5e9b76b9a00                                                  |
     +-----------------------+-----------------------------------------------------------------------------------+
     

  5. Assign Floating IP to cluster VIP if needed. If the Avi Load Balancer management network is reachable from outside, Floating IP is not required.

     (avi-dev-venv) ~ $> neutron floatingip-create public
     Created a new floatingip:
     +---------------------+--------------------------------------+
     | Field               | Value                                |
     +---------------------+--------------------------------------+
     | description         |                                      |
     | fixed_ip_address    |                                      |
     | floating_ip_address | 10.176.2.104                         |
     | floating_network_id | d11a54be-2de8-46be-a847-9402d3e2ea35 |
     | id                  | e5838127-f2f4-47d6-aaba-d5925d082514 |
     | port_id             |                                      |
     | router_id           |                                      |
     | status              | DOWN                                 |
     | tenant_id           | 037e661ac0cb44c89449e5e9b76b9a00     |
     +---------------------+--------------------------------------+
        
     (avi-dev-venv) ~ $> neutron floatingip-associate e5838127-f2f4-47d6-aaba-d5925d082514 1fed2319-a179-4dc5-b9e5-49853606e7a8
     Associated floating IP e5838127-f2f4-47d6-aaba-d5925d082514
        
     (avi-dev-venv) ~ $> neutron floatingip-list
     +--------------------------------------+------------------+---------------------+--------------------------------------+
     | id                                   | fixed_ip_address | floating_ip_address | port_id                              |
     +--------------------------------------+------------------+---------------------+--------------------------------------+
     | 55cbe4ce-97d4-44fc-ad38-78faf0cbe2d7 | 172.16.0.2       | 10.176.2.102        | 2aecadeb-755a-495e-8f19-53301ee63d6b |
     | e5838127-f2f4-47d6-aaba-d5925d082514 | 172.16.0.3       | 10.176.2.104        | 1fed2319-a179-4dc5-b9e5-49853606e7a8 |
     +--------------------------------------+------------------+---------------------+--------------------------------------+

  6. Configure cluster VIP in Avi Load Balancer Controller.

  7. Use the cluster VIP or the cluster Floating IP to log in to Avi Load Balancer Controller.

  8. Disassociate the Floating IP from Controller IP. It is an optional step. (Because it is done in Step 2).

  9. Add the other Controllers to the Cluster Configuration page.

Method 2

The following are the steps to configure OpenStack Controller cluster:

  1. Spin up only one Controller.

  2. Follow steps from 2 to 8 mentioned in method 1.

  3. Bring another set of Avi Load Balancer Controller nodes.

  4. Add the Controller nodes in the cluster configuration.