From 4b3893704a47cbfbe9986ade3745ad3d9ebcc304 Mon Sep 17 00:00:00 2001 From: pmikus Date: Fri, 4 Aug 2023 10:27:17 +0000 Subject: fix(ansible): QAT v1.x install Signed-off-by: pmikus Change-Id: I2e2047f3d02a1c4f90298cb15f2574e5ea6a7ad4 --- fdio.infra.ansible/roles/intel/defaults/main.yaml | 6 ++- fdio.infra.ansible/roles/intel/tasks/main.yaml | 32 +++++++++++-- fdio.infra.ansible/roles/intel/tasks/qat.yaml | 57 ----------------------- fdio.infra.ansible/roles/intel/tasks/qat1.yaml | 54 +++++++++++++++++++++ fdio.infra.ansible/roles/intel/tasks/qat2.yaml | 57 +++++++++++++++++++++++ 5 files changed, 144 insertions(+), 62 deletions(-) delete mode 100644 fdio.infra.ansible/roles/intel/tasks/qat.yaml create mode 100644 fdio.infra.ansible/roles/intel/tasks/qat1.yaml create mode 100644 fdio.infra.ansible/roles/intel/tasks/qat2.yaml diff --git a/fdio.infra.ansible/roles/intel/defaults/main.yaml b/fdio.infra.ansible/roles/intel/defaults/main.yaml index 56696a5467..4589ec2354 100644 --- a/fdio.infra.ansible/roles/intel/defaults/main.yaml +++ b/fdio.infra.ansible/roles/intel/defaults/main.yaml @@ -88,7 +88,8 @@ intel_dsa_compatibility_matrix: dsa: "4.0" intel_qat_compatibility_matrix: - qat: "1.0.20-00008" + qat2: "1.0.20-00008" + qat1: "4.22.0-00001" intel_i40e_url: "2.17.15": "i40e%20stable/2.17.15/i40e-2.17.15.tar.gz/download" @@ -113,4 +114,5 @@ intel_dsa_url: "4.0": "https://github.com/intel/idxd-config/archive/refs/tags/accel-config-v4.0.tar.gz" intel_qat_url: - "1.0.20-00008": "777529/QAT20.L.1.0.20-00008.tar.gz" \ No newline at end of file + "1.0.20-00008": "777529/QAT20.L.1.0.20-00008.tar.gz" + "4.22.0-00001": "780675/QAT.L.4.22.0-00001.tar.gz" \ No newline at end of file diff --git a/fdio.infra.ansible/roles/intel/tasks/main.yaml b/fdio.infra.ansible/roles/intel/tasks/main.yaml index 80c8d38998..81b97d87c8 100644 --- a/fdio.infra.ansible/roles/intel/tasks/main.yaml +++ b/fdio.infra.ansible/roles/intel/tasks/main.yaml @@ -41,6 +41,22 @@ 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'] }}" @@ -72,7 +88,8 @@ - name: Get Intel QAT driver versions ansible.builtin.set_fact: - qat: "{{ intel_qat_compatibility_matrix['qat'] }}" + qat1: "{{ intel_qat_compatibility_matrix['qat1'] }}" + qat2: "{{ intel_qat_compatibility_matrix['qat2'] }}" when: > intel_qat_matrix is defined tags: @@ -112,9 +129,18 @@ tags: - intel-inst-drivers -- name: Driver Intel QAT - import_tasks: qat.yaml +- 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/qat.yaml b/fdio.infra.ansible/roles/intel/tasks/qat.yaml deleted file mode 100644 index 1040e45056..0000000000 --- a/fdio.infra.ansible/roles/intel/tasks/qat.yaml +++ /dev/null @@ -1,57 +0,0 @@ ---- -# file: tasks/qat.yaml - -- name: Get QAT Driver - ansible.builtin.uri: - url: "{{ intel_download_url }}/{{ intel_qat_url[qat] }}" - follow_redirects: "all" - force: true - dest: "{{ intel_extract_dir }}/QAT20.L.{{ qat }}.tar.gz" - mode: "0644" - failed_when: false - tags: - - intel-inst - -- name: Create a Directory For QAT Driver - ansible.builtin.file: - path: "{{ intel_extract_dir }}/QAT20.L.{{ qat }}/" - state: "directory" - mode: "0755" - tags: - - intel-inst - -- name: Extract QAT Driver - ansible.builtin.unarchive: - remote_src: true - src: "{{ intel_extract_dir }}/QAT20.L.{{ qat }}.tar.gz" - dest: "{{ intel_extract_dir }}/QAT20.L.{{ qat }}/" - register: intel_driver_extracted - tags: - - intel-inst - -- name: Install QAT Driver - ansible.builtin.command: "{{ item }}" - args: - chdir: "{{ intel_extract_dir }}/QAT20.L.{{ qat }}" - 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 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 -- cgit 1.2.3-korg