4f74272f19
There is currently no coverage of upgrades in CI, which leaves us open
to regression in this infrequently tested but crucial area. This change
adds the required scripts and Zuul configuration.
A control plane is first deployed using the Kayobe stable/pike branch
and associated default configuration. The control plane is tested by
deploying then deleting a server instance. An upgrade to Queens is
performed, using the Kayobe master branch, or code in review if
applicable. The upgraded control plane is tested by deploying then
deleting a second server instance.
A workaround was required to restart the nova_compute service after the
upgrade, since the SIGHUP sent to it by Kolla Ansible during upgrade
appeared to be putting it into a degraded state.
A future improvement to this test could be to leave a server instance
running during the upgrade.
Change-Id: I0e595524e39d1131fe3ec6aaf2aeec3ff3d6a536
Story: 2003472
Task: 24732
(cherry picked from commit 6266312fa1
)
56 lines
2.0 KiB
YAML
56 lines
2.0 KiB
YAML
---
|
|
- hosts: primary
|
|
vars:
|
|
logs_dir: "/tmp/logs"
|
|
kayobe_src_dir: "{{ ansible_env.PWD ~ '/' ~ zuul.projects['git.openstack.org/openstack/kayobe'].src_dir }}"
|
|
kayobe_config_src_dir: "{{ ansible_env.PWD ~ '/' ~ zuul.projects['git.openstack.org/openstack/kayobe-config-dev'].src_dir }}"
|
|
environment:
|
|
KAYOBE_CONFIG_SOURCE_PATH: "{{ kayobe_config_src_dir }}"
|
|
roles:
|
|
- role: kayobe-diagnostics
|
|
kayobe_diagnostics_phase: "pre"
|
|
kayobe_diagnostics_log_dir: "{{ logs_dir }}"
|
|
|
|
- role: kayobe-ci-prep
|
|
tasks:
|
|
# NOTE(mgoddard): Copying upper constraints to somewhere accessible by both
|
|
# the zuul and stack users.
|
|
- name: Ensure upper-contraints.txt exists
|
|
copy:
|
|
src: "{{ zuul.projects['git.openstack.org/openstack/requirements'].src_dir ~ '/upper-constraints.txt' }}"
|
|
dest: "/tmp"
|
|
mode: 0644
|
|
remote_src: true
|
|
|
|
# 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 bifrost overrides directory exists
|
|
file:
|
|
path: "{{ kayobe_config_src_dir }}/etc/kayobe/kolla/config/bifrost"
|
|
state: "directory"
|
|
|
|
- name: Ensure bifrost overrides file exists
|
|
template:
|
|
src: bifrost-overrides.yml.j2
|
|
dest: "{{ kayobe_config_src_dir }}/etc/kayobe/kolla/config/bifrost/bifrost.yml"
|
|
|
|
# NOTE(mgoddard): The kayobe dev config by default expects a bridge -
|
|
# breth1 - to exist on the seed with an IP address of 192.168.33.5.
|
|
- name: Ensure all-in-one network bridge interface exists
|
|
command: "{{ item }}"
|
|
become: true
|
|
with_items:
|
|
- "ip l add breth1 type bridge"
|
|
- "ip l set breth1 up"
|
|
- "ip a add 192.168.33.5/24 dev breth1"
|
|
|
|
- name: Ensure kayobe is installed
|
|
shell:
|
|
cmd: dev/install.sh > {{ logs_dir }}/ansible/install
|
|
chdir: "{{ kayobe_src_dir }}"
|