3c6ec654b4
Heat now supports release name aliases, so we can replace the inconsistent mix of date related versions with one consistent version that aligns with the supported version of heat for this t-h-t branch. This should also help new users who sometimes copy/paste old templates and discover intrinsic functions in the t-h-t docs don't work because their template version is too old. Change-Id: Ib415e7290fea27447460baa280291492df197e54
69 lines
2.1 KiB
YAML
69 lines
2.1 KiB
YAML
heat_template_version: ocata
|
|
description: 'Upgrade steps for all roles'
|
|
|
|
parameters:
|
|
servers:
|
|
type: json
|
|
|
|
role_data:
|
|
type: json
|
|
description: Mapping of Role name e.g Controller to the per-role data
|
|
|
|
UpdateIdentifier:
|
|
type: string
|
|
description: >
|
|
Setting to a previously unused value during stack-update will trigger
|
|
the Upgrade resources to re-run on all roles.
|
|
|
|
resources:
|
|
|
|
# Upgrade Steps for all roles
|
|
# FIXME(shardy): would be nice to make the number of steps configurable
|
|
{% for step in range(1, 8) %}
|
|
{% for role in roles %}
|
|
# Step {{step}} resources
|
|
{{role.name}}UpgradeConfig_Step{{step}}:
|
|
type: OS::TripleO::UpgradeConfig
|
|
# The UpgradeConfig resources could actually be created without
|
|
# serialization, but the event output is easier to follow if we
|
|
# do, and there should be minimal performance hit (creating the
|
|
# config is cheap compared to the time to apply the deployment).
|
|
{% if step > 1 %}
|
|
depends_on:
|
|
{% for dep in roles %}
|
|
- {{dep.name}}Upgrade_Step{{step -1}}
|
|
{% endfor %}
|
|
{% endif %}
|
|
properties:
|
|
UpgradeStepConfig: {get_param: [role_data, {{role.name}}, upgrade_tasks]}
|
|
step: {{step}}
|
|
|
|
{{role.name}}Upgrade_Step{{step}}:
|
|
type: OS::Heat::StructuredDeploymentGroup
|
|
{% if step > 1 %}
|
|
depends_on:
|
|
{% for dep in roles %}
|
|
- {{dep.name}}Upgrade_Step{{step -1}}
|
|
{% endfor %}
|
|
{% endif %}
|
|
properties:
|
|
name: {{role.name}}Upgrade_Step{{step}}
|
|
servers: {get_param: [servers, {{role.name}}]}
|
|
config: {get_resource: {{role.name}}UpgradeConfig_Step{{step}}}
|
|
input_values:
|
|
role: {{role.name}}
|
|
update_identifier: {get_param: UpdateIdentifier}
|
|
{% endfor %}
|
|
{% endfor %}
|
|
|
|
outputs:
|
|
# Output the config for each role, just use Step1 as the config should be
|
|
# the same for all steps (only the tag provided differs)
|
|
upgrade_configs:
|
|
description: The per-role upgrade configuration used
|
|
value:
|
|
{% for role in roles %}
|
|
{{role.name.lower()}}: {get_attr: [{{role.name}}UpgradeConfig_Step1, upgrade_config]}
|
|
{% endfor %}
|
|
|