Add Bagpipe driver composable service

The BaGPipe driver for the BGPVPN service plugin is designed
  to work jointly with the openvswitch ML2 mechanism driver.

Change-Id: I17ed258231e7efdd1ca8e0697d074b11961ed0ae
Depends-On: I1e0227d8055f456043fe63c6a9cbd722d7bf84a7
Partially-Implements: blueprint bgpvpn-service-integration
Signed-off-by: Ricardo Noriega <rnoriega@redhat.com>
This commit is contained in:
Ricardo Noriega 2017-04-07 17:14:39 +02:00
parent 5382605bff
commit a18a94e498
10 changed files with 107 additions and 0 deletions

View File

@ -221,6 +221,12 @@ topics:
description: Enables Neutron LBaaSv2 Service Plugin and Agent description: Enables Neutron LBaaSv2 Service Plugin and Agent
requires: requires:
- overcloud-resource-registry-puppet.yaml - overcloud-resource-registry-puppet.yaml
- file: environments/neutron-bgpvpn-bagpipe.yaml
title: Neutron Bagpipe Driver for BGPVPN Service Plugin
description: Enables Neutron Bagpipe Driver as BGPVPN backend
requires:
- environments/neutron-bgpvpn.yaml
- 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

@ -15,6 +15,7 @@ parameter_defaults:
- OS::TripleO::Services::Snmp - OS::TripleO::Services::Snmp
- OS::TripleO::Services::Sshd - OS::TripleO::Services::Sshd
- OS::TripleO::Services::Securetty - OS::TripleO::Services::Securetty
- OS::TripleO::Services::NeutronBgpVpnBagpipe
- OS::TripleO::Services::NovaCompute - OS::TripleO::Services::NovaCompute
- OS::TripleO::Services::NovaLibvirt - OS::TripleO::Services::NovaLibvirt
- OS::TripleO::Services::NovaMigrationTarget - OS::TripleO::Services::NovaMigrationTarget

View File

@ -0,0 +1,23 @@
# A Heat environment file that can be used to deploy Neutron Bagpipe driver as
# backend for BGPVPN service plugin
#
# The BaGPipe driver for the BGPVPN service plugin is designed to work jointly
# with the openvswitch ML2 mechanism driver. It relies on the use of the
# bagpipe-bgp BGP VPN implementation on compute node and the MPLS implementation
# in OpenVSwitch.
#
resource_registry:
OS::TripleO::Services::NeutronBgpVpnBagpipe: ../puppet/services/neutron-bgpvpn-bagpipe.yaml
parameter_defaults:
# Required (example)
# BapipeMyAs: 64512
# Optional (example)
# BapipeApiPort: 8082
# BapipeDataplaneDriverIpVpn: 'ovs'
# BapipeEnableRtc: true
# BapipeOvsBridge: br-mpls
# BapipePeers: 192.168.10.1,192.168.10.2
# BapipeProxyArp: true

View File

@ -138,6 +138,7 @@ resource_registry:
OS::TripleO::Services::Kernel: puppet/services/kernel.yaml OS::TripleO::Services::Kernel: puppet/services/kernel.yaml
OS::TripleO::Services::MySQL: puppet/services/database/mysql.yaml OS::TripleO::Services::MySQL: puppet/services/database/mysql.yaml
OS::TripleO::Services::NeutronBgpVpnApi: OS::Heat::None OS::TripleO::Services::NeutronBgpVpnApi: OS::Heat::None
OS::TripleO::Services::NeutronBgpVpnBagpipe: OS::Heat::None
OS::TripleO::Services::NeutronDhcpAgent: puppet/services/neutron-dhcp.yaml OS::TripleO::Services::NeutronDhcpAgent: puppet/services/neutron-dhcp.yaml
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

View File

@ -0,0 +1,71 @@
heat_template_version: pike
description: >
Bagpipe Driver configured with Puppet
parameters:
BapipeMyAs:
default:
description: Private Autonomous System number
type: number
BapipeApiPort:
default: 8084
description: BGP component API port
type: number
BapipeDataplaneDriverIpVpn:
default: 'ovs'
description: IP VPN dataplane drvier class
type: string
BapipeEnableRtc:
default: true
description: Enable Route Target Constraint
type: boolean
BapipeOvsBridge:
default: 'br-mpls'
description: OVS bridge to use
type: string
BapipePeers:
default: ''
description: List of peers' IPs to establish BGP connections
type: comma_delimited_list
ServiceData:
default: {}
description: Dictionary packing service data
type: json
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
outputs:
role_data:
description: Role data for the Bagpipe role.
value:
service_name: neutron_bgpvpn_bagpipe
config_settings:
neutron::agents::bagpipe::my_as: {get_param: BagpipeMyAs}
neutron::agents::bagpipe::api_port: {get_param: BagpipeApiPort}
neutron::agents::bagpipe::dataplane_driver_ipvpn: {get_param: BagpipeDataplaneDriverIpVpn}
neutron::agents::bagpipe::enable_rtc: {get_param: BapipeEnableRtc}
neutron::agents::bagpipe::ovs_bridge: {get_param: BagpipeOvsBridge}
neutron::agents::bagpipe::peers: {get_param: BagpipePeers}
step_config: |
include ::tripleo::profile::base::neutron::agents::bagpipe

View File

@ -1,3 +1,4 @@
--- ---
features: features:
- Add support for BGPVPN Neutron service plugin - Add support for BGPVPN Neutron service plugin
- Add support for Bagpipe driver as BGPVPN backend

View File

@ -37,6 +37,7 @@
- OS::TripleO::Services::Iscsid - OS::TripleO::Services::Iscsid
- OS::TripleO::Services::Kernel - OS::TripleO::Services::Kernel
- OS::TripleO::Services::MySQLClient - OS::TripleO::Services::MySQLClient
- OS::TripleO::Services::NeutronBgpVpnBagpipe
- OS::TripleO::Services::NeutronLinuxbridgeAgent - OS::TripleO::Services::NeutronLinuxbridgeAgent
- OS::TripleO::Services::NeutronSriovAgent - OS::TripleO::Services::NeutronSriovAgent
- OS::TripleO::Services::NeutronVppAgent - OS::TripleO::Services::NeutronVppAgent

View File

@ -28,6 +28,7 @@
- OS::TripleO::Services::Iscsid - OS::TripleO::Services::Iscsid
- OS::TripleO::Services::Kernel - OS::TripleO::Services::Kernel
- OS::TripleO::Services::MySQLClient - OS::TripleO::Services::MySQLClient
- OS::TripleO::Services::NeutronBgpVpnBagpipe
- OS::TripleO::Services::NeutronLinuxbridgeAgent - OS::TripleO::Services::NeutronLinuxbridgeAgent
- OS::TripleO::Services::NeutronSriovAgent - OS::TripleO::Services::NeutronSriovAgent
- OS::TripleO::Services::NeutronVppAgent - OS::TripleO::Services::NeutronVppAgent

View File

@ -28,6 +28,7 @@
- OS::TripleO::Services::Iscsid - OS::TripleO::Services::Iscsid
- OS::TripleO::Services::Kernel - OS::TripleO::Services::Kernel
- OS::TripleO::Services::MySQLClient - OS::TripleO::Services::MySQLClient
- OS::TripleO::Services::NeutronBgpVpnBagpipe
- OS::TripleO::Services::NovaCompute - OS::TripleO::Services::NovaCompute
- OS::TripleO::Services::NovaLibvirt - OS::TripleO::Services::NovaLibvirt
- OS::TripleO::Services::Ntp - OS::TripleO::Services::Ntp

View File

@ -187,6 +187,7 @@
- OS::TripleO::Services::Iscsid - OS::TripleO::Services::Iscsid
- OS::TripleO::Services::Kernel - OS::TripleO::Services::Kernel
- OS::TripleO::Services::MySQLClient - OS::TripleO::Services::MySQLClient
- OS::TripleO::Services::NeutronBgpVpnBagpipe
- OS::TripleO::Services::NeutronLinuxbridgeAgent - OS::TripleO::Services::NeutronLinuxbridgeAgent
- OS::TripleO::Services::NeutronSriovAgent - OS::TripleO::Services::NeutronSriovAgent
- OS::TripleO::Services::NeutronVppAgent - OS::TripleO::Services::NeutronVppAgent