Adds networking-sfc support 79/56279/1 opnfv-6.0.0 opnfv-6.1.0 opnfv-6.2.0
authorTim Rozet <trozet@redhat.com>
Tue, 1 Aug 2017 20:58:00 +0000 (16:58 -0400)
committerTim Rozet <trozet@redhat.com>
Mon, 23 Apr 2018 14:39:38 +0000 (10:39 -0400)
Enables deployment of service function chaining via the networking-sfc
project.

Implements: blueprint networking-sfc-support

Depends-On: Icd433ddc6ae7de19a09f9e33b410a362c317138a

Change-Id: I230b31dc9ed0ecc5046064628ba2f2505e589522
Signed-off-by: Tim Rozet <trozet@redhat.com>
(cherry picked from commit d26ec42567672048ec3197119fed24fd80c15c3b)

capabilities-map.yaml
environments/neutron-sfc-opendaylight.yaml [new file with mode: 0644]
environments/neutron-sfc.yaml [new file with mode: 0644]
overcloud-resource-registry-puppet.j2.yaml
puppet/services/neutron-sfc-api.yaml [new file with mode: 0644]
releasenotes/notes/add_networking_sfc-72cd16bb34075150.yaml [new file with mode: 0644]
roles_data.yaml

index 2610063..6b23015 100644 (file)
@@ -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 (file)
index 0000000..9460189
--- /dev/null
@@ -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 (file)
index 0000000..2240f53
--- /dev/null
@@ -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'
index f03c975..0417f6f 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::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 (file)
index 0000000..d190ee1
--- /dev/null
@@ -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 (file)
index 0000000..0f85c62
--- /dev/null
@@ -0,0 +1,4 @@
+---
+features:
+  - Adds support for deploying Service Function
+    Chaining api service with neutron networking-sfc.
index 4180220..ae9f931 100644 (file)
@@ -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