Update the fast forward workflow to use CLI commands
This change adjusts the fast forward upgrade workflow to use the Openstack CLI commands instead of running manual ansible commands. Change-Id: I345500444ed47d631593d96e4a192e179e4bb326
This commit is contained in:
parent
6741cde61e
commit
26a7d90555
98
tasks/common/convert_cli_opts_params.yaml
Normal file
98
tasks/common/convert_cli_opts_params.yaml
Normal file
@ -0,0 +1,98 @@
|
||||
- name: register control-scale opts
|
||||
shell: |
|
||||
grep -oP "control-scale\ \d+" {{ overcloud_deploy_script }}
|
||||
register: control_scale
|
||||
ignore_errors: true
|
||||
|
||||
- name: remove control-scale opts from deploy command
|
||||
lineinfile:
|
||||
path: "{{ overcloud_deploy_script }}"
|
||||
regexp: "{{ control_scale.stdout }}"
|
||||
state: absent
|
||||
when: control_scale|succeeded
|
||||
|
||||
- name: register compute-scale opts
|
||||
shell: |
|
||||
grep -oP "compute-scale\ \d+" {{ overcloud_deploy_script }}
|
||||
register: compute_scale
|
||||
ignore_errors: true
|
||||
|
||||
- name: remove compute-scale opts from deploy command
|
||||
lineinfile:
|
||||
path: "{{ overcloud_deploy_script }}"
|
||||
regexp: "{{ compute_scale.stdout }}"
|
||||
state: absent
|
||||
when: compute_scale|succeeded
|
||||
|
||||
- name: register ceph-storage-scale opts
|
||||
shell: |
|
||||
grep -oP "ceph-storage-scale\ \d+" {{ overcloud_deploy_script }}
|
||||
register: ceph_scale
|
||||
ignore_errors: true
|
||||
|
||||
- name: remove ceph-storage-scale opts from deploy command
|
||||
lineinfile:
|
||||
path: "{{ overcloud_deploy_script }}"
|
||||
regexp: "{{ ceph_scale.stdout }}"
|
||||
state: absent
|
||||
when: ceph_scale|succeeded
|
||||
|
||||
- name: register control-flavor opts
|
||||
shell: |
|
||||
grep -oP "control-flavor\ .*\ " {{ overcloud_deploy_script }}
|
||||
register: control_flavor
|
||||
ignore_errors: true
|
||||
|
||||
- name: remove control-flavor opts from deploy command
|
||||
lineinfile:
|
||||
path: "{{ overcloud_deploy_script }}"
|
||||
regexp: "{{ control_flavor.stdout }}"
|
||||
state: absent
|
||||
when: control_flavor|succeeded
|
||||
|
||||
- name: register compute-flavor opts
|
||||
shell: |
|
||||
grep -oP "compute-flavor\ .*\ " {{ overcloud_deploy_script }}
|
||||
register: compute_flavor
|
||||
ignore_errors: true
|
||||
|
||||
- name: remove compute-flavor opts from deploy command
|
||||
lineinfile:
|
||||
path: "{{ overcloud_deploy_script }}"
|
||||
regexp: "{{ compute_flavor.stdout }}"
|
||||
state: absent
|
||||
when: compute_flavor|succeeded
|
||||
|
||||
- name: register ceph-flavor opts
|
||||
shell: |
|
||||
grep -oP "ceph-storage-flavor\ .*\ " {{ overcloud_deploy_script }}
|
||||
register: ceph_flavor
|
||||
ignore_errors: true
|
||||
|
||||
- name: remove ceph-flavor opts from deploy command
|
||||
lineinfile:
|
||||
path: "{{ overcloud_deploy_script }}"
|
||||
regexp: "{{ ceph_flavor.stdout }}"
|
||||
state: absent
|
||||
when: ceph_flavor|succeeded
|
||||
|
||||
- name: register ntp-server opts
|
||||
shell: |
|
||||
grep -oP "ntp-server\ .*\ " {{ overcloud_deploy_script }}
|
||||
register: ntp_server
|
||||
ignore_errors: true
|
||||
|
||||
- name: remove ntp-server opts from deploy command
|
||||
lineinfile:
|
||||
path: "{{ overcloud_deploy_script }}"
|
||||
regexp: "{{ ntp_server.stdout }}"
|
||||
state: absent
|
||||
when: ntp_server|succeeded
|
||||
|
||||
- name: convert cli options into parameters
|
||||
template:
|
||||
src: fast-forward-upgrade/cli_opts_params.yaml.j2
|
||||
dest: "{{working_dir}}/cli_opts_params.yaml"
|
||||
force: no
|
||||
when:
|
||||
- control_scale|succeeded or compute_scale|succeeded or ceph_scale|succeeded or control_flavor|succeeded or compute_flavor|succeeded or ceph_flavor|succeeded or ntp_server|succeeded
|
@ -19,6 +19,12 @@
|
||||
- upgrade_composable_scenario != ""
|
||||
- composable_scenario != ""
|
||||
|
||||
- name: Convert CLI options to parameters
|
||||
include: ../common/convert_cli_opts_params.yaml
|
||||
|
||||
- name: get auxiliary facts for upgrade
|
||||
include: ../common/auxilary-facts.yaml
|
||||
|
||||
- name: Convert Ceph parameters to ceph ansible
|
||||
include: ../common/convert_ceph_params.yaml
|
||||
|
||||
@ -29,13 +35,11 @@
|
||||
mode: 0775
|
||||
with_items:
|
||||
- 'post_ffu_undercloud_upgrade_workarounds'
|
||||
- 'pre_ffu_update_stack_outputs_workarounds'
|
||||
- 'pre_ffu_download_config_workarounds'
|
||||
- 'pre_ffu_upgrade_playbook_workarounds'
|
||||
- 'pre_ffu_upgrade_steps_playbook_workarounds'
|
||||
- 'pre_ffu_deploy_steps_playbook_workarounds'
|
||||
- 'pre_ffu_upgrade_converge_workarounds'
|
||||
- 'pre_ffu_upgrade_ceph_workarounds'
|
||||
- 'pre_ffu_overcloud_prepare_workarounds'
|
||||
- 'pre_ffu_overcloud_run_workarounds'
|
||||
- 'pre_ffu_overcloud_upgrade_workarounds'
|
||||
- 'pre_ffu_overcloud_converge_workarounds'
|
||||
- 'pre_ffu_overcloud_ceph_workarounds'
|
||||
when: ffu_upgrade_workarounds
|
||||
|
||||
- name: register is_upstream variable
|
||||
@ -61,41 +65,25 @@
|
||||
dest: "{{working_dir}}/ffu_repos.yaml"
|
||||
when: "'tripleo-repos' not in ffu_overcloud_repo_type"
|
||||
|
||||
- name: create ffu overcloud upgrade scripts
|
||||
include: ../upgrade/step_upgrade.yml
|
||||
loop_control:
|
||||
loop_var: ugstage
|
||||
with_items:
|
||||
- step: "FFU update stack outputs"
|
||||
script: "{{ working_dir }}/ffu_update_stack_outputs.sh"
|
||||
environment_file:
|
||||
- "{% if upstream_container_images %}{{ tht_directory }}/environments/docker.yaml{% endif %}"
|
||||
- "{% if upstream_container_images and deployment_with_ha %}{{ tht_directory }}/environments/docker-ha.yaml{% endif %}"
|
||||
- "{{ working_dir}}/{{ container_registry_file }}"
|
||||
- "{{ tht_directory }}/environments/lifecycle/ffwd-upgrade-prepare.yaml"
|
||||
- "{% if 'tripleo-repos' not in ffu_overcloud_repo_type %}{{working_dir}}/ffu_repos.yaml{% endif %}"
|
||||
- "{% if deployed_server|default(false)|bool %}{{tht_directory}}/environments/updates/update-from-deployed-server-newton.yaml{% endif %}"
|
||||
- name: create overcloud ffwd run script
|
||||
template:
|
||||
src: "fast-forward-upgrade/overcloud_upgrade_run.sh.j2"
|
||||
dest: "{{working_dir}}/overcloud_upgrade_run.sh"
|
||||
mode: 0775
|
||||
force: no
|
||||
|
||||
- step: "FFU converge"
|
||||
script: "{{ working_dir }}/ffu_upgrade_converge_script.sh"
|
||||
environment_file:
|
||||
- "{% if upstream_container_images %}{{ tht_directory }}/environments/docker.yaml{% endif %}"
|
||||
- "{% if upstream_container_images and deployment_with_ha %}{{ tht_directory }}/environments/docker-ha.yaml{% endif %}"
|
||||
- "{{ working_dir}}/{{ container_registry_file }}"
|
||||
- "{% if deployed_server|default(false)|bool %}{{tht_directory}}/environments/updates/update-from-deployed-server-newton.yaml{% endif %}"
|
||||
- "{{ tht_directory }}/environments/lifecycle/ffwd-upgrade-converge.yaml"
|
||||
option:
|
||||
- "update-plan-only"
|
||||
- name: create overcloud converge script
|
||||
template:
|
||||
src: "overcloud_upgrade_converge.sh.j2"
|
||||
dest: "{{ working_dir }}/overcloud_upgrade_converge.sh"
|
||||
mode: 0775
|
||||
force: true
|
||||
|
||||
- step: "FFU post deploy Ceph upgrade"
|
||||
script: "{{ working_dir }}/ffu_upgrade_ceph_script.sh"
|
||||
environment_file:
|
||||
- "{% if upstream_container_images %}{{ tht_directory }}/environments/docker.yaml{% endif %}"
|
||||
- "{% if upstream_container_images and deployment_with_ha %}{{ tht_directory }}/environments/docker-ha.yaml{% endif %}"
|
||||
- "{{ working_dir}}/{{ container_registry_file }}"
|
||||
- "{{ tht_directory }}/environments/updates/update-from-ceph-newton.yaml"
|
||||
- "{% if ceph_ansible|succeeded %}{{ working_dir }}/ceph-ansible-env.yaml{% endif %}"
|
||||
- "{% if deployed_server|default(false)|bool %}{{tht_directory}}/environments/updates/update-from-deployed-server-newton.yaml{% endif %}"
|
||||
- name: create ceph upgrade script
|
||||
template:
|
||||
src: "ceph-upgrade-run.sh.j2"
|
||||
dest: "{{ working_dir }}/ceph-upgrade-run.sh"
|
||||
mode: 0755
|
||||
|
||||
- include: ../common/ssh_config_skip_host.yml
|
||||
|
||||
|
@ -1,9 +0,0 @@
|
||||
- name: overcloud config download
|
||||
shell: |
|
||||
source {{ undercloud_rc }}
|
||||
openstack overcloud config download --name {{ overcloud_stack_name }}
|
||||
register: config_download
|
||||
|
||||
- name: set overcloud_config_dir fact.
|
||||
set_fact:
|
||||
overcloud_config_dir: "{{ config_download.stdout | regex_search('(/.*tripleo.*)')}}"
|
@ -23,109 +23,103 @@
|
||||
when: ffu_undercloud_upgrade|bool
|
||||
|
||||
- block:
|
||||
- include: "{{ item }}"
|
||||
with_items:
|
||||
- '../common/l3_agent_connectivity_check_start_script.yml'
|
||||
- '../common/l3_agent_failover_check_pre_script.yml'
|
||||
tags: ffu_update_stack_outputs
|
||||
|
||||
- name: apply pre ffu update stack outputs workarounds
|
||||
command: "{{working_dir}}/pre_ffu_update_stack_outputs_workarounds.sh"
|
||||
when: ffu_upgrade_workarounds|bool
|
||||
tags: ffu_update_stack_outputs
|
||||
|
||||
- include: ffu_update_stack_outputs.yaml
|
||||
tags: ffu_update_stack_outputs
|
||||
|
||||
- include: "{{ item }}"
|
||||
with_items:
|
||||
- '../common/l3_agent_connectivity_check_stop_script.yml'
|
||||
- '../common/l3_agent_failover_check_post_script.yml'
|
||||
tags: ffu_update_stack_outputs
|
||||
|
||||
- name: apply pre ffu download config workarounds
|
||||
command: "{{working_dir}}/pre_ffu_download_config_workarounds.sh"
|
||||
when: ffu_upgrade_workarounds|bool
|
||||
tags: ffu_download_config
|
||||
|
||||
- include: ffu_download_config.yaml
|
||||
tags: ffu_download_config
|
||||
|
||||
- name: generate overcloud ansible static yaml inventory file
|
||||
shell: |
|
||||
source {{ undercloud_rc }}
|
||||
/usr/bin/tripleo-ansible-inventory \
|
||||
--plan {{ overcloud_stack_name }} \
|
||||
{% if overcloud_ssh_user != '' %} --ansible_ssh_user {{ overcloud_ssh_user }} {% endif %} \
|
||||
--static-yaml-inventory {{ working_dir }}/tripleo-ansible-inventory-static.yaml
|
||||
|
||||
- name: Create FFU ugrade playbooks scripts
|
||||
tags: ffu_upgrade_playbooks_scripts
|
||||
template:
|
||||
src: fast-forward-upgrade/ffu_upgrade_playbook.sh.j2
|
||||
dest: "{{working_dir}}/{{ item }}.sh"
|
||||
mode: 0775
|
||||
with_items:
|
||||
- 'ffu_upgrade_playbook_script'
|
||||
|
||||
- name: apply pre fast forward upgrade playbook workarounds
|
||||
command: "{{working_dir}}/pre_ffu_upgrade_playbook_workarounds.sh"
|
||||
when: ffu_upgrade_workarounds|bool
|
||||
tags: ffu_upgrade_playbook
|
||||
|
||||
- name: Ensure ansible-pacemaker module is present in CI.
|
||||
yum: name=ansible-pacemaker state=latest
|
||||
when: tripleo_ci|default(false)|bool
|
||||
tags: ffu_upgrade_playbook
|
||||
become: true
|
||||
|
||||
- include: ../common/l3_agent_connectivity_check_start_script.yml
|
||||
tags: ffu_upgrade_playbook
|
||||
- include: "{{ item }}"
|
||||
with_items:
|
||||
- '../common/l3_agent_connectivity_check_start_script.yml'
|
||||
- '../common/l3_agent_failover_check_pre_script.yml'
|
||||
tags: ffu_overcloud_prepare
|
||||
|
||||
- name: Run FFU fast_forward_upgrade_playbook.yaml
|
||||
command: "{{working_dir}}/ffu_upgrade_playbook_script.sh"
|
||||
tags: ffu_upgrade_playbook
|
||||
- name: apply pre ffu overcloud prepare workarounds
|
||||
command: "{{working_dir}}/pre_ffu_overcloud_prepare_workarounds.sh"
|
||||
when: ffu_upgrade_workarounds|bool
|
||||
tags: ffu_overcloud_prepare
|
||||
|
||||
- name: set upgrade_prepare_extra_params for ffu prepare with default repos
|
||||
set_fact:
|
||||
upgrade_prepare_extra_params: ["{{working_dir}}/cli_opts_params.yaml", "{{ tht_directory }}/environments/docker.yaml", "{{ tht_directory }}/environments/docker-ha.yaml"]
|
||||
when: "'tripleo-repos' in ffu_overcloud_repo_type"
|
||||
|
||||
- name: set upgrade_prepare_extra_params for ffu prepare with custom repos
|
||||
set_fact:
|
||||
upgrade_prepare_extra_params: ["{{working_dir}}/cli_opts_params.yaml", "{{working_dir}}/ffu_repos.yaml"]
|
||||
when: "'tripleo-repos' not in ffu_overcloud_repo_type"
|
||||
|
||||
- name: set upgrade_prepare_extra_params for ffu prepare with deployed server
|
||||
set_fact:
|
||||
upgrade_prepare_extra_params: '{{ upgrade_prepare_extra_params + ["{{tht_directory}}/environments/updates/update-from-deployed-server-newton.yaml"] }}'
|
||||
when: deployed_server|default(false)|bool
|
||||
|
||||
- include: ../upgrade/overcloud_upgrade_prepare.yml
|
||||
tags: ffu_overcloud_prepare
|
||||
|
||||
- include: "{{ item }}"
|
||||
with_items:
|
||||
- '../common/l3_agent_connectivity_check_stop_script.yml'
|
||||
- '../common/l3_agent_failover_check_post_script.yml'
|
||||
tags: ffu_overcloud_prepare
|
||||
|
||||
- name: apply pre fast forward overcloud upgrade run workarounds
|
||||
command: "{{working_dir}}/pre_ffu_overcloud_run_workarounds.sh"
|
||||
when: ffu_upgrade_workarounds|bool
|
||||
tags: ffu_overcloud_run
|
||||
|
||||
- include: ../common/l3_agent_connectivity_check_start_script.yml
|
||||
tags: ffu_overcloud_run
|
||||
|
||||
- name: run overcloud fast forward upgrade
|
||||
command: "{{working_dir}}/overcloud_upgrade_run.sh"
|
||||
tags: ffu_overcloud_run
|
||||
|
||||
- include: ../common/l3_agent_connectivity_check_stop_script.yml
|
||||
tags: ffu_upgrade_playbook
|
||||
tags: ffu_overcloud_run
|
||||
|
||||
## we can either upgrade all overcloud nodes at one or per role/node
|
||||
- name: upgrade all overcloud nodes at once
|
||||
include: overcloud_bulk.yaml
|
||||
tags: ffu_upgrade_overcloud_bulk
|
||||
tags: ffu_overcloud_upgrade_bulk
|
||||
when: ffu_bulk|bool
|
||||
|
||||
- name: upgrade overcloud nodes per roles
|
||||
include: overcloud_role.yaml
|
||||
tags: ffu_upgrade_overcloud_role
|
||||
tags: ffu_overcloud_upgrade_role
|
||||
when: not ffu_bulk|bool
|
||||
|
||||
- name: apply pre fast forward upgrade converge workarounds
|
||||
command: "{{working_dir}}/pre_ffu_upgrade_converge_workarounds.sh"
|
||||
when: ffu_upgrade_workarounds|bool
|
||||
tags: ffu_upgrade_converge
|
||||
|
||||
- include: ffu_upgrade_converge.yaml
|
||||
tags: ffu_upgrade_converge
|
||||
|
||||
- block:
|
||||
- name: apply pre ffu ceph upgrade workarounds
|
||||
command: "{{working_dir}}/pre_ffu_upgrade_ceph_workarounds.sh"
|
||||
command: "{{working_dir}}/pre_ffu_overcloud_ceph_workarounds.sh"
|
||||
when: ffu_upgrade_workarounds|bool
|
||||
tags: ffu_upgrade_ceph
|
||||
tags: ffu_overcloud_ceph
|
||||
|
||||
- name: run FFU ceph osd nodes ugrade scripts
|
||||
command: "{{ working_dir }}/overcloud_upgrade_CephStorage.sh"
|
||||
tags: ffu_overcloud_ceph
|
||||
|
||||
- include: ../common/l3_agent_connectivity_check_start_script.yml
|
||||
tags: ffu_upgrade_ceph
|
||||
tags: ffu_overcloud_ceph
|
||||
|
||||
- include: ffu_upgrade_ceph.yaml
|
||||
tags: ffu_upgrade_ceph
|
||||
- include: ../upgrade/ceph_upgrade_run.yml
|
||||
tags: ffu_overcloud_ceph
|
||||
|
||||
- include: "{{ item }}"
|
||||
with_items:
|
||||
- '../common/l3_agent_connectivity_check_stop_script.yml'
|
||||
- '../common/l3_agent_failover_check_post_script.yml'
|
||||
tags: ffu_upgrade_ceph
|
||||
when: ceph_ansible|succeeded
|
||||
tags: ffu_overcloud_ceph
|
||||
when: ceph_osd_enabled|bool
|
||||
|
||||
- name: apply pre ffu overcloud converge workarounds
|
||||
command: "{{working_dir}}/pre_ffu_overcloud_converge_workarounds.sh"
|
||||
when: ffu_upgrade_workarounds|bool
|
||||
tags: ffu_overcloud_converge
|
||||
|
||||
- include: ../upgrade/overcloud_upgrade_converge.yml
|
||||
tags: ffu_overcloud_converge
|
||||
|
||||
- include: ../common/nova_actions_check.yml
|
||||
|
||||
|
@ -1,52 +1,27 @@
|
||||
---
|
||||
- name: Create FFU ugrade playbooks scripts
|
||||
tags: ffu_upgrade_playbooks_scripts
|
||||
- name: create FFU role ugrades scripts
|
||||
template:
|
||||
src: fast-forward-upgrade/ffu_upgrade_playbook.sh.j2
|
||||
dest: "{{working_dir}}/{{ item }}.sh"
|
||||
src: fast-forward-upgrade/overcloud_upgrade_role.sh.j2
|
||||
dest: "{{ working_dir }}/overcloud_upgrade_{{ item }}.sh"
|
||||
mode: 0775
|
||||
tags: ffu_overcloud_upgrade
|
||||
with_items:
|
||||
- 'ffu_upgrade_steps_playbook_script'
|
||||
- 'ffu_deploy_steps_playbook_script'
|
||||
- "all"
|
||||
|
||||
- name: apply pre fast forward upgrade playbook workarounds
|
||||
command: "{{working_dir}}/pre_ffu_upgrade_playbook_workarounds.sh"
|
||||
- name: apply pre overcloud upgrade run workarounds
|
||||
command: "{{working_dir}}/pre_ffu_overcloud_upgrade_workarounds.sh"
|
||||
when: ffu_upgrade_workarounds|bool
|
||||
tags: ffu_upgrade_playbook
|
||||
tags: ffu_overcloud_upgrade
|
||||
|
||||
- include: ../common/l3_agent_connectivity_check_start_script.yml
|
||||
tags: ffu_overcloud_upgrade
|
||||
|
||||
- name: Run FFU fast_forward_upgrade_playbook.yaml
|
||||
command: "{{working_dir}}/ffu_upgrade_playbook_script.sh"
|
||||
tags: ffu_upgrade_playbook
|
||||
|
||||
- include: ../common/l3_agent_connectivity_check_stop_script.yml
|
||||
|
||||
- name: apply pre ffu upgrade steps playbook workarounds
|
||||
command: "{{working_dir}}/pre_ffu_upgrade_steps_playbook_workarounds.sh"
|
||||
when: ffu_upgrade_workarounds|bool
|
||||
tags: ffu_upgrade_steps_playbook
|
||||
|
||||
- include: ../common/l3_agent_connectivity_check_start_script.yml
|
||||
|
||||
- name: Run upgrade_steps_playbook.yaml
|
||||
command: "{{working_dir}}/ffu_upgrade_steps_playbook_script.sh"
|
||||
tags: ffu_upgrade_steps_playbook
|
||||
|
||||
- include: ../common/l3_agent_connectivity_check_stop_script.yml
|
||||
|
||||
- name: apply pre ffu deploy steps playbook workarounds
|
||||
command: "{{working_dir}}/pre_ffu_deploy_steps_playbook_workarounds.sh"
|
||||
when: ffu_upgrade_workarounds|bool
|
||||
tags: ffu_deploy_steps_playbook
|
||||
|
||||
- include: ../common/l3_agent_connectivity_check_start_script.yml
|
||||
|
||||
- name: Run deploy_steps_playbook.yaml
|
||||
command: "{{working_dir}}/ffu_deploy_steps_playbook_script.sh"
|
||||
tags: ffu_deploy_steps_playbook
|
||||
- name: run all roles upgrade steps
|
||||
command: "{{working_dir}}//overcloud_upgrade_all.sh"
|
||||
tags: ffu_overcloud_upgrade
|
||||
|
||||
- include: "{{ item }}"
|
||||
with_items:
|
||||
- '../common/l3_agent_connectivity_check_stop_script.yml'
|
||||
- '../common/l3_agent_failover_check_post_script.yml'
|
||||
tags: ffu_overcloud_upgrade
|
||||
|
@ -1,104 +1,90 @@
|
||||
---
|
||||
- name: generate overcloud ansible static yaml inventory file
|
||||
shell: |
|
||||
source {{ undercloud_rc }}
|
||||
/usr/bin/tripleo-ansible-inventory \
|
||||
--plan {{ overcloud_stack_name }} \
|
||||
{% if overcloud_ssh_user != '' %} --ansible_ssh_user {{ overcloud_ssh_user }} {% endif %} \
|
||||
--static-yaml-inventory {{ working_dir }}/tripleo-ansible-inventory-static.yaml
|
||||
|
||||
- name: register deployed roles list
|
||||
shell: |
|
||||
grep role_name {{ working_dir }}/tripleo-ansible-inventory-static.yaml | awk -F ': ' '{ print $2 }' 2>/dev/null
|
||||
awk -F':' '/role_name/ {gsub("[[:space:][:punct:]]", "", $2); print $2}' {{ working_dir }}/tripleo-ansible-inventory-static.yaml
|
||||
register: oc_roles
|
||||
|
||||
- name: store roles
|
||||
vars:
|
||||
controller_role_name: "{{ oc_roles.stdout|regex_search('[A-Za-z0-9]*[Cc]ontroller[A-Za-z0-9]*') }}"
|
||||
set_fact:
|
||||
oc_roles: "{{ [controller_role_name] + oc_roles.stdout_lines|difference([controller_role_name])|difference('CephStorage') }}"
|
||||
oc_roles: "{{ [controller_role_name] + oc_roles.stdout_lines|difference([controller_role_name]) }}"
|
||||
|
||||
- name: create non-compute role FFU ugrades playbooks scripts
|
||||
- name: create FFU role ugrades scripts
|
||||
template:
|
||||
src: fast-forward-upgrade/ffu_upgrade_playbook_non_compute_role.sh.j2
|
||||
dest: "./{{ item }}_non_Compute.sh"
|
||||
src: fast-forward-upgrade/overcloud_upgrade_role.sh.j2
|
||||
dest: "{{ working_dir }}/overcloud_upgrade_{{ item }}.sh"
|
||||
mode: 0775
|
||||
tags: ffu_upgrade_roles_prepare
|
||||
with_items:
|
||||
- 'ffu_upgrade_steps_playbook_script'
|
||||
- 'ffu_deploy_steps_playbook_script'
|
||||
|
||||
- name: create compute role FFU ugrades playbooks scripts
|
||||
template:
|
||||
src: fast-forward-upgrade/ffu_upgrade_playbook_role.sh.j2
|
||||
dest: "./{{ item[1] }}_{{ item[0] }}.sh"
|
||||
mode: 0775
|
||||
tags: ffu_upgrade_roles_prepare
|
||||
with_nested:
|
||||
- "{{ oc_roles|intersect(['Compute']) }}"
|
||||
- [ 'ffu_upgrade_steps_playbook_script', 'ffu_deploy_steps_playbook_script' ]
|
||||
tags: ffu_overcloud_upgrade_controller
|
||||
with_items: "{{ oc_roles|default([]) }}"
|
||||
|
||||
- include: ../common/l3_agent_connectivity_check_start_script.yml
|
||||
tags: ffu_upgrade_non_compute
|
||||
tags: ffu_overcloud_upgrade_controller
|
||||
|
||||
- name: pre non-compute role upgrade steps workarounds
|
||||
command: "{{working_dir}}/pre_ffu_upgrade_steps_playbook_workarounds.sh"
|
||||
- name: pre controller role upgrade steps workarounds
|
||||
command: "{{working_dir}}/pre_ffu_overcloud_upgrade_workarounds.sh"
|
||||
when: ffu_upgrade_workarounds|bool
|
||||
tags: ffu_upgrade_non_compute
|
||||
tags: ffu_overcloud_upgrade_controller
|
||||
|
||||
- name: run non-compute role upgrade steps
|
||||
command: "{{working_dir}}//ffu_upgrade_steps_playbook_script_non_Compute.sh"
|
||||
tags: ffu_upgrade_non_compute
|
||||
|
||||
- name: pre non-compute role deploy steps workarounds
|
||||
command: "{{working_dir}}/pre_ffu_deploy_steps_playbook_workarounds.sh"
|
||||
when: ffu_upgrade_workarounds|bool
|
||||
tags: ffu_upgrade_non_compute
|
||||
|
||||
- name: run non-compute role deploy steps
|
||||
command: "{{working_dir}}//ffu_deploy_steps_playbook_script_non_Compute.sh"
|
||||
tags: ffu_upgrade_non_compute
|
||||
- name: run FFU controller ugrade scripts
|
||||
command: "{{ working_dir }}/overcloud_upgrade_{{ item }}.sh"
|
||||
tags: ffu_overcloud_upgrade_controller
|
||||
with_items:
|
||||
- "{{ oc_roles|intersect(['Controller']) }}"
|
||||
|
||||
- include: "{{ item }}"
|
||||
with_items:
|
||||
- '../common/l3_agent_connectivity_check_stop_script.yml'
|
||||
- '../common/l3_agent_failover_check_post_script.yml'
|
||||
tags: ffu_upgrade_non_compute
|
||||
tags: ffu_overcloud_upgrade_controller
|
||||
|
||||
- include: ../common/l3_agent_connectivity_check_start_script.yml
|
||||
tags: ffu_upgrade_compute
|
||||
tags: ffu_overcloud_upgrade_compute
|
||||
|
||||
- name: upgrade compute roles
|
||||
command: "{{working_dir}}/{{ item[1] }}_{{ item[0] }}.sh"
|
||||
tags: ffu_upgrade_compute
|
||||
with_nested:
|
||||
- "{{ oc_roles|intersect('Compute') }}"
|
||||
- [ 'ffu_upgrade_steps_playbook_script', 'ffu_deploy_steps_playbook_script' ]
|
||||
- name: run FFU compute ugrade scripts
|
||||
command: "{{ working_dir }}/overcloud_upgrade_{{ item }}.sh"
|
||||
tags: ffu_overcloud_upgrade_compute
|
||||
with_items:
|
||||
- "{{ oc_roles|intersect(['Compute','ComputeAlt']) }}"
|
||||
when:
|
||||
- not ffu_computes_rolling|bool
|
||||
|
||||
- include: ../common/l3_agent_connectivity_check_stop_script.yml
|
||||
tags: ffu_upgrade_compute
|
||||
tags: ffu_overcloud_upgrade_compute
|
||||
|
||||
- block:
|
||||
- name: register compute nodes from tripleo ansible inventory
|
||||
shell: |
|
||||
grep compute- {{ working_dir }}/tripleo-ansible-inventory-static.yaml | grep \{\} | awk -F ':' {'print $1'} | sed s/\ //g
|
||||
awk -F':' '/^compute-/ {print $1}' {{ working_dir }}/tripleo-ansible-inventory-static.yaml
|
||||
register: tripleo_compute_nodes
|
||||
tags: ffu_upgrade_compute
|
||||
tags: ffu_overcloud_upgrade_compute
|
||||
|
||||
- name: Create compute nodes FFU ugrade playbooks scripts
|
||||
template:
|
||||
src: fast-forward-upgrade/ffu_upgrade_playbook_role.sh.j2
|
||||
dest: "{{ working_dir }}/{{ item[1] }}_{{ item[0] }}.sh"
|
||||
src: fast-forward-upgrade/overcloud_upgrade_nodes.sh.j2
|
||||
dest: "{{ working_dir }}/overcloud_upgrade_{{ item }}.sh"
|
||||
mode: 0775
|
||||
tags: ffu_upgrade_compute
|
||||
with_nested:
|
||||
tags: ffu_overcloud_upgrade_compute
|
||||
with_items:
|
||||
- '{{ tripleo_compute_nodes.stdout_lines }}'
|
||||
- [ 'ffu_upgrade_steps_playbook_script', 'ffu_deploy_steps_playbook_script' ]
|
||||
|
||||
- include: ../common/l3_agent_connectivity_check_start_script.yml
|
||||
tags: ffu_upgrade_compute
|
||||
tags: ffu_overcloud_upgrade_compute
|
||||
|
||||
- name: Rolling upgrade compute nodes
|
||||
command: "{{ working_dir }}/{{ item[1] }}_{{ item[0] }}.sh"
|
||||
tags: ffu_upgrade_compute
|
||||
with_nested:
|
||||
- "{{ tripleo_compute_nodes.stdout_lines }}"
|
||||
- [ 'ffu_upgrade_steps_playbook_script', 'ffu_deploy_steps_playbook_script' ]
|
||||
command: "{{ working_dir }}/overcloud_upgrade_{{ item }}.sh"
|
||||
tags: ffu_overcloud_upgrade_compute
|
||||
with_items:
|
||||
- '{{ tripleo_compute_nodes.stdout_lines }}'
|
||||
|
||||
- include: ../common/l3_agent_connectivity_check_stop_script.yml
|
||||
tags: ffu_upgrade_compute
|
||||
tags: ffu_overcloud_upgrade_compute
|
||||
when: ffu_computes_rolling|bool
|
||||
|
@ -6,7 +6,9 @@
|
||||
- name: add upgrade init script to upgrade prepare params
|
||||
set_fact:
|
||||
upgrade_prepare_extra_params: "{{ upgrade_prepare_extra_params + [upgrade_init_command_dest] }}"
|
||||
when: upgrade_init_command is string
|
||||
when:
|
||||
- upgrade_init_command is string
|
||||
- not ffu_overcloud_upgrade|bool
|
||||
|
||||
# Render it now so it takes all additions in upgrade_prepare_extra_params
|
||||
- name: create overcloud upgrade prepare script
|
||||
@ -37,4 +39,3 @@
|
||||
- name: was the overcloud upgrade preparation successful.
|
||||
fail: msg="Overcloud upgrade preparation step failed... :("
|
||||
when: overcloud_upgrade_prepare.rc != 0
|
||||
|
||||
|
@ -3,7 +3,7 @@ set -euo pipefail
|
||||
|
||||
source {{ undercloud_rc }}
|
||||
|
||||
echo "[$(date)] Started CEPH upgrade"
|
||||
echo "[$(date)] Started {% if ffu_overcloud_upgrade %} ffwd-upgrade {% else %} major {% endif %}upgrade Ceph step"
|
||||
|
||||
openstack overcloud ceph-upgrade run \
|
||||
--templates {{ tht_directory }} \
|
||||
@ -12,7 +12,12 @@ openstack overcloud ceph-upgrade run \
|
||||
-e {{ _env }} \
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if ffu_overcloud_upgrade %}
|
||||
-e {{working_dir}}/cli_opts_params.yaml \
|
||||
-e {{working_dir}}/ceph-ansible-env.yaml \
|
||||
--ceph-ansible-playbook '/usr/share/ceph-ansible/infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.yml,/usr/share/ceph-ansible/infrastructure-playbooks/rolling_update.yml' \
|
||||
{% endif %}
|
||||
--container-registry-file {{ working_dir }}/{{ container_registry_file }} \
|
||||
--roles-file {{ roles_data }} 2>&1
|
||||
{% if not ffu_overcloud_upgrade %}--roles-file {{ roles_data }}{% endif %} 2>&1
|
||||
|
||||
echo "[$(date)] Finished CEPH upgrade"
|
||||
|
22
templates/fast-forward-upgrade/cli_opts_params.yaml.j2
Normal file
22
templates/fast-forward-upgrade/cli_opts_params.yaml.j2
Normal file
@ -0,0 +1,22 @@
|
||||
parameter_defaults:
|
||||
{% if control_scale|succeeded %}
|
||||
ControllerCount: {{ control_scale.stdout|regex_search('\d+')}}
|
||||
{% endif %}
|
||||
{% if compute_scale|succeeded %}
|
||||
ComputeCount: {{ compute_scale.stdout|regex_search('\d+')}}
|
||||
{% endif %}
|
||||
{% if ceph_scale|succeeded %}
|
||||
CephStorageCount: {{ ceph_scale.stdout|regex_search('\d+')}}
|
||||
{% endif %}
|
||||
{% if control_flavor|succeeded %}
|
||||
OvercloudControlFlavor: {{ control_flavor.stdout.split()[1]}}
|
||||
{% endif %}
|
||||
{% if compute_flavor|succeeded %}
|
||||
OvercloudComputeFlavor: {{ compute_flavor.stdout.split()[1]}}
|
||||
{% endif %}
|
||||
{% if ceph_flavor|succeeded %}
|
||||
OvercloudCephStorageFlavor: {{ ceph_flavor.stdout.split()[1]}}
|
||||
{% endif %}
|
||||
{% if ntp_server|succeeded %}
|
||||
NtpServer: {{ ntp_server.stdout.split()[1] }}
|
||||
{% endif %}
|
@ -1,12 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
set -euo pipefail
|
||||
|
||||
source {{ undercloud_rc }}
|
||||
{% if 'ffu_upgrade_playbook_script' in item %}
|
||||
ansible-playbook --module-path /usr/share/ansible-modules/ -i {{ working_dir }}/tripleo-ansible-inventory-static.yaml -b {{ overcloud_config_dir }}/fast_forward_upgrade_playbook.yaml | tee {{ working_dir}}/ffu_upgrade_playbook.log
|
||||
{% elif 'ffu_upgrade_steps_playbook_script' in item %}
|
||||
ansible-playbook --module-path /usr/share/ansible-modules/ -i {{ working_dir }}/tripleo-ansible-inventory-static.yaml -b {{ overcloud_config_dir }}/upgrade_steps_playbook.yaml --skip-tags=validation | tee {{ working_dir}}/ffu_upgrade_steps_playbook.log
|
||||
{% elif 'ffu_deploy_steps_playbook_script' in item %}
|
||||
ansible-playbook --module-path /usr/share/ansible-modules/ -i {{ working_dir }}/tripleo-ansible-inventory-static.yaml -b {{ overcloud_config_dir }}/deploy_steps_playbook.yaml | tee {{ working_dir}}/ffu_deploy_steps_playbook.log
|
||||
{% endif %}
|
@ -1,11 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
set -euo pipefail
|
||||
|
||||
source {{ undercloud_rc }}
|
||||
{% if 'ffu_upgrade_steps_playbook_script' in item %}
|
||||
ansible-playbook --module-path /usr/share/ansible-modules/ -i {{ working_dir }}/tripleo-ansible-inventory-static.yaml -b {{ overcloud_config_dir }}/upgrade_steps_playbook.yaml --skip-tags=validation --limit={% for comp in oc_roles|intersect(['Compute']) -%}\!{{ comp }}{% if not loop.last %},{% endif %}{% endfor %} | tee {{ working_dir}}/{{ item }}_non_Compute.log
|
||||
{% elif 'ffu_deploy_steps_playbook_script' in item %}
|
||||
ansible-playbook --module-path /usr/share/ansible-modules/ -i {{ working_dir }}/tripleo-ansible-inventory-static.yaml -b {{ overcloud_config_dir }}/deploy_steps_playbook.yaml --limit={% for comp in oc_roles|intersect(['Compute']) -%}\!{{ comp }}{% if not loop.last %},{% endif %}{% endfor %} | tee {{ working_dir}}/{{ item }}_non_Compute.log
|
||||
{% endif %}
|
||||
|
@ -1,10 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
set -euo pipefail
|
||||
|
||||
source {{ undercloud_rc }}
|
||||
{% if 'ffu_upgrade_steps_playbook_script' in item[1] %}
|
||||
ansible-playbook --module-path /usr/share/ansible-modules/ -i {{ working_dir }}/tripleo-ansible-inventory-static.yaml -b {{ overcloud_config_dir }}/upgrade_steps_playbook.yaml --skip-tags=validation --limit={{ item[0] }} | tee {{ working_dir}}/{{ item[1] }}_{{ item[0] }}.log
|
||||
{% elif 'ffu_deploy_steps_playbook_script' in item[1] %}
|
||||
ansible-playbook --module-path /usr/share/ansible-modules/ -i {{ working_dir }}/tripleo-ansible-inventory-static.yaml -b {{ overcloud_config_dir }}/deploy_steps_playbook.yaml --limit={{ item[0] }} | tee {{ working_dir}}/{{ item[1] }}_{{ item[0] }}.log
|
||||
{% endif %}
|
@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
set -euo pipefail
|
||||
|
||||
source {{ undercloud_rc }}
|
||||
openstack overcloud upgrade run --nodes {{ item }} --skip-tags validation | tee {{ working_dir}}/overcloud_upgrade_{{ item }}.log
|
@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
set -euo pipefail
|
||||
|
||||
source {{ undercloud_rc }}
|
||||
openstack overcloud upgrade run --roles {{ item }} --skip-tags validation | tee {{ working_dir}}/overcloud_upgrade_{{ item }}.log
|
@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
set -euo pipefail
|
||||
|
||||
source {{ undercloud_rc }}
|
||||
openstack overcloud ffwd-upgrade run --yes {% if overcloud_ssh_user != '' %} --ssh-user {{ overcloud_ssh_user }} {% endif %} | tee {{ working_dir}}/overcloud_upgrade_run.log
|
||||
|
@ -44,8 +44,8 @@ apply_patch {{ value.basedir }} {{ value.id }}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
{% elif 'pre_ffu_update_stack_outputs_workarounds' in item %}
|
||||
{% for bugs in pre_ffu_update_stack_outputs_workarounds|default([]) %}
|
||||
{% elif 'pre_ffu_overcloud_prepare_workarounds' in item %}
|
||||
{% for bugs in pre_ffu_overcloud_prepare_workarounds|default([]) %}
|
||||
{% for key, value in bugs.items() %}
|
||||
echo {{ key }}
|
||||
{% if value.patch %}
|
||||
@ -57,8 +57,8 @@ apply_patch {{ value.basedir }} {{ value.id }}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
{% elif 'pre_ffu_download_config_workarounds' in item %}
|
||||
{% for bugs in pre_ffu_download_config_workarounds|default([]) %}
|
||||
{% elif 'pre_ffu_overcloud_run_workarounds' in item %}
|
||||
{% for bugs in pre_ffu_overcloud_run_workarounds|default([]) %}
|
||||
{% for key, value in bugs.items() %}
|
||||
echo {{ key }}
|
||||
{% if value.patch %}
|
||||
@ -70,8 +70,8 @@ apply_patch {{ value.basedir }} {{ value.id }}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
{% elif 'pre_ffu_upgrade_playbook_workarounds' in item %}
|
||||
{% for bugs in pre_ffu_upgrade_playbook_workarounds|default([]) %}
|
||||
{% elif 'pre_ffu_overcloud_upgrade_workaround' in item %}
|
||||
{% for bugs in pre_ffu_overcloud_upgrade_workaround|default([]) %}
|
||||
{% for key, value in bugs.items() %}
|
||||
echo {{ key }}
|
||||
{% if value.patch %}
|
||||
@ -83,24 +83,8 @@ apply_patch {{ value.basedir }} {{ value.id }}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
{% elif 'pre_ffu_upgrade_steps_playbook_workarounds' in item %}
|
||||
{% for bugs in pre_ffu_upgrade_steps_playbook_workarounds|default([]) %}
|
||||
{% for key, value in bugs.items() %}
|
||||
echo {{ key }}
|
||||
{% if value.patch %}
|
||||
curl -4 https://review.openstack.org/changes/{{ value.id }}/revisions/current/patch?download | \
|
||||
base64 -d | \
|
||||
sudo patch -d {{ value.basedir }} -p1
|
||||
|
||||
{% else %}
|
||||
{{ value.command }}
|
||||
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
{% elif 'pre_ffu_deploy_steps_playbook_workarounds' in item %}
|
||||
{% for bugs in pre_ffu_deploy_steps_playbook_workarounds|default([]) %}
|
||||
{% elif 'pre_ffu_overcloud_converge_workarounds' in item %}
|
||||
{% for bugs in pre_ffu_overcloud_converge_workarounds|default([]) %}
|
||||
{% for key, value in bugs.items() %}
|
||||
echo {{ key }}
|
||||
{% if value.patch %}
|
||||
@ -112,21 +96,8 @@ apply_patch {{ value.basedir }} {{ value.id }}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
{% elif 'pre_ffu_upgrade_ceph_workarounds' in item %}
|
||||
{% for bugs in pre_ffu_upgrade_ceph_workarounds|default([]) %}
|
||||
{% for key, value in bugs.items() %}
|
||||
echo {{ key }}
|
||||
{% if value.patch %}
|
||||
apply_patch {{ value.basedir }} {{ value.id }}
|
||||
{% else %}
|
||||
{{ value.command }}
|
||||
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
{% elif 'pre_ffu_upgrade_converge_workarounds' in item %}
|
||||
{% for bugs in pre_ffu_upgrade_converge_workarounds|default([]) %}
|
||||
{% elif 'pre_ffu_overcloud_ceph_workarounds' in item %}
|
||||
{% for bugs in pre_ffu_overcloud_ceph_workarounds|default([]) %}
|
||||
{% for key, value in bugs.items() %}
|
||||
echo {{ key }}
|
||||
{% if value.patch %}
|
||||
|
@ -5,8 +5,14 @@
|
||||
set -euo pipefail
|
||||
|
||||
source {{ undercloud_rc }}
|
||||
echo "Running major upgrade converge step"
|
||||
openstack overcloud upgrade converge \
|
||||
echo "Running {% if ffu_overcloud_upgrade %} ffwd-upgrade {% else %} major {% endif %}upgrade converge step"
|
||||
openstack overcloud {% if ffu_overcloud_upgrade %} ffwd-upgrade {% else %} upgrade {% endif %}converge \
|
||||
{% if ffu_overcloud_upgrade %}
|
||||
--yes \
|
||||
{% endif %}
|
||||
{% if overcloud_ssh_user != '' %}
|
||||
--overcloud-ssh-user {{ overcloud_ssh_user }} \
|
||||
{% endif %}
|
||||
{% if tripleo_upgrade_debug|bool %}
|
||||
--debug \
|
||||
{% endif %}
|
||||
@ -20,4 +26,11 @@ openstack overcloud upgrade converge \
|
||||
-e {{ _env }} \
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
--roles-file {{ roles_data }} 2>&1
|
||||
{% if ffu_overcloud_upgrade %}
|
||||
-e {{working_dir}}/cli_opts_params.yaml \
|
||||
-e {{ working_dir }}/{{ container_registry_file }} \
|
||||
{% if ceph_osd_enabled %}
|
||||
-e {{working_dir}}/ceph-ansible-env.yaml \
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if not ffu_overcloud_upgrade %}--roles-file {{ roles_data }}{% endif %} 2>&1
|
||||
|
@ -6,8 +6,15 @@ set -euo pipefail
|
||||
|
||||
source {{undercloud_rc }}
|
||||
|
||||
echo "Setting up HEAT's output for major upgrade"
|
||||
openstack overcloud upgrade prepare --templates --stack {{ overcloud_stack_name }} \
|
||||
echo "Running {% if ffu_overcloud_upgrade %} ffwd-upgrade {% else %} major {% endif %}upgrade prepare step"
|
||||
openstack overcloud{% if ffu_overcloud_upgrade %} ffwd-upgrade {% else %} upgrade {% endif %}prepare --stack {{ overcloud_stack_name }} \
|
||||
--templates {{ tht_directory }} \
|
||||
{% if ffu_overcloud_upgrade %}
|
||||
--yes \
|
||||
{% endif %}
|
||||
{% if overcloud_ssh_user != '' %}
|
||||
--overcloud-ssh-user {{ overcloud_ssh_user }} \
|
||||
{% endif %}
|
||||
{% if tripleo_upgrade_debug|bool %}
|
||||
--debug \
|
||||
{% endif %}
|
||||
@ -17,10 +24,10 @@ openstack overcloud upgrade prepare --templates --stack {{ overcloud_stack_name
|
||||
--container-registry-file {{ working_dir }}/{{ container_registry_file }} \
|
||||
{% if initial_env_file is defined and initial_env_file.stdout_lines|length > 0 %}
|
||||
{% for _env in initial_env_file.stdout_lines %}
|
||||
-e {{ _env }} \
|
||||
-e {{ _env }} \
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if upgrade_prepare_extra_params %}
|
||||
-e {{ upgrade_prepare_extra_params | join(' -e ') }} \
|
||||
{% endif %}
|
||||
--roles-file {{ roles_data }} 2>&1
|
||||
{% if not ffu_overcloud_upgrade %}--roles-file {{ roles_data }}{% endif %} 2>&1
|
||||
|
Loading…
x
Reference in New Issue
Block a user