Enable Neutron LBaaS Integration

Allows the configuration of the Neutron LBaaS agent.

Change-Id: I07e067e3e738bedcf97482a23f7ba33a456a03dc
Depends-On: Ieeb21fafd340fdfbaddbe7633946fe0f05c640c9
Closes-Bug: 1759116
This commit is contained in:
Sai Ram Peesapati 2018-03-26 23:38:59 -04:00
parent 0069100526
commit b6eca3287d
6 changed files with 87 additions and 0 deletions

View File

@ -300,6 +300,11 @@ topics:
description: >
Enable various Neutron plugins and backends
environments:
- 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
title: BigSwitch Extensions
description: >

View File

@ -0,0 +1,16 @@
# 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

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

View File

@ -0,0 +1,60 @@
heat_template_version: ocata
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
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}
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

@ -59,6 +59,7 @@
- OS::TripleO::Services::MySQLClient
- OS::TripleO::Services::NeutronDhcpAgent
- OS::TripleO::Services::NeutronL3Agent
- OS::TripleO::Services::NeutronLbaasv2Agent
- OS::TripleO::Services::NeutronMetadataAgent
- OS::TripleO::Services::NeutronApi
- OS::TripleO::Services::NeutronCorePlugin