Merge "Enable Neutron LBaaS Integration"
[apex-tripleo-heat-templates.git] / puppet / services / opendaylight-ovs.yaml
index ed572b4..8ffa8a3 100644 (file)
@@ -1,4 +1,4 @@
-heat_template_version: ocata
+heat_template_version: pike
 
 description: >
   OpenDaylight OVS Configuration.
@@ -38,6 +38,10 @@ parameters:
     description: Mapping of service endpoint -> protocol. Typically set
                  via parameter_defaults in the resource registry.
     type: json
+  ServiceData:
+    default: {}
+    description: Dictionary packing service data
+    type: json
   ServiceNetMap:
     default: {}
     description: Mapping of service_name -> network name. Typically set
@@ -47,10 +51,25 @@ parameters:
   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
 
 resources:
-  OpenVswitchUpgrade:
-    type: ./openvswitch-upgrade.yaml
+  Ovs:
+    type: ./openvswitch.yaml
+    properties:
+      ServiceData: {get_param: ServiceData}
+      ServiceNetMap: {get_param: ServiceNetMap}
+      DefaultPasswords: {get_param: DefaultPasswords}
+      EndpointMap: {get_param: EndpointMap}
+      RoleName: {get_param: RoleName}
+      RoleParameters: {get_param: RoleParameters}
 
 outputs:
   role_data:
@@ -58,19 +77,21 @@ outputs:
     value:
       service_name: opendaylight_ovs
       config_settings:
-        opendaylight::odl_rest_port: {get_param: OpenDaylightPort}
-        opendaylight::username: {get_param: OpenDaylightUsername}
-        opendaylight::password: {get_param: OpenDaylightPassword}
-        opendaylight_check_url: {get_param: OpenDaylightCheckURL}
-        opendaylight::nb_connection_protocol: {get_param: OpenDaylightConnectionProtocol}
-        neutron::agents::ml2::ovs::local_ip: {get_param: [ServiceNetMap, NeutronTenantNetwork]}
-        neutron::plugins::ovs::opendaylight::provider_mappings: {get_param: OpenDaylightProviderMappings}
-        tripleo.opendaylight_ovs.firewall_rules:
-          '118 neutron vxlan networks':
-             proto: 'udp'
-             dport: 4789
-          '136 neutron gre networks':
-             proto: 'gre'
+        map_merge:
+          - opendaylight::odl_rest_port: {get_param: OpenDaylightPort}
+            opendaylight::username: {get_param: OpenDaylightUsername}
+            opendaylight::password: {get_param: OpenDaylightPassword}
+            opendaylight_check_url: {get_param: OpenDaylightCheckURL}
+            opendaylight::nb_connection_protocol: {get_param: OpenDaylightConnectionProtocol}
+            neutron::agents::ml2::ovs::local_ip: {get_param: [ServiceNetMap, NeutronTenantNetwork]}
+            neutron::plugins::ovs::opendaylight::provider_mappings: {get_param: OpenDaylightProviderMappings}
+            tripleo.opendaylight_ovs.firewall_rules:
+              '118 neutron vxlan networks':
+               proto: 'udp'
+               dport: 4789
+              '136 neutron gre networks':
+               proto: 'gre'
+          - get_attr: [Ovs, role_data, config_settings]
       step_config: |
         include tripleo::profile::base::neutron::plugins::ovs::opendaylight
       upgrade_tasks:
@@ -78,7 +99,7 @@ outputs:
           expression: $.data.ovs_upgrade + $.data.opendaylight_upgrade
           data:
             ovs_upgrade:
-              get_attr: [OpenVswitchUpgrade, role_data, upgrade_tasks]
+              get_attr: [Ovs, role_data, upgrade_tasks]
             opendaylight_upgrade:
               - name: Check if openvswitch is deployed
                 command: systemctl is-enabled openvswitch