aboutsummaryrefslogtreecommitdiffstats
path: root/puppet
diff options
context:
space:
mode:
authorSteven Hardy <shardy@redhat.com>2016-07-04 16:28:41 +0100
committerSteven Hardy <shardy@redhat.com>2016-07-05 10:58:31 +0100
commitb345dbea16ad3edd600c62848d8ee116f4df16ee (patch)
tree26e0820820da66b88b5380c408f3ed7ab38f1f9c /puppet
parent519b94ff1e2b4d3de563ca28c14cb48a4fbcf34c (diff)
Combine BootstrapNodeDeployment with AllNodesDeployment
Currently we have a special controller-only deployment which writes the name/ip of the "bootstrap node", e.g the cluster master, which defaults to the first node in the Controller ResourceGroup. Now we're moving to fully composable services/roles, it's possible folks will want to deploy services that expect to detect the bootstrap node (e.g so only one node does a DB sync) for non-controller roles. So, take this opportunity to combine the bootstrap node deployment with the "all nodes" data, such that we deploy the same data for all roles. Because the boostrap node data is per role cluster, rather than truly global, we pass it via input_values into each per-role Deployment. At some future point we might consider renaming this, e.g to something which describes per-cluster config vs "all nodes", but as a first step let's just rationalize the resources. Change-Id: I4011526a13c51b3d0f95c17fe8ed38115b4fdce4
Diffstat (limited to 'puppet')
-rw-r--r--puppet/all-nodes-config.yaml4
-rw-r--r--puppet/bootstrap-config.yaml28
-rw-r--r--puppet/ceph-storage.yaml6
-rw-r--r--puppet/cinder-storage.yaml6
-rw-r--r--puppet/swift-storage.yaml6
5 files changed, 22 insertions, 28 deletions
diff --git a/puppet/all-nodes-config.yaml b/puppet/all-nodes-config.yaml
index 7602d8d0..55120912 100644
--- a/puppet/all-nodes-config.yaml
+++ b/puppet/all-nodes-config.yaml
@@ -108,6 +108,10 @@ resources:
datafiles:
RedHat:
raw_data: {get_file: hieradata/RedHat.yaml}
+ bootstrap_node:
+ mapped_data:
+ bootstrap_nodeid: {get_input: bootstrap_nodeid}
+ bootstrap_nodeid_ip: {get_input: bootstrap_nodeid_ip}
all_nodes:
mapped_data:
controller_node_ips:
diff --git a/puppet/bootstrap-config.yaml b/puppet/bootstrap-config.yaml
deleted file mode 100644
index d88eebdf..00000000
--- a/puppet/bootstrap-config.yaml
+++ /dev/null
@@ -1,28 +0,0 @@
-heat_template_version: 2015-04-30
-description: 'Bootstrap Config Puppet'
-
-parameters:
- bootstrap_nodeid:
- type: string
- bootstrap_nodeid_ip:
- type: string
-
-resources:
-
- BootstrapNodeConfigImpl:
- type: OS::Heat::StructuredConfig
- properties:
- group: os-apply-config
- config:
- hiera:
- datafiles:
- bootstrap_node:
- mapped_data:
- bootstrap_nodeid: {get_param: bootstrap_nodeid}
- bootstrap_nodeid_ip: {get_param: bootstrap_nodeid_ip}
-
-outputs:
- config_id:
- description: The ID of the BootstrapNodeConfigImpl resource.
- value:
- {get_resource: BootstrapNodeConfigImpl}
diff --git a/puppet/ceph-storage.yaml b/puppet/ceph-storage.yaml
index caceb0bc..6dca9df7 100644
--- a/puppet/ceph-storage.yaml
+++ b/puppet/ceph-storage.yaml
@@ -305,6 +305,12 @@ resources:
get_param: UpdateIdentifier
outputs:
+ ip_address:
+ description: IP address of the server in the ctlplane network
+ value: {get_attr: [CephStorage, networks, ctlplane, 0]}
+ hostname:
+ description: Hostname of the server
+ value: {get_attr: [CephStorage, name]}
hosts_entry:
value:
str_replace:
diff --git a/puppet/cinder-storage.yaml b/puppet/cinder-storage.yaml
index ed6afc53..22778820 100644
--- a/puppet/cinder-storage.yaml
+++ b/puppet/cinder-storage.yaml
@@ -306,6 +306,12 @@ resources:
get_param: UpdateIdentifier
outputs:
+ ip_address:
+ description: IP address of the server in the ctlplane network
+ value: {get_attr: [BlockStorage, networks, ctlplane, 0]}
+ hostname:
+ description: Hostname of the server
+ value: {get_attr: [BlockStorage, name]}
hosts_entry:
value:
str_replace:
diff --git a/puppet/swift-storage.yaml b/puppet/swift-storage.yaml
index e663fb6d..6257fbe6 100644
--- a/puppet/swift-storage.yaml
+++ b/puppet/swift-storage.yaml
@@ -333,6 +333,12 @@ resources:
get_param: UpdateIdentifier
outputs:
+ ip_address:
+ description: IP address of the server in the ctlplane network
+ value: {get_attr: [SwiftStorage, networks, ctlplane, 0]}
+ hostname:
+ description: Hostname of the server
+ value: {get_attr: [SwiftStorage, name]}
hosts_entry:
value:
str_replace: