blob: 1693de00336a5a4ba6cdf66a9f49d8938d18f859 [file] [log] [blame]
Mohammed Naser7bda44d2025-01-18 15:49:44 -05001# SPDX-FileCopyrightText: © 2025 VEXXHOST, Inc.
2# SPDX-License-Identifier: GPL-3.0-or-later
3# Atmosphere-Rebuild-Time: 2024-06-26T17:38:39Z
Mohammed Naserd28fbaf2024-04-08 17:15:00 -04004
Mohammed Naser7bda44d2025-01-18 15:49:44 -05005FROM golang AS octavia-test-server
Mohammed Naser91ed8ad2025-03-18 13:24:50 -04006ADD --keep-git-dir=true https://opendev.org/openstack/octavia-tempest-plugin.git#875c38f0355ecd31ce3a4ddf654d3adb8ea2370d /src
Mohammed Naserd28fbaf2024-04-08 17:15:00 -04007RUN GO111MODULE=off CGO_ENABLED=0 GOOS=linux go build \
8 -a -ldflags '-s -w -extldflags -static' \
9 -o /build/test_server.bin \
10 /src/octavia_tempest_plugin/contrib/test_server/test_server.go
11
Mohammed Naser7bda44d2025-01-18 15:49:44 -050012FROM openstack-venv-builder AS build
Mohammed Naser91ed8ad2025-03-18 13:24:50 -040013ADD --keep-git-dir=true https://opendev.org/openstack/requirements.git#7a304c74f76991597bfe7eb0666b2b2a2bf2ffa3 /src/requirements
14RUN git -C /src/requirements fetch --unshallow
15ADD --keep-git-dir=true https://opendev.org/openstack/tempest.git#50bd5aa470db2958018513ab43696dbb2596b30f /src/tempest
Mohammed Naserd28fbaf2024-04-08 17:15:00 -040016RUN git -C /src/tempest fetch --unshallow
Mohammed Naser91ed8ad2025-03-18 13:24:50 -040017ADD --keep-git-dir=true https://opendev.org/openstack/barbican-tempest-plugin.git#2cd185133a86242c58d721e66c2db753a369fe60 /src/barbican-tempest-plugin
Mohammed Naserd28fbaf2024-04-08 17:15:00 -040018RUN git -C /src/barbican-tempest-plugin fetch --unshallow
Mohammed Naser91ed8ad2025-03-18 13:24:50 -040019ADD --keep-git-dir=true https://opendev.org/openstack/cinder-tempest-plugin.git#bb5594c061370316bfc881e24d11b3350fb0aef9 /src/cinder-tempest-plugin
Mohammed Naserd28fbaf2024-04-08 17:15:00 -040020RUN git -C /src/cinder-tempest-plugin fetch --unshallow
Mohammed Naser91ed8ad2025-03-18 13:24:50 -040021ADD --keep-git-dir=true https://opendev.org/openstack/heat-tempest-plugin.git#d2db170988fe1ad3aedda997377b768a83ba9fe9 /src/heat-tempest-plugin
Mohammed Naserd28fbaf2024-04-08 17:15:00 -040022RUN git -C /src/heat-tempest-plugin fetch --unshallow
Mohammed Naser91ed8ad2025-03-18 13:24:50 -040023ADD --keep-git-dir=true https://opendev.org/openstack/keystone-tempest-plugin.git#f3c89425613f333a1152a7d420e5d681154f7ad1 /src/keystone-tempest-plugin
Mohammed Naserd28fbaf2024-04-08 17:15:00 -040024RUN git -C /src/keystone-tempest-plugin fetch --unshallow
Mohammed Naser91ed8ad2025-03-18 13:24:50 -040025ADD --keep-git-dir=true https://opendev.org/openstack/neutron-tempest-plugin.git#ed3744eba062bffa318f786c1370ecd2d0dae130 /src/neutron-tempest-plugin
Mohammed Naserd28fbaf2024-04-08 17:15:00 -040026RUN git -C /src/neutron-tempest-plugin fetch --unshallow
Mohammed Naser91ed8ad2025-03-18 13:24:50 -040027ADD --keep-git-dir=true https://opendev.org/openstack/octavia-tempest-plugin.git#875c38f0355ecd31ce3a4ddf654d3adb8ea2370d /src/octavia-tempest-plugin
Mohammed Naserd28fbaf2024-04-08 17:15:00 -040028RUN git -C /src/octavia-tempest-plugin fetch --unshallow
Mohammed Naserd28fbaf2024-04-08 17:15:00 -040029RUN --mount=type=cache,mode=0755,target=/root/.cache/pip,sharing=private <<EOF bash -xe
30pip3 install \
Mohammed Naser91ed8ad2025-03-18 13:24:50 -040031 --constraint /src/requirements/upper-constraints.txt \
Mohammed Naserd28fbaf2024-04-08 17:15:00 -040032 /src/tempest \
33 /src/barbican-tempest-plugin \
34 /src/cinder-tempest-plugin \
35 /src/heat-tempest-plugin \
36 /src/keystone-tempest-plugin \
37 /src/neutron-tempest-plugin \
38 /src/octavia-tempest-plugin
39EOF
40
Mohammed Naser7bda44d2025-01-18 15:49:44 -050041FROM openstack-python-runtime
Mohammed Naserd28fbaf2024-04-08 17:15:00 -040042RUN <<EOF bash -xe
43apt-get update -qq
44apt-get install -qq -y --no-install-recommends \
45 iputils-ping openssh-client
46apt-get clean
47rm -rf /var/lib/apt/lists/*
48EOF
49COPY --from=octavia-test-server --link /build/test_server.bin /opt/octavia-tempest-plugin/test_server.bin
50COPY --from=build --link /var/lib/openstack /var/lib/openstack