Add l2gw neutron service plugin support

L2 Gateway (L2GW) is an API framework for OpenStack that offers bridging
two or more networks together to make them look at a single broadcast
domain. This patch implements the l2gw neutron service plugin support part
in t-h-t.

Change-Id: I1b52dc2c11a15698e43b6deeac6cadeeba1802d5
Depends-On: I01a8afdc51b2a077be1bbc7855892f68756e1fd3
Partially-Implements: blueprint l2gw-service-integration
Signed-off-by: Peng Liu <pliu@redhat.com>
This commit is contained in:
Peng Liu 2017-03-07 16:45:37 +08:00 committed by Ricardo Noriega
parent f197455ab7
commit d7c00f01b5
6 changed files with 84 additions and 0 deletions

View File

@ -370,6 +370,11 @@ topics:
description: Enable FOS in the overcloud
requires:
- overcloud-resource-registry-puppet.yaml
- file: environments/neutron-l2gw.yaml
title: Neutron L2 gateway Service Plugin
description: Enables Neutron L2 gateway Service Plugin
requires:
- overcloud-resource-registry-puppet.yaml
- title: Nova Extensions
description:

View File

@ -0,0 +1,20 @@
# A Heat environment file that can be used to deploy Neutron L2 Gateway service
#
# Currently there are only two service provider for Neutron L2 Gateway
# The default option is a dummy driver that allows to enable the API.
# In order to enable other backend, replace the content of L2gwServiceProvider
#
# - L2 gateway agent: L2GW:l2gw:networking_l2gw.services.l2gateway.service_drivers.rpc_l2gw.L2gwRpcDriver:default
# - OpenDaylight: L2GW:OpenDaylight:networking_odl.l2gateway.driver.OpenDaylightL2gwDriver:default
resource_registry:
OS::TripleO::Services::NeutronL2gwApi: ../puppet/services/neutron-l2gw-api.yaml
parameter_defaults:
NeutronServicePlugins: "networking_l2gw.services.l2gateway.plugin.L2GatewayPlugin"
L2gwServiceProvider: ["L2GW:l2gw:networking_l2gw.services.l2gateway.service_drivers.L2gwDriver:default"]
# Optional
# L2gwServiceDefaultInterfaceName:
# L2gwServiceDefaultDeviceName:
# L2gwServiceQuotaL2Gateway:
# L2gwServicePeriodicMonitoringInterval:

View File

@ -145,6 +145,7 @@ resource_registry:
OS::TripleO::Services::MySQL: puppet/services/database/mysql.yaml
OS::TripleO::Services::NeutronBgpvpnApi: OS::Heat::None
OS::TripleO::Services::NeutronDhcpAgent: puppet/services/neutron-dhcp.yaml
OS::TripleO::Services::NeutronL2gwApi: OS::Heat::None
OS::TripleO::Services::NeutronL3Agent: puppet/services/neutron-l3.yaml
OS::TripleO::Services::NeutronMetadataAgent: puppet/services/neutron-metadata.yaml
# FIXME(shardy) the duplicate NeutronServer line can be removed when we've updated

View File

@ -0,0 +1,54 @@
heat_template_version: ocata
description: >
L2 Gateway service plugin 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
L2gwServiceDefaultInterfaceName:
default: 'FortyGigE1/0/1'
description: default interface name of the L2 gateway
type: string
L2gwServiceDefaultDeviceName:
default: 'Switch1'
description: default device name of the L2 gateway
type: string
L2gwServiceQuotaL2Gateway:
default: 5
description: quota of the L2 gateway
type: number
L2gwServicePeriodicMonitoringInterval:
default: 5
description: The periodic interval at which the plugin
type: number
L2gwServiceProvider:
default: ["L2GW:l2gw:networking_l2gw.services.l2gateway.service_drivers.L2gwDriver:default"]
description: Backend to use as a service provider for L2 Gateway
type: comma_delimited_list
outputs:
role_data:
description: Role data for the L2 Gateway role.
value:
service_name: neutron_l2gw_api
config_settings:
neutron::services::l2gw::default_interface_name: {get_param: L2gwServiceDefaultInterfaceName}
neutron::services::l2gw::default_device_name: {get_param: L2gwServiceDefaultDeviceName}
neutron::services::l2gw::quota_l2_gateway: {get_param: L2gwServiceQuotaL2Gateway}
neutron::services::l2gw::periodic_monitoring_interval: {get_param: L2gwServicePeriodicMonitoringInterval}
neutron::services::l2gw::service_providers: {get_param: L2gwServiceProvider}
step_config: |
include tripleo::profile::base::neutron::l2gw

View File

@ -0,0 +1,3 @@
---
features:
- Add support for L2 Gateway Neutron service plugin

View File

@ -55,6 +55,7 @@
- OS::TripleO::Services::MySQLClient
- OS::TripleO::Services::NeutronBgpvpnApi
- OS::TripleO::Services::NeutronDhcpAgent
- OS::TripleO::Services::NeutronL2gwApi
- OS::TripleO::Services::NeutronL3Agent
- OS::TripleO::Services::NeutronMetadataAgent
- OS::TripleO::Services::NeutronApi