summaryrefslogtreecommitdiffstats
path: root/tests/topotests/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'tests/topotests/Dockerfile')
-rw-r--r--tests/topotests/Dockerfile87
1 files changed, 87 insertions, 0 deletions
diff --git a/tests/topotests/Dockerfile b/tests/topotests/Dockerfile
new file mode 100644
index 0000000..1503e67
--- /dev/null
+++ b/tests/topotests/Dockerfile
@@ -0,0 +1,87 @@
+FROM ubuntu:18.04
+
+RUN export DEBIAN_FRONTEND=noninteractive \
+ && apt-get update \
+ && apt-get install -y \
+ autoconf \
+ binutils \
+ bison \
+ ca-certificates \
+ flex \
+ gdb \
+ git \
+ gpg \
+ install-info \
+ iputils-ping \
+ iproute2 \
+ less \
+ libtool \
+ libjson-c-dev \
+ libpcre3-dev \
+ libpython-dev \
+ libpython3-dev \
+ libreadline-dev \
+ libc-ares-dev \
+ libcap-dev \
+ libelf-dev \
+ man \
+ mininet \
+ pkg-config \
+ python-pip \
+ python3 \
+ python3-dev \
+ python3-sphinx \
+ python3-pytest \
+ rsync \
+ strace \
+ tcpdump \
+ texinfo \
+ tmux \
+ valgrind \
+ vim \
+ wget \
+ x11-xserver-utils \
+ xterm \
+ && pip install \
+ exabgp==3.4.17 \
+ "scapy>=2.4.2" \
+ ipaddr \
+ pytest \
+ && rm -rf /var/lib/apt/lists/*
+
+RUN export DEBIAN_FRONTEND=noninteractive \
+ && wget -qO- https://deb.frrouting.org/frr/keys.asc | apt-key add - \
+ && echo "deb https://deb.frrouting.org/frr bionic frr-stable" > /etc/apt/sources.list.d/frr.list \
+ && apt-get update \
+ && apt-get install -y libyang-dev \
+ && rm -rf /var/lib/apt/lists/*
+
+RUN groupadd -r -g 92 frr \
+ && groupadd -r -g 85 frrvty \
+ && useradd -c "FRRouting suite" \
+ -d /var/run/frr \
+ -g frr \
+ -G frrvty \
+ -r \
+ -s /sbin/nologin \
+ frr \
+ && useradd -d /var/run/exabgp/ \
+ -s /bin/false \
+ exabgp
+
+# Configure coredumps
+RUN echo "" >> /etc/security/limits.conf; \
+ echo "* soft core unlimited" >> /etc/security/limits.conf; \
+ echo "root soft core unlimited" >> /etc/security/limits.conf; \
+ echo "* hard core unlimited" >> /etc/security/limits.conf; \
+ echo "root hard core unlimited" >> /etc/security/limits.conf
+
+# Copy run scripts to facilitate users wanting to run the tests
+COPY docker/inner /opt/topotests
+
+ENV PATH "$PATH:/opt/topotests"
+
+RUN echo "cat /opt/topotests/motd.txt" >> /root/.profile && \
+ echo "export PS1='(topotests) $PS1'" >> /root/.profile
+
+ENTRYPOINT [ "bash", "/opt/topotests/entrypoint.sh" ]