2021-09-06 11:33:39 +00:00
|
|
|
# docker build -t clickhouse/integration-tests-runner .
|
2021-02-12 15:50:52 +00:00
|
|
|
FROM ubuntu:20.04
|
2018-11-23 15:10:07 +00:00
|
|
|
|
2021-11-25 16:30:39 +00:00
|
|
|
# ARG for quick switch to a given ubuntu mirror
|
|
|
|
ARG apt_archive="http://archive.ubuntu.com"
|
2022-06-28 17:35:20 +00:00
|
|
|
|
2021-11-25 16:30:39 +00:00
|
|
|
RUN sed -i "s|http://archive.ubuntu.com|$apt_archive|g" /etc/apt/sources.list
|
2021-08-23 18:01:19 +00:00
|
|
|
|
2019-05-21 06:17:46 +00:00
|
|
|
RUN apt-get update \
|
|
|
|
&& env DEBIAN_FRONTEND=noninteractive apt-get install --yes \
|
2023-01-07 00:45:54 +00:00
|
|
|
adduser \
|
2018-11-23 15:10:07 +00:00
|
|
|
ca-certificates \
|
|
|
|
bash \
|
|
|
|
btrfs-progs \
|
|
|
|
e2fsprogs \
|
|
|
|
iptables \
|
|
|
|
xfsprogs \
|
|
|
|
tar \
|
|
|
|
pigz \
|
|
|
|
wget \
|
|
|
|
git \
|
|
|
|
iproute2 \
|
|
|
|
cgroupfs-mount \
|
2020-10-02 16:54:07 +00:00
|
|
|
python3-pip \
|
2018-12-10 09:40:57 +00:00
|
|
|
tzdata \
|
2019-01-30 09:43:00 +00:00
|
|
|
libicu-dev \
|
2019-03-20 21:11:40 +00:00
|
|
|
bsdutils \
|
2019-05-20 08:11:53 +00:00
|
|
|
curl \
|
2020-10-02 16:54:07 +00:00
|
|
|
python3-pika \
|
2019-05-28 18:53:22 +00:00
|
|
|
liblua5.1-dev \
|
|
|
|
luajit \
|
|
|
|
libssl-dev \
|
2020-06-29 20:07:45 +00:00
|
|
|
libcurl4-openssl-dev \
|
2019-12-13 13:56:53 +00:00
|
|
|
gdb \
|
2023-03-07 15:04:21 +00:00
|
|
|
default-jdk \
|
2020-12-01 11:32:33 +00:00
|
|
|
software-properties-common \
|
2020-10-30 19:40:16 +00:00
|
|
|
libkrb5-dev \
|
|
|
|
krb5-user \
|
2021-03-12 09:05:40 +00:00
|
|
|
g++ \
|
2019-05-21 06:17:46 +00:00
|
|
|
&& rm -rf \
|
|
|
|
/var/lib/apt/lists/* \
|
|
|
|
/var/cache/debconf \
|
|
|
|
/tmp/* \
|
|
|
|
&& apt-get clean
|
2018-11-23 15:10:07 +00:00
|
|
|
|
2022-03-14 12:46:45 +00:00
|
|
|
ENV TZ=Etc/UTC
|
2018-11-23 15:10:07 +00:00
|
|
|
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
|
|
|
|
2020-12-01 11:32:33 +00:00
|
|
|
ENV DOCKER_CHANNEL stable
|
2023-04-19 07:44:53 +00:00
|
|
|
RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - \
|
|
|
|
&& add-apt-repository "deb https://download.docker.com/linux/ubuntu $(lsb_release -c -s) ${DOCKER_CHANNEL}" \
|
|
|
|
&& apt-get update \
|
2020-12-01 11:32:33 +00:00
|
|
|
&& env DEBIAN_FRONTEND=noninteractive apt-get install --yes \
|
|
|
|
docker-ce \
|
|
|
|
&& rm -rf \
|
|
|
|
/var/lib/apt/lists/* \
|
|
|
|
/var/cache/debconf \
|
|
|
|
/tmp/* \
|
|
|
|
&& apt-get clean
|
|
|
|
|
|
|
|
RUN dockerd --version; docker --version
|
|
|
|
|
2023-04-19 07:44:53 +00:00
|
|
|
RUN python3 -m pip install --no-cache-dir \
|
2020-10-16 15:27:22 +00:00
|
|
|
PyMySQL \
|
2021-02-19 09:23:51 +00:00
|
|
|
aerospike==4.0.0 \
|
2021-11-13 09:01:13 +00:00
|
|
|
avro==1.10.2 \
|
2022-05-16 10:03:28 +00:00
|
|
|
asyncio \
|
2020-10-16 15:27:22 +00:00
|
|
|
cassandra-driver \
|
2021-02-05 15:30:45 +00:00
|
|
|
confluent-kafka==1.5.0 \
|
2021-01-27 09:50:11 +00:00
|
|
|
dict2xml \
|
2021-01-29 13:17:17 +00:00
|
|
|
dicttoxml \
|
2020-10-16 15:27:22 +00:00
|
|
|
docker \
|
2022-06-24 14:49:48 +00:00
|
|
|
docker-compose==1.29.2 \
|
2020-10-16 15:27:22 +00:00
|
|
|
grpcio \
|
|
|
|
grpcio-tools \
|
|
|
|
kafka-python \
|
|
|
|
kazoo \
|
2021-12-15 21:06:17 +00:00
|
|
|
lz4 \
|
2020-10-16 15:27:22 +00:00
|
|
|
minio \
|
2022-05-16 10:03:28 +00:00
|
|
|
nats-py \
|
2020-10-16 15:27:22 +00:00
|
|
|
protobuf \
|
2021-02-12 15:50:52 +00:00
|
|
|
psycopg2-binary==2.8.6 \
|
2021-12-10 14:58:17 +00:00
|
|
|
pymongo==3.11.0 \
|
2020-10-16 15:27:22 +00:00
|
|
|
pytest \
|
2021-12-16 11:51:43 +00:00
|
|
|
pytest-order==1.0.0 \
|
2020-10-16 15:27:22 +00:00
|
|
|
pytest-timeout \
|
2022-12-29 14:24:23 +00:00
|
|
|
pytest-random \
|
2021-02-12 15:50:52 +00:00
|
|
|
pytest-xdist \
|
2021-07-12 08:32:20 +00:00
|
|
|
pytest-repeat \
|
2021-08-24 14:09:10 +00:00
|
|
|
pytz \
|
2020-10-16 15:27:22 +00:00
|
|
|
redis \
|
2021-08-24 07:13:00 +00:00
|
|
|
tzlocal==2.1 \
|
2020-10-30 19:40:16 +00:00
|
|
|
urllib3 \
|
2021-05-22 20:33:15 +00:00
|
|
|
requests-kerberos \
|
2023-03-07 15:04:21 +00:00
|
|
|
pyspark==3.3.2 \
|
|
|
|
delta-spark==2.2.0 \
|
2021-12-02 12:28:28 +00:00
|
|
|
pyhdfs \
|
2022-05-01 20:57:44 +00:00
|
|
|
azure-storage-blob \
|
2023-03-07 15:04:21 +00:00
|
|
|
meilisearch==0.18.3
|
2018-11-23 15:10:07 +00:00
|
|
|
|
|
|
|
COPY modprobe.sh /usr/local/bin/modprobe
|
|
|
|
COPY dockerd-entrypoint.sh /usr/local/bin/
|
2020-07-06 13:45:54 +00:00
|
|
|
COPY compose/ /compose/
|
2021-05-21 13:29:43 +00:00
|
|
|
COPY misc/ /misc/
|
2018-11-23 15:10:07 +00:00
|
|
|
|
2023-04-19 07:44:53 +00:00
|
|
|
RUN curl -fsSL -O https://dlcdn.apache.org/spark/spark-3.3.2/spark-3.3.2-bin-hadoop3.tgz \
|
|
|
|
&& tar xzvf spark-3.3.2-bin-hadoop3.tgz -C / \
|
|
|
|
&& rm spark-3.3.2-bin-hadoop3.tgz
|
2023-04-13 14:56:11 +00:00
|
|
|
|
|
|
|
# download spark and packages
|
|
|
|
# if you change packages, don't forget to update them in tests/integration/helpers/cluster.py
|
|
|
|
RUN echo ":quit" | /spark-3.3.2-bin-hadoop3/bin/spark-shell --packages "org.apache.hudi:hudi-spark3.3-bundle_2.12:0.13.0,io.delta:delta-core_2.12:2.2.0,org.apache.iceberg:iceberg-spark-runtime-3.3_2.12:1.1.0" > /dev/null
|
2023-03-07 15:04:21 +00:00
|
|
|
|
2018-11-23 15:10:07 +00:00
|
|
|
RUN set -x \
|
2020-04-17 16:01:16 +00:00
|
|
|
&& addgroup --system dockremap \
|
2018-11-23 15:10:07 +00:00
|
|
|
&& adduser --system dockremap \
|
2020-04-17 16:01:16 +00:00
|
|
|
&& adduser dockremap dockremap \
|
|
|
|
&& echo 'dockremap:165536:65536' >> /etc/subuid \
|
2018-11-23 15:10:07 +00:00
|
|
|
&& echo 'dockremap:165536:65536' >> /etc/subgid
|
|
|
|
|
2023-04-10 13:07:20 +00:00
|
|
|
# Same options as in test/base/Dockerfile
|
|
|
|
# (in case you need to override them in tests)
|
|
|
|
ENV TSAN_OPTIONS='halt_on_error=1 history_size=7 memory_limit_mb=46080 second_deadlock_stack=1'
|
|
|
|
ENV UBSAN_OPTIONS='print_stacktrace=1'
|
|
|
|
ENV MSAN_OPTIONS='abort_on_error=1 poison_in_dtor=1'
|
|
|
|
|
2018-11-23 15:10:07 +00:00
|
|
|
EXPOSE 2375
|
|
|
|
ENTRYPOINT ["dockerd-entrypoint.sh"]
|
2020-06-28 13:20:57 +00:00
|
|
|
CMD ["sh", "-c", "pytest $PYTEST_OPTS"]
|