Infra: Ansible E810 ddp/driver
[csit.git] / fdio.infra.ansible / roles / intel / tasks / main.yaml
1 ---
2 # file: roles/intel/tasks/main.yaml
3
4 - name: Inst - Check Presence of Intel E810 Hardware
5   shell: "lspci -d 8086:1592"
6   register: intel_e810_pcis
7   failed_when: no
8   changed_when: no
9   tags:
10     - intel-inst
11
12 - name: Inst - Update Package Cache (APT)
13   apt:
14     update_cache: yes
15     cache_valid_time: 3600
16   when:
17     - ansible_distribution|lower == 'ubuntu'
18     - intel_e810_pcis.stdout_lines | length > 0
19   tags:
20     - intel-inst-prerequisites
21
22 - name: Inst - Prerequisites
23   package:
24     name: "{{ packages | flatten(levels=1) }}"
25     state: latest
26   when:
27     - intel_e810_pcis.stdout_lines | length > 0
28   tags:
29     - intel-inst-prerequisites
30
31 - name: Inst - Get Network Adapter Driver
32   get_url:
33     url: "{{ intel_ice_driver_url }}"
34     dest: "{{ intel_ice_driver_dir }}/ice-{{ intel_ice_version }}.tar.gz"
35     mode: 0644
36   when:
37     - intel_e810_pcis.stdout_lines | length > 0
38   tags:
39     - intel-inst
40
41 - name: Inst - Extract Network Adapter Driver
42   unarchive:
43     remote_src: true
44     src: "{{ intel_ice_driver_dir }}/ice-{{ intel_ice_version }}.tar.gz"
45     dest: "{{ intel_ice_driver_dir }}/"
46     creates: "{{ intel_ice_driver_dir }}/ice-{{ intel_ice_version }}"
47   register: intel_driver_extracted
48   when:
49     - intel_e810_pcis.stdout_lines | length > 0
50   tags:
51     - intel-inst
52
53 - name: Inst - Network Adapter Driver
54   command: "make install; modprobe -r ice; modprobe ice"
55   args:
56     chdir: "{{ intel_ice_driver_dir }}/ice-{{ intel_ice_version }}/src"
57   failed_when: no
58   when:
59     - intel_e810_pcis.stdout_lines | length > 0
60     - intel_driver_extracted
61   tags:
62     - intel-inst
63
64 - name: Inst - Get Dynamic Device Personalization (DDP) Package
65   get_url:
66     url: "{{ intel_ddp_profile_url }}"
67     dest: "{{ intel_ddp_profile_dir }}/800-Series-Comms-Binary-Package-{{ intel_ddp_version }}.zip"
68     mode: 0644
69   when:
70     - intel_e810_pcis.stdout_lines | length > 0
71   tags:
72     - intel-inst
73
74 - name: Inst - Extract Dynamic Device Personalization (DDP) Package
75   unarchive:
76     remote_src: true
77     src: "{{ intel_ddp_profile_dir }}/800-Series-Comms-Binary-Package-{{ intel_ddp_version }}.zip"
78     dest: "{{ intel_ddp_profile_dir }}/"
79     creates: "{{ intel_ddp_profile_dir }}/ice_comms-{{ intel_ddp_version }}.zip"
80   register: intel_driver_extracted
81   when:
82     - intel_e810_pcis.stdout_lines | length > 0
83   tags:
84     - intel-inst
85
86 - name: Inst - Extract Dynamic Device Personalization (DDP) Package
87   unarchive:
88     remote_src: true
89     src: "{{ intel_ddp_profile_dir }}/ice_comms-{{ intel_ddp_version }}.zip"
90     dest: "{{ intel_ddp_profile_dir }}/"
91   register: intel_driver_extracted
92   when:
93     - intel_e810_pcis.stdout_lines | length > 0
94   tags:
95     - intel-inst
96
97 - name: Inst - Copy Dynamic Device Personalization (DDP) Package
98   copy:
99     src: "{{ intel_ddp_profile_dir }}/ice_comms-{{ intel_ddp_version }}.pkg"
100     dest: "/lib/firmware/updates/intel/ice/ddp/ice-{{ intel_ddp_version }}.pkg"
101     remote_src: yes
102     follow: yes
103   when:
104     - intel_e810_pcis.stdout_lines | length > 0
105   tags:
106     - intel-inst
107
108 - name: Inst - Link Dynamic Device Personalization (DDP) Package
109   file:
110     src: "ice-{{ intel_ddp_version }}.pkg"
111     dest: "/lib/firmware/updates/intel/ice/ddp/ice.pkg"
112     state: link
113   when:
114     - intel_e810_pcis.stdout_lines | length > 0
115   tags:
116     - intel-inst
117
118 - name: Inst - Extract Dynamic Device Personalization (DDP) Package (cleanup)
119   file:
120     path: "{{ item }}"
121     state: absent
122   with_items:
123     - "{{ intel_ddp_profile_dir }}/E810 DDP for Comms TechGuide_Rev2.3.pdf"
124     - "{{ intel_ddp_profile_dir }}/Intel_800_series_market_segment_DDP_license.txt"
125   when:
126     - intel_e810_pcis.stdout_lines | length > 0
127   tags:
128     - intel-inst