Add allNodesConfig to Swift storage nodes
[apex-tripleo-heat-templates.git] / overcloud-without-mergepy.yaml
index 2261d64..8532081 100644 (file)
@@ -669,37 +669,14 @@ resources:
           CephMonitors: {get_attr: [Controller, corosync_node]}
 
   allNodesConfig:
-    type: OS::Heat::StructuredConfig
+    type: OS::TripleO::AllNodes::SoftwareConfig
     properties:
-      config:
-        completion-signal: {get_input: deploy_signal_id}
-        hosts:
-          list_join:
-          - "\n"
-          - - list_join:
-              - "\n"
-              - {get_attr: [Compute, hosts_entry]}
-            - list_join:
-              - "\n"
-              - {get_attr: [Controller, hosts_entry]}
-            - list_join:
-              - "\n"
-              - {get_attr: [BlockStorage, hosts_entry]}
-            - list_join:
-              - "\n"
-              - {get_attr: [ObjectStorage, hosts_entry]}
-            - list_join:
-              - "\n"
-              - {get_attr: [CephStorage, hosts_entry]}
-        rabbit:
-          nodes:
-            list_join:
-            - ','
-            - {get_attr: [Controller, hostname]}
-        sysctl:
-          net.ipv4.tcp_keepalive_time: 5
-          net.ipv4.tcp_keepalive_probes: 5
-          net.ipv4.tcp_keepalive_intvl: 1
+      compute_hosts: {get_attr: [Compute, hosts_entry]}
+      controller_hosts: {get_attr: [Controller, hosts_entry]}
+      block_storage_hosts: {get_attr: [BlockStorage, hosts_entry]}
+      object_storage_hosts: {get_attr: [ObjectStorage, hosts_entry]}
+      ceph_storage_hosts: {get_attr: [CephStorage, hosts_entry]}
+      controller_names: {get_attr: [Controller, hostname]}
 
   MysqlRootPassword:
     type: OS::Heat::RandomString
@@ -734,53 +711,37 @@ resources:
       replacement_policy: AUTO
 
   ControllerBootstrapNodeConfig:
-    type: OS::Heat::StructuredConfig
+    type: OS::TripleO::BootstrapNode::SoftwareConfig
     properties:
-      group: os-apply-config
-      config:
-        bootstrap_host:
-          bootstrap_nodeid: {get_attr: [Controller, resource.0.hostname]}
+      bootstrap_nodeid: {get_attr: [Controller, resource.0.hostname]}
 
   ControllerBootstrapNodeDeployment:
     type: OS::Heat::StructuredDeployments
     properties:
-      config: {get_resource: ControllerBootstrapNodeConfig}
+      config: {get_attr: [ControllerBootstrapNodeConfig, config_id]}
       servers: {get_attr: [Controller, attributes, nova_server_resource]}
       signal_transport: NO_SIGNAL
 
   ControllerSwiftDeployment:
     type: OS::Heat::StructuredDeployments
     properties:
-      config: {get_resource: SwiftDevicesAndProxyConfig}
+      config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
       servers: {get_attr: [Controller, attributes, nova_server_resource]}
       signal_transport: NO_SIGNAL
 
   ObjectStorageSwiftDeployment:
     type: OS::Heat::StructuredDeployments
     properties:
-      config: {get_resource: SwiftDevicesAndProxyConfig}
+      config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
       servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
       signal_transport: NO_SIGNAL
 
   SwiftDevicesAndProxyConfig:
-    type: OS::Heat::StructuredConfig
+    type: OS::TripleO::SwiftDevicesAndProxy::SoftwareConfig
     properties:
-      group: os-apply-config
-      config:
-        swift:
-          devices:
-            list_join:
-            - ", "
-            - - list_join:
-                - ", "
-                - {get_attr: [Controller, swift_device]}
-              - list_join:
-                - ", "
-                - {get_attr: [ObjectStorage, swift_device]}
-          proxy-memcache:
-            list_join:
-            - ","
-            - {get_attr: [Controller, swift_proxy_memcache]}
+      controller_swift_devices: {get_attr: [Controller, swift_device]}
+      object_store_swift_devices: {get_attr: [ObjectStorage, swift_device]}
+      controller_swift_proxy_memcaches: {get_attr: [Controller, swift_proxy_memcache]}
 
   ControllerClusterConfig:
     type: OS::Heat::StructuredConfig
@@ -807,15 +768,51 @@ resources:
   ControllerAllNodesDeployment:
     type: OS::Heat::StructuredDeployments
     properties:
-      config: {get_resource: allNodesConfig}
+      config: {get_attr: [allNodesConfig, config_id]}
       servers: {get_attr: [Controller, attributes, nova_server_resource]}
 
   ComputeAllNodesDeployment:
     type: OS::Heat::StructuredDeployments
     properties:
-      config: {get_resource: allNodesConfig}
+      config: {get_attr: [allNodesConfig, config_id]}
       servers: {get_attr: [Compute, attributes, nova_server_resource]}
 
+  BlockStorageAllNodesDeployment:
+    type: OS::Heat::StructuredDeployments
+    properties:
+      config: {get_attr: [allNodesConfig, config_id]}
+      servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
+
+  ObjectStorageAllNodesDeployment:
+    type: OS::Heat::StructuredDeployments
+    properties:
+      config: {get_attr: [allNodesConfig, config_id]}
+      servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
+
+  # Nested stack deployment runs after all other controller deployments
+  ControllerNodesPostDeployment:
+    type: OS::TripleO::ControllerPostDeployment
+    depends_on: [ControllerBootstrapNodeDeployment, ControllerAllNodesDeployment, ControllerSwiftDeployment]
+    properties:
+      servers: {get_attr: [Controller, attributes, nova_server_resource]}
+
+  ComputeNodesPostDeployment:
+    type: OS::TripleO::ComputePostDeployment
+    depends_on: ComputeAllNodesDeployment
+    properties:
+      servers: {get_attr: [Compute, attributes, nova_server_resource]}
+
+  ObjectStorageNodesPostDeployment:
+    type: OS::TripleO::ObjectStoragePostDeployment
+    depends_on: [ObjectStorageSwiftDeployment, ObjectStorageAllNodesDeployment]
+    properties:
+      servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
+
+  BlockStorageNodesPostDeployment:
+    type: OS::TripleO::BlockStoragePostDeployment
+    depends_on: BlockStorageAllNodesDeployment
+    properties:
+      servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
 
 outputs:
   KeystoneURL: