summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--capabilities-map.yaml5
-rw-r--r--environments/neutron-sfc-opendaylight.yaml18
-rw-r--r--environments/neutron-sfc.yaml6
-rw-r--r--overcloud-resource-registry-puppet.j2.yaml1
-rw-r--r--puppet/services/neutron-sfc-api.yaml51
-rw-r--r--releasenotes/notes/add_networking_sfc-72cd16bb34075150.yaml4
-rw-r--r--roles_data.yaml1
7 files changed, 86 insertions, 0 deletions
diff --git a/capabilities-map.yaml b/capabilities-map.yaml
index 26100639..6b23015d 100644
--- a/capabilities-map.yaml
+++ b/capabilities-map.yaml
@@ -221,6 +221,11 @@ topics:
description: Enables Neutron LBaaSv2 Service Plugin and Agent
requires:
- overcloud-resource-registry-puppet.yaml
+ - file: environments/neutron-sfc.yaml
+ title: Neutron SFC Service Plugin
+ description: Enables Neutron SFC Service Plugin
+ requires:
+ - overcloud-resource-registry-puppet.yaml
- file: environments/neutron-ml2-bigswitch.yaml
title: BigSwitch Extensions
description: >
diff --git a/environments/neutron-sfc-opendaylight.yaml b/environments/neutron-sfc-opendaylight.yaml
new file mode 100644
index 00000000..94601893
--- /dev/null
+++ b/environments/neutron-sfc-opendaylight.yaml
@@ -0,0 +1,18 @@
+# A Heat environment file that can be used to deploy Neutron SFC service with OpenDaylight
+resource_registry:
+ OS::TripleO::Services::NeutronSfcApi: ../puppet/services/neutron-sfc-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::NeutronCorePlugin: ../puppet/services/neutron-plugin-ml2-odl.yaml
+ 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_v2'
+ OpenDaylightFeatures: ["odl-netvirt-sfc","odl-jolokia"]
+ NeutronServicePlugins: 'odl-router_v2,trunk,flow_classifier,sfc'
+ NeutronSfcDriver: 'odl_v2'
+ NeutronFcDriver: 'odl_v2'
diff --git a/environments/neutron-sfc.yaml b/environments/neutron-sfc.yaml
new file mode 100644
index 00000000..2240f53f
--- /dev/null
+++ b/environments/neutron-sfc.yaml
@@ -0,0 +1,6 @@
+# A Heat environment file that can be used to deploy Neutron SFC service
+resource_registry:
+ OS::TripleO::Services::NeutronSfcApi: ../puppet/services/neutron-sfc-api.yaml
+
+parameter_defaults:
+ NeutronServicePlugins: 'flow_classifier,sfc'
diff --git a/overcloud-resource-registry-puppet.j2.yaml b/overcloud-resource-registry-puppet.j2.yaml
index f03c975e..0417f6f0 100644
--- a/overcloud-resource-registry-puppet.j2.yaml
+++ b/overcloud-resource-registry-puppet.j2.yaml
@@ -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::NeutronBgpVpnApi: OS::Heat::None
+ OS::TripleO::Services::NeutronSfcApi: 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
diff --git a/puppet/services/neutron-sfc-api.yaml b/puppet/services/neutron-sfc-api.yaml
new file mode 100644
index 00000000..d190ee15
--- /dev/null
+++ b/puppet/services/neutron-sfc-api.yaml
@@ -0,0 +1,51 @@
+heat_template_version: pike
+
+description: >
+ SFC API service configured with Puppet
+
+parameters:
+ 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
+ NeutronSfcDriver:
+ default: 'dummy'
+ description: Default driver for Service Function Chaining
+ type: string
+ NeutronFcDriver:
+ default: 'dummy'
+ description: Default driver for Flow Classifier
+ type: string
+
+outputs:
+ role_data:
+ description: Role data for the SFC role.
+ value:
+ service_name: neutron_sfc_api
+ config_settings:
+ neutron::services::sfc::sfc_driver: {get_param: NeutronSfcDriver}
+ neutron::services::sfc::fc_driver: {get_param: NeutronFcDriver}
+ step_config: |
+ include ::tripleo::profile::base::neutron::sfc
diff --git a/releasenotes/notes/add_networking_sfc-72cd16bb34075150.yaml b/releasenotes/notes/add_networking_sfc-72cd16bb34075150.yaml
new file mode 100644
index 00000000..0f85c623
--- /dev/null
+++ b/releasenotes/notes/add_networking_sfc-72cd16bb34075150.yaml
@@ -0,0 +1,4 @@
+---
+features:
+ - Adds support for deploying Service Function
+ Chaining api service with neutron networking-sfc.
diff --git a/roles_data.yaml b/roles_data.yaml
index 41802202..ae9f931a 100644
--- a/roles_data.yaml
+++ b/roles_data.yaml
@@ -97,6 +97,7 @@
- OS::TripleO::Services::MongoDb
- OS::TripleO::Services::MySQL
- OS::TripleO::Services::MySQLClient
+ - OS::TripleO::Services::NeutronSfcApi
- OS::TripleO::Services::NeutronApi
- OS::TripleO::Services::NeutronBgpVpnApi
- OS::TripleO::Services::NeutronCorePlugin