Files
ironic/playbooks/irso-ci/post.yaml
Dmitry Tantsur e57e4c2d7c Run the ironic-standalone-operator tests as non-voting job
Unlike the existing Metal3 job, this one covers a large number of
different Ironic configurations and is also sensitive to performance
regressions on the API layer.

Claude Code was used for the initial pass of converting the existing
Github workflow to Ansible.

Assisted-By: Claude Code
Change-Id: I80490c4ca89ab40d3cdc4ced7964d3dc06cd9a05
Signed-off-by: Dmitry Tantsur <dtantsur@protonmail.com>
2025-09-08 17:01:27 +02:00

48 lines
1.4 KiB
YAML

---
- name: IrSO Functional Tests - Log Collection
hosts: all
gather_facts: no
vars:
local_install_path: /usr/local
logdir: "{{ ansible_user_dir }}/metal3-logs"
junit_output: "{{ logdir }}/report.xml"
junit2html_venv: "{{ ansible_user_dir }}/venv"
environment:
CLUSTER_TYPE: minikube
CONTAINER_RUNTIME: docker
LOGDIR: "{{ ansible_user_dir }}/metal3-logs"
PATH: "{{ local_install_path }}/go/bin:{{ local_install_path }}/bin:{{ ansible_env.PATH }}"
JUNIT_OUTPUT: "{{ junit_output }}"
tasks:
- name: Collect logs
command: "{{ irso_source }}/test/collect-logs.sh"
ignore_errors: yes
- name: Check if JUnit report exists
stat:
path: "{{ junit_output }}"
register: junit_report
- name: Convert the JUnit report to HTML
command: "{{ junit2html_venv }}/bin/junit2html '{{ junit_output }}' '{{ logdir }}/report.html'"
args:
creates: "{{ logdir }}/report.html"
when: junit_report.stat.exists
- name: Copy logs to the zuul location
synchronize:
src: "{{ logdir }}/"
dest: "{{ zuul.executor.log_root }}/{{ inventory_hostname }}/"
mode: pull
become: true
- name: Store JUnit report as a Zuul artifact
zuul_return:
data:
zuul:
artifacts:
- name: Test Results
url: 'controller/report.html'
when: junit_report.stat.exists