aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Prince <dprince@redhat.com>2015-02-19 08:41:47 -0800
committerDan Prince <dprince@redhat.com>2015-02-19 10:36:13 -0800
commit62ab434139c4576afe84b7b0b08374261fc79563 (patch)
tree12e18057c81ceb462bd0e80537f5f4830d92cad9
parent112a42f34d4384eab729f039ad60b88cc714d09b (diff)
Split out BootstrapNode SoftwareConfig
This patch splits out the BootstrapNode 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 bootstrap_nodeid. Change-Id: I691a9d7c474866038a5d47beab295899b5479d03
-rw-r--r--bootstrap-config.yaml21
-rw-r--r--overcloud-resource-registry-puppet.yaml1
-rw-r--r--overcloud-resource-registry.yaml1
-rw-r--r--overcloud-without-mergepy.yaml9
-rw-r--r--puppet/bootstrap-config.yaml24
-rw-r--r--puppet/controller-puppet.yaml3
6 files changed, 51 insertions, 8 deletions
diff --git a/bootstrap-config.yaml b/bootstrap-config.yaml
new file mode 100644
index 0000000..14ecc00
--- /dev/null
+++ b/bootstrap-config.yaml
@@ -0,0 +1,21 @@
+heat_template_version: 2014-10-16
+description: 'Bootstrap Config'
+
+parameters:
+ bootstrap_nodeid:
+ type: string
+
+resources:
+
+ BootstrapNodeConfigImpl:
+ type: OS::Heat::StructuredConfig
+ properties:
+ config:
+ bootstrap_host:
+ bootstrap_nodeid: {get_param: bootstrap_nodeid}
+
+outputs:
+ config_id:
+ description: The ID of the BootstrapNodeConfigImpl resource.
+ value:
+ {get_resource: BootstrapNodeConfigImpl}
diff --git a/overcloud-resource-registry-puppet.yaml b/overcloud-resource-registry-puppet.yaml
index 5669948..b487f42 100644
--- a/overcloud-resource-registry-puppet.yaml
+++ b/overcloud-resource-registry-puppet.yaml
@@ -9,6 +9,7 @@ resource_registry:
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
+ OS::TripleO::BootstrapNode::SoftwareConfig: puppet/bootstrap-config.yaml
# NOTE(dprince): requires a new release of python-heatclient
#default_parameters:
diff --git a/overcloud-resource-registry.yaml b/overcloud-resource-registry.yaml
index f7b28b1..32e3ad4 100644
--- a/overcloud-resource-registry.yaml
+++ b/overcloud-resource-registry.yaml
@@ -9,3 +9,4 @@ resource_registry:
OS::TripleO::ControllerPostDeployment: controller-post.yaml
OS::TripleO::SwiftDevicesAndProxy::SoftwareConfig: swift-devices-and-proxy-config.yaml
OS::TripleO::AllNodes::SoftwareConfig: all-nodes-config.yaml
+ OS::TripleO::BootstrapNode::SoftwareConfig: bootstrap-config.yaml
diff --git a/overcloud-without-mergepy.yaml b/overcloud-without-mergepy.yaml
index 42e2e0d..bd48ec6 100644
--- a/overcloud-without-mergepy.yaml
+++ b/overcloud-without-mergepy.yaml
@@ -711,17 +711,14 @@ 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
diff --git a/puppet/bootstrap-config.yaml b/puppet/bootstrap-config.yaml
new file mode 100644
index 0000000..29b7af7
--- /dev/null
+++ b/puppet/bootstrap-config.yaml
@@ -0,0 +1,24 @@
+heat_template_version: 2014-10-16
+description: 'Bootstrap Config Puppet'
+
+parameters:
+ bootstrap_nodeid:
+ type: string
+
+resources:
+
+ BootstrapNodeConfigImpl:
+ type: OS::Heat::StructuredConfig
+ properties:
+ config:
+ hiera:
+ datafiles:
+ bootstrap_node:
+ mapped_data:
+ bootstrap_nodeid: {get_param: bootstrap_nodeid}
+
+outputs:
+ config_id:
+ description: The ID of the BootstrapNodeConfigImpl resource.
+ value:
+ {get_resource: BootstrapNodeConfigImpl}
diff --git a/puppet/controller-puppet.yaml b/puppet/controller-puppet.yaml
index a3a422c..e24a666 100644
--- a/puppet/controller-puppet.yaml
+++ b/puppet/controller-puppet.yaml
@@ -556,6 +556,7 @@ resources:
- object
- swift_devices_and_proxy # provided by SwiftDevicesAndProxyConfig
- rabbit # provided by allNodesConfig
+ - bootstrap_node # provided by BootstrapNodeConfig
- common
datafiles:
common:
@@ -564,8 +565,6 @@ resources:
raw_data: {get_file: hieradata/object.yaml}
controller:
raw_data: {get_file: hieradata/controller.yaml}
- oac_data: # data we map in from other OAC configurations
- bootstrap_nodeid: bootstrap_host.bootstrap_nodeid
mapped_data: # data supplied directly to this deployment configuration, etc
debug: {get_input: debug}
bootstack_nodeid: {get_input: bootstack_nodeid}