Browse Source

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>
changes/54/454754/7
Ricardo Noriega 5 years ago
parent
commit
a18a94e498
  1. 6
      capabilities-map.yaml
  2. 1
      environments/hyperconverged-ceph.yaml
  3. 23
      environments/neutron-bgpvpn-bagpipe.yaml
  4. 1
      overcloud-resource-registry-puppet.j2.yaml
  5. 71
      puppet/services/neutron-bgpvpn-bagpipe.yaml
  6. 1
      releasenotes/notes/add-bgpvpn-support-f60c5a9cee0bb393.yaml
  7. 1
      roles/Compute.yaml
  8. 1
      roles/ComputeHCI.yaml
  9. 1
      roles/ComputeOvsDpdk.yaml
  10. 1
      roles_data.yaml

6
capabilities-map.yaml

@ -221,6 +221,12 @@ topics:
description: Enables Neutron LBaaSv2 Service Plugin and Agent
requires:
- 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
title: BigSwitch Extensions
description: >

1
environments/hyperconverged-ceph.yaml

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

23
environments/neutron-bgpvpn-bagpipe.yaml

@ -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

1
overcloud-resource-registry-puppet.j2.yaml

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

71
puppet/services/neutron-bgpvpn-bagpipe.yaml

@ -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

1
releasenotes/notes/add-bgpvpn-support-f60c5a9cee0bb393.yaml

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

1
roles/Compute.yaml

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

1
roles/ComputeHCI.yaml

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

1
roles/ComputeOvsDpdk.yaml

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

1
roles_data.yaml

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

Loading…
Cancel
Save