aboutsummaryrefslogtreecommitdiffstats
path: root/tools/k8s/test-containers/trafficgen-pods/prox/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/prox/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/prox/Dockerfile')
-rw-r--r--tools/k8s/test-containers/trafficgen-pods/prox/Dockerfile75
1 files changed, 75 insertions, 0 deletions
diff --git a/tools/k8s/test-containers/trafficgen-pods/prox/Dockerfile b/tools/k8s/test-containers/trafficgen-pods/prox/Dockerfile
new file mode 100644
index 00000000..3235e725
--- /dev/null
+++ b/tools/k8s/test-containers/trafficgen-pods/prox/Dockerfile
@@ -0,0 +1,75 @@
+##
+## Copyright (c) 2019 Intel Corporation
+##
+## Licensed under the Apache License, Version 2.0 (the "License");
+## you may not use this file except in compliance with the License.
+## You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing, software
+## distributed under the License is distributed on an "AS IS" BASIS,
+## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+## See the License for the specific language governing permissions and
+## limitations under the License.
+##
+
+##################################################
+# Build all components in separate builder image #
+##################################################
+FROM centos:7 as builder
+
+ARG BUILD_DIR=/opt/rapid
+
+COPY ./port_info ${BUILD_DIR}/port_info
+
+COPY ./deploycentostools.sh ${BUILD_DIR}/
+RUN chmod +x ${BUILD_DIR}/deploycentostools.sh \
+ && ${BUILD_DIR}/deploycentostools.sh -k deploy
+
+
+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 golang; 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
+#RUN cp bin/libnetutil_api.so /lib64/libnetutil_api.so; cp bin/libnetutil_api.h /usr/include/libnetutil_api.h
+
+
+#############################
+# Create slim runtime image #
+#############################
+FROM centos:7
+
+ARG BUILD_DIR=/opt/rapid
+
+COPY ./deploycentostools.sh ${BUILD_DIR}/
+COPY --from=builder ${BUILD_DIR}/install_components.tgz ${BUILD_DIR}/install_components.tgz
+COPY --from=builder ${BUILD_DIR}/src ${BUILD_DIR}/src
+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 -k runtime_image
+
+RUN yum install -y pciutils iproute; yum clean all
+
+# Expose SSH and PROX ports
+EXPOSE 22 8474
+
+# Copy SSH keys
+COPY ./rapid_rsa_key.pub /home/centos/.ssh/authorized_keys
+COPY ./rapid_rsa_key.pub /root/.ssh/authorized_keys
+
+# Copy startup script
+COPY ./start.sh /start.sh
+RUN chmod +x /start.sh
+
+#ENTRYPOINT ["/start.sh"]