---
# file: roles/calibration/tasks/main.yaml
-- name: Ubuntu specific
- import_tasks: ubuntu.yaml
- when: ansible_distribution|lower == 'ubuntu'
-
-- name: Run Spectre Meltdown checker
- raw: 'spectre-meltdown-checker --no-color'
- register: spectre_meltdown_output
- tags: run-spectre-meltdown-checker
-
-- debug: var=spectre_meltdown_output.stdout_lines
- tags: run-spectre-meltdown-checker
-
-- name: Clone Jitter tool
- git:
- repo: 'https://gerrit.fd.io/r/pma_tools'
- dest: '{{ jitter.directory }}'
- tags: run-jitter-tool
-
-- name: Compile Jitter tool
- raw: 'cd {{ jitter.directory }}/jitter && make'
- tags: run-jitter-tool
-
-- name: Run Jitter tool
- raw: '{{ jitter.directory }}/jitter/jitter -c {{ jitter.core }} -i {{ jitter.iterations }} -f'
- become: yes
- register: jitter_output
- tags: run-jitter-tool
-
-- debug: var=jitter_output.stdout_lines
- tags: run-jitter-tool
+- name: Calibration - Install Distribution - Release - Machine Prerequisites
+ package:
+ name: "{{ packages | flatten(levels=1) }}"
+ state: latest
+ update_cache: true
+ tags:
+ - install-dependencies
+
+- name: Calibration - Check CPU Power States
+ shell: "lscpu"
+ register: current_lscpu
+ changed_when: false
+ failed_when: |
+ 'CPU min MHz' in current_lscpu.stdout and
+ 'Intel(R) Xeon(R)' in current_lscpu.stdout
+ tags:
+ - check-cpu-frequency
+
+- name: Calibration - Check Kernel Version of "{{ kernel_version }}"
+ shell: "uname -r"
+ register: current_kernel_version
+ changed_when: false
+ failed_when: |
+ current_kernel_version.stdout not in kernel_version
+ tags:
+ - check-kernel-version
+
+- name: Calibration - Check Kernel Parameters
+ shell: "cat /proc/cmdline"
+ register: current_kernel_parameters
+ changed_when: false
+ failed_when: |
+ 'isolcpus' not in current_kernel_parameters.stdout or
+ 'nohz_full' not in current_kernel_parameters.stdout or
+ 'rcu_nocbs' not in current_kernel_parameters.stdout or
+ 'processor.max_cstate=1' not in current_kernel_parameters.stdout or
+ 'nmi_watchdog=0' not in current_kernel_parameters.stdout or
+ 'intel_iommu=on' not in current_kernel_parameters.stdout or
+ 'nosoftlockup' not in current_kernel_parameters.stdout
+ tags:
+ - check-cmdline
+
+- name: Calibration - Get Spectre Meltdown Checker
+ get_url:
+ url: "https://meltdown.ovh"
+ dest: "/opt/spectre-meltdown-checker.sh"
+ mode: "744"
+ tags:
+ - check-spectre-meltdown
+
+- name: Calibration - Run Spectre Meltdown Checker
+ shell: "/opt/spectre-meltdown-checker.sh --no-color || true"
+ async: 60
+ poll: 0
+ ignore_errors: true
+ register: spectre_meltdown_async
+ tags:
+ - check-spectre-meltdown
+
+- name: Calibration - {{ ansible_machine }} Specific
+ include_tasks: "{{ ansible_machine }}.yaml"
+ tags:
+ - check-machine-specific
+ - check-jitter-tool
+
+- name: Check sync status
+ async_status:
+ jid: "{{ spectre_meltdown_async.ansible_job_id }}"
+ register: "spectre_meltdown_poll_results"
+ until: spectre_meltdown_poll_results.finished
+ retries: 30
+
+- debug: var=spectre_meltdown_poll_results.stdout_lines
+ tags:
+ - check-spectre-meltdown