Add THT for fossw ML2 plugin in networking-fujitsu
authorKoki Sanagi <sanagi.koki@jp.fujitsu.com>
Wed, 21 Dec 2016 20:19:45 +0000 (15:19 -0500)
committerKoki Sanagi <sanagi.koki@jp.fujitsu.com>
Thu, 19 Jan 2017 17:55:47 +0000 (12:55 -0500)
Introduce THT for fossw ML2 plugin in networking-fujitsu.
networking-fujitsu is a neutron ML2 plugin which enables several
FUJITSU switch products in OpenStack environment. This templates
deploy overcloud with FOS switch.

Change-Id: I977dbecbf9f6f9725f7fb5ca4745b537a73975ff
Implements: blueprint integration-fossw-networking-fujitsu
Depends-On: I044c5812bbc5cd3de4bc33556cffbe5bad8e64cf
Depends-On: I79df6b6a27d95f0c0e2c87207ab80235a4efccfc

capabilities-map.yaml
environments/neutron-ml2-fujitsu-fossw.yaml [new file with mode: 0644]
overcloud-resource-registry-puppet.j2.yaml
puppet/services/neutron-plugin-ml2-fujitsu-fossw.yaml [new file with mode: 0644]
roles_data.yaml

index 59d47ee..fb872b0 100644 (file)
@@ -370,6 +370,11 @@ topics:
             description: Enable C-Fabric in the overcloud
             requires:
               - overcloud-resource-registry-puppet.yaml
+          - file: environments/neutron-ml2-fujitsu-fossw.yaml
+            title: Fujitsu Neutron plugin for FOS
+            description: Enable FOS in the overcloud
+            requires:
+              - overcloud-resource-registry-puppet.yaml
 
   - title: Nova Extensions
     description:
diff --git a/environments/neutron-ml2-fujitsu-fossw.yaml b/environments/neutron-ml2-fujitsu-fossw.yaml
new file mode 100644 (file)
index 0000000..8db8da7
--- /dev/null
@@ -0,0 +1,22 @@
+# A Heat environment file which can be used to enable Fujitsu fossw
+# plugin, configured via puppet
+resource_registry:
+  OS::TripleO::Services::NeutronML2FujitsuFossw: ../puppet/services/neutron-plugin-ml2-fujitsu-fossw.yaml
+
+parameter_defaults:
+  # Fixed
+  NeutronMechanismDrivers: ['openvswitch','fujitsu_fossw']
+  NeutronTypeDrivers: ['vlan','vxlan']
+  NeutronNetworkType: ['vlan','vxlan']
+
+  # Required
+  NeutronFujitsuFosswIps: '192.168.0.1,192.168.0.2'
+  NeutronFujitsuFosswUserName:
+  NeutronFujitsuFosswPassword:
+
+  # Optional
+  #NeutronFujitsuFosswPort:
+  #NeutronFujitsuFosswTimeout:
+  #NeutronFujitsuFosswUdpDestPort:
+  #NeutronFujitsuFosswOvsdbVlanidRangeMin:
+  #NeutronFujitsuFosswOvsdbPort:
index 7e0ecf0..d84f5e5 100644 (file)
@@ -231,6 +231,7 @@ resource_registry:
   OS::TripleO::Services::ContrailWebui: puppet/services/network/contrail-webui.yaml
   OS::TripleO::Services::Zaqar: OS::Heat::None
   OS::TripleO::Services::NeutronML2FujitsuCfab: OS::Heat::None
+  OS::TripleO::Services::NeutronML2FujitsuFossw: OS::Heat::None
   OS::TripleO::Services::CinderHPELeftHandISCSI: OS::Heat::None
 
 parameter_defaults:
diff --git a/puppet/services/neutron-plugin-ml2-fujitsu-fossw.yaml b/puppet/services/neutron-plugin-ml2-fujitsu-fossw.yaml
new file mode 100644 (file)
index 0000000..85971f1
--- /dev/null
@@ -0,0 +1,78 @@
+heat_template_version: ocata
+
+description: Configure hieradata for Fujitsu fossw plugin configuration
+
+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
+  NeutronFujitsuFosswIps:
+    description: 'The List of IP address of all fos switches.'
+    type: comma_delimited_list
+  NeutronFujitsuFosswUserName:
+    description: 'The username of the fos switches.'
+    type: string
+  NeutronFujitsuFosswPassword:
+    description: 'The password of the fos switches.'
+    type: string
+    hidden: true
+  NeutronFujitsuFosswPort:
+    description: 'The port number used for SSH connection.'
+    type: number
+    default: 22
+  NeutronFujitsuFosswTimeout:
+    description: 'The timeout os SSH connection.'
+    type: number
+    default: 30
+  NeutronFujitsuFosswUdpDestPort:
+    description: 'The port number of VXLAN UDP destination on the fos switches.'
+    type: number
+    default: 4789
+  NeutronFujitsuFosswOvsdbVlanidRangeMin:
+    description: 'The minimum VLAN ID in the range that is used for binding VNI and physical port.'
+    type: number
+    default: 2
+  NeutronFujitsuFosswOvsdbPort:
+    description: 'The port number which OVSDB server on the fos switches listen.'
+    type: number
+    default: 6640
+
+resources:
+
+  NeutronMl2Base:
+    type: ./neutron-plugin-ml2.yaml
+    properties:
+      ServiceNetMap: {get_param: ServiceNetMap}
+      DefaultPasswords: {get_param: DefaultPasswords}
+      EndpointMap: {get_param: EndpointMap}
+
+outputs:
+  role_data:
+    description: Role data for Fujitsu Fossw ML2 Driver
+    value:
+      service_name: neutron_plugin_ml2_fujitsu_fossw
+      config_settings:
+        map_merge:
+          - get_attr: [NeutronMl2Base, role_data, config_settings]
+          - neutron::plugins::ml2::fujitsu::fossw::fossw_ips: {get_param: NeutronFujitsuFosswIps}
+            neutron::plugins::ml2::fujitsu::fossw::username: {get_param: NeutronFujitsuFosswUserName}
+            neutron::plugins::ml2::fujitsu::fossw::password: {get_param: NeutronFujitsuFosswPassword}
+            neutron::plugins::ml2::fujitsu::fossw::port: {get_param: NeutronFujitsuFosswPort}
+            neutron::plugins::ml2::fujitsu::fossw::timeout: {get_param: NeutronFujitsuFosswTimeout}
+            neutron::plugins::ml2::fujitsu::fossw::udp_dest_port: {get_param: NeutronFujitsuFosswUdpDestPort}
+            neutron::plugins::ml2::fujitsu::fossw::ovsdb_vlanid_range_min: {get_param: NeutronFujitsuFosswOvsdbVlanidRangeMin}
+            neutron::plugins::ml2::fujitsu::fossw::ovsdb_port: {get_param: NeutronFujitsuFosswOvsdbPort}
+      step_config: |
+        include ::tripleo::profile::base::neutron::plugins::ml2
+
index bbb1ab7..e3870c3 100644 (file)
     - OS::TripleO::Services::Zaqar
     - OS::TripleO::Services::OVNDBs
     - OS::TripleO::Services::NeutronML2FujitsuCfab
+    - OS::TripleO::Services::NeutronML2FujitsuFossw
     - OS::TripleO::Services::CinderHPELeftHandISCSI
 
 - name: Compute