X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=fdio.infra.ansible%2Froles%2Fintel%2Ftasks%2Fmain.yaml;h=b70daf03159a5e8535957bf1b14707c4066306cd;hb=HEAD;hp=63ab5e03b6e895b5e075e62440085f11dadf0f7d;hpb=455f54b183bd0c2d67b6d907da6c036a4341c937;p=csit.git diff --git a/fdio.infra.ansible/roles/intel/tasks/main.yaml b/fdio.infra.ansible/roles/intel/tasks/main.yaml index 63ab5e03b6..d7598deca7 100644 --- a/fdio.infra.ansible/roles/intel/tasks/main.yaml +++ b/fdio.infra.ansible/roles/intel/tasks/main.yaml @@ -1,128 +1,146 @@ --- -# file: roles/intel/tasks/main.yaml +# file: 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 +- name: Update Package Cache (APT) + ansible.builtin.apt: + 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: Install Prerequisites + ansible.builtin.package: name: "{{ packages | flatten(levels=1) }}" state: latest - when: - - intel_e810_pcis.stdout_lines | length > 0 tags: - - intel-inst-prerequisites + - intel-inst-drivers -- 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 +- name: Check Presence of Intel Ethernet 700 Series + ansible.builtin.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 - 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 +- name: Check Presence of Intel Ethernet 800 Series + ansible.builtin.shell: "lspci -d 8086:1592; lspci -d 8086:1891; lspci -d 8086:188c" + register: intel_800_pcis + failed_when: false + changed_when: false 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: Check Presence of Intel DSA + ansible.builtin.shell: "lspci -d 8086:0b25" + register: intel_dsa_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: Check Presence of Intel C4XXX + ansible.builtin.shell: "lspci -d 8086:18a0" + register: intel_qat1_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: Check Presence of Intel 4XXX + ansible.builtin.shell: "lspci -d 8086:4942" + register: intel_qat2_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 }}/ice_comms-{{ intel_ddp_version }}.zip" - dest: "{{ intel_ddp_profile_dir }}/" - register: intel_driver_extracted - when: - - intel_e810_pcis.stdout_lines | length > 0 +- name: Get Intel Ethernet 700 Series driver versions + ansible.builtin.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 - 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: Get Intel Ethernet 800 Series driver versions + ansible.builtin.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 - 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: Get Intel DSA driver versions + ansible.builtin.set_fact: + dsa: "{{ intel_dsa_compatibility_matrix['dsa'] }}" + when: > + intel_dsa_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: Get Intel QAT driver versions + ansible.builtin.set_fact: + qat1: "{{ intel_qat_compatibility_matrix['qat1'] }}" + qat2: "{{ intel_qat_compatibility_matrix['qat2'] }}" + when: > + intel_qat_matrix is defined + tags: + - intel-inst-drivers + +- name: 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-drivers + +- name: 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-drivers + +- name: 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-drivers + +- name: Driver Intel DSA + import_tasks: dsa.yaml + when: > + intel_dsa_pcis.stdout_lines | length > 0 and + intel_dsa_matrix is defined + tags: + - intel-inst-drivers + +- name: Driver Intel QAT 1.x + import_tasks: qat1.yaml + when: > + intel_qat1_pcis.stdout_lines | length > 0 and + intel_qat_matrix is defined + tags: + - intel-inst-drivers + +- name: Driver Intel QAT 2.x + import_tasks: qat2.yaml + when: > + intel_qat2_pcis.stdout_lines | length > 0 and + intel_qat_matrix is defined tags: - - intel-inst + - intel-inst-drivers \ No newline at end of file