tripleo-quickstart-extras/roles/overcloud-upgrade/tasks/pre-overcloud.yml

89 lines
3.2 KiB
YAML

---
- name: Copy custom heat templates files if provided
template:
src: "{{ item.value.src }}"
dest: "{{ upgrade_working_dir }}/{{ item.value.name }}"
with_dict: "{{ upgrade_templates }}"
- name: Copy ignore warnings template file for ceph upgrade
template:
src: "ceph-upgrade.yaml.J2"
dest: "{{ upgrade_working_dir }}/ceph-upgrade.yaml"
when: enable_ceph|bool
- name: Make sure no Tht repo is present
when: not mixed_upgrade|bool
file: path={{ upgrade_working_dir }}/{{ tht_dir }} state=absent
- name: Copy new Tht directory to the upgrade working dir
when: not mixed_upgrade|bool
shell: >
cp -R /usr/share/openstack-tripleo-heat-templates \
{{ upgrade_working_dir }}/{{ tht_dir }};
- name: Add the no ssh finger print checking into upgrade-non-controller.sh
when: step_upgrade_undercloud
become: yes
shell: >
sed -i 's/ssh/ssh -o StrictHostKeyChecking=no/' \
{{ upgrade_non_controller_script }}
- name: allow traffic for the controller
become: yes
shell: >
sudo iptables -A BOOTSTACK_MASQ -s {{ network_isolation_ipv4_cidr }} ! \
-d {{ network_isolation_ipv4_cidr }} -j MASQUERADE -t nat;
sudo iptables-save > /etc/sysconfig/iptables;
when: network_isolation|bool and deployment_type == "virtual"
- name: Create major overcloud upgrade script
when: major_upgrade
template:
src: "{{ major_upgrade_script }}"
dest: "{{ upgrade_working_dir }}/overcloud-upgrade.sh"
mode: 0755
- name: Create minor overcloud upgrade script
when: not major_upgrade|bool
template:
src: "{{ minor_upgrade_script }}"
dest: "{{ upgrade_working_dir }}/overcloud-upgrade.sh"
mode: 0755
- name: get the number of core
when: set_heat_workers
register: core
shell: >
cat /proc/cpuinfo | grep processor | wc -l
- name: set the number of workers for heat engine before runnning OC upgrade
when: set_heat_workers
set_fact:
heat_workers="{{ core.stdout|int / 2 }}"
# Hardcode the number of heat workers, to try to avoid the badstatusline in
# centos ci:
# 1 / append after the commented line
# 2 / make sure all heat engine workers are set to 6
# TODO: remove this with a smarter fix
- name: Set the num of heat workers
when: set_heat_workers
become: yes
shell: >
sed -i "/#num_engine_workers/a num_engine_workers = 6" /etc/heat/heat.conf;
sed -i "s/num_engine_workers.*$/num_engine_workers = 6/" /etc/heat/heat.conf;
systemctl restart openstack-heat-engine
- name: upgrade workaround for Newton
when: major_upgrade|bool and target_upgrade_version == 'master'
shell: >
sed -i '$acrudini --set \/etc\/nova\/nova.conf DEFAULT scheduler_host_manager host_manager' /home/stack/tripleo-heat-templates/extraconfig/tasks/major_upgrade_controller_pacemaker_1.sh;
sed -i 's/nova-manage db sync/nova-manage db sync\n nova-manage api_db sync\n/' /home/stack/tripleo-heat-templates/extraconfig/tasks/major_upgrade_controller_pacemaker_2.sh;
- name: fix grep to upgrade-non-controller.sh
when: major_upgrade|bool and target_upgrade_version == 'master'
become: yes
shell: >
sudo sed -i 's/nova show \$name_or_id | grep status /nova show \$name_or_id | grep -w status /' /bin/upgrade-non-controller.sh;