|
26 | 26 | ansible.builtin.shell:
|
27 | 27 | cmd: set -o pipefail && pip freeze | grep kayobe | cut -d @ -f 3
|
28 | 28 | 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 == "" |
31 | 31 |
|
32 | 32 | - name: Create a temporary directory to clone Kayobe into
|
33 | 33 | ansible.builtin.tempfile:
|
34 | 34 | state: directory
|
35 | 35 | register: kayobe_temp_dir
|
36 | 36 |
|
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 |
38 | 44 | ansible.builtin.git:
|
39 | 45 | repo: https://github.com/stackhpc/kayobe.git
|
40 | 46 | dest: "{{ kayobe_temp_dir.path }}/kayobe-git"
|
41 |
| - version: stackhpc/{{ openstack_release }} |
| 47 | + version: "{{ kayobe_expected_version.stdout }}" |
42 | 48 |
|
43 |
| - - name: Get tag from Kayobe commit |
| 49 | + - name: Get tag from current Kayobe commit |
44 | 50 | ansible.builtin.command:
|
45 |
| - cmd: git describe --tags {{ kayobe_git_commit.stdout }} |
| 51 | + cmd: git describe --tags {{ kayobe_current_commit.stdout }} |
46 | 52 | 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 |
48 | 60 |
|
49 | 61 | - name: Clean up temporary directory
|
50 | 62 | ansible.builtin.file:
|
51 | 63 | state: absent
|
52 | 64 | path: "{{ kayobe_temp_dir.path }}"
|
53 | 65 |
|
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 |
61 | 67 | 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 |
63 | 69 | fail_msg: |
|
64 | 70 | Kayobe must use the expected version before continuing.
|
65 | 71 |
|
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 }} |
68 | 76 |
|
69 | 77 | Recreate the Kayobe environment, or install the expected version
|
70 | 78 | by running: pip install --force-reinstall -r {{ requirements_path }}
|
71 | 79 | success_msg: |
|
72 |
| - Kayobe running at version: {{ kayobe_current_version.stdout }} |
| 80 | + Kayobe running at version: {{ kayobe_expected_version.stdout }} |
0 commit comments