X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Ftools%2Ftestbed-setup%2Fansible%2Froles%2Fcalibration%2Ftasks%2Fmain.yaml;h=02a9ef3d00638fedf326ca6333eb4dedcb4a52d6;hb=aa138e679a331e368a86f26d5f4ece03be16f3d4;hp=b70694ad31149e0918ba8c13118721d3b69e58a9;hpb=2045a26e54b45a5fd7635102ceda1662d84a2047;p=csit.git diff --git a/resources/tools/testbed-setup/ansible/roles/calibration/tasks/main.yaml b/resources/tools/testbed-setup/ansible/roles/calibration/tasks/main.yaml index b70694ad31..02a9ef3d00 100644 --- a/resources/tools/testbed-setup/ansible/roles/calibration/tasks/main.yaml +++ b/resources/tools/testbed-setup/ansible/roles/calibration/tasks/main.yaml @@ -1,33 +1,78 @@ --- # 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: | + kernel_version not in current_kernel_version.stdout + 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