From 249ade9be526aa113f506f096b98a2fcfb3ae9f8 Mon Sep 17 00:00:00 2001 From: Hyeongju Johannes Lee Date: Wed, 19 Oct 2022 12:28:28 +0300 Subject: [PATCH] qat: fix initcontainer to skip when sriov is already configured Signed-off-by: Hyeongju Johannes Lee --- build/docker/intel-qat-initcontainer.Dockerfile | 2 +- .../templates/intel-qat-initcontainer.Dockerfile.in | 2 +- demo/qat-init.sh | 10 ++++++++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/build/docker/intel-qat-initcontainer.Dockerfile b/build/docker/intel-qat-initcontainer.Dockerfile index 882173d2..b8c321ff 100644 --- a/build/docker/intel-qat-initcontainer.Dockerfile +++ b/build/docker/intel-qat-initcontainer.Dockerfile @@ -62,4 +62,4 @@ LABEL summary='IntelĀ® QAT initcontainer for Kubernetes' LABEL description='Intel QAT initcontainer initializes devices' COPY --from=builder /install_root / COPY demo/qat-init.sh /usr/local/bin/ -ENTRYPOINT ["/usr/local/bin/qat-init.sh"] +ENTRYPOINT [ "/bin/bash", "/usr/local/bin/qat-init.sh"] diff --git a/build/docker/templates/intel-qat-initcontainer.Dockerfile.in b/build/docker/templates/intel-qat-initcontainer.Dockerfile.in index cf5c63e6..77bd77fc 100644 --- a/build/docker/templates/intel-qat-initcontainer.Dockerfile.in +++ b/build/docker/templates/intel-qat-initcontainer.Dockerfile.in @@ -21,4 +21,4 @@ COPY --from=builder /install_root / COPY demo/qat-init.sh /usr/local/bin/ -ENTRYPOINT ["/usr/local/bin/qat-init.sh"] +ENTRYPOINT [ "/bin/bash", "/usr/local/bin/qat-init.sh"] diff --git a/demo/qat-init.sh b/demo/qat-init.sh index 315f9c00..22af081d 100755 --- a/demo/qat-init.sh +++ b/demo/qat-init.sh @@ -1,11 +1,17 @@ -#!/bin/bash +#!/bin/sh -eu ENABLED_QAT_PF_PCIIDS=${ENABLED_QAT_PF_PCIIDS:-37c8 4940 4942} DEVS=$(for pf in $ENABLED_QAT_PF_PCIIDS; do lspci -n | grep -e "$pf" | grep -o -e "^\\S*"; done) for dev in $DEVS; do DEVPATH="/sys/bus/pci/devices/0000:$dev" NUMVFS="$DEVPATH/sriov_numvfs" - if test -w "$NUMVFS" -a "$(cat "$NUMVFS")" -eq 0 ; then + if ! test -w "$NUMVFS"; then + echo "error: $NUMVFS is not found or not writable. Check if QAT driver module is loaded" + exit 1 + fi + if [ "$(cat "$NUMVFS")" -ne 0 ]; then + echo "$DEVPATH already configured" + else tee "$NUMVFS" < "$DEVPATH/sriov_totalvfs" fi done