Merge "Add LBaaS v2 support"
This commit is contained in:
commit
8c1ba491da
@ -77,7 +77,7 @@ neutron_plugin_core: "{{ neutron_plugins[neutron_plugin_type].plugin_core }}"
|
||||
# neutron_plugin_base:
|
||||
# - neutron.services.l3_router.l3_router_plugin.L3RouterPlugin
|
||||
# - neutron.services.metering.metering_plugin.MeteringPlugin
|
||||
# - neutron_lbaas.services.loadbalancer.plugin.LoadBalancerPlugin
|
||||
# - neutron_lbaas.services.loadbalancer.plugin.LoadBalancerPluginv2
|
||||
# - neutron.services.vpn.plugin.VPNDriverPlugin
|
||||
neutron_plugin_base:
|
||||
- neutron.services.l3_router.l3_router_plugin.L3RouterPlugin
|
||||
@ -156,6 +156,16 @@ neutron_services:
|
||||
config_options: --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/lbaas_agent.ini
|
||||
config_overrides: "{{ neutron_lbaas_agent_ini_overrides }}"
|
||||
config_type: "ini"
|
||||
neutron-lbaasv2-agent:
|
||||
group: neutron_lbaas_agent
|
||||
service_name: neutron-lbaasv2-agent
|
||||
service_en: "{{ neutron_lbaasv2 }}"
|
||||
service_conf: lbaas_agent.ini
|
||||
service_group: neutron_agent
|
||||
service_rootwrap: rootwrap.d/lbaas-haproxy.filters
|
||||
config_options: --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/lbaas_agent.ini
|
||||
config_overrides: "{{ neutron_lbaas_agent_ini_overrides }}"
|
||||
config_type: "ini"
|
||||
neutron-server:
|
||||
group: neutron_server
|
||||
service_name: neutron-server
|
||||
@ -164,8 +174,13 @@ neutron_services:
|
||||
config_options: "--config-file /etc/neutron/neutron.conf --config-file /etc/neutron/{{ neutron_plugins[neutron_plugin_type].plugin_ini }}"
|
||||
|
||||
## Neutron LBaaS
|
||||
# Please add the LoadBalancerPlugin to the neutron_plugin_base list
|
||||
# See documentation section titled "Configuring the Network Load Balacing
|
||||
# Service (Optional)" for more details.
|
||||
#
|
||||
# To enable LBaaS v1, add LoadBalancerPlugin to neutron_plugin_base list.
|
||||
# To enable LBaaS v2, add LoadBalancerPluginv2 to neutron_plugin_base list
|
||||
neutron_lbaas: "{% if 'neutron_lbaas.services.loadbalancer.plugin.LoadBalancerPlugin' in neutron_plugin_base %}True{% else %}False{% endif %}"
|
||||
neutron_lbaasv2: "{% if 'neutron_lbaas.services.loadbalancer.plugin.LoadBalancerPluginv2' in neutron_plugin_base %}True{% else %}False{% endif %}"
|
||||
|
||||
## Neutron L3
|
||||
## Please add the L3RouterPlugin to the neutron_plugin_base list
|
||||
|
@ -13,10 +13,12 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
- include: neutron_check.yml
|
||||
- include: neutron_pre_install.yml
|
||||
- include: neutron_install.yml
|
||||
- include: neutron_post_install.yml
|
||||
- include: neutron_upstart_init.yml
|
||||
- include: neutron_lbaas.yml
|
||||
|
||||
- include: neutron_db_setup.yml
|
||||
when: >
|
||||
|
23
tasks/neutron_check.yml
Normal file
23
tasks/neutron_check.yml
Normal file
@ -0,0 +1,23 @@
|
||||
---
|
||||
# Copyright 2016, Rackspace US, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
- name: Ensure LBaaS v1 and v2 are not enabled simultaneously
|
||||
fail:
|
||||
message: |
|
||||
LBaaS v1 and v2 cannot be enabled at the same time.
|
||||
Verify that your neutron_plugin_base variable is correct.
|
||||
when:
|
||||
- neutron_lbaas | bool
|
||||
- neutron_lbaasv2 | bool
|
@ -54,7 +54,7 @@
|
||||
with_items: neutron_lbaas_apt_packages
|
||||
when:
|
||||
- inventory_hostname in groups[neutron_services['neutron-lbaas-agent']['group']]
|
||||
- neutron_lbaas | bool
|
||||
- neutron_lbaas | bool or neutron_lbaasv2 | bool
|
||||
tags:
|
||||
- neutron-install
|
||||
- neutron-apt-packages
|
||||
|
35
tasks/neutron_lbaas.yml
Normal file
35
tasks/neutron_lbaas.yml
Normal file
@ -0,0 +1,35 @@
|
||||
---
|
||||
# Copyright 2016, Rackspace US, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# These tasks are here to handle a situation where a deployer has v1 deployed
|
||||
# and then chooses to deploy v2 (or vice versa). The existing tasks within
|
||||
# neutron_upstart_init.yml will deploy configuration files for both agents
|
||||
# and both will be running on the system until these tasks run.
|
||||
#
|
||||
# These tasks will ensure that the correct agent is the only one running.
|
||||
|
||||
- name: Ensure LBaaS v1 agent is stopped when v2 is in neutron_plugins_base
|
||||
service:
|
||||
name: neutron-lbaas-agent
|
||||
enabled: no
|
||||
state: stopped
|
||||
when: neutron_lbaasv2 | bool
|
||||
|
||||
- name: Ensure LBaaS v2 agent is stopped when v1 is in neutron_plugins_base
|
||||
service:
|
||||
name: neutron-lbaasv2-agent
|
||||
enabled: no
|
||||
state: stopped
|
||||
when: neutron_lbaas | bool
|
@ -110,3 +110,17 @@
|
||||
- neutron_services['neutron-lbaas-agent'].service_en | bool
|
||||
tags:
|
||||
- upstart-init
|
||||
|
||||
- include: neutron_upstart_common_init.yml
|
||||
vars:
|
||||
program_name: "{{ neutron_services['neutron-lbaasv2-agent'].service_name }}"
|
||||
program_config_options: "{{ neutron_services['neutron-lbaasv2-agent'].config_options }}"
|
||||
service_name: "{{ neutron_service_name }}"
|
||||
system_user: "{{ neutron_system_user_name }}"
|
||||
system_group: "{{ neutron_system_group_name }}"
|
||||
service_home: "{{ neutron_system_home_folder }}"
|
||||
when:
|
||||
- inventory_hostname in groups[neutron_services['neutron-lbaasv2-agent']['group']]
|
||||
- neutron_services['neutron-lbaas-agent'].service_en | bool
|
||||
tags:
|
||||
- upstart-init
|
||||
|
@ -27,7 +27,11 @@ interface_driver = {{ neutron_driver_interface }}
|
||||
# device_driver = path.to.provider1.driver.Driver
|
||||
# device_driver = path.to.provider2.driver.Driver
|
||||
# Default is:
|
||||
{% if neutron_lbaas | bool %}
|
||||
device_driver = neutron_lbaas.services.loadbalancer.drivers.haproxy.namespace_driver.HaproxyNSDriver
|
||||
{% elif neutron_lbaasv2 | bool %}
|
||||
device_driver = neutron_lbaas.drivers.haproxy.namespace_driver.HaproxyNSDriver
|
||||
{% endif %}
|
||||
|
||||
[haproxy]
|
||||
# Location to store config and state files
|
||||
|
@ -157,7 +157,11 @@ pool_timeout = {{ neutron_db_pool_timeout }}
|
||||
|
||||
# Service providers
|
||||
[service_providers]
|
||||
{% if neutron_lbaas | bool %}
|
||||
service_provider = LOADBALANCER:Haproxy:neutron_lbaas.services.loadbalancer.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default
|
||||
{% elif neutron_lbaasv2 | bool %}
|
||||
service_provider = LOADBALANCERV2:Haproxy:neutron_lbaas.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default
|
||||
{% endif %}
|
||||
#service_provider = VPN:openswan:neutron.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default
|
||||
|
||||
{% endif %}
|
||||
|
Loading…
Reference in New Issue
Block a user