Infra: AWS Update to Ubuntu 20.04
[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   when:
44     - grub is defined
45   tags:
46     - check-kernel-params
47
48 - name: Check Kernel Version
49   assert:
50     that:
51       - ansible_kernel not in kernel_version_by_distro_by_arch
52     fail_msg: "Kernel version!"
53     success_msg: "Kernel version match."
54   tags:
55     - check-kernel-version
56
57 - name: Get Spectre Meltdown Checker
58   get_url:
59     url: "https://meltdown.ovh"
60     dest: "/opt/spectre-meltdown-checker.sh"
61     mode: "744"
62   tags:
63     - check-spectre-meltdown
64
65 - name: Run Spectre Meltdown Checker
66   shell: "/opt/spectre-meltdown-checker.sh --no-color || true"
67   async: 60
68   poll: 0
69   ignore_errors: true
70   register: spectre_meltdown_async
71   tags:
72     - check-spectre-meltdown
73
74 - name: "{{ ansible_machine }} Specific"
75   include_tasks: "{{ ansible_machine }}.yaml"
76   tags:
77     - check-machine-specific
78     - check-jitter-tool
79
80 - name: Check Sync Status
81   async_status:
82     jid: "{{ spectre_meltdown_async.ansible_job_id }}"
83   register: "spectre_meltdown_poll_results"
84   until: spectre_meltdown_poll_results.finished
85   retries: 30
86
87 - debug: var=spectre_meltdown_poll_results.stdout_lines
88   tags:
89     - check-spectre-meltdown