-
Notifications
You must be signed in to change notification settings - Fork 21
/
Copy pathcheck-kayobe-version.yml
61 lines (53 loc) · 2.41 KB
/
check-kayobe-version.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
---
- name: Check Kayobe version
tags: kayobe-version-check
hosts: localhost
gather_facts: false
vars:
requirements_path: "{{ kayobe_config_path }}/../../requirements.txt"
tasks:
- name: Check version
when: stackhpc_enable_kayobe_check
block:
- name: Get package info
community.general.pip_package_info:
register: packages
- name: Check if pip is version 24.0 or newer
ansible.builtin.assert:
that: "{{ packages.packages.pip.pip[0].version is version('24.0', '>=') }}"
fail_msg: |
Pip must be 24.0 or newer to run this check. Upgrade pip by running
pip install -U pip and reinstall Kayobe by running:
pip install --force-reinstall -r {{ requirements_path }}
- name: Get installed Kayobe commit
ansible.builtin.shell:
cmd: set -o pipefail && pip freeze | grep kayobe | cut -d @ -f 3
executable: /usr/bin/bash
register: kayobe_git_commit
failed_when: kayobe_git_commit.stdout == ""
- name: Clone Kayobe
ansible.builtin.git:
repo: https://github.com/stackhpc/kayobe.git
dest: /tmp/kayobe-git
version: stackhpc/{{ openstack_release }}
- name: Get tag from Kayobe commit
ansible.builtin.command:
cmd: git describe --tags {{ kayobe_git_commit.stdout }}
chdir: /tmp/kayobe-git
register: kayobe_current_version
- name: Get latest Kayobe version
ansible.builtin.shell:
cmd: set -o pipefail && grep -o kayobe@stackhpc\/.*$ {{ requirements_path }} | cut -d @ -f 2
executable: /usr/bin/bash
register: kayobe_latest_version
- name: Check installed Kayobe version is the latest
ansible.builtin.assert:
that: "kayobe_latest_version.stdout in kayobe_current_version.stdout"
fail_msg: |
Kayobe must use the expected version before continuing.
Current Kayobe version: {{ kayobe_current_version.stdout }}
Expected Kayobe version: {{ kayobe_latest_version.stdout }}
Recreate the Kayobe environment, or install the expected version
by running: pip install --force-reinstall -r {{ requirements_path }}
success_msg: |
Kayobe running at version: {{ kayobe_current_version.stdout }}