diff options
author | 2019-10-15 11:57:25 +0800 | |
---|---|---|
committer | 2020-02-27 00:06:55 +0000 | |
commit | e74803ddbf7013fc6d0fdc3d57da01a6c6b39c9e (patch) | |
tree | 605726f78b8da404656d6229ce135be2581f23a0 /kud/tests/qat.sh | |
parent | 8af74ae61508a3fbfd54c25d1cfe037f3ad08ca5 (diff) |
Adding QAT device plugin to KuD
Basic working skeleton. Adding install script
adding vars and updated the playbook. Working on Kernel
mode updates and driver installation. Removing SRIOV vars
Adding script to change the SSL value for 2 kinds of config files.
Updating daemonset image. Adding prereq packages for qat.
Minor edits for bashate.Adding testcase and conditions to
Ansible tasks for clean, uninstall and install the driver.
Updating the plays to use templating.
Adding qat-kernel mode test case.
Signed-off-by: akhilakishore <akhila.kishore@intel.com>
Issue-ID: MULTICLOUD-860
Change-Id: I5ad99e7211c859dc3cb054df644edd3fa77b2596
Diffstat (limited to 'kud/tests/qat.sh')
-rwxr-xr-x | kud/tests/qat.sh | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/kud/tests/qat.sh b/kud/tests/qat.sh new file mode 100755 index 00000000..71769ae3 --- /dev/null +++ b/kud/tests/qat.sh @@ -0,0 +1,86 @@ +#!/bin/bash +# 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 +############################################################################## + +set -o pipefail + +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 ) +#Checking if the QAT device is on the node +if [ -z "$qat_device" ]; then + echo "False. This test case cannot run. Qat device unavailable." + QAT_ENABLED=False + exit 0 +else + echo "True. Can run QAT on this device." + QAT_ENABLED=True +fi + +pod_name=pod-case-01 +rm -f $HOME/$pod_name.yaml +kubectl delete pod $pod_name --ignore-not-found=true --now --wait +allocated_node_resource=$(kubectl describe node | grep "qat.intel.com" | tail -n1 |awk '{print $(NF)}') +echo "The allocated resource of the node is: " $allocated_node_resource +cat << POD > $HOME/$pod_name.yaml +kind: Pod +apiVersion: v1 +metadata: + name: pod-case-01 +spec: + containers: + - name: pod-case-01 + image: openssl-test:latest + imagePullPolicy: IfNotPresent + volumeMounts: + - mountPath: /dev + name: dev-mount + - mountPath: /etc/c6xxvf_dev0.conf + name: dev0 + command: [ "/bin/bash", "-c", "--" ] + args: [ "while true; do sleep 300000; done;" ] + resources: + requests: + qat.intel.com/cy2_dc2: '1' + limits: + qat.intel.com/cy2_dc2: '1' + volumes: + - name: dev-mount + hostPath: + path: /dev + - name: dev0 + hostPath: + path: /etc/c6xxvf_dev0.conf +POD +kubectl create -f $HOME/$pod_name.yaml --validate=false + for pod in $pod_name; do + status_phase="" + while [[ $status_phase != "Running" ]]; do + new_phase=$(kubectl get pods $pod | awk 'NR==2{print $3}') + if [[ $new_phase != $status_phase ]]; then + echo "$(date +%H:%M:%S) - $pod : $new_phase" + status_phase=$new_phase + fi + if [[ $new_phase == "Running" ]]; then + echo "Pod is up and running.." + fi + if [[ $new_phase == "Err"* ]]; then + exit 1 + fi + done + done + +allocated_node_resource=$(kubectl describe node | grep "qat.intel.com" | tail -n1 |awk '{print $(NF)}') +echo "The allocated resource of the node is: " $allocated_node_resource +adf_ctl restart +systemctl restart qat_service +kubectl exec -it pod-case-01 -- openssl engine -c -t qat + +kubectl delete pod $pod_name --now +echo "Test complete." |