| |
@@ -2,60 +2,102 @@
|
| |
- name: Verify
|
| |
hosts: localhost
|
| |
connection: local
|
| |
- gather_facts: no
|
| |
- collections:
|
| |
- - community.kubernetes
|
| |
-
|
| |
- vars:
|
| |
- ctrl_label: control-plane=controller-manager
|
| |
-
|
| |
+ gather_facts: false
|
| |
tasks:
|
| |
+ - name: Set global vars
|
| |
+ set_fact:
|
| |
+ k8s_crs: []
|
| |
+
|
| |
- block:
|
| |
- - name: Import all test files from tasks/
|
| |
- include_tasks: 'tasks/{{ item }}_test.yml'
|
| |
- with_items:
|
| |
- - kojihub
|
| |
- - kojibuilder
|
| |
- - kojira
|
| |
- - kojiuser
|
| |
+ - block:
|
| |
+ - name: Koji-Hub Tests
|
| |
+ include_tasks: "{{ components_dir }}/koji-hub/create.yml"
|
| |
+ - include_tasks: "{{ components_dir }}/koji-hub/verify.yml"
|
| |
+ when: verify_kojihub | bool | default(true)
|
| |
+
|
| |
+ - block:
|
| |
+ - name: Kojira Tests
|
| |
+ include_tasks: "{{ components_dir }}/kojira/create.yml"
|
| |
+ - include_tasks: "{{ components_dir }}/kojira/verify.yml"
|
| |
+ when: verify_kojira | bool | default(true)
|
| |
+
|
| |
+ - block:
|
| |
+ - name: Koji-Builder (container) Tests
|
| |
+ include_tasks: "{{ components_dir }}/koji-builder/container/create.yml"
|
| |
+ - include_tasks: "{{ components_dir }}/koji-builder/container/verify.yml"
|
| |
+ when: verify_kojibuilder_container | bool | default(true)
|
| |
|
| |
- - name: Run kubevirt based builder
|
| |
- include_tasks: tasks/kojibuilder_kubevirt_test.yml
|
| |
- when: "minikube_driver == 'kvm2'"
|
| |
+ - block:
|
| |
+ - name: Koji-Builder (Kubevirt) Tests
|
| |
+ include_tasks: "{{ components_dir }}/koji-builder/kubevirt/create.yml"
|
| |
+ - include_tasks: "{{ components_dir }}/koji-builder/kubevirt/verify.yml"
|
| |
+ when:
|
| |
+ - verify_kojibuilder_kubevirt | bool | default(true)
|
| |
+ - backend_cluster == 'minikube'
|
| |
+ - minikube_driver == 'kvm2'
|
| |
+
|
| |
rescue:
|
| |
- - name: Retrieve relevant resources
|
| |
- k8s_info:
|
| |
- api_version: '{{ item.api_version }}'
|
| |
- kind: '{{ item.kind }}'
|
| |
- namespace: '{{ namespace }}'
|
| |
- loop:
|
| |
- - api_version: v1
|
| |
- kind: Pod
|
| |
- - api_version: apps/v1
|
| |
- kind: Deployment
|
| |
- - api_version: v1
|
| |
- kind: Secret
|
| |
- - api_version: v1
|
| |
- kind: ConfigMap
|
| |
- register: debug_resources
|
| |
-
|
| |
- - name: Retrieve Pod logs
|
| |
- shell: "kubectl logs {{ item.metadata.name }} -c manager -n {{ namespace }}"
|
| |
- loop: "{{ q('k8s', api_version='v1', kind='Pod', namespace=namespace, label_selector=ctrl_label) }}"
|
| |
- register: debug_logs
|
| |
-
|
| |
- - name: Output gathered resources
|
| |
- debug:
|
| |
- var: debug_resources
|
| |
-
|
| |
- - name: Output gathered logs
|
| |
- debug:
|
| |
- var: debug_logs
|
| |
- # loop: '{{ debug_logs.stdout_lines }}'
|
| |
-
|
| |
- - name: Re-emit failure
|
| |
+ - block:
|
| |
+ - name: Collect CRs to log
|
| |
+ set_fact:
|
| |
+ k8s_crs: "{{ k8s_crs + [['kojihub', k8s_cr_kojihub.result]] }}"
|
| |
+ when: verify_kojihub | bool | default(true)
|
| |
+
|
| |
+ - set_fact:
|
| |
+ k8s_crs: "{{ k8s_crs + [['kojira', k8s_cr_kojira.result]] }}"
|
| |
+ when: verify_kojira | bool | default(true)
|
| |
+
|
| |
+ - set_fact:
|
| |
+ k8s_crs: "{{ k8s_crs + [['kojibuilder_container', k8s_cr_kojibuilder_container.result]] }}"
|
| |
+ when: verify_kojibuilder_container | bool | default(true)
|
| |
+
|
| |
+ - set_fact:
|
| |
+ k8s_crs: "{{ k8s_crs + [['kojibuilder_kubevirt', k8s_cr_kojibuilder_kubevirt.result]] }}"
|
| |
+ when: verify_kojibuilder_kubevirt | bool | default(true)
|
| |
+
|
| |
+ - ansible.builtin.debug:
|
| |
+ msg: "Operator Runtime Error"
|
| |
+
|
| |
+ - name: Operator Pod Log
|
| |
+ ansible.builtin.include_tasks: _log.yml
|
| |
+ vars:
|
| |
+ log_container: manager
|
| |
+ log_labels:
|
| |
+ - "control-plane=controller-manager"
|
| |
+ log_fname: operator.log
|
| |
+
|
| |
+ - name: Koji-Hub Pod Log
|
| |
+ ansible.builtin.include_tasks: _log.yml
|
| |
+ vars:
|
| |
+ log_container: "koji-hub"
|
| |
+ log_labels:
|
| |
+ - "app=koji-hub"
|
| |
+ log_fname: "koji-hub_pod.log"
|
| |
+ when: verify_kojihub | bool | default(true)
|
| |
+
|
| |
+ - name: Kojira Pod Log
|
| |
+ ansible.builtin.include_tasks: _log.yml
|
| |
vars:
|
| |
- failed_task:
|
| |
- result: '{{ ansible_failed_result }}'
|
| |
- fail:
|
| |
- msg: '{{ failed_task }}'
|
| |
+ log_container: "kojira"
|
| |
+ log_labels:
|
| |
+ - "app=kojira"
|
| |
+ log_fname: "kojira_pod.log"
|
| |
+ when: verify_kojira | bool | default(true)
|
| |
+
|
| |
+ - name: Koji-Builder (Container) Pod Log
|
| |
+ ansible.builtin.include_tasks: _log.yml
|
| |
+ vars:
|
| |
+ log_container: "koji-builder"
|
| |
+ log_labels:
|
| |
+ - "app=koji-builder"
|
| |
+ log_fname: "kojibuilder_pod.log"
|
| |
+ when: verify_kojibuilder_container | bool | default(true)
|
| |
+
|
| |
+ - name: Export Custom Resources
|
| |
+ copy:
|
| |
+ content: "{{ item.1 | to_yaml }}"
|
| |
+ dest: "{{ logs_dir }}/{{ item.0 }}_cr.yaml"
|
| |
+ loop: "{{ k8s_crs }}"
|
| |
+
|
| |
+ - ansible.builtin.fail:
|
| |
+ msg: "Deployment error found, check logs in {{ logs_dir }}"
|
| |
refactoring tests to use a single scenario + env vars.