--- # file: roles/common/tasks/mellanox.yaml - name: Mellanox Install - Check Presence of Mellanox Hardware shell: "lspci | grep Mellanox | awk '{print $1}'" register: mellanox_pcis failed_when: no changed_when: no tags: install-mellanox - name: Mellanox Install - Get OFED get_url: url: 'http://content.mellanox.com/ofed/MLNX_OFED-{{ mellanox.version }}/MLNX_OFED_LINUX-{{ mellanox.version }}-{{ ansible_distribution|lower }}{{ ansible_distribution_version }}-{{ ansible_machine }}.tgz' dest: '/opt/MLNX_OFED_LINUX-{{ mellanox.version }}-{{ ansible_distribution|lower }}{{ ansible_distribution_version }}-{{ ansible_machine }}.tgz' mode: 0644 when: mellanox_pcis.stdout_lines | length > 0 tags: install-mellanox - name: Mellanox Install - Extract OFED unarchive: remote_src: true src: '/opt/MLNX_OFED_LINUX-{{ mellanox.version }}-{{ ansible_distribution|lower }}{{ ansible_distribution_version }}-{{ ansible_machine }}.tgz' dest: '/opt/' creates: '/opt/MLNX_OFED_LINUX-{{ mellanox.version }}-{{ ansible_distribution|lower }}{{ ansible_distribution_version }}-{{ ansible_machine }}' register: mellanox_firmware_extracted when: mellanox_pcis.stdout_lines | length > 0 tags: install-mellanox - name: Mellanox Install - Install OFED command: './mlnxofedinstall --with-mft --dpdk --force --upstream-libs' args: chdir: '/opt/MLNX_OFED_LINUX-{{ mellanox.version }}-{{ ansible_distribution|lower }}{{ ansible_distribution_version }}-{{ ansible_machine }}' when: mellanox_pcis.stdout_lines | length > 0 and mellanox_firmware_extracted tags: install-mellanox - name: Mellanox Install - Switch Infiniband to Ethernet command: 'mlxconfig --yes --dev {{ item }} set LINK_TYPE_P1=2 LINK_TYPE_P2=2' with_items: "{{ mellanox_pcis.stdout_lines }}" tags: install-mellanox