Skip to content

Commit 0c77aed

Browse files
MoteHueAlex-Welsh
authored andcommitted
Support branches and commit shas in version checks
1 parent 25dc553 commit 0c77aed

File tree

3 files changed

+54
-23
lines changed

3 files changed

+54
-23
lines changed

etc/kayobe/ansible/check-kayobe-version.yml

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -26,47 +26,55 @@
2626
ansible.builtin.shell:
2727
cmd: set -o pipefail && pip freeze | grep kayobe | cut -d @ -f 3
2828
executable: /usr/bin/bash
29-
register: kayobe_git_commit
30-
failed_when: kayobe_git_commit.stdout == ""
29+
register: kayobe_current_commit
30+
failed_when: kayobe_current_commit.stdout == ""
3131

3232
- name: Create a temporary directory to clone Kayobe into
3333
ansible.builtin.tempfile:
3434
state: directory
3535
register: kayobe_temp_dir
3636

37-
- name: Clone Kayobe
37+
- name: Get expected Kayobe version
38+
ansible.builtin.shell:
39+
cmd: set -o pipefail && grep -o kayobe@.*$ {{ requirements_path }} | cut -d @ -f 3
40+
executable: /usr/bin/bash
41+
register: kayobe_expected_version
42+
43+
- name: Clone Kayobe at the expected version
3844
ansible.builtin.git:
3945
repo: https://github.com/stackhpc/kayobe.git
4046
dest: "{{ kayobe_temp_dir.path }}/kayobe-git"
41-
version: stackhpc/{{ openstack_release }}
47+
version: "{{ kayobe_expected_version.stdout }}"
4248

43-
- name: Get tag from Kayobe commit
49+
- name: Get tag from current Kayobe commit
4450
ansible.builtin.command:
45-
cmd: git describe --tags {{ kayobe_git_commit.stdout }}
51+
cmd: git describe --tags {{ kayobe_current_commit.stdout }}
4652
chdir: "{{ kayobe_temp_dir.path }}/kayobe-git"
47-
register: kayobe_current_version
53+
register: kayobe_current_tag
54+
55+
- name: Get commit from Kayobe checkout
56+
ansible.builtin.command:
57+
cmd: git rev-parse HEAD
58+
chdir: "{{ kayobe_temp_dir.path }}/kayobe-git"
59+
register: kayobe_expected_commit
4860

4961
- name: Clean up temporary directory
5062
ansible.builtin.file:
5163
state: absent
5264
path: "{{ kayobe_temp_dir.path }}"
5365

54-
- name: Get latest Kayobe version
55-
ansible.builtin.shell:
56-
cmd: set -o pipefail && grep -o kayobe@stackhpc\/.*$ {{ requirements_path }} | cut -d @ -f 2
57-
executable: /usr/bin/bash
58-
register: kayobe_latest_version
59-
60-
- name: Check installed Kayobe version is the latest
66+
- name: Check installed Kayobe version matches
6167
ansible.builtin.assert:
62-
that: "kayobe_latest_version.stdout in kayobe_current_version.stdout"
68+
that: kayobe_current_commit.stdout in kayobe_expected_commit.stdout
6369
fail_msg: |
6470
Kayobe must use the expected version before continuing.
6571
66-
Current Kayobe version: {{ kayobe_current_version.stdout }}
67-
Expected Kayobe version: {{ kayobe_latest_version.stdout }}
72+
Current Kayobe commit: {{ kayobe_current_commit.stdout }}
73+
Current Kayobe tag: {{ kayobe_current_tag.stdout }}
74+
Expected Kayobe commit: {{ kayobe_expected_commit.stdout }}
75+
Expected Kayobe version: {{ kayobe_expected_version.stdout }}
6876
6977
Recreate the Kayobe environment, or install the expected version
7078
by running: pip install --force-reinstall -r {{ requirements_path }}
7179
success_msg: |
72-
Kayobe running at version: {{ kayobe_current_version.stdout }}
80+
Kayobe running at version: {{ kayobe_expected_version.stdout }}

etc/kayobe/ansible/check-kolla-ansible-version.yml

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,35 @@
1212
ansible.builtin.command:
1313
cmd: git describe --tags
1414
chdir: "{{ lookup('ansible.builtin.env', 'KOLLA_SOURCE_PATH') }}"
15-
register: kolla_ansible_current_version
15+
register: kolla_ansible_current_tag
16+
17+
- name: Get current Kolla-Ansible branch
18+
ansible.builtin.command:
19+
cmd: git branch --show-current
20+
chdir: "{{ lookup('ansible.builtin.env', 'KOLLA_SOURCE_PATH') }}"
21+
register: kolla_ansible_current_branch
22+
23+
- name: Get current Kolla-Ansible commit
24+
ansible.builtin.command:
25+
cmd: git rev-parse HEAD
26+
chdir: "{{ lookup('ansible.builtin.env', 'KOLLA_SOURCE_PATH') }}"
27+
register: kolla_ansible_current_commit
1628

1729
- name: Check installed Kolla-Ansible version is the expected version
1830
ansible.builtin.assert:
19-
that: "stackhpc_kolla_ansible_source_version in kolla_ansible_current_version.stdout"
31+
that: >
32+
stackhpc_kolla_ansible_source_version in kolla_ansible_current_tag.stdout or
33+
stackhpc_kolla_ansible_source_version in kolla_ansible_current_branch.stdout or
34+
stackhpc_kolla_ansible_source_version in kolla_ansible_current_commit.stdout
2035
fail_msg: |
21-
Kolla-Ansible must use the expected version before continuing.
36+
Kolla-Ansible must use the expected version before continuing. Either the
37+
tag, branch, or commit should match the expected version.
2238
23-
Current Kolla-Ansible version: {{ kolla_ansible_current_version.stdout }}
39+
Current Kolla-Ansible tag: {{ kolla_ansible_current_tag.stdout }}
40+
Current Kolla-Ansible branch: {{ kolla_ansible_current_branch.stdout if kolla_ansible_current_branch.stdout != "" else 'No branch found' }}
41+
Current Kolla-Ansible commit: {{ kolla_ansible_current_commit.stdout }}
2442
Expected Kolla-Ansible version: {{ stackhpc_kolla_ansible_source_version }}
2543
2644
Upgrade Kolla-Ansible by running: kayobe control host upgrade
2745
success_msg: |
28-
Kolla-Ansible running at version: {{ kolla_ansible_current_version.stdout }}
46+
Kolla-Ansible running at version: {{ stackhpc_kolla_ansible_source_version }}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
features:
3+
- |
4+
Updated the Kayobe and Kolla-Ansible version checks to support pinning to
5+
branches or a specific commit.

0 commit comments

Comments
 (0)