aboutsummaryrefslogtreecommitdiffstats
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 cc22ff92..23dbd109 100644
--- a/capabilities-map.yaml
+++ b/capabilities-map.yaml
@@ -308,6 +308,11 @@ topics:
description: >
Enable various Neutron plugins and backends
environments:
+ - 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 bd92d2b7..4b8563d8 100644
--- a/overcloud-resource-registry-puppet.j2.yaml
+++ b/overcloud-resource-registry-puppet.j2.yaml
@@ -141,6 +141,7 @@ resource_registry:
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::NeutronSfcApi: 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-sfc-api.yaml b/puppet/services/neutron-sfc-api.yaml
new file mode 100644
index 00000000..1caf4557
--- /dev/null
+++ b/puppet/services/neutron-sfc-api.yaml
@@ -0,0 +1,51 @@
+heat_template_version: ocata
+
+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 d69239c4..b12dcdf1 100644
--- a/roles_data.yaml
+++ b/roles_data.yaml
@@ -56,6 +56,7 @@
- OS::TripleO::Services::HeatEngine
- OS::TripleO::Services::MySQL
- OS::TripleO::Services::MySQLClient
+ - OS::TripleO::Services::NeutronSfcApi
- OS::TripleO::Services::NeutronDhcpAgent
- OS::TripleO::Services::NeutronL3Agent
- OS::TripleO::Services::NeutronMetadataAgent