Files
infix/test/docker/Dockerfile
T
Tobias Waldekranz e65625e32f test: Add support for attaching to devices via SSH
Support the familiar subprocess.run API, and runsh from netns.py.

This should only be used for debugging, or in the rare instances when
we want to test functionality that is not available via NETCONF.
2024-05-20 16:21:06 +02:00

47 lines
1.1 KiB
Docker

FROM alpine:3.18.0
RUN apk add --no-cache \
busybox-extras \
e2fsprogs \
fakeroot \
gcc \
graphviz \
iproute2 \
iputils \
jq \
libc-dev \
libyang-dev \
linux-headers \
openssh-client \
python3-dev \
qemu-img \
qemu-system-x86_64 \
ruby-mustache \
socat \
squashfs-tools \
sshpass \
tcpdump \
tshark \
make
ARG MTOOL_VERSION="3.0"
RUN wget https://github.com/troglobit/mtools/releases/download/v3.0/mtools-$MTOOL_VERSION.tar.gz -O /tmp/mtools-$MTOOL_VERSION.tar.gz
RUN cd /tmp/ && tar zxvf mtools-$MTOOL_VERSION.tar.gz
RUN cd /tmp/mtools-$MTOOL_VERSION && make && make install
# Alpine's QEMU package does not bundle this for some reason, copied
# from Ubuntu
COPY qemu-ifup /etc
# Needed to let qeneth find mustache(1)
ENV PATH="${PATH}:/usr/lib/ruby/gems/3.2.0/bin"
# Install all python packages used by the tests
COPY init-venv.sh /root
COPY pip-requirements.txt /root
# Add bootstrap YANG models, the rest will be downloaded from the device
ADD yang /root/yang
RUN ~/init-venv.sh ~/pip-requirements.txt