tripleo-upgrade/tasks/upgrade/create-upgrade-scripts.yaml

208 lines
7.5 KiB
YAML

---
- name: create a comptatible deployment scripts from oooq
include: use_oooq.yaml
tags: use_oooq
when: use_oooq|bool
- name: make a copy of the initial overcloud deploy script
copy:
remote_src: yes
src: "{{ overcloud_deploy_script }}"
dest: "{{ overcloud_deploy_script }}.orig"
- name: replace services environment files with services-docker correspondents
replace:
dest: "{{ overcloud_deploy_script }}"
regexp: environments/services/
replace: environments/services-docker/
when: upstream_container_images|bool
- name: replace storage environment with ceph ansible environment
replace:
dest: "{{ overcloud_deploy_script }}"
regexp: environments/storage-environment.yaml
replace: environments/ceph-ansible/ceph-ansible.yaml
when: upstream_container_images|bool
- name: replace ceph radosgw with ceph ansible radosgw environment
replace:
dest: "{{ overcloud_deploy_script }}"
regexp: environments/ceph-radosgw.yaml
replace: environments/ceph-ansible/ceph-rgw.yaml
- name: replace external ceph environment with ceph ansible environment
replace:
dest: "{{ overcloud_deploy_script }}"
regexp: environments/puppet-ceph-external.yaml
replace: environments/ceph-ansible/ceph-ansible-external.yaml
when: upstream_container_images|bool
- name: replace external ceph environment with new external ceph environment
replace:
dest: "{{ overcloud_deploy_script }}"
regexp: environments/puppet-ceph-external.yaml
replace: environments/storage-environment-external.yaml
when: not upstream_container_images|bool
- name: Replace baremetal environment file to containerized used in OOOQ
replace:
dest: "{{ overcloud_deploy_script }}"
regexp: ci/environments/(\w+).yaml
replace: ci/environments/\1-containers.yaml
when: tripleo_ci
- name: Convert Ceph parameters to ceph ansible
include: convert_ceph_params.yaml
- name: Adjust custom roles data file during upgrade
include: convert_roles_data.yaml
- name: check if dpdk is enabled
command: "grep -Fq environments/neutron-ovs-dpdk.yaml {{ overcloud_deploy_script }}"
register: dpdk_env
ignore_errors: true
- name: create dpdk env required for upgrade
template:
src: "dpdk-upgrade-env.yaml.j2"
dest: "{{working_dir}}/dpdk-upgrade-env.yaml"
when: dpdk_env|succeeded
- name: check if undercloud is ssl enabled
command: "grep -Fq OS_AUTH_URL=https {{ undercloud_rc }}"
register: undercloud_ssl
ignore_errors: true
- include: undercloud_ssl_camap.yaml
when: undercloud_ssl|succeeded
- name: create workload launch script
template:
src: "{{ workload_launch_template }}"
dest: "{{ workload_launch_script }}"
mode: 0775
- name: create undercloud upgrade script
template:
src: "{{ undercloud_upgrade_template }}"
dest: "{{ undercloud_upgrade_script }}"
mode: 0775
- name: create upgrade workaround scripts
template:
src: workarounds.sh.j2
dest: "{{working_dir}}/{{ item }}.sh"
mode: 0775
with_items:
- 'pre_undercloud_upgrade_workarounds'
- 'post_undercloud_upgrade_workarounds'
- 'pre_docker_composable_upgrade_workarounds'
- 'pre_nova_compute_upgrade_workarounds'
- 'pre_docker_converge_upgrade_workarounds'
- 'post_docker_converge_upgrade_workarounds'
when: upgrade_workarounds
- block:
- name: create start l3 agent connectivity check scripts
template:
src: "{{ l3_agent_connectivity_check_start_template }}"
dest: "{{ l3_agent_connectivity_check_start_script }}"
mode: 0775
- name: create stop l3 agent connectivity check scripts
template:
src: "{{ l3_agent_connectivity_check_stop_template }}"
dest: "{{ l3_agent_connectivity_check_stop_script }}"
mode: 0775
- name: register used service environment files
shell: |
grep '\-e\ \|\-\-environment-file\ ' {{ overcloud_deploy_script }} | awk {'print $2'} | grep -E 'environments/services|environments/storage|environments/ceph-ansible'
register: services
ignore_errors: true
- name: create container images download script
template:
src: "{{ container_images_download_template }}"
dest: "{{ container_images_download_script }}"
mode: 0775
force: no
- name: create registry environment file script
template:
src: "{{ local_docker_registry_env_template }}"
dest: "{{ local_docker_registry_env_script }}"
mode: 0775
force: no
- name: Check if overcoud deployed with pacemaker
shell: grep "\-pacemaker" "{{ overcloud_deploy_script }}"
register: deployment_with_ha
ignore_errors: True
- name: create environment file to remove rpm packages
template:
src: "remove-packages.yaml.j2"
dest: "{{ working_dir }}/remove-packages.yaml"
when: upgrade_remove_rpm|bool
- name: create environment file for hci upgrade
template:
src: "upgrade_hci.yaml.j2"
dest: "{{ working_dir }}/upgrade_hci.yaml"
when: upgrade_hci|bool
- name: create the custom upgrade init commands
template:
src: "{{ upgrade_init_command_template }}"
dest: "{{upgrade_init_command_dest}}"
mode: 0775
when: upgrade_init_command is string
- name: create composable upgrade scripts
include: step_upgrade.yml
loop_control:
loop_var: ugstage
with_items:
- step: "Docker containers composable upgrade"
script: "{{ overcloud_composable_upgrade_script }}"
environment_file:
- "{% if upgrade_init_command is string %}{{upgrade_init_command_dest}}{% endif %}"
- "{% if upstream_container_images %}{{ tht_directory }}/environments/docker.yaml{% endif %}"
- "{% if upstream_container_images and (deployment_with_ha.rc == 0) %}{{ tht_directory }}/environments/docker-ha.yaml{% endif %}"
- "{{ tht_directory }}/environments/major-upgrade-composable-steps-docker.yaml"
- "{% if ceph_env is defined %}{{ working_dir }}/ceph-ansible-env.yaml{% endif %}"
- "{% if not upstream_container_images or (upstream_container_images and use_local_docker_registry) %}{{ containers_default_parameters }}{% endif %}"
- "{% if dpdk_env|succeeded %}{{working_dir}}/dpdk-upgrade-env.yaml{% endif %}"
- "{% if upgrade_remove_rpm|bool %}{{ working_dir }}/remove-packages.yaml{% endif %}"
- step: "Docker containers converge upgrade"
script: "{{ overcloud_converge_upgrade_script }}"
environment_file:
- "{% if upstream_container_images %}{{ tht_directory }}/environments/docker.yaml{% endif %}"
- "{% if upstream_container_images %}{{ tht_directory }}/environments/docker-ha.yaml{% endif %}"
- "{{ tht_directory }}/environments/major-upgrade-converge-docker.yaml"
- "{% if ceph_env is defined %}{{ working_dir }}/ceph-ansible-env.yaml{% endif %}"
- "{% if not upstream_container_images or (upstream_container_images and use_local_docker_registry) %}{{ containers_default_parameters }}{% endif %}"
- "{% if dpdk_env|succeeded %}{{working_dir}}/dpdk-upgrade-env.yaml{% endif %}"
- "{% if upgrade_hci|bool %}{{ working_dir }}/upgrade_hci.yaml{% endif %}"
- name: replace storage-environment with puppet-ceph for hci use case
replace:
dest: "{{ overcloud_composable_upgrade_script }}"
regexp: environments/storage-environment.yaml
replace: environments/puppet-ceph.yaml
when: upgrade_hci|bool
- name: adjust ssh config to skip host key check
copy:
src: ssh_config
dest: "~/.ssh/config"
mode: 0600
when: need_ssh_config|bool
- name: Create upgrade scripts for non controller nodes
include: non_controller_upgrade_scripts.yml
- name: Create post upgrade scripts for controller nodes
include: ../common/controller_post_scripts.yml