3cccdb77275a013cbd15a32f079844ff6091393b
[csit.git] / fdio.infra.ansible / roles / mellanox / tasks / main.yaml
1 ---
2 # file: roles/mellanox/tasks/main.yaml
3
4 - name: Inst - Update Package Cache (APT)
5   apt:
6     update_cache: true
7     cache_valid_time: 3600
8   when:
9     - ansible_distribution|lower == 'ubuntu'
10   tags:
11     - mellanox-inst-prerequisites
12
13 - name: Inst - Prerequisites
14   package:
15     name: "{{ packages | flatten(levels=1) }}"
16     state: latest
17   tags:
18     - mellanox-inst-prerequisites
19
20 - name: Inst - Check Presence of Mellanox Hardware
21   shell: "lspci | grep Mellanox | awk '{print $1}'"
22   register: mellanox_pcis
23   failed_when: false
24   changed_when: false
25   tags:
26     - mellanox-inst
27
28 - name: Inst - Get OFED
29   get_url:
30     url: "http://content.mellanox.com/ofed/MLNX_OFED-{{ mellanox_version }}/MLNX_OFED_LINUX-{{ mellanox_version }}-{{ ansible_distribution|lower }}{{ ansible_distribution_version }}-{{ ansible_machine }}.tgz"
31     dest: "/opt/MLNX_OFED_LINUX-{{ mellanox_version }}-{{ ansible_distribution|lower }}{{ ansible_distribution_version }}-{{ ansible_machine }}.tgz"
32     mode: 0644
33   when: mellanox_pcis.stdout_lines | length > 0
34   tags:
35     - mellanox-inst
36
37 - name: Inst - Extract OFED
38   unarchive:
39     remote_src: true
40     src: "/opt/MLNX_OFED_LINUX-{{ mellanox_version }}-{{ ansible_distribution|lower }}{{ ansible_distribution_version }}-{{ ansible_machine }}.tgz"
41     dest: "/opt/"
42     creates: "/opt/MLNX_OFED_LINUX-{{ mellanox_version }}-{{ ansible_distribution|lower }}{{ ansible_distribution_version }}-{{ ansible_machine }}"
43   register: mellanox_firmware_extracted
44   when: mellanox_pcis.stdout_lines | length > 0
45   tags:
46     - mellanox-inst
47
48 - name: Inst - OFED
49   command: "./mlnxofedinstall --with-mft --dpdk --force --upstream-libs"
50   args:
51     chdir: "/opt/MLNX_OFED_LINUX-{{ mellanox_version }}-{{ ansible_distribution|lower }}{{ ansible_distribution_version }}-{{ ansible_machine }}"
52   when: mellanox_pcis.stdout_lines | length > 0 and mellanox_firmware_extracted
53   tags:
54     - mellanox-inst
55
56 - name: Switch Infiniband to Ethernet
57   command: "mlxconfig --yes --dev {{ item }} set LINK_TYPE_P1=2 LINK_TYPE_P2=2"
58   with_items: "{{ mellanox_pcis.stdout_lines }}"
59   tags:
60     - mellanox-conf
61
62 - name: FIX qemu-system removal
63   package:
64     name: "qemu-system"
65     state: latest
66   tags:
67     - mellanox-inst