diff options
Diffstat (limited to 'fdio.infra.ansible/roles/intel/tasks')
-rw-r--r-- | fdio.infra.ansible/roles/intel/tasks/dsa.yaml | 39 | ||||
-rw-r--r-- | fdio.infra.ansible/roles/intel/tasks/i40e.yaml | 37 | ||||
-rw-r--r-- | fdio.infra.ansible/roles/intel/tasks/iavf.yaml | 37 | ||||
-rw-r--r-- | fdio.infra.ansible/roles/intel/tasks/ice.yaml | 91 | ||||
-rw-r--r-- | fdio.infra.ansible/roles/intel/tasks/main.yaml | 146 | ||||
-rw-r--r-- | fdio.infra.ansible/roles/intel/tasks/qat1.yaml | 54 | ||||
-rw-r--r-- | fdio.infra.ansible/roles/intel/tasks/qat2.yaml | 57 |
7 files changed, 461 insertions, 0 deletions
diff --git a/fdio.infra.ansible/roles/intel/tasks/dsa.yaml b/fdio.infra.ansible/roles/intel/tasks/dsa.yaml new file mode 100644 index 0000000000..2f038b0e9f --- /dev/null +++ b/fdio.infra.ansible/roles/intel/tasks/dsa.yaml @@ -0,0 +1,39 @@ +--- +# file: tasks/dsa.yaml + +- name: Get DSA Driver + ansible.builtin.uri: + url: "{{ intel_dsa_url[dsa] }}" + follow_redirects: "all" + force: true + dest: "{{ intel_extract_dir }}/accel-config-v{{ dsa }}.tar.gz" + mode: "0644" + failed_when: false + tags: + - intel-inst + +- name: Extract DSA Driver + ansible.builtin.unarchive: + remote_src: true + src: "{{ intel_extract_dir }}/accel-config-v{{ dsa }}.tar.gz" + dest: "{{ intel_extract_dir }}/" + creates: "{{ intel_extract_dir }}/idxd-config-accel-config-v{{ dsa }}" + register: intel_driver_extracted + tags: + - intel-inst + +- name: Install DSA Driver + ansible.builtin.command: "{{ item }}" + args: + chdir: "{{ intel_extract_dir }}/idxd-config-accel-config-v{{ dsa }}" + become: true + with_items: + - "./autogen.sh" + - "./configure CFLAGS='-g -O2' --prefix=/usr --sysconfdir=/etc --libdir=/usr/lib64" + - "make" + - "make check" + - "make install" + when: + - intel_driver_extracted + tags: + - intel-inst diff --git a/fdio.infra.ansible/roles/intel/tasks/i40e.yaml b/fdio.infra.ansible/roles/intel/tasks/i40e.yaml new file mode 100644 index 0000000000..8b069bf9b2 --- /dev/null +++ b/fdio.infra.ansible/roles/intel/tasks/i40e.yaml @@ -0,0 +1,37 @@ +--- +# file: tasks/i40e.yaml + +- name: Get i40e Network Adapter Driver + ansible.builtin.uri: + url: "{{ intel_sourceforge_download_url }}/{{ intel_i40e_url[i40e] }}" + follow_redirects: "all" + force: true + dest: "{{ intel_extract_dir }}/i40e-{{ i40e }}.tar.gz" + mode: "0644" + failed_when: false + tags: + - intel-inst + +- name: Extract i40e Network Adapter Driver + ansible.builtin.unarchive: + remote_src: true + src: "{{ intel_extract_dir }}/i40e-{{ i40e }}.tar.gz" + dest: "{{ intel_extract_dir }}/" + creates: "{{ intel_extract_dir }}/i40e-{{ i40e }}" + register: intel_driver_extracted + tags: + - intel-inst + +- name: Install i40e Network Adapter Driver + ansible.builtin.command: "{{ item }}" + args: + chdir: "{{ intel_extract_dir }}/i40e-{{ i40e }}/src" + become: true + with_items: + - "make install" + #- "modprobe -r i40e" + - "modprobe i40e" + when: + - intel_driver_extracted + tags: + - intel-inst diff --git a/fdio.infra.ansible/roles/intel/tasks/iavf.yaml b/fdio.infra.ansible/roles/intel/tasks/iavf.yaml new file mode 100644 index 0000000000..127e31bee2 --- /dev/null +++ b/fdio.infra.ansible/roles/intel/tasks/iavf.yaml @@ -0,0 +1,37 @@ +--- +# file: tasks/iavf.yaml + +- name: Get iavf Network Adapter Driver + ansible.builtin.uri: + url: "{{ intel_sourceforge_download_url }}/{{ intel_iavf_url[iavf] }}" + follow_redirects: "all" + force: true + dest: "{{ intel_extract_dir }}/iavf-{{ iavf }}.tar.gz" + mode: "0644" + failed_when: false + tags: + - intel-inst + +- name: Extract iavf Network Adapter Driver + ansible.builtin.unarchive: + remote_src: true + src: "{{ intel_extract_dir }}/iavf-{{ iavf }}.tar.gz" + dest: "{{ intel_extract_dir }}/" + creates: "{{ intel_extract_dir }}/iavf-{{ iavf }}" + register: intel_driver_extracted + tags: + - intel-inst + +- name: Install iavf Network Adapter Driver + ansible.builtin.command: "{{ item }}" + args: + chdir: "{{ intel_extract_dir }}/iavf-{{ iavf }}/src" + become: true + with_items: + - "make install" + - "modprobe -r iavf" + - "modprobe iavf" + when: + - intel_driver_extracted + tags: + - intel-inst diff --git a/fdio.infra.ansible/roles/intel/tasks/ice.yaml b/fdio.infra.ansible/roles/intel/tasks/ice.yaml new file mode 100644 index 0000000000..c773a65a34 --- /dev/null +++ b/fdio.infra.ansible/roles/intel/tasks/ice.yaml @@ -0,0 +1,91 @@ +--- +# file: tasks/ice.yaml + +- name: Get ice Network Adapter Driver + ansible.builtin.uri: + url: "{{ intel_sourceforge_download_url }}/{{ intel_ice_url[ice] }}" + follow_redirects: "all" + force: true + dest: "{{ intel_extract_dir }}/ice-{{ ice }}.tar.gz" + mode: "0644" + failed_when: false + tags: + - intel-inst + +- name: Extract ice Network Adapter Driver + ansible.builtin.unarchive: + remote_src: true + src: "{{ intel_extract_dir }}/ice-{{ ice }}.tar.gz" + dest: "{{ intel_extract_dir }}/" + creates: "{{ intel_extract_dir }}/ice-{{ ice }}" + register: intel_driver_extracted + tags: + - intel-inst + +- name: Install ice Network Adapter Driver + ansible.builtin.command: "{{ item }}" + args: + chdir: "{{ intel_extract_dir }}/ice-{{ ice }}/src" + become: true + with_items: + - "make install" + #- "modprobe -r ice" + - "modprobe ice" + when: + - intel_driver_extracted + tags: + - intel-inst + +- name: Get Dynamic Device Personalization (DDP) Package + ansible.builtin.get_url: + url: "{{ intel_download_url }}/{{ intel_ddp_url[ddp] }}" + dest: "{{ intel_extract_dir }}/800-Series-Comms-Binary-Package-{{ ddp }}.zip" + mode: 0644 + tags: + - intel-inst + +- name: Extract Dynamic Device Personalization (DDP) Package + ansible.builtin.unarchive: + remote_src: true + src: "{{ intel_extract_dir }}/800-Series-Comms-Binary-Package-{{ ddp }}.zip" + dest: "{{ intel_extract_dir }}/" + creates: "{{ intel_extract_dir }}/ice_comms-{{ ddp }}.zip" + register: intel_driver_extracted + tags: + - intel-inst + +- name: Extract Dynamic Device Personalization (DDP) Package + ansible.builtin.unarchive: + remote_src: true + src: "{{ intel_extract_dir }}/ice_comms-{{ ddp }}.zip" + dest: "{{ intel_extract_dir }}/" + register: intel_driver_extracted + tags: + - intel-inst + +- name: Copy Dynamic Device Personalization (DDP) Package + ansible.builtin.copy: + src: "{{ intel_extract_dir }}/ice_comms-{{ ddp }}.pkg" + dest: "/lib/firmware/updates/intel/ice/ddp/ice-{{ ddp }}.pkg" + remote_src: true + follow: true + tags: + - intel-inst + +- name: Link Dynamic Device Personalization (DDP) Package + ansible.builtin.file: + src: "ice-{{ ddp }}.pkg" + dest: "/lib/firmware/updates/intel/ice/ddp/ice.pkg" + state: link + tags: + - intel-inst + +- name: Extract Dynamic Device Personalization (DDP) Package (cleanup) + ansible.builtin.file: + path: "{{ item }}" + state: absent + with_items: + - "{{ intel_extract_dir }}/E810 DDP for Comms TechGuide_Rev2.3.pdf" + - "{{ intel_extract_dir }}/Intel_800_series_market_segment_DDP_license.txt" + tags: + - intel-inst diff --git a/fdio.infra.ansible/roles/intel/tasks/main.yaml b/fdio.infra.ansible/roles/intel/tasks/main.yaml new file mode 100644 index 0000000000..d7598deca7 --- /dev/null +++ b/fdio.infra.ansible/roles/intel/tasks/main.yaml @@ -0,0 +1,146 @@ +--- +# file: tasks/main.yaml + +- name: Update Package Cache (APT) + ansible.builtin.apt: + update_cache: true + cache_valid_time: 3600 + when: + - ansible_distribution|lower == 'ubuntu' + tags: + - intel-inst-drivers + +- name: Install Prerequisites + ansible.builtin.package: + name: "{{ packages | flatten(levels=1) }}" + state: latest + tags: + - intel-inst-drivers + +- 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-drivers + +- 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-drivers + +- 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-drivers + +- 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-drivers + +- 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-drivers + +- 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-drivers + +- 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-drivers + +- 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-drivers + +- 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-drivers
\ No newline at end of file diff --git a/fdio.infra.ansible/roles/intel/tasks/qat1.yaml b/fdio.infra.ansible/roles/intel/tasks/qat1.yaml new file mode 100644 index 0000000000..701c0c1bf1 --- /dev/null +++ b/fdio.infra.ansible/roles/intel/tasks/qat1.yaml @@ -0,0 +1,54 @@ +--- +# file: tasks/qat1.yaml + +- name: Get QAT 1.x Driver + ansible.builtin.uri: + url: "{{ intel_download_url }}/{{ intel_qat_url[qat1] }}" + follow_redirects: "all" + force: true + dest: "{{ intel_extract_dir }}/QAT.L.{{ qat1 }}.tar.gz" + mode: "0644" + failed_when: false + tags: + - intel-inst + +- name: Create a Directory For QAT 1.x Driver + ansible.builtin.file: + path: "{{ intel_extract_dir }}/QAT.L.{{ qat1 }}/" + state: "directory" + mode: "0755" + tags: + - intel-inst + +- name: Extract QAT 1.x Driver + ansible.builtin.unarchive: + remote_src: true + src: "{{ intel_extract_dir }}/QAT.L.{{ qat1 }}.tar.gz" + dest: "{{ intel_extract_dir }}/QAT.L.{{ qat1 }}/" + register: intel_driver_extracted + tags: + - intel-inst + +- name: Install QAT1.x Driver + ansible.builtin.command: "{{ item }}" + args: + chdir: "{{ intel_extract_dir }}/QAT.L.{{ qat1 }}" + become: true + with_items: + - "./configure --enable-icp-sriov=host --enable-icp-sym-only" + - "make" + - "make install" + when: + - intel_driver_extracted + tags: + - intel-inst + +- name: Load Kernel Modules By Default + ansible.builtin.lineinfile: + path: "/etc/modules" + state: "present" + line: "{{ item }}" + with_items: + - "qat_c4xxx" + tags: + - intel-inst
\ No newline at end of file diff --git a/fdio.infra.ansible/roles/intel/tasks/qat2.yaml b/fdio.infra.ansible/roles/intel/tasks/qat2.yaml new file mode 100644 index 0000000000..a560f16b2c --- /dev/null +++ b/fdio.infra.ansible/roles/intel/tasks/qat2.yaml @@ -0,0 +1,57 @@ +--- +# file: tasks/qat2.yaml + +- name: Get QAT 2.x Driver + ansible.builtin.uri: + url: "{{ intel_download_url }}/{{ intel_qat_url[qat2] }}" + follow_redirects: "all" + force: true + dest: "{{ intel_extract_dir }}/QAT20.L.{{ qat2 }}.tar.gz" + mode: "0644" + failed_when: false + tags: + - intel-inst + +- name: Create a Directory For QAT 2.x Driver + ansible.builtin.file: + path: "{{ intel_extract_dir }}/QAT20.L.{{ qat2 }}/" + state: "directory" + mode: "0755" + tags: + - intel-inst + +- name: Extract QAT 2.x Driver + ansible.builtin.unarchive: + remote_src: true + src: "{{ intel_extract_dir }}/QAT20.L.{{ qat2 }}.tar.gz" + dest: "{{ intel_extract_dir }}/QAT20.L.{{ qat2 }}/" + register: intel_driver_extracted + tags: + - intel-inst + +- name: Install QAT 2.x Driver + ansible.builtin.command: "{{ item }}" + args: + chdir: "{{ intel_extract_dir }}/QAT20.L.{{ qat2 }}" + become: true + with_items: + - "wget http://security.ubuntu.com/ubuntu/pool/main/s/systemd/libudev-dev_249.11-0ubuntu3.7_amd64.deb" + - "dpkg -i ./libudev-dev_249.11-0ubuntu3.7_amd64.deb" + - "./configure --enable-icp-sriov=host --enable-icp-sym-only" + - "make" + - "make install" + - "apt remove -y libudev-dev" + when: + - intel_driver_extracted + tags: + - intel-inst + +- name: Load Kernel Modules By Default + ansible.builtin.lineinfile: + path: "/etc/modules" + state: "present" + line: "{{ item }}" + with_items: + - "qat_4xxx" + tags: + - intel-inst
\ No newline at end of file |