From: pmikus Date: Thu, 22 Jun 2023 08:36:23 +0000 (+0000) Subject: feat(infra): Add QAT install X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=commitdiff_plain;h=575941328d025997c20ee30e7f85835a9510415e feat(infra): Add QAT install Signed-off-by: pmikus Change-Id: Ifc461460b2f0f8c7ca17ab32fbf7df52cb356c29 --- diff --git a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.52.yaml b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.52.yaml index 0814b0f4db..5de65e4c6e 100644 --- a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.52.yaml +++ b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.52.yaml @@ -31,4 +31,5 @@ cpu_microarchitecture: "sapphirerapids" docker_sut: true mellanox_matrix: "dpdk23.03" -intel_dsa_matrix: true \ No newline at end of file +intel_dsa_matrix: true +intel_qat_matrix: true \ No newline at end of file diff --git a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.53.yaml b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.53.yaml index b74d6d66e9..a470d3f68d 100644 --- a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.53.yaml +++ b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.53.yaml @@ -32,3 +32,4 @@ docker_tg: true mellanox_matrix: "dpdk23.03" intel_dsa_matrix: true +intel_qat_matrix: true \ No newline at end of file diff --git a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.54.yaml b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.54.yaml index 3fe10c8327..c0880c5721 100644 --- a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.54.yaml +++ b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.54.yaml @@ -32,3 +32,4 @@ docker_sut: true intel_800_matrix: "dpdk23.03" intel_dsa_matrix: true +intel_qat_matrix: true \ No newline at end of file diff --git a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.55.yaml b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.55.yaml index d9bced7c78..c468b914fd 100644 --- a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.55.yaml +++ b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.55.yaml @@ -32,3 +32,4 @@ docker_tg: true intel_800_matrix: "dpdk22.07" intel_dsa_matrix: true +intel_qat_matrix: true \ No newline at end of file diff --git a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.56.yaml b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.56.yaml index 0fc3c878bf..ac7f819c43 100644 --- a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.56.yaml +++ b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.56.yaml @@ -32,4 +32,5 @@ docker_sut: true intel_800_matrix: "dpdk23.03" mellanox_matrix: "dpdk23.03" -intel_dsa_matrix: true \ No newline at end of file +intel_dsa_matrix: true +intel_qat_matrix: true \ No newline at end of file diff --git a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.57.yaml b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.57.yaml index a0a832385c..90e56f5185 100644 --- a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.57.yaml +++ b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.57.yaml @@ -33,3 +33,4 @@ docker_tg: true intel_800_matrix: "dpdk22.07" mellanox_matrix: "dpdk22.07" intel_dsa_matrix: true +intel_qat_matrix: true \ No newline at end of file diff --git a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.58.yaml b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.58.yaml index fb89c3bd19..43b9a266a1 100644 --- a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.58.yaml +++ b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.58.yaml @@ -33,3 +33,4 @@ docker_sut: true intel_800_matrix: "dpdk23.03" mellanox_matrix: "dpdk23.03" intel_dsa_matrix: true +intel_qat_matrix: true \ No newline at end of file diff --git a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.59.yaml b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.59.yaml index 4e84477f01..d0c8da82d4 100644 --- a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.59.yaml +++ b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.59.yaml @@ -33,3 +33,4 @@ docker_tg: true intel_800_matrix: "dpdk22.07" mellanox_matrix: "dpdk22.07" intel_dsa_matrix: true +intel_qat_matrix: true \ No newline at end of file diff --git a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.93.yaml b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.93.yaml index f1ccfc8453..477d5b27bf 100644 --- a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.93.yaml +++ b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.93.yaml @@ -30,3 +30,4 @@ inventory_ipmi_hostname: "10.30.50.93" cpu_microarchitecture: "snowridge" intel_800_matrix: "dpdk23.03" +intel_qat_matrix: true \ No newline at end of file diff --git a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.94.yaml b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.94.yaml index be2b118283..660db20e11 100644 --- a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.94.yaml +++ b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.94.yaml @@ -30,3 +30,4 @@ inventory_ipmi_hostname: "10.30.50.94" cpu_microarchitecture: "snowridge" intel_800_matrix: "dpdk23.03" +intel_qat_matrix: true \ No newline at end of file diff --git a/fdio.infra.ansible/roles/intel/defaults/main.yaml b/fdio.infra.ansible/roles/intel/defaults/main.yaml index 45b229db94..e3d4378e00 100644 --- a/fdio.infra.ansible/roles/intel/defaults/main.yaml +++ b/fdio.infra.ansible/roles/intel/defaults/main.yaml @@ -32,6 +32,9 @@ packages_by_distro: - "gnupg" - "patch" - "patchutils" + - "libboost-all-dev" + - "libudev-dev" + - "yasm" packages_by_arch: aarch64: @@ -83,6 +86,9 @@ intel_800_compatibility_matrix: intel_dsa_compatibility_matrix: dsa: "4.0" +intel_qat_compatibility_matrix: + qat: "1.0.20-00008" + intel_i40e_url: "2.17.15": "i40e%20stable/2.17.15/i40e-2.17.15.tar.gz/download" "2.19.3": "i40e%20stable/2.19.3/i40e-2.19.3.tar.gz/download" @@ -104,3 +110,6 @@ intel_ddp_url: 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 diff --git a/fdio.infra.ansible/roles/intel/tasks/main.yaml b/fdio.infra.ansible/roles/intel/tasks/main.yaml index 7f0640a8d6..80c8d38998 100644 --- a/fdio.infra.ansible/roles/intel/tasks/main.yaml +++ b/fdio.infra.ansible/roles/intel/tasks/main.yaml @@ -70,6 +70,14 @@ tags: - intel-inst-drivers +- name: Get Intel QAT driver versions + ansible.builtin.set_fact: + qat: "{{ intel_qat_compatibility_matrix['qat'] }}" + when: > + intel_qat_matrix is defined + tags: + - intel-inst-drivers + - name: Driver Intel Ethernet 700 Series import_tasks: i40e.yaml when: > @@ -103,3 +111,10 @@ intel_dsa_matrix is defined tags: - intel-inst-drivers + +- name: Driver Intel QAT + import_tasks: qat.yaml + when: > + 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 new file mode 100644 index 0000000000..6854755f4e --- /dev/null +++ b/fdio.infra.ansible/roles/intel/tasks/qat.yaml @@ -0,0 +1,44 @@ +--- +# 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: + - "./configure --enable-icp-sriov=host --enable-icp-sym-only" + - "make" + - "make install" + when: + - intel_driver_extracted + tags: + - intel-inst \ No newline at end of file diff --git a/topologies/available/lf_2n_spr_testbed23.yaml b/topologies/available/lf_2n_spr_testbed23.yaml index 26906a8e52..bf11a03147 100644 --- a/topologies/available/lf_2n_spr_testbed23.yaml +++ b/topologies/available/lf_2n_spr_testbed23.yaml @@ -24,6 +24,7 @@ nodes: pci_address: "0000:f2:01.0" driver: idxd model: Intel-DSA + cryptodev: "0000:f3:00.0" interfaces: port1: # s57-t23-tg1-c2/p1 - 200GE port1 Mellanox ConnectX7-2p200GE. @@ -138,6 +139,7 @@ nodes: pci_address: "0000:f2:01.0" driver: idxd model: Intel-DSA + cryptodev: "0000:f3:00.0" interfaces: port1: # s56-t23-sut1-c2/p1 - 200GE port1 Mellanox ConnectX7-2p200GE. diff --git a/topologies/available/lf_3na_spr_testbed21.yaml b/topologies/available/lf_3na_spr_testbed21.yaml index dce5ad456a..73dc9bad44 100644 --- a/topologies/available/lf_3na_spr_testbed21.yaml +++ b/topologies/available/lf_3na_spr_testbed21.yaml @@ -24,6 +24,7 @@ nodes: pci_address: "0000:f2:01.0" driver: idxd model: Intel-DSA + cryptodev: "0000:76:00.0" interfaces: port1: # s53-t21-tg1-c4/p1 - 200GE port1 Mellanox ConnectX7-2p200GE. @@ -97,6 +98,16 @@ nodes: username: testuser password: Csit1234 uio_driver: vfio-pci + bus: + device1: + pci_address: "0000:75:01.0" + driver: idxd + model: Intel-DSA + device2: + pci_address: "0000:f2:01.0" + driver: idxd + model: Intel-DSA + cryptodev: "0000:76:00.0" interfaces: port1: # s52-t21-sut1-c4/p1 - 200GE port1 Mellanox ConnectX7-2p200GE. @@ -154,6 +165,16 @@ nodes: username: testuser password: Csit1234 uio_driver: vfio-pci + bus: + device1: + pci_address: "0000:75:01.0" + driver: idxd + model: Intel-DSA + device2: + pci_address: "0000:f2:01.0" + driver: idxd + model: Intel-DSA + cryptodev: "0000:f3:00.0" interfaces: port1: # s52-t21-sut2-c9/p1 - 200GE port1 Mellanox ConnectX7-2p200GE. diff --git a/topologies/available/lf_3nb_spr_testbed22.yaml b/topologies/available/lf_3nb_spr_testbed22.yaml index 2afe151620..f8e9708283 100644 --- a/topologies/available/lf_3nb_spr_testbed22.yaml +++ b/topologies/available/lf_3nb_spr_testbed22.yaml @@ -24,6 +24,7 @@ nodes: pci_address: "0000:f2:01.0" driver: idxd model: Intel-DSA + cryptodev: "0000:76:00.0" interfaces: port1: # s55-t22-tg1-c4/p1 - 100GE port1 Intel E810-CQDA2 2p100GE. @@ -65,6 +66,16 @@ nodes: username: testuser password: Csit1234 uio_driver: vfio-pci + bus: + device1: + pci_address: "0000:75:01.0" + driver: idxd + model: Intel-DSA + device2: + pci_address: "0000:f2:01.0" + driver: idxd + model: Intel-DSA + cryptodev: "0000:76:00.0" interfaces: port1: # s54-t22-sut1-c4/p1 - 100GE port1 Intel E810-CQDA2 2p100GE. @@ -106,6 +117,16 @@ nodes: username: testuser password: Csit1234 uio_driver: vfio-pci + bus: + device1: + pci_address: "0000:75:01.0" + driver: idxd + model: Intel-DSA + device2: + pci_address: "0000:f2:01.0" + driver: idxd + model: Intel-DSA + cryptodev: "0000:f3:00.0" interfaces: port1: # s54-t22-sut1-c9/p1 - 100GE port1 Intel E810-CQDA2 2p100GE.