blob: f5d797f163d6919b99d78342805543d5166c4c83 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
|
---
# SPDX-license-identifier: Apache-2.0
##############################################################################
# Copyright (c) 2018
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
- hosts: localhost
become: yes
pre_tasks:
- name: Load kud variables
include_vars:
file: kud-vars.yml
tasks:
- name: Create QAT dest folder
file:
state: directory
path: "{{ qat_dest }}"
- name: Fetching QAT driver
block:
- name: Download QAT driver tarball
get_url:
url: "{{ qat_driver_url }}"
dest: "{{ qat_dest }}/{{ qat_package }}.tar.gz"
- hosts: kube-node
become: yes
pre_tasks:
- name: Load kud variables
include_vars:
file: kud-vars.yml
tasks:
- name: Create a destination for driver folder in the target's /tmp
file:
state: directory
path: "{{ item }}"
with_items:
- "{{ base_dest }}/quick-assist/{{ qat_package }}"
- name: Create QAT dest folder
file:
state: directory
path: "qat"
- name: Register QAT env variable
shell: "echo {{ QAT_ENABLED | default(False) }}"
- name: Create QAT check script
copy:
dest: "qat/qat.sh"
content: |
#!/bin/bash
qat_device=$( for i in 0434 0435 37c8 6f54 19e2; \
do lspci -d 8086:$i -m; done |\
grep -i "Quick*" | head -n 1 | cut -d " " -f 5 )
if [ -z "$qat_device" ]; then
echo "False"
exit 0
else
echo "True"
fi
- name: Changing perm of "sh", adding "+x"
shell: "chmod +x qat.sh"
args:
chdir: "qat"
warn: False
- name: Run the script and re-evaluate the variable.
command: "./qat.sh"
args:
chdir: "qat"
register: output
- debug:
var: output.stdout_lines
- set_fact:
QAT_ENABLED: "{{ output.stdout }}"
- debug:
var: output
- name: Clean the script and folder.
file:
path: qat
state: absent
- name: bootstrap | install qat compilation packages
package:
name: "{{ item }}"
state: present
with_items:
- pciutils
- build-essential
- libudev-dev
- pkg-config
when: QAT_ENABLED
- copy:
src: "{{ qat_dest }}/{{ qat_package }}.tar.gz"
dest: "{{ base_dest }}/quick-assist"
remote_src: no
when: QAT_ENABLED
- name: Extract QAT source code
unarchive:
src: "{{ qat_dest }}/{{ qat_package }}.tar.gz"
dest: "{{ base_dest }}/quick-assist/{{ qat_package }}"
when: QAT_ENABLED
- name: Configure the target
command: ./configure --enable-icp-sriov=host
args:
chdir: "{{ base_dest }}/quick-assist/{{ qat_package }}"
when: QAT_ENABLED
- name: build qat driver
make:
chdir: "{{ base_dest }}/quick-assist/{{ qat_package }}"
target: "{{ item }}"
loop:
- clean
- uninstall
- install
when: QAT_ENABLED
- name: Create QAT driver folder in the target destination
file:
state: directory
path: "{{ item }}"
with_items:
- qat_driver_dest
when: QAT_ENABLED
- name: Copy QAT build directory qat target destination
command: "cp -r {{ base_dest }}/quick-assist/{{ qat_package }}/build/ /root/qat_driver_dest/"
when: QAT_ENABLED
- name: Copy QAT driver install script to target folder
command: "cp {{ playbook_dir }}/install_qat.sh /root/qat_driver_dest/build/install.sh"
when: QAT_ENABLED
- name: Copy QAT to target folder
command: "cp /etc/default/qat /root/qat_driver_dest/build"
when: QAT_ENABLED
- name: Changing perm of "install.sh", adding "+x"
file: dest=~/qat_driver_dest/build/install.sh mode=a+x
when: QAT_ENABLED
- name: Run a script with arguments
command: ./install.sh chdir=/root/qat_driver_dest/build
when: QAT_ENABLED
- name: get qat devices
shell: /usr/local/bin/adf_ctl status | grep up | awk '{print $4 substr($1, 4)}' | tr -d ','
register: qat_devices
when: QAT_ENABLED
- name: Updating the qat device SSL values to avoid duplication
command: "./substitute.sh chdir={{ playbook_dir }}"
when: QAT_ENABLED
|