Change flat network name for nosdn fdio scenario
[apex-tripleo-heat-templates.git] / puppet / services / heat-engine.yaml
index a166f3a..855af6f 100644 (file)
@@ -1,9 +1,13 @@
-heat_template_version: ocata
+heat_template_version: pike
 
 description: >
   Openstack Heat Engine 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
@@ -13,6 +17,14 @@ 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
   EndpointMap:
     default: {}
     description: Mapping of service endpoint -> protocol. Typically set
@@ -62,9 +74,12 @@ resources:
   HeatBase:
     type: ./heat-base.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:
@@ -84,35 +99,33 @@ outputs:
             heat::engine::max_nested_stack_depth: 6
             heat::engine::max_resources_per_stack: {get_param: HeatMaxResourcesPerStack}
             heat::engine::heat_metadata_server_url:
-              list_join:
-                - ''
-                - - {get_param: [EndpointMap, HeatCfnPublic, protocol]}
-                  - '://'
-                  - {get_param: [EndpointMap, HeatCfnPublic, host]}
-                  - ':'
-                  - {get_param: [EndpointMap, HeatCfnPublic, port]}
+              make_url:
+                scheme: {get_param: [EndpointMap, HeatCfnPublic, protocol]}
+                host: {get_param: [EndpointMap, HeatCfnPublic, host]}
+                port: {get_param: [EndpointMap, HeatCfnPublic, port]}
             heat::engine::heat_waitcondition_server_url:
-              list_join:
-                - ''
-                - - {get_param: [EndpointMap, HeatCfnPublic, protocol]}
-                  - '://'
-                  - {get_param: [EndpointMap, HeatCfnPublic, host]}
-                  - ':'
-                  - {get_param: [EndpointMap, HeatCfnPublic, port]}
-                  - '/v1/waitcondition'
+              make_url:
+                scheme: {get_param: [EndpointMap, HeatCfnPublic, protocol]}
+                host: {get_param: [EndpointMap, HeatCfnPublic, host]}
+                port: {get_param: [EndpointMap, HeatCfnPublic, port]}
+                path: /v1/waitcondition
             heat::engine::convergence_engine: {get_param: HeatConvergenceEngine}
             tripleo::profile::base::heat::manage_db_purge: {get_param: HeatEnableDBPurge}
             heat::database_connection:
+              make_url:
+                scheme: {get_param: [EndpointMap, MysqlInternal, protocol]}
+                username: heat
+                password: {get_param: HeatPassword}
+                host: {get_param: [EndpointMap, MysqlInternal, host]}
+                path: /heat
+                query:
+                  read_default_file: /etc/my.cnf.d/tripleo.cnf
+                  read_default_group: tripleo
+            heat::keystone_ec2_uri:
               list_join:
-                - ''
-                - - {get_param: [EndpointMap, MysqlInternal, protocol]}
-                  - '://heat:'
-                  - {get_param: HeatPassword}
-                  - '@'
-                  - {get_param: [EndpointMap, MysqlInternal, host]}
-                  - '/heat'
-                  - '?read_default_file=/etc/my.cnf.d/tripleo.cnf&read_default_group=tripleo'
-            heat::keystone_ec2_uri: {get_param: [EndpointMap, KeystoneEC2, uri]}
+              - ''
+              - - {get_param: [EndpointMap, KeystoneV3Internal, uri]}
+                - '/ec2tokens'
             heat::keystone::domain::domain_password: {get_param: HeatStackDomainAdminPassword}
             heat::engine::auth_encryption_key:
               yaql: