FROM ubuntu:20.04 AS download-packages
RUN mkdir /opt/packages && cd /opt/packages && \
    apt-get update && \
    apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances iperf3 iperf fio | grep "^\w" | sort -u) || true && \
    rm -rf /var/lib/apt/lists/*

FROM mirantis.azurecr.io/openstack/heat:antelope-jammy-20240717071031

LABEL maintainer="qa-ps@mirantis.com"

ADD k8s/src/mos-spt.tgz /opt/mos-spt/
WORKDIR /opt

COPY --from=download-packages /opt/packages /opt/packages

RUN export TZ="America/Chicago" && \
    ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && \
    apt-get update && \
    apt-get install -y make gcc g++ git libaio-dev libaio1 zlib1g-dev && \
    apt-get install -y python3-pip python3-venv vim iperf3 iperf mtr htop iputils-ping traceroute tcpdump wget iproute2 curl screen qemu-utils jq && \
    rm -rf /var/lib/apt/lists/*

RUN pip3 install --no-cache-dir tempestparser

RUN curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" && \
    install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl && \
    rm kubectl

RUN cd /opt/mos-spt && \
    python3 -m venv .venv && \
    . .venv/bin/activate && \
    pip3 install --no-cache-dir -r requirements.txt && \
    deactivate && \
    cd /opt

ENTRYPOINT ["sleep infinite"]

