aboutsummaryrefslogtreecommitdiffstats
path: root/tools/docker/test-containers/trafficgen-pods/trex/Dockerfile
diff options
context:
space:
mode:
authorSridhar K. N. Rao <sridhar.rao@spirent.com>2021-11-10 21:26:14 +0530
committerSridhar K. N. Rao <sridhar.rao@spirent.com>2021-11-10 21:27:45 +0530
commit4fa105c5b4113a9ff4311569709ca99a8fbf5028 (patch)
tree481ffea4b406da29e3dbf0dd29c4bb67a378be81 /tools/docker/test-containers/trafficgen-pods/trex/Dockerfile
parentab6ee21423c20c101a5885924f08a46a86ce5b00 (diff)
Minor Fixes.
This patch add multiple minor changes. Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com> Change-Id: Ieda8af0b8145c1ffde6bfdb7a7394776b42df988
Diffstat (limited to 'tools/docker/test-containers/trafficgen-pods/trex/Dockerfile')
-rw-r--r--tools/docker/test-containers/trafficgen-pods/trex/Dockerfile46
1 files changed, 46 insertions, 0 deletions
diff --git a/tools/docker/test-containers/trafficgen-pods/trex/Dockerfile b/tools/docker/test-containers/trafficgen-pods/trex/Dockerfile
new file mode 100644
index 00000000..7258533a
--- /dev/null
+++ b/tools/docker/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