Merge "Support configurable Zaqar backends"
[apex-tripleo-heat-templates.git] / puppet / all-nodes-config.yaml
index 60290f6..24aa152 100644 (file)
@@ -1,4 +1,4 @@
-heat_template_version: ocata
+heat_template_version: pike
 description: 'All Nodes Config for Puppet'
 
 parameters:
@@ -12,10 +12,8 @@ parameters:
     type: string
   cloud_name_ctlplane:
     type: string
-  # FIXME(shardy) this can be comma_delimited_list when
-  # https://bugs.launchpad.net/heat/+bug/1617019 is fixed
   enabled_services:
-    type: string
+    type: comma_delimited_list
   controller_ips:
     type: comma_delimited_list
   logging_groups:
@@ -32,8 +30,6 @@ parameters:
     type: json
   controller_names:
     type: comma_delimited_list
-  memcache_node_ips:
-    type: comma_delimited_list
   NetVipMap:
     type: json
   RedisVirtualIP:
@@ -49,6 +45,7 @@ parameters:
       perform configuration on a Heat stack-update.
   UpdateIdentifier:
     type: string
+    default: ''
     description: >
       Setting to a previously unused value during stack-update will trigger
       package update on all nodes
@@ -118,7 +115,10 @@ resources:
            map_merge:
               - tripleo::profile::base::logging::fluentd::fluentd_sources: {get_param: logging_sources}
               - tripleo::profile::base::logging::fluentd::fluentd_groups: {get_param: logging_groups}
-              - enabled_services: {get_param: enabled_services}
+              - enabled_services:
+                  yaql:
+                    expression: $.data.distinct()
+                    data: {get_param: enabled_services}
               # This writes out a mapping of service_name_enabled: 'true'
               # For any services not enabled, hiera foo_enabled will
               # return nil, as it's undefined
@@ -129,8 +129,7 @@ resources:
                       # https://bugs.launchpad.net/heat/+bug/1617203
                       SERVICE_enabled: 'true'
                     for_each:
-                      SERVICE:
-                        str_split: [',', {get_param: enabled_services}]
+                      SERVICE: {get_param: enabled_services}
               # Dynamically generate per-service network data
               # This works as follows (outer->inner functions)
               # yaql - filters services where no mapping exists in ServiceNetMap
@@ -150,8 +149,7 @@ resources:
                               template:
                                 SERVICE_network: SERVICE_network
                               for_each:
-                                SERVICE:
-                                  str_split: [',', {get_param: enabled_services}]
+                                SERVICE: {get_param: enabled_services}
                         - values: {get_param: ServiceNetMap}
               # Keystone doesn't provide separate entries for the public
               # and admin endpoints, so we need to add them here manually
@@ -171,11 +169,6 @@ resources:
                   list_join:
                   - ','
                   - {get_param: controller_names}
-                memcached_node_ips_v6:
-                  repeat:
-                    template: "inet6:[NAME]"
-                    for_each:
-                      NAME: {get_param: memcache_node_ips}
                 deploy_identifier: {get_param: DeployIdentifier}
                 update_identifier: {get_param: UpdateIdentifier}
                 stack_action: {get_param: StackAction}
@@ -203,8 +196,7 @@ resources:
                                   template:
                                     SERVICE_vip: SERVICE_network
                                   for_each:
-                                    SERVICE:
-                                      str_split: [',', {get_param: enabled_services}]
+                                    SERVICE: {get_param: enabled_services}
                             - values: {get_param: ServiceNetMap}
                         - values: {get_param: NetVipMap}
               - keystone_admin_api_vip: