Updated the heat_template_version
[apex-tripleo-heat-templates.git] / puppet / all-nodes-config.yaml
index 963835e..e85975d 100644 (file)
@@ -16,14 +16,61 @@ parameters:
     type: comma_delimited_list
   controller_names:
     type: comma_delimited_list
+  rabbit_node_ips:
+    type: comma_delimited_list
+  mongo_node_ips:
+    type: comma_delimited_list
+  redis_node_ips:
+    type: comma_delimited_list
+  memcache_node_ips:
+    type: comma_delimited_list
+  mysql_node_ips:
+    type: comma_delimited_list
+  horizon_node_ips:
+    type: comma_delimited_list
+  heat_api_node_ips:
+    type: comma_delimited_list
+  swift_proxy_node_ips:
+    type: comma_delimited_list
+  ceilometer_api_node_ips:
+    type: comma_delimited_list
+  nova_api_node_ips:
+    type: comma_delimited_list
+  nova_metadata_node_ips:
+    type: comma_delimited_list
+  glance_api_node_ips:
+    type: comma_delimited_list
+  glance_registry_node_ips:
+    type: comma_delimited_list
+  cinder_api_node_ips:
+    type: comma_delimited_list
+  neutron_api_node_ips:
+    type: comma_delimited_list
+  keystone_public_api_node_ips:
+    type: comma_delimited_list
+  keystone_admin_api_node_ips:
+    type: comma_delimited_list
+  sahara_api_node_ips:
+    type: comma_delimited_list
+
+  DeployIdentifier:
+    type: string
+    description: >
+      Setting this to a unique value will re-run any deployment tasks which
+      perform configuration on a Heat stack-update.
+  UpdateIdentifier:
+    type: string
+    description: >
+      Setting to a previously unused value during stack-update will trigger
+      package update on all nodes
 
 resources:
 
   allNodesConfigImpl:
     type: OS::Heat::StructuredConfig
     properties:
+      group: os-apply-config
       config:
-        completion-signal: {get_input: deploy_signal_id}
         hosts:
           list_join:
           - "\n"
@@ -44,6 +91,8 @@ resources:
               - {get_param: ceph_storage_hosts}
         hiera:
           datafiles:
+            RedHat:
+              raw_data: {get_file: hieradata/RedHat.yaml}
             all_nodes:
               mapped_data:
                 controller_node_ips:
@@ -65,19 +114,153 @@ resources:
                       SERVERS_LIST:
                         list_join:
                         - "','"
-                        - {get_param: controller_ips}
+                        - {get_param: rabbit_node_ips}
                 mongo_node_ips:
-                  list_join:
-                  - ','
-                  - {get_param: controller_ips}
+                  str_replace:
+                    template: "['SERVERS_LIST']"
+                    params:
+                      SERVERS_LIST:
+                        list_join:
+                        - "','"
+                        - {get_param: mongo_node_ips}
                 redis_node_ips:
-                  list_join:
-                  - ','
-                  - {get_param: controller_ips}
+                  str_replace:
+                    template: "['SERVERS_LIST']"
+                    params:
+                      SERVERS_LIST:
+                        list_join:
+                        - "','"
+                        - {get_param: redis_node_ips}
                 memcache_node_ips:
-                  list_join:
-                  - ','
-                  - {get_param: controller_ips}
+                  str_replace:
+                    template: "['SERVERS_LIST']"
+                    params:
+                      SERVERS_LIST:
+                        list_join:
+                        - "','"
+                        - {get_param: memcache_node_ips}
+                mysql_node_ips:
+                  str_replace:
+                    template: "['SERVERS_LIST']"
+                    params:
+                      SERVERS_LIST:
+                        list_join:
+                        - "','"
+                        - {get_param: mysql_node_ips}
+                horizon_node_ips:
+                  str_replace:
+                    template: "['SERVERS_LIST']"
+                    params:
+                      SERVERS_LIST:
+                        list_join:
+                        - "','"
+                        - {get_param: horizon_node_ips}
+                heat_api_node_ips:
+                  str_replace:
+                    template: "['SERVERS_LIST']"
+                    params:
+                      SERVERS_LIST:
+                        list_join:
+                        - "','"
+                        - {get_param: heat_api_node_ips}
+                swift_proxy_node_ips:
+                  str_replace:
+                    template: "['SERVERS_LIST']"
+                    params:
+                      SERVERS_LIST:
+                        list_join:
+                        - "','"
+                        - {get_param: swift_proxy_node_ips}
+                ceilometer_api_node_ips:
+                  str_replace:
+                    template: "['SERVERS_LIST']"
+                    params:
+                      SERVERS_LIST:
+                        list_join:
+                        - "','"
+                        - {get_param: ceilometer_api_node_ips}
+                nova_api_node_ips:
+                  str_replace:
+                    template: "['SERVERS_LIST']"
+                    params:
+                      SERVERS_LIST:
+                        list_join:
+                        - "','"
+                        - {get_param: nova_api_node_ips}
+                nova_metadata_node_ips:
+                  str_replace:
+                    template: "['SERVERS_LIST']"
+                    params:
+                      SERVERS_LIST:
+                        list_join:
+                        - "','"
+                        - {get_param: nova_metadata_node_ips}
+                glance_api_node_ips:
+                  str_replace:
+                    template: "['SERVERS_LIST']"
+                    params:
+                      SERVERS_LIST:
+                        list_join:
+                        - "','"
+                        - {get_param: glance_api_node_ips}
+                glance_registry_node_ips:
+                  str_replace:
+                    template: "['SERVERS_LIST']"
+                    params:
+                      SERVERS_LIST:
+                        list_join:
+                        - "','"
+                        - {get_param: glance_registry_node_ips}
+                cinder_api_node_ips:
+                  str_replace:
+                    template: "['SERVERS_LIST']"
+                    params:
+                      SERVERS_LIST:
+                        list_join:
+                        - "','"
+                        - {get_param: cinder_api_node_ips}
+                neutron_api_node_ips:
+                  str_replace:
+                    template: "['SERVERS_LIST']"
+                    params:
+                      SERVERS_LIST:
+                        list_join:
+                        - "','"
+                        - {get_param: neutron_api_node_ips}
+                # TODO: pass a `midonet_api_node_ips` var
+                midonet_api_node_ips:
+                  str_replace:
+                    template: "['SERVERS_LIST']"
+                    params:
+                      SERVERS_LIST:
+                        list_join:
+                        - "','"
+                        - {get_param: neutron_api_node_ips}
+                keystone_public_api_node_ips:
+                  str_replace:
+                    template: "['SERVERS_LIST']"
+                    params:
+                      SERVERS_LIST:
+                        list_join:
+                        - "','"
+                        - {get_param: keystone_public_api_node_ips}
+                keystone_admin_api_node_ips:
+                  str_replace:
+                    template: "['SERVERS_LIST']"
+                    params:
+                      SERVERS_LIST:
+                        list_join:
+                        - "','"
+                        - {get_param: keystone_admin_api_node_ips}
+                sahara_api_node_ips:
+                  str_replace:
+                    template: "['SERVERS_LIST']"
+                    params:
+                      SERVERS_LIST:
+                        list_join:
+                        - "','"
+                        - {get_param: sahara_api_node_ips}
+
                 # NOTE(gfidente): interpolation with %{} in the
                 # hieradata file can't be used as it returns string
                 ceilometer::rabbit_hosts: *rabbit_nodes_array
@@ -85,9 +268,20 @@ resources:
                 heat::rabbit_hosts: *rabbit_nodes_array
                 neutron::rabbit_hosts: *rabbit_nodes_array
                 nova::rabbit_hosts: *rabbit_nodes_array
+                keystone::rabbit_hosts: *rabbit_nodes_array
+                sahara::rabbit_hosts: *rabbit_nodes_array
+
+                deploy_identifier: {get_param: DeployIdentifier}
+                update_identifier: {get_param: UpdateIdentifier}
 
 outputs:
   config_id:
     description: The ID of the allNodesConfigImpl resource.
     value:
       {get_resource: allNodesConfigImpl}
+  hosts_entries:
+    description: |
+      The content that should be appended to your /etc/hosts if you want to get
+      hostname-based access to the deployed nodes (useful for testing without
+      setting up a DNS).
+    value: {get_attr: [allNodesConfigImpl, config, hosts]}