diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 278828d2..842d31d9 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -86,6 +86,7 @@ jobs: - sgx-aesmd-demo - ubuntu-demo-openvino - dlb-dpdk-demo + - dlb-libdlb-demo builder: [buildah, docker] steps: - uses: actions/checkout@v2 diff --git a/demo/dlb-libdlb-demo-pod.yaml b/demo/dlb-libdlb-demo-pod.yaml index ea3479be..e2a67daf 100644 --- a/demo/dlb-libdlb-demo-pod.yaml +++ b/demo/dlb-libdlb-demo-pod.yaml @@ -12,10 +12,16 @@ spec: limits: dlb.intel.com/pf: 1 cpu: 1 + requests: + dlb.intel.com/pf: 1 + cpu: 1 - name: vf image: intel/dlb-libdlb-demo:devel imagePullPolicy: IfNotPresent resources: limits: dlb.intel.com/vf: 1 - cpu: 1 \ No newline at end of file + cpu: 1 + requests: + dlb.intel.com/vf: 1 + cpu: 1 diff --git a/demo/dlb-libdlb-demo/Dockerfile b/demo/dlb-libdlb-demo/Dockerfile new file mode 100644 index 00000000..ed1a10b2 --- /dev/null +++ b/demo/dlb-libdlb-demo/Dockerfile @@ -0,0 +1,26 @@ +FROM ubuntu:18.04 AS builder + +WORKDIR /dlb-build + +# Install build dependencies +RUN apt-get update && apt-get install -y wget xz-utils make gcc + +# Download and unpack DLB Driver tarball +ARG DLB_DRIVER_RELEASE="dlblinuxsrcrelease7.4.020211006" +ARG DLB_DRIVER_SHA256="715c34314d77dce9fe0cd61d5c0f269016971e8d9aa680bc0e4a32d4284aae09" + +RUN wget https://01.org/sites/default/files/downloads//$DLB_DRIVER_RELEASE.txz \ + && echo "$DLB_DRIVER_SHA256 $DLB_DRIVER_RELEASE.txz" | sha256sum -c - \ + && tar -xvf *.txz --no-same-owner + +# Build libdlb +RUN cd dlb/libdlb && make + +FROM ubuntu:18.04 +COPY --from=builder /dlb-build/dlb/libdlb/libdlb.so /usr/local/lib +RUN ldconfig + +COPY --from=builder /dlb-build/dlb/libdlb/examples/*traffic /usr/local/bin/ +COPY test.sh /usr/bin/ + +ENTRYPOINT /usr/bin/test.sh diff --git a/demo/dlb-libdlb-demo/test.sh b/demo/dlb-libdlb-demo/test.sh new file mode 100755 index 00000000..2bf03e5d --- /dev/null +++ b/demo/dlb-libdlb-demo/test.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +dlb_dev=$(ls /dev/dlb* | sed 's/\/dev\/dlb//' | head -1) +echo '\n1. Directed Traffic test' +echo '--------------------------' +/usr/local/bin/dir_traffic -n 128 -d $dlb_dev +echo '\n2. Load Balanced Traffic test' +echo '-------------------------------' +/usr/local/bin/ldb_traffic -n 128 -d $dlb_dev + diff --git a/demo/libdlb-demo.yaml b/demo/libdlb-demo.yaml new file mode 100644 index 00000000..7f616cbc --- /dev/null +++ b/demo/libdlb-demo.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Pod +metadata: + name: libdlb-demo +spec: + restartPolicy: Never + containers: + - name: libdlb-demo + image: intel/dlb-libdlb-demo:devel + imagePullPolicy: IfNotPresent + resources: + limits: + dlb.intel.com/dlb: 1 + cpu: 1