5d0c3b18ff6af456da670662a4f7683efd104278
[csit.git] / resources / tools / testbed-setup / ansible / roles / calibration / tasks / main.yaml
1 ---
2 # file: roles/calibration/tasks/main.yaml
3
4 - name: Inst - Update Package Cache (APT)
5   apt:
6     update_cache: yes
7     cache_valid_time: 3600
8   when:
9     - ansible_distribution|lower == 'ubuntu'
10   tags:
11     - calibration-inst-prerequisites
12
13 - name: Inst - Prerequisites
14   package:
15     name: "{{ packages | flatten(levels=1) }}"
16     state: latest
17   tags:
18     - calibration-inst-prerequisites
19
20 - name: Check CPU Power States
21   shell: "lscpu"
22   register: current_lscpu
23   changed_when: false
24   tags:
25     - check-cpu-frequency
26
27 - name: Check CPU Power States
28   assert:
29     that:
30       - "'CPU min MHz' not in current_lscpu.stdout or 'Intel(R) Xeon(R)' not in ansible_processor"
31     fail_msg: "CPU configuration!"
32     success_msg: "CPU configuration match."
33   tags:
34     - check-cpu-frequency
35
36 - name: Check Kernel Parameters
37   assert:
38     that:
39       - item in ansible_cmdline and grub[item] == ansible_cmdline[item]
40     fail_msg: "Kernel parameters!"
41     success_msg: "Kernel parameters match."
42   loop: "{{ grub.keys()|sort }}"
43   tags:
44     - check-kernel-params
45
46 - name: Check Kernel Version
47   assert:
48     that:
49       - ansible_kernel not in kernel_version_by_distro_by_arch
50     fail_msg: "Kernel version!"
51     success_msg: "Kernel version match."
52   tags:
53     - check-kernel-version
54
55 - name: Get Spectre Meltdown Checker
56   get_url:
57     url: "https://meltdown.ovh"
58     dest: "/opt/spectre-meltdown-checker.sh"
59     mode: "744"
60   tags:
61     - check-spectre-meltdown
62
63 - name: Run Spectre Meltdown Checker
64   shell: "/opt/spectre-meltdown-checker.sh --no-color || true"
65   async: 60
66   poll: 0
67   ignore_errors: true
68   register: spectre_meltdown_async
69   tags:
70     - check-spectre-meltdown
71
72 - name: "{{ ansible_machine }} Specific"
73   include_tasks: "{{ ansible_machine }}.yaml"
74   tags:
75     - check-machine-specific
76     - check-jitter-tool
77
78 - name: Check Sync Status
79   async_status:
80     jid: "{{ spectre_meltdown_async.ansible_job_id }}"
81   register: "spectre_meltdown_poll_results"
82   until: spectre_meltdown_poll_results.finished
83   retries: 30
84
85 - debug: var=spectre_meltdown_poll_results.stdout_lines
86   tags:
87     - check-spectre-meltdown