Add BGPVPN composable service
authorRicardo Noriega <rnoriega@redhat.com>
Thu, 2 Feb 2017 10:45:38 +0000 (11:45 +0100)
committerCarlos Camacho <ccamacho@redhat.com>
Fri, 10 Mar 2017 10:35:48 +0000 (11:35 +0100)
 This project aims at supporting inter-connection between L3VPNs
 and Neutron resources, i.e. Networks, Routers and Ports.

Partially-Implements: blueprint bgpvpn-service-integration

Depends-On:I7c1686693a29cc1985f009bd7a3c268c0e211876
Change-Id: I576c9ac2b443dbb6886824b3da457dcc4f87b442
Signed-off-by: Ricardo Noriega <rnoriega@redhat.com>
capabilities-map.yaml
environments/neutron-bgpvpn.yaml [new file with mode: 0644]
overcloud-resource-registry-puppet.j2.yaml
puppet/services/neutron-bgpvpn-api.yaml [new file with mode: 0644]
releasenotes/notes/add-bgpvpn-support-f60c5a9cee0bb393.yaml [new file with mode: 0644]
roles_data.yaml

index 66dc1d1..83b3ac4 100644 (file)
@@ -308,6 +308,11 @@ topics:
         description: >
           Enable various Neutron plugins and backends
         environments:
+          - file: environments/neutron-bgpvpn.yaml
+            title: Neutron BGPVPN Service Plugin
+            description: Enables Neutron BGPVPN Service Plugin
+            requires:
+              - overcloud-resource-registry-puppet.yaml
           - file: environments/neutron-ml2-bigswitch.yaml
             title: BigSwitch Extensions
             description: >
diff --git a/environments/neutron-bgpvpn.yaml b/environments/neutron-bgpvpn.yaml
new file mode 100644 (file)
index 0000000..dc6c145
--- /dev/null
@@ -0,0 +1,16 @@
+# A Heat environment file that can be used to deploy Neutron BGPVPN service
+#
+# Currently there are four types of service provider for Neutron BGPVPN
+# The default option is a dummy driver that allows to enable the API.
+# In order to enable other backend, replace the content of BgpvpnServiceProvider
+#
+# - Bagpipe: BGPVPN:BaGPipe:networking_bgpvpn.neutron.services.service_drivers.bagpipe.bagpipe.BaGPipeBGPVPNDriver:default
+# - OpenContrail: BGPVPN:OpenContrail:networking_bgpvpn.neutron.services.service_drivers.opencontrail.opencontrail.OpenContrailBGPVPNDriver:default
+# - OpenDaylight: BGPVPN:OpenDaylight:networking_bgpvpn.neutron.services.service_drivers.opendaylight.odl.OpenDaylightBgpvpnDriver:default
+# - Nuage: BGPVPN:Nuage:nuage_neutron.bgpvpn.services.service_drivers.driver.NuageBGPVPNDriver:default
+resource_registry:
+  OS::TripleO::Services::NeutronBgpvpnApi: ../puppet/services/neutron-bgpvpn-api.yaml
+
+parameter_defaults:
+  NeutronServicePlugins: 'networking_bgpvpn.neutron.services.plugin.BGPVPNPlugin'
+  BgpvpnServiceProvider: 'BGPVPN:Dummy:networking_bgpvpn.neutron.services.service_drivers.driver_api.BGPVPNDriver:default'
index 7a18c11..212e937 100644 (file)
@@ -145,6 +145,7 @@ resource_registry:
   OS::TripleO::Services::Kernel: puppet/services/kernel.yaml
   OS::TripleO::Services::MySQL: puppet/services/database/mysql.yaml
   OS::TripleO::Services::MySQLTLS: OS::Heat::None
+  OS::TripleO::Services::NeutronBgpvpnApi: OS::Heat::None
   OS::TripleO::Services::NeutronDhcpAgent: puppet/services/neutron-dhcp.yaml
   OS::TripleO::Services::NeutronL3Agent: puppet/services/neutron-l3.yaml
   OS::TripleO::Services::NeutronMetadataAgent: puppet/services/neutron-metadata.yaml
diff --git a/puppet/services/neutron-bgpvpn-api.yaml b/puppet/services/neutron-bgpvpn-api.yaml
new file mode 100644 (file)
index 0000000..f01cf6f
--- /dev/null
@@ -0,0 +1,34 @@
+heat_template_version: ocata
+
+description: >
+  BGPVPN API 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
+  BgpvpnServiceProvider:
+    default: 'BGPVPN:Dummy:networking_bgpvpn.neutron.services.service_drivers.driver_api.BGPVPNDriver:default'
+    description: Backend to use as a service provider for BGPVPN
+    type: string
+
+outputs:
+  role_data:
+    description: Role data for the BGPVPN role.
+    value:
+      service_name: neutron_bgpvpn_api
+      config_settings:
+        neutron::services::bgpvpn::service_providers: {get_param: BgpvpnServiceProvider}
+      step_config: |
+        include ::tripleo::profile::base::neutron::bgpvpn
diff --git a/releasenotes/notes/add-bgpvpn-support-f60c5a9cee0bb393.yaml b/releasenotes/notes/add-bgpvpn-support-f60c5a9cee0bb393.yaml
new file mode 100644 (file)
index 0000000..2af6aa7
--- /dev/null
@@ -0,0 +1,3 @@
+---
+features:
+  - Add support for BGPVPN Neutron service plugin
index 1fddf72..e0c1c42 100644 (file)
@@ -52,6 +52,7 @@
     - OS::TripleO::Services::HeatEngine
     - OS::TripleO::Services::MySQL
     - OS::TripleO::Services::MySQLClient
+    - OS::TripleO::Services::NeutronBgpvpnApi
     - OS::TripleO::Services::NeutronDhcpAgent
     - OS::TripleO::Services::NeutronL3Agent
     - OS::TripleO::Services::NeutronMetadataAgent