blob: 9fef71fa804001a2991532ab091486863acb1a1c [file] [log] [blame]
Ievgeniia Zadorozhna29f79ac2025-07-17 14:55:00 +02001FROM ubuntu:18.04 AS download-packages-1804
2RUN mkdir /opt/packages-1804 && cd /opt/packages-1804 && \
3 apt-get update && \
4 apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances iperf3 iperf fio nfs-utils | grep "^\w" | sort -u) || true && \
5 rm -rf /var/lib/apt/lists/*
6
7FROM ubuntu:20.04 AS download-packages-2004
Ievgeniia Zadorozhnab57876a2024-03-02 01:14:27 +01008RUN mkdir /opt/packages && cd /opt/packages && \
9 apt-get update && \
Ievgeniia Zadorozhna78008592025-02-23 00:49:21 +010010 apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances iperf3 iperf fio nfs-utils | grep "^\w" | sort -u) || true && \
Ievgeniia Zadorozhnab57876a2024-03-02 01:14:27 +010011 rm -rf /var/lib/apt/lists/*
12
Ievgeniia Zadorozhnaa4ba3e82025-12-12 16:34:05 +010013# TODO: in future change to tag epoxy-noble-20251017061956
14# but this will lead to possible dependencies issues in some test repos (e.g. cfg-checker, mos-spt)
15# some need some time to test this and move to Noble inside the toolset docker container and k8s pod
16FROM mirantis.azurecr.io/openstack/heat:caracal-jammy-20250314195424
Alexa5e33462021-06-10 19:01:07 -050017
Ievgeniia Zadorozhna3a6f9e22023-05-12 18:31:28 +030018LABEL maintainer="qa-ps@mirantis.com"
Alexa5e33462021-06-10 19:01:07 -050019
Ievgeniia Zadorozhna6c85f0c2024-07-31 19:03:02 +020020ADD k8s/src/si-tests.tgz /opt/si-tests/
21ADD k8s/src/mos-checker.tgz /opt/cfg-checker/
Alex73b792d2021-06-11 17:46:14 -050022WORKDIR /opt
Ievgeniia Zadorozhnab57876a2024-03-02 01:14:27 +010023
Ievgeniia Zadorozhna29f79ac2025-07-17 14:55:00 +020024COPY --from=download-packages-2004 /opt/packages /opt/packages
25COPY --from=download-packages-1804 /opt/packages-1804 /opt/packages-1804
Ievgeniia Zadorozhnab57876a2024-03-02 01:14:27 +010026
Ievgeniia Zadorozhna9f03ca32025-03-21 18:44:21 +010027RUN apt-get clean && apt-get update && \
Ievgeniia Zadorozhnaa4ba3e82025-12-12 16:34:05 +010028 apt-get install -y make gcc g++ git libaio-dev zlib1g-dev fio && \
Ievgeniia Zadorozhna3a6f9e22023-05-12 18:31:28 +030029 mkdir /opt/density && \
30 rm -rf /var/lib/apt/lists/*
Alex17e4a592021-07-13 15:59:33 -050031
32RUN export TZ="America/Chicago" && \
Alexa5e33462021-06-10 19:01:07 -050033 ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && \
Ievgeniia Zadorozhna9f03ca32025-03-21 18:44:21 +010034 apt-get clean && apt-get update && \
Ievgeniia Zadorozhna3a6f9e22023-05-12 18:31:28 +030035 apt-get install -y python3-pip python3-venv vim git iperf3 iperf mtr htop iputils-ping traceroute tcpdump wget iproute2 curl screen qemu-utils jq && \
36 rm -rf /var/lib/apt/lists/*
Alex17e4a592021-07-13 15:59:33 -050037
Ievgeniia Zadorozhna3a6f9e22023-05-12 18:31:28 +030038RUN apt-get update && \
Alexc7f187c2022-04-28 10:02:27 -050039 apt-get install apt-transport-https --yes && \
Ievgeniia Zadorozhnaa4ba3e82025-12-12 16:34:05 +010040 curl -fsSL https://packages.buildkite.com/helm-linux/helm-debian/gpgkey | gpg --dearmor | sudo tee /usr/share/keyrings/helm.gpg > /dev/null && \
41 echo "deb [signed-by=/usr/share/keyrings/helm.gpg] https://packages.buildkite.com/helm-linux/helm-debian/any/ any main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list && \
42 sudo apt-get update && \
43 sudo apt-get install -y helm && \
Ievgeniia Zadorozhna3a6f9e22023-05-12 18:31:28 +030044 rm -rf /var/lib/apt/lists/*
Alexc7f187c2022-04-28 10:02:27 -050045
Ievgeniia Zadorozhnaa33b29a2023-08-29 18:19:47 +030046RUN pip3 install --no-cache-dir pyghmi tempestparser
Alex17e4a592021-07-13 15:59:33 -050047
Ievgeniia Zadorozhnab9b2afa2025-12-02 18:32:29 +010048RUN git clone https://gerrit.mcp.mirantis.com/mcp/cvp-configuration -b 25.2-epoxy /opt/res-files && \
Alex73b792d2021-06-11 17:46:14 -050049 cd /opt/cfg-checker && \
50 python3 -m venv .checkervenv && \
51 . .checkervenv/bin/activate && \
52 pip3 install --no-cache-dir -r requirements.txt && \
53 python3 setup.py develop && \
54 deactivate && \
Alexa5e33462021-06-10 19:01:07 -050055 mkdir /opt/cmp-check && cd /opt/cmp-check && \
56 cp /opt/res-files/scripts/prepare.sh ./ && \
57 cp /opt/res-files/scripts/cmp_check.sh ./ && \
Alex73b792d2021-06-11 17:46:14 -050058 cp /opt/res-files/cleanup.sh ./ && \
Alex73b792d2021-06-11 17:46:14 -050059 rm -rf /opt/res-files/.git && \
60 rm -rf /opt/cfg-checker/.git
Alexa5e33462021-06-10 19:01:07 -050061
Alex17e4a592021-07-13 15:59:33 -050062RUN cd /opt/si-tests/ && \
63 python3 -m venv .sivenv && \
64 . .sivenv/bin/activate && \
65 pip3 install --no-cache-dir -r si_tests/requirements.txt && \
Ievgeniia Zadorozhna3a6f9e22023-05-12 18:31:28 +030066 deactivate
Alex17e4a592021-07-13 15:59:33 -050067
Alexf2f657e2021-06-14 19:44:05 -050068RUN curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" && \
69 install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl && \
70 rm kubectl
71
Ievgeniia Zadorozhna6c416492022-06-16 16:29:40 +030072RUN git clone "https://gerrit.mcp.mirantis.com/mcp/mos-spt" /opt/mos-spt && \
73 cd /opt/mos-spt && \
74 python3 -m venv .venv && \
75 . .venv/bin/activate && \
76 pip3 install --no-cache-dir -r requirements.txt && \
Ievgeniia Zadorozhna3a6f9e22023-05-12 18:31:28 +030077 deactivate
78
Ievgeniia Zadorozhna6c85f0c2024-07-31 19:03:02 +020079ADD k8s/src/openstack-refapp.tgz /opt/density/openstack-refapp/
Ievgeniia Zadorozhna3a6f9e22023-05-12 18:31:28 +030080
81RUN cd /opt/density/openstack-refapp/ && \
82 python3 -m venv .refapp-venv && \
83 . .refapp-venv/bin/activate && \
84 pip3 install --no-cache-dir -r requirements.txt && \
Ievgeniia Zadorozhna6c416492022-06-16 16:29:40 +030085 deactivate && \
Ievgeniia Zadorozhna3a6f9e22023-05-12 18:31:28 +030086 cp /opt/res-files/scripts/prepare-refapp.sh /opt/density/openstack-refapp/ && \
87 cp /opt/res-files/scripts/run-refapp-density.sh /opt/density/openstack-refapp/
Ievgeniia Zadorozhna6c416492022-06-16 16:29:40 +030088
Ievgeniia Zadorozhnab9b2afa2025-12-02 18:32:29 +010089RUN printf "LABELS:\n IMAGE_TAG: 25.2-epoxy" > /dockerimage_metadata
Ievgeniia Zadorozhnac21d5522024-07-26 18:42:49 +020090
Alexa5e33462021-06-10 19:01:07 -050091ENTRYPOINT ["sleep infinite"]
92