kolla-ansible/tests/roles/remote-template/tasks/main.yml
Mark Goddard c23c9b2c25 Test upgrades in CI
This patch adds two new jobs:

* kolla-ansible-centos-source-upgrade
* kolla-ansible-ubuntu-source-upgrade

These jobs first deploy a control plane using the previous release of
Kolla Ansible, then upgrade to the current release.

Because we can't change the branch of the git repository on the Zuul
executor, we change the branch of the kolla-ansible repository on the
primary node to the branch of the previous release, in this case
stable/rocky. A new remote-template role has been added that supports
generating templates using a remote template source, to generate config
files using the previous kolla-ansible branch.

If the change being tested depends on a kolla change for the current
branch, then we build images. Rather than using the current
kolla-ansible version to tag the images, we now tag them with
change_<gerrit change ID>. This is because the version of kolla-ansible
will change from the previous release to the current one as we upgrade
the system.

Finally, it should be noted that the 'previous_release' variable in the
Zuul config needs to be updated with each release, since this sets the
release of kolla-ansible that is installed initially.

Depends-On: https://review.openstack.org/645089/
Depends-On: https://review.openstack.org/644250/
Depends-On: https://review.openstack.org/645816/
Depends-On: https://review.openstack.org/645840/
Change-Id: If301e0affcd55360fefe3b105f023ae5c47b0853
2019-03-27 16:13:49 +00:00

23 lines
690 B
YAML

---
# Ensure the parent directory exists.
- name: "ensure {{ remote_template_dest | dirname }} exists"
file:
path: "{{ remote_template_dest | dirname }}"
state: "directory"
mode: 0777
become: "{{ remote_template_become }}"
# Template sources must be on localhost, so first fetch the remote template
# file.
- name: "fetch remote template {{ remote_template_src | basename }}"
fetch:
src: "{{ remote_template_src }}"
dest: "{{ remote_template_temp_path }}"
flat: true
- name: "template {{ remote_template_src | basename }}"
template:
src: "{{ remote_template_temp_path }}"
dest: "{{ remote_template_dest }}"
become: "{{ remote_template_become }}"