diff --git a/defaults/main.yml b/defaults/main.yml index 514105fb..c8cb096a 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -356,6 +356,9 @@ nova_metadata_insecure: False # Service (Optional)" for more details. neutron_octavia_request_poll_timeout: 100 +# Use the Octavia proxy +neutron_octavia_proxy_plugin: False + ### ### VPNaaS Configuration ### diff --git a/doc/source/configure-network-services.rst b/doc/source/configure-network-services.rst index 83187056..79b9ac8e 100644 --- a/doc/source/configure-network-services.rst +++ b/doc/source/configure-network-services.rst @@ -126,8 +126,8 @@ the `conf override`_ mechanism for more details. .. _neutron-lbaas: https://wiki.openstack.org/wiki/Neutron/LBaaS .. _HAProxy: http://www.haproxy.org/ -Deploying LBaaS v2 ------------------- +Deploying LBaaS v2 namespace driver +----------------------------------- #. Add the LBaaS v2 plugin to the ``neutron_plugin_base`` variable in ``/etc/openstack_deploy/user_variables.yml``: @@ -146,6 +146,9 @@ Deploying LBaaS v2 the Dashboard panels for LBaaS v2 when the ``os_horizon`` role is redeployed (see the following step). + Alternatively you can set the ``neutron_lbaasv2`` flag to ``True`` which + will add the LBaaS v2 plugin by itself. + #. Run the neutron playbook to deploy the LBaaS v2 agent and enable the Dashboard panels for LBaaSv2: @@ -155,7 +158,52 @@ Deploying LBaaS v2 # openstack-ansible os-neutron-install.yml # openstack-ansible os-horizon-install.yml -.. _lbaas-special-notes: +Deploying LBaaS v2 with Octavia +------------------------------- + +The namespace driver and Octavia can both run at the same time and the +end user can choose which type of load balancer to create with the +``--provider`` flag on load balanceer create. + +#. Activate the LBaaS v2 plugin together with the Octavia driver by setting + ``neutron_lbaas_octavia`` to ``True``. This will automatically be + triggered if Octavia is installed. + +#. (optional) To make sure the namespace driver is available set + ``neutron_lbaas_namespace`` to ``True`` or if you want + Octavia installed stand-alone to ``False``. + +#. Run the neutron playbook to deploy the LBaaS v2 agent and enable the + Dashboard panels for LBaaSv2: + + .. code-block:: console + + # cd /opt/openstack-ansible/playbooks + # openstack-ansible os-neutron-install.yml + # openstack-ansible os-horizon-install.yml + +Deploying LBaaS v2 with Octavia proxy plugin +-------------------------------------------- + +Beginning Queens as part of the transition to the Octavia API endpoint +LBaaS V2 supports the Octavia proxy driver which will send all LBaaS V2 +requests straight to Octavia and bypass the Neutron database and any +installed third party LBaaS V2 drivers. + +#. Set ``neutron_lbaas_octavia`` to ``True`` to get the Octavia settings + along with LBaaS V2 being enabled. + +#. Set ``neutron_octavia_proxy_plugin`` to ``True`` to activate the + byapssing proxy. + +#. Run the neutron playbook to deploy the LBaaS v2 agent and enable the + Dashboard panels for LBaaSv2: + + .. code-block:: console + + # cd /opt/openstack-ansible/playbooks + # openstack-ansible os-neutron-install.yml + # openstack-ansible os-horizon-install.yml Special notes about LBaaS ------------------------- diff --git a/templates/neutron.conf.j2 b/templates/neutron.conf.j2 index 0138a751..55657276 100644 --- a/templates/neutron.conf.j2 +++ b/templates/neutron.conf.j2 @@ -8,7 +8,11 @@ {% endfor %} {% if (neutron_lbaasv2|bool) and ('neutron_lbaas.services.loadbalancer.plugin.LoadBalancerPluginv2' not in neutron_plugin_base) %} - {% set _ = neutron_plugin_loaded_base.append("lbaasv2") %} + {% if neutron_octavia_proxy_plugin|bool %} + {% set _ = neutron_plugin_loaded_base.append("lbaasv2-proxy") %} + {% else %} + {% set _ = neutron_plugin_loaded_base.append("lbaasv2") %} + {% endif %} {%- endif -%} # General, applies to all host groups