Enable Neutron LBaaS Integration

Allows the configuration of the Neutron LBaaS agent.

Implements: blueprint lbaasv2-service-integration
Change-Id: Iae2bf7faeea93d5275994b2ee10f9bf863ed6152
Depends-On: Ieeb21fafd340fdfbaddbe7633946fe0f05c640c9
This commit is contained in:
Ryan Hefner 2016-04-04 13:49:19 -04:00 committed by AndrewToth
parent b5081b67e5
commit 6a151ec697
8 changed files with 100 additions and 0 deletions

View File

@ -305,6 +305,11 @@ topics:
description: Enables Neutron BGPVPN Service Plugin description: Enables Neutron BGPVPN Service Plugin
requires: requires:
- overcloud-resource-registry-puppet.yaml - overcloud-resource-registry-puppet.yaml
- file: environments/services/neutron-lbaasv2.yaml
title: Neutron LBaaSv2 Service Plugin
description: Enables Neutron LBaaSv2 Service Plugin and Agent
requires:
- overcloud-resource-registry-puppet.yaml
- file: environments/neutron-ml2-bigswitch.yaml - file: environments/neutron-ml2-bigswitch.yaml
title: BigSwitch Extensions title: BigSwitch Extensions
description: > description: >

View File

@ -0,0 +1,17 @@
# A Heat environment file that can be used to deploy Neutron LBaaSv2 service
#
# Currently there are only two interface drivers for Neutron LBaaSv2
# The default option is the standard OVS driver the other option is to be used
# when linux bridges are used instead of OVS
# In order to enable other backend, replace the content of NeutronLbaasInterfaceDriver
#
# - OVS: neutron.agent.linux.interface.OVSInterfaceDriver
# - LinuxBridges: neutron.agent.linux.interface.BridgeInterfaceDriver
resource_registry:
OS::TripleO::Services::NeutronLbaas: ../puppet/services/neutron-lbaas.yaml
parameter_defaults:
NeutronLbaasInterfaceDriver: "neutron.agent.linux.interface.OVSInterfaceDriver"
NeutronLbaasDeviceDriver: "neutron.services.loadbalancer.drivers.haproxy.namespace_driver.HaproxyNSDriver"
NeutronServiceProviders: ['LOADBALANCERV2:Haproxy:neutron_lbaas.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default']

View File

@ -138,6 +138,7 @@ resource_registry:
OS::TripleO::Services::NeutronL2gwApi: OS::Heat::None OS::TripleO::Services::NeutronL2gwApi: OS::Heat::None
OS::TripleO::Services::NeutronL3Agent: puppet/services/neutron-l3.yaml OS::TripleO::Services::NeutronL3Agent: puppet/services/neutron-l3.yaml
OS::TripleO::Services::NeutronL2gwAgent: OS::Heat::None OS::TripleO::Services::NeutronL2gwAgent: OS::Heat::None
OS::TripleO::Services::NeutronLbaasv2Agent: OS::Heat::None
OS::TripleO::Services::NeutronMetadataAgent: puppet/services/neutron-metadata.yaml OS::TripleO::Services::NeutronMetadataAgent: puppet/services/neutron-metadata.yaml
# FIXME(shardy) the duplicate NeutronServer line can be removed when we've updated # FIXME(shardy) the duplicate NeutronServer line can be removed when we've updated
# the multinode job ControllerServices after this patch merges # the multinode job ControllerServices after this patch merges

View File

@ -0,0 +1,70 @@
heat_template_version: pike
description: >
Neutron LBaaS service configured with Puppet
parameters:
ServiceNetMap:
default: {}
description: Mapping of service_name -> network name. Typically set
via parameter_defaults in the resource registry. This
mapping overrides those in ServiceNetMapDefaults.
type: json
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
type: json
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
NeutronLbaasInterfaceDriver:
default: 'neutron.agent.linux.interface.OVSInterfaceDriver'
type: string
NeutronLbaasDeviceDriver:
default: 'neutron.services.loadbalancer.drivers.haproxy.namespace_driver.HaproxyNSDriver'
type: string
NeutronServiceProviders:
default: 'LOADBALANCERV2:Haproxy:neutron_lbaas.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default'
description: Global list of service providers used by neutron. This
list should be passed in to ensure all service
providers desired by the user are included. The
provided default value only set the provider for the LBaaSv2
subsystem.This is currently incompatible with enabling
octavia-api as one service or the other will break because the defaults are different.
type: comma_delimited_list
resources:
NeutronBase:
type: ./neutron-base.yaml
properties:
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
EndpointMap: {get_param: EndpointMap}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:
description: Role data for the Neutron LBaaS role.
value:
service_name: neutron_lbaas
config_settings:
map_merge:
- get_attr: [NeutronBase, role_data, config_settings]
- neutron::agents::lbaas::interface_driver: {get_param: NeutronLbaasInterfaceDriver}
neutron::agents::lbaas::device_driver: {get_param: NeutronLbaasDeviceDriver}
step_config: |
include ::tripleo::profile::base::neutron::lbaas
service_config_settings:
neutron_api:
neutron::server::service_providers: {get_param: NeutronServiceProviders}

View File

@ -0,0 +1,4 @@
---
features:
- Allows the configuration of the Neutron LBaaS
agent.

View File

@ -85,6 +85,7 @@
- OS::TripleO::Services::NeutronL2gwAgent - OS::TripleO::Services::NeutronL2gwAgent
- OS::TripleO::Services::NeutronL2gwApi - OS::TripleO::Services::NeutronL2gwApi
- OS::TripleO::Services::NeutronL3Agent - OS::TripleO::Services::NeutronL3Agent
- OS::TripleO::Services::NeutronLbaasv2Agent
- OS::TripleO::Services::NeutronLinuxbridgeAgent - OS::TripleO::Services::NeutronLinuxbridgeAgent
- OS::TripleO::Services::NeutronMetadataAgent - OS::TripleO::Services::NeutronMetadataAgent
- OS::TripleO::Services::NeutronML2FujitsuCfab - OS::TripleO::Services::NeutronML2FujitsuCfab

View File

@ -22,6 +22,7 @@
- OS::TripleO::Services::NeutronL2gwAgent - OS::TripleO::Services::NeutronL2gwAgent
- OS::TripleO::Services::NeutronL2gwApi - OS::TripleO::Services::NeutronL2gwApi
- OS::TripleO::Services::NeutronL3Agent - OS::TripleO::Services::NeutronL3Agent
- OS::TripleO::Services::NeutronLbaasv2Agent
- OS::TripleO::Services::NeutronMetadataAgent - OS::TripleO::Services::NeutronMetadataAgent
- OS::TripleO::Services::NeutronML2FujitsuCfab - OS::TripleO::Services::NeutronML2FujitsuCfab
- OS::TripleO::Services::NeutronML2FujitsuFossw - OS::TripleO::Services::NeutronML2FujitsuFossw

View File

@ -88,6 +88,7 @@
- OS::TripleO::Services::NeutronL2gwAgent - OS::TripleO::Services::NeutronL2gwAgent
- OS::TripleO::Services::NeutronL2gwApi - OS::TripleO::Services::NeutronL2gwApi
- OS::TripleO::Services::NeutronL3Agent - OS::TripleO::Services::NeutronL3Agent
- OS::TripleO::Services::NeutronLbaasv2Agent
- OS::TripleO::Services::NeutronLinuxbridgeAgent - OS::TripleO::Services::NeutronLinuxbridgeAgent
- OS::TripleO::Services::NeutronMetadataAgent - OS::TripleO::Services::NeutronMetadataAgent
- OS::TripleO::Services::NeutronML2FujitsuCfab - OS::TripleO::Services::NeutronML2FujitsuCfab