|
7 | 7 | - name: "Test Setup Tasks" |
8 | 8 | ansible.builtin.include_tasks: "roles/misc/tasks/test-case-setup.yml" |
9 | 9 |
|
| 10 | +- name: "Capture cluster configuration snapshot" |
| 11 | + become: true |
| 12 | + ansible.builtin.shell: >- |
| 13 | + set -o pipefail && {{ |
| 14 | + commands |
| 15 | + | selectattr('name', 'equalto', 'ha_cluster_config_dump') |
| 16 | + | map(attribute=(ansible_os_family | upper)) |
| 17 | + | list | first | default('') |
| 18 | + }} |
| 19 | + args: |
| 20 | + executable: /bin/bash |
| 21 | + register: ha_cluster_config_dump_result |
| 22 | + changed_when: false |
| 23 | + failed_when: false |
| 24 | + |
| 25 | +- name: "Prepare cluster configuration payload" |
| 26 | + ansible.builtin.set_fact: |
| 27 | + ha_cluster_config_snapshot: |- |
| 28 | + Command: {{ |
| 29 | + commands |
| 30 | + | selectattr('name', 'equalto', 'ha_cluster_config_dump') |
| 31 | + | map(attribute=(ansible_os_family | upper)) |
| 32 | + | list | first | default('Not defined') |
| 33 | + }} |
| 34 | + --- |
| 35 | + {{ |
| 36 | + (ha_cluster_config_dump_result.stdout | default('') | trim) |
| 37 | + if (ha_cluster_config_dump_result.stdout is defined and (ha_cluster_config_dump_result.stdout | trim | length > 0)) |
| 38 | + else (ha_cluster_config_dump_result.stderr | default('No output captured.')) |
| 39 | + }} |
| 40 | +
|
10 | 41 | - name: "Ensure a list of package version is available for logging" |
11 | 42 | no_log: true |
12 | 43 | block: |
|
151 | 182 |
|
152 | 183 | - name: "Set the test case status to PASSED" |
153 | 184 | ansible.builtin.set_fact: |
154 | | - test_case_name: "{{ item.name }}: {{ virtual_host }}" |
155 | 185 | test_case_status: "{{ test_result.status }}" |
156 | 186 | test_case_message: "{{ test_result.message }}" |
157 | 187 | test_case_details: "{{ test_result.details }}" |
158 | 188 | test_case_hostname: "{{ virtual_host }}" |
159 | 189 | package_versions: "{{ packages_list.details }}" |
| 190 | + test_case_var_log_messages: "{{ ha_cluster_config_snapshot | default('Cluster configuration snapshot unavailable') }}" |
160 | 191 |
|
161 | 192 | rescue: |
162 | 193 | - name: "Test case failed" |
163 | 194 | ansible.builtin.set_fact: |
164 | | - test_case_name: "{{ item.name }}: {{ virtual_host }}" |
165 | 195 | test_case_status: "FAILED" |
166 | 196 | test_case_details: "{{ test_result }}" |
167 | 197 | test_case_message: "{{ ansible_failed_result }}" |
168 | 198 | test_case_hostname: "{{ virtual_host }}" |
169 | 199 | package_versions: "{{ packages_list.details }}" |
| 200 | + test_case_var_log_messages: "{{ ha_cluster_config_snapshot | default('Cluster configuration snapshot unavailable') }}" |
170 | 201 |
|
171 | 202 | - name: "Post Telemetry Data" |
172 | 203 | ansible.builtin.include_tasks: "roles/misc/tasks/post-telemetry-data.yml" |
0 commit comments