
Rocky Linux 9.2 shipped with Libvirt 9.0.0 which breaks our bare metal testing. Temporarily run bare metal testing only on Ubuntu. This allows us to make rocky9 jobs voting again. Change-Id: I8866cbc07fc28897648f3dc6f2a163323184e8a9
119 lines
4.5 KiB
YAML
119 lines
4.5 KiB
YAML
---
|
|
- hosts: primary
|
|
tasks:
|
|
|
|
# Install the previous release of Kayobe, and use it to deploy a control
|
|
# plane.
|
|
|
|
- block:
|
|
- name: Ensure kayobe is installed
|
|
shell:
|
|
cmd: dev/install.sh &> {{ logs_dir }}/ansible/install-pre-upgrade
|
|
chdir: "{{ previous_kayobe_src_dir }}"
|
|
executable: /bin/bash
|
|
|
|
- name: Configure the firewall
|
|
# We run kayobe commands to determine variable values. So this must
|
|
# be run after install.
|
|
shell:
|
|
cmd: dev/configure-firewall.sh
|
|
chdir: "{{ previous_kayobe_src_dir }}"
|
|
executable: /bin/bash
|
|
|
|
- name: Ensure overcloud is deployed
|
|
shell:
|
|
cmd: dev/overcloud-deploy.sh &> {{ logs_dir }}/ansible/overcloud-deploy-pre-upgrade
|
|
chdir: "{{ previous_kayobe_src_dir }}"
|
|
executable: /bin/bash
|
|
|
|
environment:
|
|
KAYOBE_CONFIG_SOURCE_PATH: "{{ previous_kayobe_config_src_dir }}"
|
|
|
|
# Update the Kayobe configuration to the current release.
|
|
|
|
- name: Ensure kolla config directory exists
|
|
file:
|
|
path: "{{ kayobe_config_src_dir }}/etc/kolla"
|
|
state: directory
|
|
|
|
- name: Copy across relevant kayobe-config files
|
|
copy:
|
|
src: "{{ previous_kayobe_config_src_dir }}/{{ item }}"
|
|
dest: "{{ kayobe_config_src_dir }}/{{ item }}"
|
|
remote_src: true
|
|
with_items:
|
|
- etc/kayobe/kolla/passwords.yml
|
|
- etc/kolla/admin-openrc.sh
|
|
- etc/kolla/public-openrc.sh
|
|
- etc/kolla/clouds.yaml
|
|
|
|
# NOTE(mgoddard): Use the name zz-overrides.yml to ensure this takes
|
|
# precedence over the standard config files.
|
|
- name: Ensure kayobe-config override config file exists
|
|
template:
|
|
src: overrides.yml.j2
|
|
dest: "{{ kayobe_config_src_dir }}/etc/kayobe/zz-overrides.yml"
|
|
|
|
- name: Ensure kolla-ansible globals.yml override config file exists
|
|
template:
|
|
src: globals.yml.j2
|
|
dest: "{{ kayobe_config_src_dir }}/etc/kayobe/kolla/globals.yml"
|
|
|
|
# Perform a smoke test against the previous release.
|
|
|
|
- block:
|
|
- name: Ensure test Tenks cluster is deployed
|
|
shell:
|
|
# Pass absolute source directory, since otherwise the `chdir` will
|
|
# cause this to fail.
|
|
cmd: dev/tenks-deploy-compute.sh '{{ tenks_src_dir }}' &> {{ logs_dir }}/ansible/tenks-deploy
|
|
chdir: "{{ kayobe_src_dir }}"
|
|
executable: /bin/bash
|
|
|
|
- name: Perform testing of the VMs in the overcloud prior to upgrade
|
|
shell:
|
|
cmd: dev/overcloud-test-vm.sh &> {{ logs_dir }}/ansible/overcloud-test-vm-pre-upgrade
|
|
chdir: "{{ previous_kayobe_src_dir }}"
|
|
executable: /bin/bash
|
|
|
|
- name: Perform testing of the baremetal machines in the overcloud prior to upgrade
|
|
shell:
|
|
cmd: dev/overcloud-test-baremetal.sh &> {{ logs_dir }}/ansible/overcloud-test-bm-pre-upgrade
|
|
chdir: "{{ previous_kayobe_src_dir }}"
|
|
executable: /bin/bash
|
|
# FIXME(priteau): Bare metal testing fails on RL9/c9s with Libvirt 9.0.0
|
|
when: ansible_facts.os_family == 'Debian'
|
|
|
|
# Upgrade Kayobe, and use it to perform an upgrade of the control plane.
|
|
|
|
- name: Ensure overcloud is upgraded
|
|
shell:
|
|
cmd: "{{ kayobe_src_dir }}/dev/overcloud-upgrade.sh &> {{ logs_dir }}/ansible/overcloud-upgrade"
|
|
executable: /bin/bash
|
|
|
|
# Remove unused Docker images to avoid reaching full disk
|
|
- name: Remove unused Docker images
|
|
shell:
|
|
cmd: "docker image prune --all --force"
|
|
become: true
|
|
|
|
# Perform a smoke test against the upgraded current release.
|
|
|
|
- name: Perform testing of VMs in the upgraded overcloud
|
|
shell:
|
|
cmd: dev/overcloud-test-vm.sh &> {{ logs_dir }}/ansible/overcloud-test-vm-post-upgrade
|
|
chdir: "{{ kayobe_src_dir }}"
|
|
executable: /bin/bash
|
|
|
|
- name: Perform testing of the baremetal machines in the upgraded overcloud
|
|
shell:
|
|
cmd: dev/overcloud-test-baremetal.sh &> {{ logs_dir }}/ansible/overcloud-test-bm-post-upgrade
|
|
chdir: "{{ kayobe_src_dir }}"
|
|
executable: /bin/bash
|
|
# FIXME(priteau): Bare metal testing fails on RL9/c9s with Libvirt 9.0.0
|
|
when: ansible_facts.os_family == 'Debian'
|
|
|
|
environment:
|
|
KAYOBE_CONFIG_SOURCE_PATH: "{{ kayobe_config_src_dir }}"
|
|
KAYOBE_SOURCE_PATH: "{{ kayobe_src_dir }}"
|