2 # file: roles/calibration/tasks/main.yaml
4 - name: Calibration - Install Distribution - Release - Machine Prerequisites
6 name: "{{ packages | flatten(levels=1) }}"
10 - install-dependencies
12 - name: Calibration - Check CPU Power States
14 register: current_lscpu
17 'CPU min MHz' in current_lscpu.stdout and
18 'Intel(R) Xeon(R)' in current_lscpu.stdout
22 - name: Calibration - Check Kernel Version of "{{ kernel_version }}"
24 register: current_kernel_version
27 current_kernel_version.stdout not in kernel_version
29 - check-kernel-version
31 - name: Calibration - Check Kernel Parameters
32 shell: "cat /proc/cmdline"
33 register: current_kernel_parameters
36 'isolcpus' not in current_kernel_parameters.stdout or
37 'nohz_full' not in current_kernel_parameters.stdout or
38 'rcu_nocbs' not in current_kernel_parameters.stdout or
39 'processor.max_cstate=1' not in current_kernel_parameters.stdout or
40 'nmi_watchdog=0' not in current_kernel_parameters.stdout or
41 'intel_iommu=on' not in current_kernel_parameters.stdout or
42 'nosoftlockup' not in current_kernel_parameters.stdout
46 - name: Calibration - Get Spectre Meltdown Checker
48 url: "https://meltdown.ovh"
49 dest: "/opt/spectre-meltdown-checker.sh"
52 - check-spectre-meltdown
54 - name: Calibration - Run Spectre Meltdown Checker
55 shell: "/opt/spectre-meltdown-checker.sh --no-color || true"
59 register: spectre_meltdown_async
61 - check-spectre-meltdown
63 - name: Calibration - {{ ansible_machine }} Specific
64 include_tasks: "{{ ansible_machine }}.yaml"
66 - check-machine-specific
69 - name: Check sync status
71 jid: "{{ spectre_meltdown_async.ansible_job_id }}"
72 register: "spectre_meltdown_poll_results"
73 until: spectre_meltdown_poll_results.finished
76 - debug: var=spectre_meltdown_poll_results.stdout_lines
78 - check-spectre-meltdown