fix(ansible): 3n-snr
[csit.git] / fdio.infra.ansible / roles / intel / tasks / main.yaml
index 63ab5e0..62d8d90 100644 (file)
 ---
 # file: roles/intel/tasks/main.yaml
 
-- name: Inst - Check Presence of Intel E810 Hardware
-  shell: "lspci -d 8086:1592"
-  register: intel_e810_pcis
-  failed_when: no
-  changed_when: no
-  tags:
-    - intel-inst
-
 - name: Inst - Update Package Cache (APT)
   apt:
-    update_cache: yes
+    update_cache: true
     cache_valid_time: 3600
   when:
     - ansible_distribution|lower == 'ubuntu'
-    - intel_e810_pcis.stdout_lines | length > 0
   tags:
-    - intel-inst-prerequisites
+    - intel-inst-drivers
 
 - name: Inst - Prerequisites
   package:
     name: "{{ packages | flatten(levels=1) }}"
     state: latest
-  when:
-    - intel_e810_pcis.stdout_lines | length > 0
-  tags:
-    - intel-inst-prerequisites
-
-- name: Inst - Get Network Adapter Driver
-  get_url:
-    url: "{{ intel_ice_driver_url }}"
-    dest: "{{ intel_ice_driver_dir }}/ice-{{ intel_ice_version }}.tar.gz"
-    mode: 0644
-  when:
-    - intel_e810_pcis.stdout_lines | length > 0
-  tags:
-    - intel-inst
-
-- name: Inst - Extract Network Adapter Driver
-  unarchive:
-    remote_src: true
-    src: "{{ intel_ice_driver_dir }}/ice-{{ intel_ice_version }}.tar.gz"
-    dest: "{{ intel_ice_driver_dir }}/"
-    creates: "{{ intel_ice_driver_dir }}/ice-{{ intel_ice_version }}"
-  register: intel_driver_extracted
-  when:
-    - intel_e810_pcis.stdout_lines | length > 0
   tags:
-    - intel-inst
+    - intel-inst-drivers
 
-- name: Inst - Network Adapter Driver
-  command: "make install; modprobe -r ice; modprobe ice"
-  args:
-    chdir: "{{ intel_ice_driver_dir }}/ice-{{ intel_ice_version }}/src"
-  failed_when: no
-  when:
-    - intel_e810_pcis.stdout_lines | length > 0
-    - intel_driver_extracted
+- name: Inst - Check Presence of Intel Ethernet 700 Series
+  shell: "lspci -d 8086:1583; lspci -d 8086:1585; lspci -d 8086:1572; lspci -d 8086:158a; lspci -d 8086:158b"
+  register: intel_700_pcis
+  failed_when: false
+  changed_when: false
   tags:
-    - intel-inst
+    - intel-inst-drivers
 
-- name: Inst - Get Dynamic Device Personalization (DDP) Package
-  get_url:
-    url: "{{ intel_ddp_profile_url }}"
-    dest: "{{ intel_ddp_profile_dir }}/800-Series-Comms-Binary-Package-{{ intel_ddp_version }}.zip"
-    mode: 0644
-  when:
-    - intel_e810_pcis.stdout_lines | length > 0
+- name: Inst - Check Presence of Intel Ethernet 800 Series
+  shell: "lspci -d 8086:1592; lspci -d 8086:1891"
+  register: intel_800_pcis
+  failed_when: false
+  changed_when: false
   tags:
-    - intel-inst
+    - intel-inst-drivers
 
-- name: Inst - Extract Dynamic Device Personalization (DDP) Package
-  unarchive:
-    remote_src: true
-    src: "{{ intel_ddp_profile_dir }}/800-Series-Comms-Binary-Package-{{ intel_ddp_version }}.zip"
-    dest: "{{ intel_ddp_profile_dir }}/"
-    creates: "{{ intel_ddp_profile_dir }}/ice_comms-{{ intel_ddp_version }}.zip"
-  register: intel_driver_extracted
-  when:
-    - intel_e810_pcis.stdout_lines | length > 0
+- name: Inst - Get Intel Ethernet 700 Series driver versions
+  set_fact:
+    i40e: "{{ intel_700_compatibility_matrix[intel_700_matrix]['i40e'] }}"
+    iavf: "{{ intel_700_compatibility_matrix[intel_700_matrix]['iavf'] }}"
+    nvm: "{{ intel_700_compatibility_matrix[intel_700_matrix]['nvm'] }}"
+  when: >
+    intel_700_matrix is defined
   tags:
-    - intel-inst
+    - intel-inst-drivers
 
-- name: Inst - Extract Dynamic Device Personalization (DDP) Package
-  unarchive:
-    remote_src: true
-    src: "{{ intel_ddp_profile_dir }}/ice_comms-{{ intel_ddp_version }}.zip"
-    dest: "{{ intel_ddp_profile_dir }}/"
-  register: intel_driver_extracted
-  when:
-    - intel_e810_pcis.stdout_lines | length > 0
+- name: Inst - Get Intel Ethernet 800 Series driver versions
+  set_fact:
+    ice: "{{ intel_800_compatibility_matrix[intel_800_matrix]['ice'] }}"
+    ddp: "{{ intel_800_compatibility_matrix[intel_800_matrix]['ddp'] }}"
+    iavf: "{{ intel_800_compatibility_matrix[intel_800_matrix]['iavf'] }}"
+    nvm: "{{ intel_800_compatibility_matrix[intel_800_matrix]['nvm'] }}"
+  when: >
+    intel_800_matrix is defined
   tags:
-    - intel-inst
+    - intel-inst-drivers
 
-- name: Inst - Copy Dynamic Device Personalization (DDP) Package
-  copy:
-    src: "{{ intel_ddp_profile_dir }}/ice_comms-{{ intel_ddp_version }}.pkg"
-    dest: "/lib/firmware/updates/intel/ice/ddp/ice-{{ intel_ddp_version }}.pkg"
-    remote_src: yes
-    follow: yes
-  when:
-    - intel_e810_pcis.stdout_lines | length > 0
+- name: Inst - Driver Intel Ethernet 700 Series
+  import_tasks: i40e.yaml
+  when: >
+    intel_700_pcis.stdout_lines | length > 0 and
+    intel_700_matrix is defined
   tags:
-    - intel-inst
+    - intel-inst-drivers
 
-- name: Inst - Link Dynamic Device Personalization (DDP) Package
-  file:
-    src: "ice-{{ intel_ddp_version }}.pkg"
-    dest: "/lib/firmware/updates/intel/ice/ddp/ice.pkg"
-    state: link
-  when:
-    - intel_e810_pcis.stdout_lines | length > 0
+- name: Inst - Driver Intel Ethernet 800 Series
+  import_tasks: ice.yaml
+  when: >
+    intel_800_pcis.stdout_lines | length > 0 and
+    intel_800_matrix is defined
   tags:
-    - intel-inst
+    - intel-inst-drivers
 
-- name: Inst - Extract Dynamic Device Personalization (DDP) Package (cleanup)
-  file:
-    path: "{{ item }}"
-    state: absent
-  with_items:
-    - "{{ intel_ddp_profile_dir }}/E810 DDP for Comms TechGuide_Rev2.3.pdf"
-    - "{{ intel_ddp_profile_dir }}/Intel_800_series_market_segment_DDP_license.txt"
-  when:
-    - intel_e810_pcis.stdout_lines | length > 0
+- name: Inst - Driver Intel iAVF
+  import_tasks: iavf.yaml
+  when: >
+    (intel_700_pcis.stdout_lines | length > 0 and
+    intel_700_matrix is defined ) or
+    (intel_800_pcis.stdout_lines | length > 0 and
+    intel_800_matrix is defined)
   tags:
-    - intel-inst
+    - intel-inst-drivers