Add 2048B file size cps rps tests in job specs for http-ldpreload-nginx-1_21_5.
[csit.git] / fdio.infra.ansible / roles / docker_images / files / base / Dockerfile
1 FROM ubuntu:22.04
2
3 # Setup the environment
4 ENV DEBIAN_FRONTEND=noninteractive
5
6 # Configure locales
7 RUN apt-get update -qq \
8  && apt-get install -y \
9         apt-utils \
10         locales \
11  && sed -i 's/# \(en_US\.UTF-8 .*\)/\1/' /etc/locale.gen \
12  && locale-gen en_US.UTF-8 \
13  && dpkg-reconfigure --frontend=noninteractive locales \
14  && update-locale LANG=en_US.UTF-8 \
15  && TZ=Etc/UTC && ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone \
16  && rm -r /var/lib/apt/lists/*
17 ENV LANG="en_US.UTF-8" LANGUAGE="en_US" LC_ALL="en_US.UTF-8"
18
19 # Install packages and Docker
20 RUN apt-get -q update \
21  && apt-get install -y -qq \
22         apt-transport-https \
23         bridge-utils \
24         ca-certificates \
25         cgroup-tools \
26         cloud-init \
27         cmake \
28         curl \
29         dkms \
30         ethtool \
31         gdb \
32         gfortran \
33         libapr1 \
34         libblas-dev \
35         libffi-dev \
36         libibverbs-dev \
37         liblapack-dev \
38         libmbedcrypto7 \
39         libmbedtls14 \
40         libmbedx509-1 \
41         libnuma1 \
42         libnuma-dev \
43         libpcap-dev \
44         libpixman-1-dev \
45         libsctp-dev \
46         libssl-dev \
47         net-tools \
48         ninja-build \
49         openssh-server \
50         pciutils \
51         python3-all \
52         python3-apt \
53         python3-cffi \
54         python3-cffi-backend \
55         python3-dev \
56         python3-pip \
57         python3-pyelftools \
58         python3-setuptools \
59         python3-virtualenv \
60         qemu-system \
61         rdma-core \
62         rsyslog \
63         screen \
64         socat \
65         software-properties-common \
66         strace \
67         strongswan \
68         ssh \
69         sshpass \
70         sudo \
71         supervisor \
72         tar \
73         tcpdump \
74         unzip \
75         vim \
76         wget \
77         zlib1g-dev \
78  && ln -s -f /usr/lib/x86_64-linux-gnu/libc.a /usr/lib/x86_64-linux-gnu/liblibc.a \
79  && curl -fsSL https://get.docker.com | sh \
80  && rm -rf /var/lib/apt/lists/*
81
82 # Fix permissions
83 RUN chown root:syslog /var/log \
84  && chmod 755 /etc/default
85
86 # Create directory structure
87 RUN mkdir -p /tmp/dumps \
88  && mkdir -p /var/cache/vpp/python \
89  && mkdir -p /var/run/sshd \
90  && mkdir -p /var/log/vpp
91
92 # CSIT PIP pre-cache
93 RUN pip3 install \
94         ecdsa==0.18.0 \
95         paramiko==3.3.1 \
96         pycrypto==2.6.1 \
97         python-dateutil==2.8.2 \
98         PyYAML==6.0.1 \
99         requests==2.31.0 \
100         robotframework==6.1.1 \
101         scapy==2.4.5 \
102         scp==0.14.5 \
103         ansible==8.2.0 \
104         ansible-core==2.15.2 \
105         dill==0.3.7 \
106         numpy==1.25.2 \
107         scipy==1.11.1 \
108         ply==3.11 \
109         jsonschema==4.18.4 \
110         rfc3339-validator==0.1.4 \
111         rfc3987==1.3.8 \
112         attrs==23.1.0 \
113         bcrypt==4.0.1 \
114         certifi==2023.7.22 \
115         cffi==1.15.1 \
116         charset-normalizer==3.2.0 \
117         cryptography==41.0.3 \
118         idna==3.4 \
119         Jinja2==3.1.2 \
120         jsonschema-specifications==2023.7.1 \
121         MarkupSafe==2.1.3 \
122         packaging==23.1 \
123         pycparser==2.21 \
124         PyNaCl==1.5.0 \
125         referencing==0.30.0 \
126         resolvelib==1.0.1 \
127         rpds-py==0.9.2 \
128         six==1.16.0 \
129         urllib3==2.0.4 \
130         meson==0.64.1
131
132 RUN groupadd -g 1000 testuser \
133  && useradd -rm -d /home/testuser -s /bin/bash -g testuser -G sudo -u 1000 testuser \
134  && echo 'testuser:Csit1234' | chpasswd
135
136 RUN echo 'root:Csit1234' | chpasswd \
137  && sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config \
138  && echo "export VISIBLE=now" >> /etc/profile
139
140 RUN service ssh start