Merge "Add global_config_settings to services' output"
[apex-tripleo-heat-templates.git] / puppet / services / services.yaml
index 64a0f98..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,11 +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
+  DefaultPasswords:
+    default: {}
+    description: Mapping of service -> default password. Used to help
+                 pass top level passwords managed by Heat into services.
+    type: json
 
 resources:
 
@@ -24,12 +35,28 @@ resources:
       resources: {get_param: Services}
       concurrent: true
       resource_properties:
+        ServiceNetMap: {get_param: ServiceNetMap}
         EndpointMap: {get_param: EndpointMap}
+        DefaultPasswords: {get_param: DefaultPasswords}
 
 outputs:
   role_data:
     description: Combined Role data for this set of services.
     value:
-      service_names: {get_attr: [ServiceChain, role_data, service_name]}
+      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]}]}