added avinetworks lbaas funcionality
Change-Id: I3a511d89b52dab49f74870bdb6c9279b76cb09b3
diff --git a/README.rst b/README.rst
index efa1e7c..8a8d5c7 100644
--- a/README.rst
+++ b/README.rst
@@ -58,6 +58,35 @@
because a single request may fail (timeout). This is enabled with both
parameters *allow_pagination* and *pagination_max_limit* as shown above.
+Neutron lbaas provides on the controller node
+
+.. code-block:: yaml
+
+ neutron:
+ server:
+ lbaas:
+ enabled: true
+ providers:
+ avi_adc:
+ enabled: true
+ engine: avinetworks
+ controller_address: 10.182.129.239
+ controller_user: admin
+ controller_password: Cloudlab2016
+ controller_cloud_name: Default-Cloud
+ avi_adc2:
+ engine: avinetworks
+ ...
+
+Note: If you want contrail lbaas then backend is only required. Lbaas in pillar should be define only if it should be disabled.
+
+.. code-block:: yaml
+
+ neutron:
+ server:
+ lbaas:
+ enabled: disabled
+
Neutron VXLAN tenant networks with Network Nodes (with DVR for East-West
and Network node for North-South)
diff --git a/neutron/files/mitaka/neutron-server.conf.Debian b/neutron/files/mitaka/neutron-server.conf.Debian
index bc05c66..a18203e 100644
--- a/neutron/files/mitaka/neutron-server.conf.Debian
+++ b/neutron/files/mitaka/neutron-server.conf.Debian
@@ -40,7 +40,9 @@
core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin
-service_plugins =neutron.services.l3_router.l3_router_plugin.L3RouterPlugin,neutron.services.metering.metering_plugin.MeteringPlugin
+service_plugins =neutron.services.l3_router.l3_router_plugin.L3RouterPlugin,neutron.services.metering.metering_plugin.MeteringPlugin{%- if server.lbaas is defined -%}
+,neutron_lbaas.services.loadbalancer.plugin.LoadBalancerPluginv2
+{%- endif -%}
{% endif %}
@@ -1627,7 +1629,31 @@
# cipher list format. (string value)
#ciphers = <None>
[service_providers]
-{% if server.backend.engine == "contrail" %}
+
+{% if server.lbaas is defined -%}
+
+{%- if server.lbaas.enabled -%}
+
+{%- for lbaas_name, lbaas in server.lbaas.providers.iteritems() %}
+
+{%- if lbaas.engine == "avinetworks" -%}
+service_provider=LOADBALANCERV2:{{ lbaas_name }}:neutron_lbaas.drivers.avi.avi_driver.AviDriver
+
+[{{ lbaas_name }}]
+address={{ lbaas.controller_address }}
+user={{ lbaas.controller_user }}
+password={{ lbaas.controller_password }}
+cloud={{ lbaas.controller_cloud_name }}
+{%- endif -%}
+
+{%- endfor -%}
+
+{% endif %}
+
+{% elif server.backend.engine == "contrail" %}
+
service_provider = LOADBALANCER:Opencontrail:neutron_plugin_contrail.plugins.opencontrail.loadbalancer.driver.OpencontrailLoadbalancerDriver:default
+
{% include "neutron/files/"+server.version+"/ContrailPlugin.ini" %}
+
{% endif %}