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
This commit is contained in:
Steven Hardy 2017-08-23 08:39:18 +01:00
parent b88a0fb66c
commit c6207379db
2 changed files with 30 additions and 24 deletions

View File

@ -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:
description: Optional scheduler hints to pass to nova
{% else %}
NovaComputeSchedulerHints:
description: DEPRECATED - use ComputeSchedulerHints instead
{% endif %}
type: json
description: Optional scheduler hints to pass to nova
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]}

View File

@ -148,12 +148,6 @@ parameters:
type: json
description: Optional scheduler hints to pass to nova
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 %}
NodeIndex:
type: number
default: 0
@ -239,7 +233,7 @@ parameter_groups:
description: Do not use deprecated params, they will be removed.
parameters:
{%- for property in role %}
{%- if property.startswith('deprecated_param_') %}
{%- if property.startswith('deprecated_param_') and not role[property].endswith('SchedulerHints') %}
- {{role[property]}}
{%- endif %}
{%- endfor %}
@ -317,12 +311,7 @@ resources:
{%- endif %}
- {get_param: {{role.name}}ServerMetadata}
- {get_param: ServiceMetadataSettings}
scheduler_hints:
map_merge:
{%- if role.deprecated_param_scheduler_hints is defined %}
- {get_param: {{role.deprecated_param_scheduler_hints}}}
{%- endif %}
- {get_param: {{role.name}}SchedulerHints}
scheduler_hints: {get_param: {{role.name}}SchedulerHints}
deployment_swift_data:
if:
- deployment_swift_data_map_unset