diff options
Diffstat (limited to 'docker')
-rw-r--r-- | docker/Dockerfile | 37 | ||||
-rwxr-xr-x | docker/nfvbench-entrypoint.sh | 21 |
2 files changed, 58 insertions, 0 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..1f61eab --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,37 @@ +# docker file for creating a container that has nfvbench installed and ready to use +FROM ubuntu:16.04 + +COPY . /nfvbench + +ENV TREX_VER "v2.27" + +RUN apt-get update && apt-get install -y \ + git \ + kmod \ + pciutils \ + python \ + python-pip \ + vim \ + wget \ + net-tools \ + && mkdir /tmp/http_root \ + && mkdir -p /opt/trex \ + && wget --no-cache https://trex-tgn.cisco.com/trex/release/$TREX_VER.tar.gz \ + && tar xzf $TREX_VER.tar.gz -C /opt/trex \ + && rm -f /$TREX_VER.tar.gz \ + && rm -f /opt/trex/$TREX_VER/trex_client_$TREX_VER.tar.gz \ + && cp -a /opt/trex/$TREX_VER/automation/trex_control_plane/stl/trex_stl_lib /usr/local/lib/python2.7/dist-packages/ \ + && rm -rf /opt/trex/$TREX_VER/automation/trex_control_plane/stl/trex_stl_lib \ + && sed -i -e "s/2048 /512 /" -e "s/2048\"/512\"/" /opt/trex/$TREX_VER/trex-cfg \ + && pip install -U pip pbr \ + && pip install -U setuptools \ + && cd /nfvbench && pip install -e . \ + && python ./docker/cleanup_generators.py \ + && rm -rf /nfvbench/.git \ + && apt-get remove -y wget git \ + && apt-get autoremove -y && apt-get clean && rm -rf /var/lib/apt/lists/* + +ENV TREX_STL_EXT_PATH "/opt/trex/$TREX_VER/external_libs" + +ENTRYPOINT ["/nfvbench/docker/nfvbench-entrypoint.sh"] + diff --git a/docker/nfvbench-entrypoint.sh b/docker/nfvbench-entrypoint.sh new file mode 100755 index 0000000..64f9ade --- /dev/null +++ b/docker/nfvbench-entrypoint.sh @@ -0,0 +1,21 @@ +# Copyright 2017 Cisco Systems, Inc. All rights reserved. +# +# 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. +# + +#!/bin/bash +if [ -z "$1" ] || [ $1 != 'start_rest_server' ];then + tail -f /dev/null +else + nfvbench --server /tmp/http_root --host 127.0.0.1 --port 7556 +fi |