Adds QAT drivers installation and service configuration for QAT VFs
Fix lint, formatting, add galaxy metadata
Change-Id: I3173cefb356a07f9bead9e9ca01b38b16525e26f
diff --git a/tasks/main.yml b/tasks/main.yml
index f7c365e..6e241b2 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -33,9 +33,13 @@
owner: root
group: root
loop:
- - {src: 'sriov', dest: '/etc/default/sriov', mode: 644}
- - {src: 'sriov.sh.j2', dest: '/usr/local/bin/sriov.sh', mode: 'a+x'}
- - {src: 'sriov.service.j2', dest: '/etc/systemd/system/sriov.service', mode: 644}
+ - {src: "sriov", dest: "/etc/default/sriov", mode: 644}
+ - {src: "sriov.sh.j2", dest: "/usr/local/bin/sriov.sh", mode: "a+x"}
+ - {
+ src: "sriov.service.j2",
+ dest: "/etc/systemd/system/sriov.service",
+ mode: 644,
+ }
notify: enable sriov.service
- name: Flush handlers
@@ -49,8 +53,15 @@
state: present
backrefs: true
loop:
- - {regex: 'intel_iommu=', context: 'intel_iommu=on'}
- - {regex: 'transparent_hugepage=', context: 'transparent_hugepage=never'}
- - {regex: 'default_hugepagesz=', context: 'default_hugepagesz=1G'}
- - {regex: 'hugepagesz=1G', context: 'hugepagesz=1G hugepages={{ sriov_1g_hugepages }}'}
+ - {regex: "intel_iommu=", context: "intel_iommu=on"}
+ - {regex: "transparent_hugepage=", context: "transparent_hugepage=never"}
+ - {regex: "default_hugepagesz=", context: "default_hugepagesz=1G"}
+ - {
+ regex: "hugepagesz=1G",
+ context: "hugepagesz=1G hugepages={{ sriov_1g_hugepages }}",
+ }
notify: update grub
+
+- name: Install qat driver and configure sriov vfs
+ when: sriov_qat_enabled
+ include_tasks: qat.yml
diff --git a/tasks/qat.yml b/tasks/qat.yml
new file mode 100644
index 0000000..1c113db
--- /dev/null
+++ b/tasks/qat.yml
@@ -0,0 +1,117 @@
+---
+# qat tasks/qat.yml
+#
+# SPDX-FileCopyrightText: © 2021 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+- name: Blacklist kernel QAT drivers
+ blockinfile:
+ create: true
+ dest: /etc/modprobe.d/blacklist-intel_qat.conf
+ mode: 0644
+ block: |
+ # Blacklist kernel QAT drivers
+ blacklist qat_c62x
+ blacklist qat_c62xvf
+ blacklist qat_c6xx
+ blacklist qat_c6xxvf
+ blacklist qat_c3xxx
+ blacklist qat_c3xxxvf
+ blacklist qat_d15xx
+ blacklist qat_d15xxvf
+ blacklist qat_c4xxx
+ blacklist qat_c4xxxvf
+ blacklist intel_qat
+ backup: true
+ notify: reboot qat
+
+- name: Flush handlers
+ meta: flush_handlers
+
+- name: Install QAT driver compile requirements
+ apt:
+ name:
+ - "libboost-all-dev"
+ - "pciutils-dev"
+ - "libssl-dev"
+ - "build-essential"
+ - "pkg-config"
+ - "yasm"
+ state: "present"
+ update_cache: true
+
+- name: Create root folder for QAT driver
+ file:
+ path: "{{ sriov_qat_driver_dir }}"
+ state: directory
+ owner: root
+ group: root
+ mode: "0644"
+
+- name: Download QAT driver .tgz file
+ get_url:
+ url: "{{ sriov_qat_latest_url }}"
+ dest: "{{ sriov_qat_driver_dir }}/{{ sriov_qat_latest_name }}"
+ owner: "root"
+ group: "root"
+ mode: "0644"
+ checksum: "{{ sriov_qat_checksum }}"
+
+- name: Unarchive QAT driver .tgz file
+ when: not sriov_qat_dkms_enabled
+ unarchive:
+ remote_src: true
+ list_files: true
+ src: "{{ sriov_qat_driver_dir }}/{{ sriov_qat_latest_name }}"
+ dest: "{{ sriov_qat_driver_dir }}"
+ owner: "root"
+ group: "root"
+ creates: "{{ sriov_qat_driver_dir }}/configure"
+
+- name: Configure QAT driver with SR-IOV host
+ when: not sriov_qat_dkms_enabled
+ command:
+ cmd: "./configure --enable-icp-sriov=host"
+ chdir: "{{ sriov_qat_driver_dir }}"
+ creates: "{{ sriov_qat_driver_dir }}/config.status"
+
+- name: Run the default target as root
+ when: not sriov_qat_dkms_enabled
+ command:
+ cmd: make
+ chdir: "{{ sriov_qat_driver_dir }}"
+ creates: "{{ sriov_qat_driver_dir }}/build/intel_qat.ko"
+
+- name: Run 'install' target as root
+ when: not sriov_qat_dkms_enabled
+ command:
+ chdir: "{{ sriov_qat_driver_dir }}"
+ cmd: "make install"
+ creates: "/usr/local/bin/adf_ctl"
+
+# - name: Run 'install-samples' target as root
+# # command:
+# chdir: "{{ sriov_qat_driver_dir }}"
+# cmd: "make install-samples"
+# creates: "{{ sriov_qat_driver_dir }}/build/cpa_sample_code"
+# become: yes
+
+- name: Create sriov_qat system servqat
+ template:
+ src: "{{ item.src }}"
+ dest: "{{ item.dest }}"
+ mode: "{{ item.mode }}"
+ owner: root
+ group: root
+ loop:
+ - {
+ src: "sriov_qat.sh.j2",
+ dest: "/usr/local/bin/sriov_qat.sh",
+ mode: "a+x",
+ }
+ - {
+ src: "sriov_qat.service.j2",
+ dest: "/etc/systemd/system/sriov_qat.service",
+ mode: 644,
+ }
+ notify: enable sriov_qat.service