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