aboutsummaryrefslogtreecommitdiffstats
path: root/tools/k8s/test-containers/trafficgen-pods/trex/Dockerfile
diff options
context:
space:
mode:
authorSridhar K. N. Rao <sridhar.rao@spirent.com>2021-11-02 14:18:18 +0530
committerAl Morton <acm@research.att.com>2021-11-03 18:10:42 +0000
commit773934de71fafcd332879838bf519ef3d90271e1 (patch)
treef9d442007c643f1c9e4efb6a0c34815c932f9359 /tools/k8s/test-containers/trafficgen-pods/trex/Dockerfile
parent0ab7ff90c3fec546275fd35ffc13cb787c03721e (diff)
K8S: PROX and TREX containers.
This patch adds source files to build prox and trex containers. Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com> Change-Id: I9a26672bc4869e663e6afc64741dbb9ededbb832
Diffstat (limited to 'tools/k8s/test-containers/trafficgen-pods/trex/Dockerfile')
-rw-r--r--tools/k8s/test-containers/trafficgen-pods/trex/Dockerfile46
1 files changed, 46 insertions, 0 deletions
diff --git a/tools/k8s/test-containers/trafficgen-pods/trex/Dockerfile b/tools/k8s/test-containers/trafficgen-pods/trex/Dockerfile
new file mode 100644
index 00000000..7258533a
--- /dev/null
+++ b/tools/k8s/test-containers/trafficgen-pods/trex/Dockerfile
@@ -0,0 +1,46 @@
+##########################################################
+# Build app-netutil components in separate builder image #
+##########################################################
+FROM centos:7 as builder
+
+RUN rpm --import https://mirror.go-repo.io/centos/RPM-GPG-KEY-GO-REPO && curl -s https://mirror.go-repo.io/centos/go-repo.repo | tee /etc/yum.repos.d/go-repo.repo
+RUN yum groupinstall -y "Development Tools"
+RUN yum install -y wget numactl-devel git golang make; yum clean all
+
+##
+## Download and Build APP-NetUtil
+##
+WORKDIR /root/go/src/
+RUN mkdir github.com && cd github.com && mkdir openshift && cd openshift && git clone https://github.com/openshift/app-netutil
+WORKDIR /root/go/src/github.com/openshift/app-netutil
+RUN make c_sample
+
+#############################
+# Create slim runtime image #
+#############################
+FROM centos:7
+
+ARG BUILD_DIR=/root
+
+COPY ./deploycentostools.sh ${BUILD_DIR}/
+COPY --from=builder /root/go/src/github.com/openshift/app-netutil/bin/c_sample /usr/bin/c_sample
+COPY --from=builder /root/go/src/github.com/openshift/app-netutil/bin/libnetutil_api.so /lib64/libnetutil_api.so
+COPY --from=builder /root/go/src/github.com/openshift/app-netutil/bin/libnetutil_api.h /usr/include/libnetutil_api.h
+
+RUN chmod a+rwx ${BUILD_DIR} && chmod +x ${BUILD_DIR}/deploycentostools.sh \
+ && ${BUILD_DIR}/deploycentostools.sh
+
+WORKDIR /root
+COPY trex_cfg.yaml.j2 /root/trex_cfg.yaml.j2
+COPY vppconf.py /root/vppconf.py
+RUN wget --no-check-certificate https://trex-tgn.cisco.com/trex/release/latest; tar -xzvf latest; rm latest
+
+# Expose SSH
+EXPOSE 22
+
+# Copy SSH keys
+COPY ./rapid_rsa_key.pub /home/centos/.ssh/authorized_keys
+COPY ./rapid_rsa_key.pub /root/.ssh/authorized_keys
+
+RUN yum -y install python3 python3-pip; yum clean all
+RUN pip3 install jinja2