diff options
author | Alex Schultz <aschultz@redhat.com> | 2017-03-29 14:43:45 -0600 |
---|---|---|
committer | Alex Schultz <aschultz@redhat.com> | 2017-04-12 06:55:29 -0600 |
commit | be274f1f49a15aad118a92107b7d04a57a037092 (patch) | |
tree | 3549febfae335272bfa67a78ffe0ba56cf2195ed /docker | |
parent | ae6883323eaed0a925b128dc53301bfa5995f41d (diff) |
Add tags to roles
Prior to Ocata, the Controller role was hardcoded for various lookups.
When we switched to having the primary role name being dynamically
pulled from the roles_data.yaml using the first role as the primary
role as part of I36df7fa86c2ff40026d59f02248af529a4a81861, it
introduced a regression for folks who had previously been using
a custom roles file without the Controller being listed first.
Instead of relying on the position of the role in the roles data, this
change adds the concepts of tags to the role data that can be used when
looking for specific functionality within the deployment process. If
no roles are specified with this the tags indicating a 'primary'
'controller', it will fall back to using the first role listed in the
roles data as the primary role.
Change-Id: Id3377e7d7dcc88ba9a61ca9ef1fb669949714f65
Closes-Bug: #1677374
Diffstat (limited to 'docker')
-rw-r--r-- | docker/docker-steps.j2 | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/docker/docker-steps.j2 b/docker/docker-steps.j2 index 301d838f..f0af8e25 100644 --- a/docker/docker-steps.j2 +++ b/docker/docker-steps.j2 @@ -1,7 +1,14 @@ # certain initialization steps (run in a container) will occur -# on the first role listed in the roles file -{% set primary_role_name = roles[0].name -%} - +# on the role marked as primary controller or the first role listed +{%- set primary_role = [roles[0]] -%} +{%- for role in roles -%} + {%- if 'primary' in role.tags and 'controller' in role.tags -%} + {%- set _ = primary_role.pop() -%} + {%- set _ = primary_role.append(role) -%} + {%- endif -%} +{%- endfor -%} +{%- set primary_role_name = primary_role[0].name -%} +# primary role is: {{primary_role_name}} heat_template_version: ocata description: > |