aboutsummaryrefslogtreecommitdiffstats
path: root/overcloud.j2.yaml
diff options
context:
space:
mode:
authorSteven Hardy <shardy@redhat.com>2017-08-23 08:39:18 +0100
committerEmilien Macchi <emilien@redhat.com>2017-08-31 03:55:30 +0000
commitaf7146888bfc8888bf1086d8a23c36d32130ae10 (patch)
treed8fa55f110b684e8a33a7175fc7a7e5989963bf0 /overcloud.j2.yaml
parent831fb49f7de6e89b7b7f7640ebef594c0350af82 (diff)
Move deprecated SchedulerHints logic to overcloud.j2.yaml
The changes in puppet/role.role.j2.yaml should have been made to overcloud.j2.yaml, because we don't want the hard-coded reference to the deprecated name in the parent template. Note we need to pass this value from the parent template so the %index% substitution works, which is required for predictable placement via *SchedulerHints Partial-Bug: #1711656 Change-Id: Ided1802daac48d737f53caa7093df814ba101dd0 (cherry picked from commit c6207379db07544240b699ba000537b58d9fb68f)
Diffstat (limited to 'overcloud.j2.yaml')
-rw-r--r--overcloud.j2.yaml37
1 files changed, 27 insertions, 10 deletions
diff --git a/overcloud.j2.yaml b/overcloud.j2.yaml
index 2e398671..2514f809 100644
--- a/overcloud.j2.yaml
+++ b/overcloud.j2.yaml
@@ -188,15 +188,16 @@ parameters:
doing an update which requires removal of specific resources.
Example format ComputeRemovalPolicies: [{'resource_list': ['0']}]
-{% if role.name != 'Compute' %}
{{role.name}}SchedulerHints:
+ type: json
description: Optional scheduler hints to pass to nova
-{% else %}
- NovaComputeSchedulerHints:
- description: DEPRECATED - use ComputeSchedulerHints instead
-{% endif %}
+ default: {}
+{%- if role.deprecated_param_scheduler_hints is defined %}
+ {{role.deprecated_param_scheduler_hints}}:
type: json
+ description: DEPRECATED - use {{role.name}}SchedulerHints instead
default: {}
+{%- endif %}
{{role.name}}Parameters:
type: json
@@ -229,6 +230,19 @@ parameters:
description: >
List of server hostnames to blacklist from any triggered deployments.
+{% for role in roles %}
+{%- if role.deprecated_param_scheduler_hints is defined %}
+{%- if not parameter_groups_defined|default(false) %}
+parameter_groups:
+- label: deprecated
+ description: Do not use deprecated params, they will be removed.
+ parameters:
+{%- set parameter_groups_defined = true %}
+{%- endif %}
+ - {{role.deprecated_param_scheduler_hints}}
+{%- endif %}
+{%- endfor %}
+
conditions:
add_vips_to_etc_hosts: {equals : [{get_param: AddVipsToEtcHosts}, True]}
@@ -525,11 +539,14 @@ resources:
params:
'%stackname%': {get_param: 'OS::stack_name'}
NodeIndex: '%index%'
- {% if role.name != 'Compute' %}
- {{role.name}}SchedulerHints: {get_param: {{role.name}}SchedulerHints}
- {% else %}
- NovaComputeSchedulerHints: {get_param: NovaComputeSchedulerHints}
- {% endif %}
+ # Note, SchedulerHints must be defined here, not only in the
+ # nested template, as it can contain %index%
+ {{role.name}}SchedulerHints:
+ map_merge:
+{%- if role.deprecated_param_scheduler_hints is defined %}
+ - {get_param: {{role.deprecated_param_scheduler_hints}}}
+{%- endif %}
+ - {get_param: {{role.name}}SchedulerHints}
ServiceConfigSettings: {get_attr: [{{role.name}}ServiceConfigSettings, value]}
ServiceNames: {get_attr: [{{role.name}}ServiceNames, value]}
MonitoringSubscriptions: {get_attr: [{{role.name}}ServiceChainRoleData, value, monitoring_subscriptions]}