Merge "Add global_config_settings to services' output"
[apex-tripleo-heat-templates.git] / puppet / services / services.yaml
index f968163..b54a6d7 100644 (file)
@@ -1,4 +1,4 @@
-heat_template_version: 2016-04-08
+heat_template_version: 2016-10-14
 
 description: >
   Utility stack to convert an array of services into a set of combined
@@ -10,15 +10,22 @@ parameters:
     description: |
         List nested stack service templates.
     type: comma_delimited_list
+  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
   EndpointMap:
     default: {}
     description: Mapping of service endpoint -> protocol. Typically set
                  via parameter_defaults in the resource registry.
     type: json
-  MysqlVirtualIPUri:
-    default: ''
-    type: string
-    description: The URI virtual IP for the MySQL service.
+  DefaultPasswords:
+    default: {}
+    description: Mapping of service -> default password. Used to help
+                 pass top level passwords managed by Heat into services.
+    type: json
 
 resources:
 
@@ -28,13 +35,28 @@ resources:
       resources: {get_param: Services}
       concurrent: true
       resource_properties:
+        ServiceNetMap: {get_param: ServiceNetMap}
         EndpointMap: {get_param: EndpointMap}
-        MysqlVirtualIPUri: {get_param: MysqlVirtualIPUri}
+        DefaultPasswords: {get_param: DefaultPasswords}
 
 outputs:
-  config_settings:
-    description: Configuration settings.
-    value: {map_merge: {get_attr: [ServiceChain, role_data, config_settings]}}
-  step_config:
-    description: Step configuration.
-    value: {list_join: ["\n", {get_attr: [ServiceChain, role_data, step_config]}]}
+  role_data:
+    description: Combined Role data for this set of services.
+    value:
+      service_names:
+        # Filter any null/None service_names which may be present due to mapping
+        # of services to OS::Heat::None
+        yaql:
+          expression: list($.data.s_names.where($ != null))
+          data: {s_names: {get_attr: [ServiceChain, role_data, service_name]}}
+      monitoring_subscriptions:
+        yaql:
+          expression: list($.data.subscriptions.where($ != null))
+          data: {subscriptions: {get_attr: [ServiceChain, role_data, monitoring_subscription]}}
+      config_settings: {map_merge: {get_attr: [ServiceChain, role_data, config_settings]}}
+      global_config_settings:
+        map_merge:
+          yaql:
+            expression: list($.data.configs.where($ != null))
+            data: {configs: {get_attr: [ServiceChain, role_data, global_config_settings]}}
+      step_config: {list_join: ["\n", {get_attr: [ServiceChain, role_data, step_config]}]}