diff options
author | Steven Hardy <shardy@redhat.com> | 2016-09-08 12:14:09 +0100 |
---|---|---|
committer | Emilien Macchi <emilien@redhat.com> | 2016-09-16 00:24:44 +0000 |
commit | b738e9ca7839772065f3db3ea29b057a7152eed5 (patch) | |
tree | 5d7d23590963a77bb10cef9ae76e8f1f55574728 /extraconfig/all_nodes/random_string.j2.yaml | |
parent | 3a8d20a63dccc61c958e09a7fcbbaab6690551b4 (diff) |
Convert AllNodesExtraConfig to support composable roles
This adjusts the interface to OS::TripleO::AllNodesExtraConfig so
it supports custom/composable/optional roles.
Note this does break backwards compatibility, and I can't see any way
to avoid that. I've converted the in-tree templates, and we'll have
to document carefully and or provide a script (or automated conversion
via mistral perhaps?) to allow folks to easily adjust any out of tree
templates to the new format.
Basically you just have to:
1. Remove all the *_servers parameters, replace with one "servers"
json parameter
2. Replace references to e.g "controller_servers" with "servers, Controller"
which does a path-based lookup into the json map provided by overcloud.yaml
Change-Id: I5eebf853646b2f6300d6b542fcd4f43e82d3b413
Partially-Implements: blueprint custom-roles
Diffstat (limited to 'extraconfig/all_nodes/random_string.j2.yaml')
-rw-r--r-- | extraconfig/all_nodes/random_string.j2.yaml | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/extraconfig/all_nodes/random_string.j2.yaml b/extraconfig/all_nodes/random_string.j2.yaml new file mode 100644 index 00000000..1c42cb85 --- /dev/null +++ b/extraconfig/all_nodes/random_string.j2.yaml @@ -0,0 +1,51 @@ +heat_template_version: 2014-10-16 + +description: > + Example extra config for cluster config + this example deploys a random string to all controller and compute + nodes, showing how data may be shared amongst nodes, vs the + other ExtraConfig interfaces which act only on individual nodes. + +# Parameters passed from the parent template - note if you maintain +# out-of-tree templates they may require additional parameters if the +# in-tree templates add a new role. +parameters: + servers: + type: json +# Note extra parameters can be defined, then passed data via the +# environment parameter_defaults, without modifying the parent template + +resources: + + Random: + type: OS::Heat::RandomString + + RandomConfig: + type: OS::Heat::SoftwareConfig + properties: + group: script + inputs: + - name: random_value + config: | + #!/bin/sh + echo $random_value > /root/random_value + + RandomDeploymentsController: + type: OS::Heat::SoftwareDeployments + properties: + name: RandomDeploymentsController + servers: {get_param: servers, Controller} + config: {get_resource: RandomConfig} + actions: ['CREATE'] # Only do this on CREATE + input_values: + random_value: {get_attr: [Random, value]} + + RandomDeploymentsCompute: + type: OS::Heat::SoftwareDeployments + properties: + name: RandomDeploymentsCompute + servers: {get_param: servers, Compute} + config: {get_resource: RandomConfig} + actions: ['CREATE'] # Only do this on CREATE + input_values: + random_value: {get_attr: [Random, value]} |