Skip to content

Commit 51c1758

Browse files
committed
chore: reorganize leaderboard tasks
Signed-off-by: Gerard Vanloo <gerard.vanloo@ibm.com>
1 parent dd9618d commit 51c1758

10 files changed

+69
-142
lines changed
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
---
22
- name: Create leaderboard status content
33
ansible.builtin.set_fact:
4-
leaderboard_current_status:
4+
leaderboard_initial_status:
55
events: []
6-
leaderboard_legacy_status:
6+
leaderboard_initial_assertion:
77
status:
88
conditions: []
99

10-
- name: Create status file in legacy format
10+
- name: Create assertion file
1111
ansible.builtin.copy:
12-
content: "{{ leaderboard_legacy_status | to_nice_json(indent=2) }}"
12+
content: "{{ leaderboard_initial_assertion | to_nice_json(indent=2) }}"
1313
dest: "/tmp/assertion.json"
1414
mode: "0644"
1515

16-
- name: Create status file in v1 format
16+
- name: Create status file
1717
ansible.builtin.copy:
18-
content: "{{ leaderboard_current_status | to_nice_json }}"
18+
content: "{{ leaderboard_initial_status | to_nice_json }}"
1919
dest: "/tmp/status.json"
2020
mode: "0644"

sre/roles/leaderboard/tasks/main.yaml

Lines changed: 52 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,30 @@
55
tags:
66
- install_tools
77

8-
- name: Verify that the status file exists
8+
- name: Load assertion file contents
99
ansible.builtin.set_fact:
10-
leaderboard_current_status_exists: "{{ '/tmp/status.json' is exists }}"
11-
leaderboard_legacy_status_exists: "{{ '/tmp/assertion.json' is exists }}"
10+
leaderboard_current_assertion: "{{ lookup('ansible.builtin.file', '/tmp/assertion.json') | from_json }}"
1211
tags:
1312
- always
13+
vars:
14+
leaderboard_current_assertion_exists: "{{ '/tmp/assertion.json' is exists }}"
15+
when:
16+
- leaderboard_current_assertion_exists
1417

15-
- name: Perform update tasks
18+
- name: Load status file contents
19+
ansible.builtin.set_fact:
20+
leaderboard_current_status: "{{ lookup('ansible.builtin.file', '/tmp/status.json') | from_json }}"
21+
tags:
22+
- always
23+
vars:
24+
leaderboard_current_status_exists: "{{ '/tmp/status.json' is exists }}"
1625
when:
1726
- leaderboard_current_status_exists
18-
- leaderboard_legacy_status_exists
27+
28+
- name: Perform update tasks
29+
when:
30+
- leaderboard_current_assertion is defined
31+
- leaderboard_current_status is defined
1932
block:
2033
- name: Import status file update tasks
2134
ansible.builtin.import_tasks:
@@ -64,14 +77,40 @@
6477
file: update_status_uninstall_tools.yaml
6578
tags:
6679
- uninstall_tools
80+
81+
- name: Update assertion file with new condition
82+
ansible.builtin.copy:
83+
content: |
84+
{{
85+
leaderboard_current_assertion |
86+
combine({'status': {'conditions': leaderboard_status_conditions}}) |
87+
to_nice_json(indent=2)
88+
}}
89+
dest: "/tmp/assertion.json"
90+
mode: "0644"
91+
tags:
92+
- always
93+
when:
94+
- leaderboard_status.status != 'progressing'
95+
- leaderboard_status_conditions is defined
96+
97+
- name: Update status file with new event
98+
ansible.builtin.copy:
99+
content: "{{ leaderboard_current_status | combine({'events': leaderboard_status_events}) | to_nice_json }}"
100+
dest: "/tmp/status.json"
101+
mode: "0644"
102+
tags:
103+
- always
67104
always:
68-
- name: Copy legacy status into local directory
105+
- name: Copy assertion file into local directory
69106
ansible.builtin.copy:
70-
dest: "{{ recorders_storage.local.directory }}/assertion.json"
107+
dest: "{{ leaderboard_storage.local.directory }}/assertion.json"
71108
mode: "0644"
72109
src: /tmp/assertion.json
110+
when:
111+
- leaderboard_storage.local is defined
73112

74-
- name: Upload legacy status to S3 bucket
113+
- name: Upload assertion file to S3 bucket
75114
amazon.aws.s3_object:
76115
endpoint_url: "{{ leaderboard_storage.s3.endpoint }}"
77116
bucket: "{{ leaderboard_storage.s3.bucket }}"
@@ -81,13 +120,15 @@
81120
when:
82121
- leaderboard_storage.s3 is defined
83122

84-
- name: Copy status into local directory
123+
- name: Copy status file into local directory
85124
ansible.builtin.copy:
86-
dest: "{{ recorders_storage.local.directory }}/status.json"
125+
dest: "{{ leaderboard_storage.local.directory }}/status.json"
87126
mode: "0644"
88127
src: /tmp/status.json
128+
when:
129+
- leaderboard_storage.local is defined
89130

90-
- name: Upload v1 status to S3 bucket
131+
- name: Upload status file to S3 bucket
91132
amazon.aws.s3_object:
92133
endpoint_url: "{{ leaderboard_storage.s3.endpoint }}"
93134
bucket: "{{ leaderboard_storage.s3.bucket }}"
Lines changed: 2 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,7 @@
11
---
2-
- name: Load status file(s)
3-
ansible.builtin.set_fact:
4-
leaderboard_current_status: "{{ lookup('ansible.builtin.file', '/tmp/status.json') | from_json }}"
5-
leaderboard_legacy_status: "{{ lookup('ansible.builtin.file', '/tmp/assertion.json') | from_json }}"
6-
72
- name: Update status
83
ansible.builtin.set_fact:
9-
leaderboard_status_conditions: "{{ leaderboard_legacy_status.status.conditions + [status_condition] }}"
4+
leaderboard_status_conditions: "{{ leaderboard_current_assertion.status.conditions + [status_condition] }}"
105
leaderboard_status_events: "{{ leaderboard_current_status.events + [status_event] }}"
116
vars:
127
status_condition:
@@ -17,22 +12,4 @@
1712
phase: fault-injection
1813
status: "{{ leaderboard_status.status }}"
1914
task: "{{ leaderboard_status.failed_task | default(omit) }}"
20-
21-
- name: Update status file in legacy format
22-
ansible.builtin.copy:
23-
content: |
24-
{{
25-
leaderboard_legacy_status |
26-
combine({'status': {'conditions': leaderboard_status_conditions}}) |
27-
to_nice_json(indent=2)
28-
}}
29-
dest: "/tmp/assertion.json"
30-
mode: "0644"
31-
when:
32-
- leaderboard_status.status != 'progressing'
33-
34-
- name: Update status file in v1 format
35-
ansible.builtin.copy:
36-
content: "{{ leaderboard_current_status | combine({'events': leaderboard_status_events}) | to_nice_json }}"
37-
dest: "/tmp/status.json"
38-
mode: "0644"
15+
timestamp: "{{ now(utc=True, fmt='%Y-%m-%dT%H:%M:%SZ') }}"
Lines changed: 2 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,7 @@
11
---
2-
- name: Load status file(s)
3-
ansible.builtin.set_fact:
4-
leaderboard_current_status: "{{ lookup('ansible.builtin.file', '/tmp/status.json') | from_json }}"
5-
leaderboard_legacy_status: "{{ lookup('ansible.builtin.file', '/tmp/assertion.json') | from_json }}"
6-
72
- name: Update status
83
ansible.builtin.set_fact:
9-
leaderboard_status_conditions: "{{ leaderboard_legacy_status.status.conditions + [status_condition] }}"
4+
leaderboard_status_conditions: "{{ leaderboard_current_assertion.status.conditions + [status_condition] }}"
105
leaderboard_status_events: "{{ leaderboard_current_status.events + [status_event] }}"
116
vars:
127
status_condition:
@@ -17,22 +12,4 @@
1712
phase: application-installation
1813
status: "{{ leaderboard_status.status }}"
1914
task: "{{ leaderboard_status.failed_task | default(omit) }}"
20-
21-
- name: Update status file in legacy format
22-
ansible.builtin.copy:
23-
content: |
24-
{{
25-
leaderboard_legacy_status |
26-
combine({'status': {'conditions': leaderboard_status_conditions}}) |
27-
to_nice_json(indent=2)
28-
}}
29-
dest: "/tmp/assertion.json"
30-
mode: "0644"
31-
when:
32-
- leaderboard_status.status != 'progressing'
33-
34-
- name: Update status file in v1 format
35-
ansible.builtin.copy:
36-
content: "{{ leaderboard_current_status | combine({'events': leaderboard_status_events}) | to_nice_json }}"
37-
dest: "/tmp/status.json"
38-
mode: "0644"
15+
timestamp: "{{ now(utc=True, fmt='%Y-%m-%dT%H:%M:%SZ') }}"
Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
11
---
2-
- name: Load status file(s)
3-
ansible.builtin.set_fact:
4-
leaderboard_current_status: "{{ lookup('ansible.builtin.file', '/tmp/status.json') | from_json }}"
5-
62
- name: Update status
73
ansible.builtin.set_fact:
84
leaderboard_status_events: "{{ leaderboard_current_status.events + [status_event] }}"
@@ -11,9 +7,4 @@
117
phase: recorder-installation
128
status: "{{ leaderboard_status.status }}"
139
task: "{{ leaderboard_status.failed_task | default(omit) }}"
14-
15-
- name: Update status file in v1 format
16-
ansible.builtin.copy:
17-
content: "{{ leaderboard_current_status | combine({'events': leaderboard_status_events}) | to_nice_json }}"
18-
dest: "/tmp/assertion.json"
19-
mode: "0644"
10+
timestamp: "{{ now(utc=True, fmt='%Y-%m-%dT%H:%M:%SZ') }}"
Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
11
---
2-
- name: Load status file(s)
3-
ansible.builtin.set_fact:
4-
leaderboard_current_status: "{{ lookup('ansible.builtin.file', '/tmp/status.json') | from_json }}"
5-
62
- name: Update status
73
ansible.builtin.set_fact:
84
leaderboard_status_events: "{{ leaderboard_current_status.events + [status_event] }}"
@@ -11,9 +7,4 @@
117
phase: tool-installation
128
status: "{{ leaderboard_status.status }}"
139
task: "{{ leaderboard_status.failed_task | default(omit) }}"
14-
15-
- name: Update status file in v1 format
16-
ansible.builtin.copy:
17-
content: "{{ leaderboard_current_status | combine({'events': leaderboard_status_events}) | to_nice_json }}"
18-
dest: "/tmp/status.json"
19-
mode: "0644"
10+
timestamp: "{{ now(utc=True, fmt='%Y-%m-%dT%H:%M:%SZ') }}"
Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
11
---
2-
- name: Load status file(s)
3-
ansible.builtin.set_fact:
4-
leaderboard_current_status: "{{ lookup('ansible.builtin.file', '/tmp/status.json') | from_json }}"
5-
62
- name: Update status
73
ansible.builtin.set_fact:
84
leaderboard_status_events: "{{ leaderboard_current_status.events + [status_event] }}"
@@ -11,9 +7,4 @@
117
phase: fault-removal
128
status: "{{ leaderboard_status.status }}"
139
task: "{{ leaderboard_status.failed_task | default(omit) }}"
14-
15-
- name: Update status file in v1 format
16-
ansible.builtin.copy:
17-
content: "{{ leaderboard_current_status | combine({'events': leaderboard_status_events}) | to_nice_json }}"
18-
dest: "/tmp/status.json"
19-
mode: "0644"
10+
timestamp: "{{ now(utc=True, fmt='%Y-%m-%dT%H:%M:%SZ') }}"
Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
11
---
2-
- name: Load status file(s)
3-
ansible.builtin.set_fact:
4-
leaderboard_current_status: "{{ lookup('ansible.builtin.file', '/tmp/status.json') | from_json }}"
5-
62
- name: Update status
73
ansible.builtin.set_fact:
84
leaderboard_status_events: "{{ leaderboard_current_status.events + [status_event] }}"
@@ -11,9 +7,4 @@
117
phase: application-uninstallation
128
status: "{{ leaderboard_status.status }}"
139
task: "{{ leaderboard_status.failed_task | default(omit) }}"
14-
15-
- name: Update status file in v1 format
16-
ansible.builtin.copy:
17-
content: "{{ leaderboard_current_status | combine({'events': leaderboard_status_events}) | to_nice_json }}"
18-
dest: "/tmp/status.json"
19-
mode: "0644"
10+
timestamp: "{{ now(utc=True, fmt='%Y-%m-%dT%H:%M:%SZ') }}"
Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
11
---
2-
- name: Load status file(s)
3-
ansible.builtin.set_fact:
4-
leaderboard_current_status: "{{ lookup('ansible.builtin.file', '/tmp/status.json') | from_json }}"
5-
62
- name: Update status
73
ansible.builtin.set_fact:
84
leaderboard_status_events: "{{ leaderboard_current_status.events + [status_event] }}"
@@ -11,9 +7,4 @@
117
phase: recorder-uninstallation
128
status: "{{ leaderboard_status.status }}"
139
task: "{{ leaderboard_status.failed_task | default(omit) }}"
14-
15-
- name: Update status file in v1 format
16-
ansible.builtin.copy:
17-
content: "{{ leaderboard_current_status | combine({'events': leaderboard_status_events}) | to_nice_json }}"
18-
dest: "/tmp/status.json"
19-
mode: "0644"
10+
timestamp: "{{ now(utc=True, fmt='%Y-%m-%dT%H:%M:%SZ') }}"
Lines changed: 2 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,7 @@
11
---
2-
- name: Load status file(s)
3-
ansible.builtin.set_fact:
4-
leaderboard_current_status: "{{ lookup('ansible.builtin.file', '/tmp/status.json') | from_json }}"
5-
leaderboard_legacy_status: "{{ lookup('ansible.builtin.file', '/tmp/assertion.json') | from_json }}"
6-
72
- name: Update status
83
ansible.builtin.set_fact:
9-
leaderboard_status_conditions: "{{ leaderboard_legacy_status.status.conditions + [status_condition] }}"
4+
leaderboard_status_conditions: "{{ leaderboard_current_assertion.status.conditions + [status_condition] }}"
105
leaderboard_status_events: "{{ leaderboard_current_status.events + [status_event] }}"
116
vars:
127
status_condition:
@@ -17,22 +12,4 @@
1712
phase: tool-uninstallation
1813
status: "{{ leaderboard_status.status }}"
1914
task: "{{ leaderboard_status.failed_task | default(omit) }}"
20-
21-
- name: Update status file in legacy format
22-
ansible.builtin.copy:
23-
content: |
24-
{{
25-
leaderboard_legacy_status |
26-
combine({'status': {'conditions': leaderboard_status_conditions}}) |
27-
to_nice_json(indent=2)
28-
}}
29-
dest: "/tmp/assertion.json"
30-
mode: "0644"
31-
when:
32-
- leaderboard_status.status != 'progressing'
33-
34-
- name: Update status file in v1 format
35-
ansible.builtin.copy:
36-
content: "{{ leaderboard_current_status | combine({'events': leaderboard_status_events}) | to_nice_json }}"
37-
dest: "/tmp/status.json"
38-
mode: "0644"
15+
timestamp: "{{ now(utc=True, fmt='%Y-%m-%dT%H:%M:%SZ') }}"

0 commit comments

Comments
 (0)