Swift proxy align *-quotas with puppet-swift syntax
[apex-tripleo-heat-templates.git] / puppet / services / services.yaml
index 176fd23..90268c7 100644 (file)
@@ -1,4 +1,4 @@
-heat_template_version: 2016-10-14
+heat_template_version: ocata
 
 description: >
   Utility stack to convert an array of services into a set of combined
@@ -42,6 +42,11 @@ resources:
   LoggingConfiguration:
     type: OS::TripleO::LoggingConfiguration
 
+  ServiceServerMetadataHook:
+    type: OS::TripleO::ServiceServerMetadataHook
+    properties:
+      RoleData: {get_attr: [ServiceChain, role_data]}
+
 outputs:
   role_data:
     description: Combined Role data for this set of services.
@@ -54,8 +59,8 @@ outputs:
           data: {s_names: {get_attr: [ServiceChain, role_data, service_name]}}
       monitoring_subscriptions:
         yaql:
-          expression: list($.data.where($ != null).select($.get('monitoring_subscription')).where($ != null))
-          data: {get_attr: [ServiceChain, role_data]}
+          expression: list($.data.role_data.where($ != null).select($.get('monitoring_subscription')).where($ != null))
+          data: {role_data: {get_attr: [ServiceChain, role_data]}}
       logging_sources:
         # Transform the individual logging_source configuration from
         # each service in the chain into a global list, adding some
@@ -78,8 +83,9 @@ outputs:
             sources:
               - {get_attr: [LoggingConfiguration, LoggingDefaultSources]}
               - yaql:
-                  expression: list($.data.where($ != null).select($.get('logging_source')).where($ != null))
-                  data: {get_attr: [ServiceChain, role_data]}
+                  expression: list($.data.role_data.where($ != null).select($.get('logging_source')).where($ != null))
+                  data: {role_data: {get_attr: [ServiceChain, role_data]}}
+
               - {get_attr: [LoggingConfiguration, LoggingExtraSources]}
             default_format: {get_attr: [LoggingConfiguration, LoggingDefaultFormat]}
             pos_file_path: {get_attr: [LoggingConfiguration, LoggingPosFilePath]}
@@ -93,17 +99,23 @@ outputs:
             groups:
               - [{get_attr: [LoggingConfiguration, LoggingDefaultGroups]}]
               - yaql:
-                  expression: list($.data.where($ != null).select($.get('logging_groups')).where($ != null))
-                  data: {get_attr: [ServiceChain, role_data]}
+                  expression: list($.data.role_data.where($ != null).select($.get('logging_groups')).where($ != null))
+                  data: {role_data: {get_attr: [ServiceChain, role_data]}}
               - [{get_attr: [LoggingConfiguration, LoggingExtraGroups]}]
       config_settings: {map_merge: {get_attr: [ServiceChain, role_data, config_settings]}}
       global_config_settings:
         map_merge:
           yaql:
-            expression: list($.data.where($ != null).select($.get('global_config_settings')).where($ != null))
-            data: {get_attr: [ServiceChain, role_data]}
+            expression: list($.data.role_data.where($ != null).select($.get('global_config_settings')).where($ != null))
+            data: {role_data: {get_attr: [ServiceChain, role_data]}}
       service_config_settings:
         yaql:
-          expression: $.data.where($ != null).select($.get('service_config_settings')).where($ != null).reduce($1.mergeWith($2), {})
-          data: {get_attr: [ServiceChain, role_data]}
+          expression: $.data.role_data.where($ != null).select($.get('service_config_settings')).where($ != null).reduce($1.mergeWith($2), {})
+          data: {role_data: {get_attr: [ServiceChain, role_data]}}
       step_config: {list_join: ["\n", {get_attr: [ServiceChain, role_data, step_config]}]}
+      upgrade_tasks:
+        yaql:
+          # Note we use distinct() here to filter any identical tasks, e.g yum update for all services
+          expression: $.data.where($ != null).select($.get('upgrade_tasks')).where($ != null).flatten().distinct()
+          data: {get_attr: [ServiceChain, role_data]}
+      service_metadata_settings: {get_attr: [ServiceServerMetadataHook, metadata]}