Merge "Add support for update_tasks"
This commit is contained in:
commit
0d38c36d36
@ -10,6 +10,7 @@
|
||||
{%- set primary_role_name = primary_role[0].name -%}
|
||||
# primary role is: {{primary_role_name}}
|
||||
{% set deploy_steps_max = 6 -%}
|
||||
{% set update_steps_max = 6 -%}
|
||||
|
||||
heat_template_version: pike
|
||||
|
||||
@ -319,4 +320,21 @@ outputs:
|
||||
with_sequence: count={{deploy_steps_max-1}}
|
||||
loop_control:
|
||||
loop_var: step
|
||||
update_steps_tasks: |
|
||||
{%- for role in roles %}
|
||||
- include: {{role.name}}/update_tasks.yaml
|
||||
when: role_name == '{{role.name}}'
|
||||
{%- endfor %}
|
||||
update_steps_playbook: |
|
||||
- hosts: overcloud
|
||||
serial: 1
|
||||
tasks:
|
||||
- include: update_steps_tasks.yaml
|
||||
with_sequence: count={{update_steps_max-1}}
|
||||
loop_control:
|
||||
loop_var: step
|
||||
- include: deploy_steps_tasks.yaml
|
||||
with_sequence: count={{deploy_steps_max-1}}
|
||||
loop_control:
|
||||
loop_var: step
|
||||
|
||||
|
@ -193,6 +193,16 @@ resources:
|
||||
expression: coalesce($.data, []).where($ != null).select($.get('upgrade_tasks')).where($ != null).flatten().distinct()
|
||||
data: {get_attr: [ServiceChain, role_data]}
|
||||
|
||||
UpdateTasks:
|
||||
type: OS::Heat::Value
|
||||
properties:
|
||||
type: comma_delimited_list
|
||||
value:
|
||||
yaql:
|
||||
# Note we use distinct() here to filter any identical tasks, e.g yum update for all services
|
||||
expression: coalesce($.data, []).where($ != null).select($.get('update_tasks')).where($ != null).flatten().distinct()
|
||||
data: {get_attr: [ServiceChain, role_data]}
|
||||
|
||||
UpgradeBatchTasks:
|
||||
type: OS::Heat::Value
|
||||
properties:
|
||||
@ -253,6 +263,7 @@ outputs:
|
||||
service_workflow_tasks: {get_attr: [ServiceWorkflowTasks, value]}
|
||||
step_config: {get_attr: [PuppetStepConfig, value]}
|
||||
upgrade_tasks: {get_attr: [UpgradeTasks, value]}
|
||||
update_tasks: {get_attr: [UpdateTasks, value]}
|
||||
upgrade_batch_tasks: {get_attr: [UpgradeBatchTasks, value]}
|
||||
service_metadata_settings: {get_attr: [ServiceServerMetadataHook, metadata]}
|
||||
|
||||
|
@ -155,7 +155,7 @@ Similar to the step_config, we allow a series of steps for the per-service
|
||||
upgrade sequence, defined as ansible tasks with a tag e.g "step1" for the first
|
||||
step, "step2" for the second, etc.
|
||||
|
||||
Steps/tages correlate to the following:
|
||||
Steps/tags correlate to the following:
|
||||
|
||||
1) Stop all control-plane services.
|
||||
|
||||
@ -186,6 +186,18 @@ Note that the services are not started in the upgrade tasks - we instead re-run
|
||||
puppet which does any reconfiguration required for the new version, then starts
|
||||
the services.
|
||||
|
||||
Update Steps
|
||||
------------
|
||||
|
||||
Each service template may optionally define a `update_tasks` key, which is a
|
||||
list of ansible tasks to be performed during the minor update process.
|
||||
|
||||
Similar to the upgrade_tasks, we allow a series of steps for the per-service
|
||||
update sequence, but note update_task selects the steps via a conditional
|
||||
referencing the step variable e.g when: step == 2, which is different to the
|
||||
tags based approach used for upgrade_tasks (the two may be aligned in future).
|
||||
|
||||
|
||||
Nova Server Metadata Settings
|
||||
-----------------------------
|
||||
|
||||
|
@ -56,3 +56,7 @@ outputs:
|
||||
- name: Update all packages
|
||||
tags: step3
|
||||
yum: name=* state=latest
|
||||
update_tasks:
|
||||
- name: Update all packages
|
||||
yum: name=* state=latest
|
||||
when: step == "3"
|
||||
|
Loading…
x
Reference in New Issue
Block a user