Raphael Vicente Rosa | 86e5691 | 2022-02-01 17:49:05 +0100 | [diff] [blame] | 1 | --- |
| 2 | # qat tasks/qat.yml |
| 3 | # |
| 4 | # SPDX-FileCopyrightText: © 2022 Open Networking Foundation <support@opennetworking.org> |
| 5 | # SPDX-Lqatnse-Identifier: Apache-2.0 |
| 6 | |
| 7 | - name: Blacklist kernel QAT drivers |
| 8 | blockinfile: |
| 9 | create: true |
| 10 | dest: /etc/modprobe.d/blacklist-intel_qat.conf |
| 11 | mode: 0644 |
| 12 | block: | |
| 13 | # Blacklist kernel QAT drivers |
| 14 | blacklist qat_c62x |
| 15 | blacklist qat_c62xvf |
| 16 | blacklist qat_c6xx |
| 17 | blacklist qat_c6xxvf |
| 18 | blacklist qat_c3xxx |
| 19 | blacklist qat_c3xxxvf |
| 20 | blacklist qat_d15xx |
| 21 | blacklist qat_d15xxvf |
| 22 | blacklist qat_c4xxx |
| 23 | blacklist qat_c4xxxvf |
| 24 | blacklist intel_qat |
| 25 | backup: true |
| 26 | notify: reboot qat |
| 27 | |
| 28 | - name: Flush handlers |
| 29 | meta: flush_handlers |
| 30 | |
| 31 | - name: Install QAT driver compile requirements |
| 32 | apt: |
| 33 | name: |
| 34 | - "libboost-all-dev" |
| 35 | - "pciutils-dev" |
| 36 | - "libssl-dev" |
| 37 | - "build-essential" |
| 38 | - "pkg-config" |
| 39 | - "yasm" |
| 40 | state: "present" |
| 41 | update_cache: true |
| 42 | |
| 43 | - name: Create root folder for QAT driver |
| 44 | file: |
| 45 | path: "{{ sriov_qat_driver_dir }}" |
| 46 | state: directory |
| 47 | owner: root |
| 48 | group: root |
| 49 | mode: "0644" |
| 50 | |
| 51 | - name: Download QAT driver .tgz file |
| 52 | get_url: |
| 53 | url: "{{ sriov_qat_latest_url }}" |
| 54 | dest: "{{ sriov_qat_driver_dir }}/{{ sriov_qat_latest_name }}" |
| 55 | owner: "root" |
| 56 | group: "root" |
| 57 | mode: "0644" |
| 58 | checksum: "{{ sriov_qat_checksum }}" |
| 59 | |
| 60 | - name: Create qat directory in /usr/src |
| 61 | file: |
| 62 | path: "/usr/src/qat-{{ sriov_qat_version }}" |
| 63 | state: directory |
| 64 | owner: "root" |
| 65 | group: "root" |
| 66 | mode: "0755" |
| 67 | |
| 68 | - name: Decompress qat archive |
| 69 | unarchive: |
| 70 | remote_src: true |
| 71 | src: "{{ sriov_qat_driver_dir }}/{{ sriov_qat_latest_name }}" |
| 72 | dest: "/usr/src/qat-{{ sriov_qat_version }}" |
| 73 | owner: "root" |
| 74 | group: "root" |
| 75 | extra_opts: |
| 76 | - "--strip-components=1" # remove initial directory name |
| 77 | creates: "/usr/src/qat-{{ sriov_qat_version }}/README" |
| 78 | |
| 79 | - name: Copy over qat dkms.conf |
| 80 | template: |
| 81 | src: "qat_dkms.conf.j2" |
| 82 | dest: "/usr/src/qat-{{ sriov_qat_version }}/dkms.conf" |
| 83 | owner: "root" |
| 84 | group: "root" |
| 85 | mode: "0644" |
| 86 | |
| 87 | - name: add qat to DKMS |
| 88 | command: |
| 89 | cmd: "dkms add -m qat -v {{ sriov_qat_version }}" |
| 90 | chdir: "/usr/src/qat-{{ sriov_qat_version }}" |
| 91 | creates: "/var/lib/dkms/qat/{{ sriov_qat_version }}/source/README" |
| 92 | |
| 93 | - name: build qat using DKMS |
| 94 | command: |
| 95 | cmd: "dkms build -m qat -v {{ sriov_qat_version }}" |
| 96 | chdir: "/usr/src/qat-{{ sriov_qat_version }}" |
| 97 | |
| 98 | - name: install qat modules with DKMS |
| 99 | command: |
| 100 | cmd: "dkms install -m qat -v {{ sriov_qat_version }}" |
| 101 | chdir: "/usr/src/qat-{{ sriov_qat_version }}" |
| 102 | |
| 103 | - name: Create sriov_qat system servqat |
| 104 | template: |
| 105 | src: "{{ item.src }}" |
| 106 | dest: "{{ item.dest }}" |
| 107 | mode: "{{ item.mode }}" |
| 108 | owner: root |
| 109 | group: root |
| 110 | loop: |
| 111 | - { |
| 112 | src: "sriov_qat.sh.j2", |
| 113 | dest: "/usr/local/bin/sriov_qat.sh", |
| 114 | mode: "a+x", |
| 115 | } |
| 116 | - { |
| 117 | src: "sriov_qat.service.j2", |
| 118 | dest: "/etc/systemd/system/sriov_qat.service", |
| 119 | mode: 644, |
| 120 | } |
| 121 | notify: enable sriov_qat.service |