aboutsummaryrefslogtreecommitdiffstats
path: root/extraconfig/all_nodes/random_string.j2.yaml
diff options
context:
space:
mode:
authorSteven Hardy <shardy@redhat.com>2016-09-08 12:14:09 +0100
committerEmilien Macchi <emilien@redhat.com>2016-09-16 00:24:44 +0000
commitb738e9ca7839772065f3db3ea29b057a7152eed5 (patch)
tree5d7d23590963a77bb10cef9ae76e8f1f55574728 /extraconfig/all_nodes/random_string.j2.yaml
parent3a8d20a63dccc61c958e09a7fcbbaab6690551b4 (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.yaml51
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]}