diff options
author | Dan Prince <dprince@redhat.com> | 2015-02-12 21:54:57 -0500 |
---|---|---|
committer | Giulio Fidente <gfidente@redhat.com> | 2015-02-13 06:11:12 -0500 |
commit | b639d3c7c28b6913da997b823452f33b9bd721c8 (patch) | |
tree | d72210a491662cdda844260c41c6fb1f9b6a9fc5 /puppet | |
parent | f98f2bdf4d2a0b78494c96627d8da47b92491ce1 (diff) |
Split out allNodesConfig SoftwareConfig
This patch splits out the allNodesConfig config
such that alternate implementation (puppet for example)
can implement their own SoftwareConfig's via a nested stack.
This is controlled by the standard overcloud heat environment.
For os-apply-config deployments the implementation should work the
same as before.
For puppet deployments the implementation uses hiera metadata
to configure rabbit_nodes. The puppet deployment doesn't support
hosts, or freeform sysctl metadata yet so those are the same
for now as well.
Change-Id: I34ae30b1f37aca8b39586f7e350511462d66f694
Diffstat (limited to 'puppet')
-rw-r--r-- | puppet/all-nodes-config.yaml | 60 | ||||
-rw-r--r-- | puppet/controller-puppet.yaml | 1 |
2 files changed, 61 insertions, 0 deletions
diff --git a/puppet/all-nodes-config.yaml b/puppet/all-nodes-config.yaml new file mode 100644 index 00000000..c5193e71 --- /dev/null +++ b/puppet/all-nodes-config.yaml @@ -0,0 +1,60 @@ +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} diff --git a/puppet/controller-puppet.yaml b/puppet/controller-puppet.yaml index 845b6b63..a4d68ff3 100644 --- a/puppet/controller-puppet.yaml +++ b/puppet/controller-puppet.yaml @@ -555,6 +555,7 @@ resources: - controller - object - swift_devices_and_proxy # provided by SwiftDevicesAndProxyConfig + - rabbit # provided by allNodesConfig - common datafiles: common: |