-
Notifications
You must be signed in to change notification settings - Fork 106
/
reproducer.yml
92 lines (81 loc) · 2.96 KB
/
reproducer.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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
---
- name: Manage unique ID
ansible.builtin.import_playbook: playbooks/unique-id.yml
- name: Reproducer prepare play
hosts: "{{ cifmw_target_host | default('localhost') }}"
gather_facts: true
pre_tasks:
- name: Inherit from parent scenarios if needed
ansible.builtin.include_tasks:
file: "ci/playbooks/tasks/inherit_parent_scenario.yml"
- name: Include common architecture parameter file
when:
- cifmw_architecture_scenario is defined
- cifmw_architecture_scenario | length > 0
ansible.builtin.include_vars:
file: "scenarios/reproducers/va-common.yml"
- name: Run reproducer validations
ansible.builtin.import_role:
name: reproducer
tasks_from: validations.yml
- name: Gather OS facts
ansible.builtin.setup:
gather_subset:
- "!all"
- "!min"
- "distribution"
- name: Tweak dnf configuration
become: true
community.general.ini_file:
no_extra_spaces: true
option: "{{ config.option }}"
path: "/etc/dnf/dnf.conf"
section: "{{ config.section | default('main') }}"
state: "{{ config.state | default(omit) }}"
value: "{{ config.value | default(omit) }}"
mode: "0644"
loop: "{{ cifmw_reproducer_dnf_tweaks }}"
loop_control:
label: "{{ config.option }}"
loop_var: 'config'
- name: Install custom CA if needed
ansible.builtin.import_role:
name: install_ca
- name: Setup repositories via rhos-release if needed
tags:
- packages
when:
- ansible_facts['distribution'] == 'RedHat'
- cifmw_reproducer_hp_rhos_release | bool
vars:
cifmw_repo_setup_output: /etc/yum.repos.d
cifmw_repo_setup_rhos_release_args: "rhel"
ansible.builtin.import_role:
name: repo_setup
tasks_from: rhos_release.yml
roles:
- role: ci_setup
- name: Prepare switches
vars:
cifmw_configure_switches: "{{ 'switches' in groups }}"
ansible.builtin.import_playbook: playbooks/switches_config.yml
- name: Reproducer run
hosts: "{{ cifmw_target_host | default('localhost') }}"
gather_facts: false
roles:
- role: reproducer
post_tasks:
- name: Allow traffic from OSP VMs to OSP API (needed for shiftstack)
become: true
when: cifmw_allow_vms_to_reach_osp_api | default ('false') | bool
ansible.builtin.command: # noqa: command-instead-of-module
cmd: iptables -I LIBVIRT_FWI 1 -o ocpbm -j ACCEPT
- name: Run deployment if instructed to
when:
- cifmw_deploy_architecture | default(false) | bool
no_log: "{{ cifmw_nolog | default(true) | bool }}"
async: "{{ 7200 + cifmw_test_operator_timeout | default(3600) }}" # 2h should be enough to deploy EDPM and rest for tests.
poll: 20
delegate_to: controller-0
ansible.builtin.command:
cmd: "/home/zuul/deploy-architecture.sh {{ cifmw_deploy_architecture_args | default('') }}"