diff options
author | Dan Prince <dprince@redhat.com> | 2015-02-19 08:41:47 -0800 |
---|---|---|
committer | Dan Prince <dprince@redhat.com> | 2015-02-19 10:36:13 -0800 |
commit | 62ab434139c4576afe84b7b0b08374261fc79563 (patch) | |
tree | 12e18057c81ceb462bd0e80537f5f4830d92cad9 | |
parent | 112a42f34d4384eab729f039ad60b88cc714d09b (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.yaml | 21 | ||||
-rw-r--r-- | overcloud-resource-registry-puppet.yaml | 1 | ||||
-rw-r--r-- | overcloud-resource-registry.yaml | 1 | ||||
-rw-r--r-- | overcloud-without-mergepy.yaml | 9 | ||||
-rw-r--r-- | puppet/bootstrap-config.yaml | 24 | ||||
-rw-r--r-- | puppet/controller-puppet.yaml | 3 |
6 files changed, 51 insertions, 8 deletions
diff --git a/bootstrap-config.yaml b/bootstrap-config.yaml new file mode 100644 index 00000000..14ecc005 --- /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 56699484..b487f425 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 f7b28b19..32e3ad4a 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 42e2e0dc..bd48ec66 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 00000000..29b7af7d --- /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 a3a422c1..e24a6666 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} |