summaryrefslogtreecommitdiff
path: root/buildscripts/antithesis/base_images/workload/Dockerfile
blob: 58f52bda489e4328e9c2023f39150b2cc0a50f9e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
FROM ubuntu:18.04

EXPOSE 27017
EXPOSE 27018
EXPOSE 27019

RUN mkdir -p /scripts
RUN mkdir -p /var/log/resmoke

# tzdata will block waiting for interactive input. Ensure that dpkg gets run
# in a non-interactive fashion by preseeding tzdata
COPY preseed.txt /tmp/preseed.txt
RUN debconf-set-selections /tmp/preseed.txt
RUN rm /tmp/preseed.txt

RUN apt-get update
RUN apt-get install -qy libcurl4 libgssapi-krb5-2 libldap-2.4-2 libwrap0 libsasl2-2 libsasl2-modules libsasl2-modules-gssapi-mit snmp openssl liblzma5 libssl-dev build-essential software-properties-common
RUN add-apt-repository ppa:deadsnakes/ppa
RUN apt-get update

# installs that need to be forced to be non-interactive: python 3.9 and git
RUN DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true apt-get install -qy python3.9 python3.9-dev python3.9-venv git-all

# -------------------
# Everything above this line should be common image setup
# Everything below should be specific to the version of mongodb being installed

# copy resmoke, make the venv, and pip install
COPY src /resmoke

RUN bash -c "cd /resmoke && python3.9 -m venv python3-venv && . python3-venv/bin/activate && pip install --upgrade pip wheel && pip install -r ./buildscripts/requirements.txt && ./buildscripts/antithesis_suite.py generate-all"

COPY mongo /usr/bin
RUN chmod +x /usr/bin/mongo
COPY libvoidstar.so /usr/lib/libvoidstar.so

RUN /usr/bin/mongo --version