--- /dev/null
+heat_template_version: 2014-10-16
+description: 'All Nodes Config'
+
+parameters:
+ compute_hosts:
+ type: comma_delimited_list
+ controller_hosts:
+ type: comma_delimited_list
+ block_storage_hosts:
+ type: comma_delimited_list
+ object_storage_hosts:
+ type: comma_delimited_list
+ ceph_storage_hosts:
+ type: comma_delimited_list
+ controller_names:
+ type: comma_delimited_list
+
+resources:
+
+ allNodesConfigImpl:
+ type: OS::Heat::StructuredConfig
+ properties:
+ config:
+ completion-signal: {get_input: deploy_signal_id}
+ hosts:
+ list_join:
+ - "\n"
+ - - list_join:
+ - "\n"
+ - {get_param: compute_hosts}
+ - list_join:
+ - "\n"
+ - {get_param: controller_hosts}
+ - list_join:
+ - "\n"
+ - {get_param: block_storage_hosts}
+ - list_join:
+ - "\n"
+ - {get_param: object_storage_hosts}
+ - list_join:
+ - "\n"
+ - {get_param: ceph_storage_hosts}
+ rabbit:
+ nodes:
+ list_join:
+ - ','
+ - {get_param: controller_names}
+ sysctl:
+ net.ipv4.tcp_keepalive_time: 5
+ net.ipv4.tcp_keepalive_probes: 5
+ net.ipv4.tcp_keepalive_intvl: 1
+
+outputs:
+ config_id:
+ description: The ID of the allNodesConfigImpl resource.
+ value:
+ {get_resource: allNodesConfigImpl}
OS::TripleO::CephStorage: puppet/ceph-storage-puppet.yaml
OS::TripleO::ControllerPostDeployment: puppet/controller-post-puppet.yaml
OS::TripleO::SwiftDevicesAndProxy::SoftwareConfig: puppet/swift-devices-and-proxy-config.yaml
+ OS::TripleO::AllNodes::SoftwareConfig: puppet/all-nodes-config.yaml
# NOTE(dprince): requires a new release of python-heatclient
#default_parameters:
OS::TripleO::CephStorage: ceph-storage.yaml
OS::TripleO::ControllerPostDeployment: controller-post.yaml
OS::TripleO::SwiftDevicesAndProxy::SoftwareConfig: swift-devices-and-proxy-config.yaml
+ OS::TripleO::AllNodes::SoftwareConfig: all-nodes-config.yaml
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
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]}
# Nested stack deployment runs after all other controller deployments
--- /dev/null
+heat_template_version: 2014-10-16
+description: 'All Nodes Config for Puppet'
+
+parameters:
+ compute_hosts:
+ type: comma_delimited_list
+ controller_hosts:
+ type: comma_delimited_list
+ block_storage_hosts:
+ type: comma_delimited_list
+ object_storage_hosts:
+ type: comma_delimited_list
+ ceph_storage_hosts:
+ type: comma_delimited_list
+ controller_names:
+ type: comma_delimited_list
+
+resources:
+
+ allNodesConfigImpl:
+ type: OS::Heat::StructuredConfig
+ properties:
+ config:
+ completion-signal: {get_input: deploy_signal_id}
+ hosts:
+ list_join:
+ - "\n"
+ - - list_join:
+ - "\n"
+ - {get_param: compute_hosts}
+ - list_join:
+ - "\n"
+ - {get_param: controller_hosts}
+ - list_join:
+ - "\n"
+ - {get_param: block_storage_hosts}
+ - list_join:
+ - "\n"
+ - {get_param: object_storage_hosts}
+ - list_join:
+ - "\n"
+ - {get_param: ceph_storage_hosts}
+ sysctl:
+ net.ipv4.tcp_keepalive_time: 5
+ net.ipv4.tcp_keepalive_probes: 5
+ net.ipv4.tcp_keepalive_intvl: 1
+ hiera:
+ datafiles:
+ rabbit:
+ mapped_data:
+ rabbit_nodes:
+ list_join:
+ - ','
+ - {get_param: controller_names}
+
+outputs:
+ config_id:
+ description: The ID of the allNodesConfigImpl resource.
+ value:
+ {get_resource: allNodesConfigImpl}
- controller
- object
- swift_devices_and_proxy # provided by SwiftDevicesAndProxyConfig
+ - rabbit # provided by allNodesConfig
- common
datafiles:
common: