Add BGPVPN composable service
authorRicardo Noriega <rnoriega@redhat.com>
Thu, 29 Jun 2017 16:02:28 +0000 (18:02 +0200)
committerTim Rozet <trozet@redhat.com>
Wed, 12 Jul 2017 17:19:43 +0000 (13:19 -0400)
Depends-On: I4af82d456c9d999667f2ef4d16e8f6822463d331
Change-Id: Id28df6ed307976fbb20fa1300f7349b743d96569
Signed-off-by: Ricardo Noriega <rnoriega@redhat.com>
environments/neutron-bgpvpn-opendaylight.yaml [new file with mode: 0644]
overcloud-resource-registry-puppet.j2.yaml
puppet/services/neutron-bgpvpn-api.yaml [new file with mode: 0644]
roles_data.yaml

diff --git a/environments/neutron-bgpvpn-opendaylight.yaml b/environments/neutron-bgpvpn-opendaylight.yaml
new file mode 100644 (file)
index 0000000..c9ddf91
--- /dev/null
@@ -0,0 +1,22 @@
+# A Heat environment file that can be used to deploy Neutron BGPVPN service
+# 
+#  This environment file deploys Neutron BGPVPN service and configures
+#  Opendaylight as its service provider.
+#
+# - OpenDaylight: BGPVPN:OpenDaylight:networking_bgpvpn.neutron.services.service_drivers.opendaylight.odl.OpenDaylightBgpvpnDriver:default
+
+resource_registry:
+  OS::TripleO::Services::NeutronBgpVpnApi: ../puppet/services/neutron-bgpvpn-api.yaml
+  OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
+  OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None
+  OS::TripleO::Services::ComputeNeutronCorePlugin: OS::Heat::None
+  OS::TripleO::Services::OpenDaylightApi: ../puppet/services/opendaylight-api.yaml
+  OS::TripleO::Services::OpenDaylightOvs: ../puppet/services/opendaylight-ovs.yaml
+  OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
+
+parameter_defaults:
+  NeutronEnableForceMetadata: true
+  NeutronMechanismDrivers: 'opendaylight'
+  NeutronNetworkType: 'vxlan'
+  NeutronServicePlugins: 'odl-router_v2, networking_bgpvpn.neutron.services.plugin.BGPVPNPlugin'
+  BgpvpnServiceProvider: 'BGPVPN:OpenDaylight:networking_bgpvpn.neutron.services.service_drivers.opendaylight.odl.OpenDaylightBgpvpnDriver:default'
index b4c984e..b6e0eab 100644 (file)
@@ -139,6 +139,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..1b6e7e5
--- /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
index d3e08da..edbf8b4 100644 (file)
@@ -60,6 +60,7 @@
     - OS::TripleO::Services::NeutronL3Agent
     - OS::TripleO::Services::NeutronMetadataAgent
     - OS::TripleO::Services::NeutronApi
+    - OS::TripleO::Services::NeutronBgpVpnApi
     - OS::TripleO::Services::NeutronCorePlugin
     - OS::TripleO::Services::NeutronOvsAgent
     - OS::TripleO::Services::RabbitMQ