2 # file: roles/mellanox/tasks/main.yaml
4 - name: Mellanox Install - Check Presence of Mellanox Hardware
5 shell: "lspci | grep Mellanox | awk '{print $1}'"
6 register: mellanox_pcis
12 - name: Mellanox Install - Get OFED
14 url: "http://content.mellanox.com/ofed/MLNX_OFED-{{ mellanox.version }}/MLNX_OFED_LINUX-{{ mellanox.version }}-{{ ansible_distribution|lower }}{{ ansible_distribution_version }}-{{ ansible_machine }}.tgz"
15 dest: "/opt/MLNX_OFED_LINUX-{{ mellanox.version }}-{{ ansible_distribution|lower }}{{ ansible_distribution_version }}-{{ ansible_machine }}.tgz"
17 when: mellanox_pcis.stdout_lines | length > 0
21 - name: Mellanox Install - Extract OFED
24 src: "/opt/MLNX_OFED_LINUX-{{ mellanox.version }}-{{ ansible_distribution|lower }}{{ ansible_distribution_version }}-{{ ansible_machine }}.tgz"
26 creates: "/opt/MLNX_OFED_LINUX-{{ mellanox.version }}-{{ ansible_distribution|lower }}{{ ansible_distribution_version }}-{{ ansible_machine }}"
27 register: mellanox_firmware_extracted
28 when: mellanox_pcis.stdout_lines | length > 0
32 - name: Mellanox Install - Install OFED
33 command: "./mlnxofedinstall --with-mft --dpdk --force --upstream-libs"
35 chdir: "/opt/MLNX_OFED_LINUX-{{ mellanox.version }}-{{ ansible_distribution|lower }}{{ ansible_distribution_version }}-{{ ansible_machine }}"
36 when: mellanox_pcis.stdout_lines | length > 0 and mellanox_firmware_extracted
40 - name: Mellanox Install - Switch Infiniband to Ethernet
41 command: "mlxconfig --yes --dev {{ item }} set LINK_TYPE_P1=2 LINK_TYPE_P2=2"
42 with_items: "{{ mellanox_pcis.stdout_lines }}"