e91442718e177396ef4dc1b2562194b9cd3d9343
[csit.git] / resources / tools / testbed-setup / ansible / roles / mellanox / tasks / main.yaml
1 ---
2 # file: roles/mellanox/tasks/main.yaml
3
4 - name: Mellanox Install - Install Distribution - Release - Machine Prerequisites
5   package:
6     name: "{{ packages | flatten(levels=1) }}"
7     state: latest
8     update_cache: true
9   tags:
10     - install-dependencies
11
12 - name: Mellanox Install - Check Presence of Mellanox Hardware
13   shell: "lspci | grep Mellanox | awk '{print $1}'"
14   register: mellanox_pcis
15   failed_when: no
16   changed_when: no
17   tags:
18     - install-mellanox
19
20 - name: Mellanox Install - Get OFED
21   get_url:
22     url: "http://content.mellanox.com/ofed/MLNX_OFED-{{ mellanox_version }}/MLNX_OFED_LINUX-{{ mellanox_version }}-{{ ansible_distribution|lower }}{{ ansible_distribution_version }}-{{ ansible_machine }}.tgz"
23     dest: "/opt/MLNX_OFED_LINUX-{{ mellanox_version }}-{{ ansible_distribution|lower }}{{ ansible_distribution_version }}-{{ ansible_machine }}.tgz"
24     mode: 0644
25   when: mellanox_pcis.stdout_lines | length > 0
26   tags:
27     - install-mellanox
28
29 - name: Mellanox Install - Extract OFED
30   unarchive:
31     remote_src: true
32     src: "/opt/MLNX_OFED_LINUX-{{ mellanox_version }}-{{ ansible_distribution|lower }}{{ ansible_distribution_version }}-{{ ansible_machine }}.tgz"
33     dest: "/opt/"
34     creates: "/opt/MLNX_OFED_LINUX-{{ mellanox_version }}-{{ ansible_distribution|lower }}{{ ansible_distribution_version }}-{{ ansible_machine }}"
35   register: mellanox_firmware_extracted
36   when: mellanox_pcis.stdout_lines | length > 0
37   tags:
38     - install-mellanox
39
40 - name: Mellanox Install - Install OFED
41   command: "./mlnxofedinstall --with-mft --dpdk --force --upstream-libs"
42   args:
43     chdir: "/opt/MLNX_OFED_LINUX-{{ mellanox_version }}-{{ ansible_distribution|lower }}{{ ansible_distribution_version }}-{{ ansible_machine }}"
44   when: mellanox_pcis.stdout_lines | length > 0 and mellanox_firmware_extracted
45   tags:
46     - install-mellanox
47
48 - name: Mellanox Install - Switch Infiniband to Ethernet
49   command: "mlxconfig --yes --dev {{ item }} set LINK_TYPE_P1=2 LINK_TYPE_P2=2"
50   with_items: "{{ mellanox_pcis.stdout_lines }}"
51   tags:
52     - install-mellanox
53