Move step_config/docker_config calculation into services.yaml
Moving these means we get a more accurate output from the overcloud RoleData output, which more closely reflects what is actually deployed. Change-Id: I154f36c1597cf4abe29ca0bfe15a54f507433fb1
This commit is contained in:
parent
fdd4352375
commit
2ff922b0dc
@ -1,4 +1,3 @@
|
|||||||
#FIXME move into common when specfile adds it
|
|
||||||
heat_template_version: pike
|
heat_template_version: pike
|
||||||
|
|
||||||
description: >
|
description: >
|
||||||
@ -63,6 +62,33 @@ resources:
|
|||||||
properties:
|
properties:
|
||||||
RoleData: {get_attr: [ServiceChain, role_data]}
|
RoleData: {get_attr: [ServiceChain, role_data]}
|
||||||
|
|
||||||
|
PuppetStepConfig:
|
||||||
|
type: OS::Heat::Value
|
||||||
|
properties:
|
||||||
|
type: string
|
||||||
|
value:
|
||||||
|
yaql:
|
||||||
|
expression:
|
||||||
|
# select 'step_config' only from services that do not have a docker_config
|
||||||
|
coalesce($.data.service_names, []).zip(coalesce($.data.step_config, []), coalesce($.data.docker_config, [])).where($[2] = null).where($[1] != null).select($[1]).join("\n")
|
||||||
|
data:
|
||||||
|
service_names: {get_attr: [ServiceChain, role_data, service_name]}
|
||||||
|
step_config: {get_attr: [ServiceChain, role_data, step_config]}
|
||||||
|
docker_config: {get_attr: [ServiceChain, role_data, docker_config]}
|
||||||
|
|
||||||
|
DockerConfig:
|
||||||
|
type: OS::Heat::Value
|
||||||
|
properties:
|
||||||
|
type: json
|
||||||
|
value:
|
||||||
|
yaql:
|
||||||
|
expression:
|
||||||
|
# select 'docker_config' only from services that have it
|
||||||
|
coalesce($.data.service_names, []).zip(coalesce($.data.docker_config, [])).where($[1] != null).select($[1]).reduce($1.mergeWith($2), {})
|
||||||
|
data:
|
||||||
|
service_names: {get_attr: [ServiceChain, role_data, service_names]}
|
||||||
|
docker_config: {get_attr: [ServiceChain, role_data, docker_config]}
|
||||||
|
|
||||||
outputs:
|
outputs:
|
||||||
role_data:
|
role_data:
|
||||||
description: Combined Role data for this set of services.
|
description: Combined Role data for this set of services.
|
||||||
@ -125,7 +151,7 @@ outputs:
|
|||||||
yaql:
|
yaql:
|
||||||
expression: $.data.role_data.where($ != null).select($.get('service_workflow_tasks')).where($ != null).reduce($1.mergeWith($2), {})
|
expression: $.data.role_data.where($ != null).select($.get('service_workflow_tasks')).where($ != null).reduce($1.mergeWith($2), {})
|
||||||
data: {role_data: {get_attr: [ServiceChain, role_data]}}
|
data: {role_data: {get_attr: [ServiceChain, role_data]}}
|
||||||
step_config: {get_attr: [ServiceChain, role_data, step_config]}
|
step_config: {get_attr: [PuppetStepConfig, value]}
|
||||||
upgrade_tasks:
|
upgrade_tasks:
|
||||||
yaql:
|
yaql:
|
||||||
# Note we use distinct() here to filter any identical tasks, e.g yum update for all services
|
# Note we use distinct() here to filter any identical tasks, e.g yum update for all services
|
||||||
@ -143,7 +169,7 @@ outputs:
|
|||||||
kolla_config:
|
kolla_config:
|
||||||
map_merge: {get_attr: [ServiceChain, role_data, kolla_config]}
|
map_merge: {get_attr: [ServiceChain, role_data, kolla_config]}
|
||||||
docker_config:
|
docker_config:
|
||||||
{get_attr: [ServiceChain, role_data, docker_config]}
|
{get_attr: [DockerConfig, value]}
|
||||||
docker_puppet_tasks:
|
docker_puppet_tasks:
|
||||||
{get_attr: [ServiceChain, role_data, docker_puppet_tasks]}
|
{get_attr: [ServiceChain, role_data, docker_puppet_tasks]}
|
||||||
host_prep_tasks:
|
host_prep_tasks:
|
||||||
|
@ -176,10 +176,10 @@ resources:
|
|||||||
puppet_config: {get_param: [role_data, {{role.name}}, puppet_config]}
|
puppet_config: {get_param: [role_data, {{role.name}}, puppet_config]}
|
||||||
docker_puppet_script: {get_file: docker-puppet.py}
|
docker_puppet_script: {get_file: docker-puppet.py}
|
||||||
docker_puppet_tasks: {get_attr: [{{primary_role_name}}DockerPuppetTasks, value]}
|
docker_puppet_tasks: {get_attr: [{{primary_role_name}}DockerPuppetTasks, value]}
|
||||||
docker_startup_configs: {get_attr: [{{role.name}}DockerConfig, value]}
|
docker_startup_configs: {get_param: [role_data, {{role.name}}, docker_config]}
|
||||||
kolla_config: {get_param: [role_data, {{role.name}}, kolla_config]}
|
kolla_config: {get_param: [role_data, {{role.name}}, kolla_config]}
|
||||||
bootstrap_server_id: {get_param: [servers, {{primary_role_name}}, '0']}
|
bootstrap_server_id: {get_param: [servers, {{primary_role_name}}, '0']}
|
||||||
puppet_step_config: {get_attr: [{{role.name}}PuppetStepConfig, value]}
|
puppet_step_config: {get_param: [role_data, {{role.name}}, step_config]}
|
||||||
tasks:
|
tasks:
|
||||||
# Join host_prep_tasks with the other per-host configuration
|
# Join host_prep_tasks with the other per-host configuration
|
||||||
yaql:
|
yaql:
|
||||||
@ -232,33 +232,6 @@ resources:
|
|||||||
servers: {get_param: [servers, {{role.name}}]}
|
servers: {get_param: [servers, {{role.name}}]}
|
||||||
config: {get_resource: {{role.name}}HostPrepConfig}
|
config: {get_resource: {{role.name}}HostPrepConfig}
|
||||||
|
|
||||||
{{role.name}}PuppetStepConfig:
|
|
||||||
type: OS::Heat::Value
|
|
||||||
properties:
|
|
||||||
type: string
|
|
||||||
value:
|
|
||||||
yaql:
|
|
||||||
expression:
|
|
||||||
# select 'step_config' only from services that do not have a docker_config
|
|
||||||
$.data.service_names.zip($.data.step_config, $.data.docker_config).where($[2] = null).where($[1] != null).select($[1]).join("\n")
|
|
||||||
data:
|
|
||||||
service_names: {get_param: [role_data, {{role.name}}, service_names]}
|
|
||||||
step_config: {get_param: [role_data, {{role.name}}, step_config]}
|
|
||||||
docker_config: {get_param: [role_data, {{role.name}}, docker_config]}
|
|
||||||
|
|
||||||
{{role.name}}DockerConfig:
|
|
||||||
type: OS::Heat::Value
|
|
||||||
properties:
|
|
||||||
type: json
|
|
||||||
value:
|
|
||||||
yaql:
|
|
||||||
expression:
|
|
||||||
# select 'docker_config' only from services that have it
|
|
||||||
$.data.service_names.zip($.data.docker_config).where($[1] != null).select($[1]).reduce($1.mergeWith($2), {})
|
|
||||||
data:
|
|
||||||
service_names: {get_param: [role_data, {{role.name}}, service_names]}
|
|
||||||
docker_config: {get_param: [role_data, {{role.name}}, docker_config]}
|
|
||||||
|
|
||||||
# BEGIN CONFIG STEPS
|
# BEGIN CONFIG STEPS
|
||||||
|
|
||||||
{{role.name}}PreConfig:
|
{{role.name}}PreConfig:
|
||||||
|
@ -36,7 +36,7 @@ resources:
|
|||||||
{{role.name}}Config:
|
{{role.name}}Config:
|
||||||
type: OS::TripleO::{{role.name}}Config
|
type: OS::TripleO::{{role.name}}Config
|
||||||
properties:
|
properties:
|
||||||
StepConfig: {list_join: ["\n", {get_param: [role_data, {{role.name}}, step_config]}]}
|
StepConfig: {get_param: [role_data, {{role.name}}, step_config]}
|
||||||
|
|
||||||
# Step through a series of configuration steps
|
# Step through a series of configuration steps
|
||||||
{% for step in range(1, deploy_steps_max) %}
|
{% for step in range(1, deploy_steps_max) %}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user