diff options
Diffstat (limited to 'fdio.infra.ansible/roles/mellanox/tasks')
-rw-r--r-- | fdio.infra.ansible/roles/mellanox/tasks/main.yaml | 43 | ||||
-rw-r--r-- | fdio.infra.ansible/roles/mellanox/tasks/ofed.yaml | 37 |
2 files changed, 80 insertions, 0 deletions
diff --git a/fdio.infra.ansible/roles/mellanox/tasks/main.yaml b/fdio.infra.ansible/roles/mellanox/tasks/main.yaml new file mode 100644 index 0000000000..53376eb997 --- /dev/null +++ b/fdio.infra.ansible/roles/mellanox/tasks/main.yaml @@ -0,0 +1,43 @@ +--- +# file: tasks/main.yaml + +- name: Inst - Update Package Cache (APT) + apt: + update_cache: true + cache_valid_time: 3600 + when: + - ansible_distribution|lower == 'ubuntu' + tags: + - mellanox-inst-drivers + +- name: Inst - Prerequisites + package: + name: "{{ packages | flatten(levels=1) }}" + state: "latest" + tags: + - mellanox-inst-drivers + +- name: Inst - Check Presence of Mellanox + shell: "lspci | grep Mellanox | awk '{print $1}'" + register: mellanox_pcis + failed_when: false + changed_when: false + tags: + - mellanox-inst-drivers + +- name: Inst - Get Mellanox OFED driver versions + set_fact: + ofed: "{{ mellanox_compatibility_matrix[mellanox_matrix]['ofed'] }}" + when: > + mellanox_pcis.stdout_lines | length > 0 and + mellanox_matrix is defined + tags: + - mellanox-inst-drivers + +- name: Inst - Driver Mellanox + import_tasks: ofed.yaml + when: > + mellanox_pcis.stdout_lines | length > 0 and + mellanox_matrix is defined + tags: + - mellanox-inst-drivers diff --git a/fdio.infra.ansible/roles/mellanox/tasks/ofed.yaml b/fdio.infra.ansible/roles/mellanox/tasks/ofed.yaml new file mode 100644 index 0000000000..c39975bab6 --- /dev/null +++ b/fdio.infra.ansible/roles/mellanox/tasks/ofed.yaml @@ -0,0 +1,37 @@ +--- +# file: tasks/ofed.yaml + +- name: Inst - Get OFED + ansible.builtin.get_url: + url: "{{ mellanox_download_url }}/MLNX_OFED-{{ ofed }}/MLNX_OFED_LINUX-{{ ofed }}-{{ ansible_distribution|lower }}{{ ansible_distribution_version }}-{{ ansible_machine }}.tgz" + dest: "{{ mellanox_extract_dir }}/MLNX_OFED_LINUX-{{ ofed }}-{{ ansible_distribution|lower }}{{ ansible_distribution_version }}-{{ ansible_machine }}.tgz" + mode: "0644" + when: mellanox_pcis.stdout_lines | length > 0 + tags: + - mellanox-inst-drivers + +- name: Inst - Extract OFED + ansible.builtin.unarchive: + remote_src: true + src: "{{ mellanox_extract_dir }}/MLNX_OFED_LINUX-{{ ofed }}-{{ ansible_distribution|lower }}{{ ansible_distribution_version }}-{{ ansible_machine }}.tgz" + dest: "{{ mellanox_extract_dir }}/" + creates: "{{ mellanox_extract_dir }}/MLNX_OFED_LINUX-{{ ofed }}-{{ ansible_distribution|lower }}{{ ansible_distribution_version }}-{{ ansible_machine }}" + register: mellanox_firmware_extracted + tags: + - mellanox-inst-drivers + +- name: Inst - OFED + ansible.builtin.command: "./mlnxofedinstall --with-mft --dpdk --force --upstream-libs" # --without-fw-update" + args: + chdir: "{{ mellanox_extract_dir }}/MLNX_OFED_LINUX-{{ ofed }}-{{ ansible_distribution|lower }}{{ ansible_distribution_version }}-{{ ansible_machine }}" + when: mellanox_firmware_extracted + tags: + - mellanox-inst-drivers + +- name: Inst - Switch Infiniband to Ethernet + ansible.builtin.command: "mlxconfig --yes --dev {{ item }} set LINK_TYPE_P1=2 LINK_TYPE_P2=2" + with_items: "{{ mellanox_pcis.stdout_lines }}" + failed_when: false + changed_when: false + tags: + - mellanox-inst-drivers
\ No newline at end of file |