Refactor image tags to be dynamic (#1120)
In order to simplify backporting and branching of new releases,
this patch relies on the Zuul branch when building images so
that we can easily branch out a new release and it will
automatically pick up the images.
diff --git a/Dockerfile b/Dockerfile
index e336f12..278b418 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -12,6 +12,8 @@
# License for the specific language governing permissions and limitations
# under the License.
+ARG RELEASE
+
FROM golang:1.21 AS go-builder
COPY go.mod go.sum /src/
WORKDIR /src
@@ -22,6 +24,6 @@
COPY internal/ /src/internal/
RUN go build -o main ./cmd/libvirt-tls-sidecar/main.go
-FROM registry.atmosphere.dev/library/ubuntu:main AS libvirt-tls-sidecar
+FROM registry.atmosphere.dev/library/ubuntu:${RELEASE} AS libvirt-tls-sidecar
COPY --from=libvirt-tls-sidecar-builder /src/main /usr/bin/libvirt-tls-sidecar
ENTRYPOINT ["/usr/bin/libvirt-tls-sidecar"]
diff --git a/build/pin-images.py b/build/pin-images.py
index d35ca65..8818f2c 100755
--- a/build/pin-images.py
+++ b/build/pin-images.py
@@ -129,12 +129,6 @@
parser.add_argument(
"dst", help="Path for output file", type=argparse.FileType("r+")
)
- parser.add_argument(
- "-r",
- "--registry",
- default="ghcr.io/vexxhost/atmosphere",
- help="Registry containing Atmosphere images",
- )
args = parser.parse_args()
@@ -145,15 +139,8 @@
if image in SKIP_IMAGE_LIST:
continue
- # NOTE(mnaser): If we're in CI, only pin the Atmosphere images
- if (
- "registry.atmosphere.dev" in args.registry
- and "ghcr.io/vexxhost/atmosphere" not in data["_atmosphere_images"][image]
- ):
- continue
-
image_src = data["_atmosphere_images"][image].replace(
- "ghcr.io/vexxhost/atmosphere", args.registry
+ "{{ atmosphere_release }}", data["atmosphere_release"]
)
pinned_image = get_pinned_image(image_src)
diff --git a/images/barbican/Dockerfile b/images/barbican/Dockerfile
index 28de6ab..e7f6f44 100644
--- a/images/barbican/Dockerfile
+++ b/images/barbican/Dockerfile
@@ -12,7 +12,9 @@
# License for the specific language governing permissions and limitations
# under the License.
-FROM registry.atmosphere.dev/library/openstack-venv-builder:main AS build
+ARG RELEASE
+
+FROM registry.atmosphere.dev/library/openstack-venv-builder:${RELEASE} AS build
ARG BARBICAN_GIT_REF=ca57ef5436e20e90cf6cd6853efe3c89a9afd986
ADD --keep-git-dir=true https://opendev.org/openstack/barbican.git#${BARBICAN_GIT_REF} /src/barbican
RUN git -C /src/barbican fetch --unshallow
@@ -23,5 +25,5 @@
pykmip
EOF
-FROM registry.atmosphere.dev/library/openstack-python-runtime:main
+FROM registry.atmosphere.dev/library/openstack-python-runtime:${RELEASE}
COPY --from=build --link /var/lib/openstack /var/lib/openstack
diff --git a/images/cinder/Dockerfile b/images/cinder/Dockerfile
index 4f0fbb5..d4f68b3 100644
--- a/images/cinder/Dockerfile
+++ b/images/cinder/Dockerfile
@@ -12,7 +12,9 @@
# License for the specific language governing permissions and limitations
# under the License.
-FROM registry.atmosphere.dev/library/openstack-venv-builder:main AS build
+ARG RELEASE
+
+FROM registry.atmosphere.dev/library/openstack-venv-builder:${RELEASE} AS build
ARG CINDER_GIT_REF=b0f0b9015b9dfa228dff98eeee5116d8eca1c3cc
ADD --keep-git-dir=true https://opendev.org/openstack/cinder.git#${CINDER_GIT_REF} /src/cinder
RUN git -C /src/cinder fetch --unshallow
@@ -25,7 +27,7 @@
purestorage
EOF
-FROM registry.atmosphere.dev/library/openstack-python-runtime:main
+FROM registry.atmosphere.dev/library/openstack-python-runtime:${RELEASE}
RUN <<EOF bash -xe
apt-get update -qq
apt-get install -qq -y --no-install-recommends \
diff --git a/images/designate/Dockerfile b/images/designate/Dockerfile
index 2f86cb6..4fc0b75 100644
--- a/images/designate/Dockerfile
+++ b/images/designate/Dockerfile
@@ -12,7 +12,9 @@
# License for the specific language governing permissions and limitations
# under the License.
-FROM registry.atmosphere.dev/library/openstack-venv-builder:main AS build
+ARG RELEASE
+
+FROM registry.atmosphere.dev/library/openstack-venv-builder:${RELEASE} AS build
ARG DESIGNATE_GIT_REF=097ffc6df181290eba1bcd7c492b1b505bc15434
ADD --keep-git-dir=true https://opendev.org/openstack/designate.git#${DESIGNATE_GIT_REF} /src/designate
RUN git -C /src/designate fetch --unshallow
@@ -24,7 +26,7 @@
/src/designate
EOF
-FROM registry.atmosphere.dev/library/openstack-python-runtime:main
+FROM registry.atmosphere.dev/library/openstack-python-runtime:${RELEASE}
RUN <<EOF bash -xe
apt-get update -qq
apt-get install -qq -y --no-install-recommends \
diff --git a/images/glance/Dockerfile b/images/glance/Dockerfile
index f408dfc..9b77fd3 100644
--- a/images/glance/Dockerfile
+++ b/images/glance/Dockerfile
@@ -12,7 +12,9 @@
# License for the specific language governing permissions and limitations
# under the License.
-FROM registry.atmosphere.dev/library/openstack-venv-builder:main AS build
+ARG RELEASE
+
+FROM registry.atmosphere.dev/library/openstack-venv-builder:${RELEASE} AS build
ARG GLANCE_GIT_REF=0bcd6cd71c09917c6734421374fd598d73e8d0cc
ADD --keep-git-dir=true https://opendev.org/openstack/glance.git#${GLANCE_GIT_REF} /src/glance
RUN git -C /src/glance fetch --unshallow
@@ -25,7 +27,7 @@
/src/glance_store[cinder]
EOF
-FROM registry.atmosphere.dev/library/openstack-python-runtime:main
+FROM registry.atmosphere.dev/library/openstack-python-runtime:${RELEASE}
RUN <<EOF bash -xe
apt-get update -qq
apt-get install -qq -y --no-install-recommends \
diff --git a/images/heat/Dockerfile b/images/heat/Dockerfile
index d2f088c..5a13451 100644
--- a/images/heat/Dockerfile
+++ b/images/heat/Dockerfile
@@ -12,7 +12,9 @@
# License for the specific language governing permissions and limitations
# under the License.
-FROM registry.atmosphere.dev/library/openstack-venv-builder:main AS build
+ARG RELEASE
+
+FROM registry.atmosphere.dev/library/openstack-venv-builder:${RELEASE} AS build
ARG HEAT_GIT_REF=80eea85194825773d1b60ecc4386b2d5ba52a066
ADD --keep-git-dir=true https://opendev.org/openstack/heat.git#${HEAT_GIT_REF} /src/heat
RUN git -C /src/heat fetch --unshallow
@@ -22,7 +24,7 @@
/src/heat
EOF
-FROM registry.atmosphere.dev/library/openstack-python-runtime:main
+FROM registry.atmosphere.dev/library/openstack-python-runtime:${RELEASE}
RUN <<EOF bash -xe
apt-get update -qq
apt-get install -qq -y --no-install-recommends \
diff --git a/images/horizon/Dockerfile b/images/horizon/Dockerfile
index 2f80436..c2c63f2 100644
--- a/images/horizon/Dockerfile
+++ b/images/horizon/Dockerfile
@@ -12,7 +12,9 @@
# License for the specific language governing permissions and limitations
# under the License.
-FROM registry.atmosphere.dev/library/openstack-venv-builder:main AS build
+ARG RELEASE
+
+FROM registry.atmosphere.dev/library/openstack-venv-builder:${RELEASE} AS build
ARG HORIZON_GIT_REF=3f1f1d46e6e47a3dbe46fb023fe69ff25d6a601b
ADD --keep-git-dir=true https://opendev.org/openstack/horizon.git#${HORIZON_GIT_REF} /src/horizon
RUN git -C /src/horizon fetch --unshallow
@@ -49,7 +51,7 @@
pymemcache
EOF
-FROM registry.atmosphere.dev/library/openstack-python-runtime:main
+FROM registry.atmosphere.dev/library/openstack-python-runtime:${RELEASE}
RUN <<EOF bash -xe
apt-get update -qq
apt-get install -qq -y --no-install-recommends \
diff --git a/images/ironic/Dockerfile b/images/ironic/Dockerfile
index 8361034..bd4c7fe 100644
--- a/images/ironic/Dockerfile
+++ b/images/ironic/Dockerfile
@@ -12,7 +12,9 @@
# License for the specific language governing permissions and limitations
# under the License.
-FROM registry.atmosphere.dev/library/openstack-venv-builder:main AS build
+ARG RELEASE
+
+FROM registry.atmosphere.dev/library/openstack-venv-builder:${RELEASE} AS build
ARG IRONIC_GIT_REF=22aa29b864eecd00bfb7c67cc2075030da1eb1d0
ADD --keep-git-dir=true https://opendev.org/openstack/ironic.git#${IRONIC_GIT_REF} /src/ironic
RUN git -C /src/ironic fetch --unshallow
@@ -24,7 +26,7 @@
sushy
EOF
-FROM registry.atmosphere.dev/library/openstack-python-runtime:main
+FROM registry.atmosphere.dev/library/openstack-python-runtime:${RELEASE}
RUN <<EOF bash -xe
apt-get update -qq
apt-get install -qq -y --no-install-recommends \
diff --git a/images/keepalived/Dockerfile b/images/keepalived/Dockerfile
index 599a93c..55cb73a 100644
--- a/images/keepalived/Dockerfile
+++ b/images/keepalived/Dockerfile
@@ -12,7 +12,9 @@
# License for the specific language governing permissions and limitations
# under the License.
-FROM registry.atmosphere.dev/library/ubuntu:main
+ARG RELEASE
+
+FROM registry.atmosphere.dev/library/ubuntu:${RELEASE}
RUN <<EOF bash -xe
apt-get update -qq
apt-get install -qq -y --no-install-recommends \
diff --git a/images/keystone/Dockerfile b/images/keystone/Dockerfile
index a589dca..29bd6fb 100644
--- a/images/keystone/Dockerfile
+++ b/images/keystone/Dockerfile
@@ -12,7 +12,9 @@
# License for the specific language governing permissions and limitations
# under the License.
-FROM registry.atmosphere.dev/library/openstack-venv-builder:main AS build
+ARG RELEASE
+
+FROM registry.atmosphere.dev/library/openstack-venv-builder:${RELEASE} AS build
ARG KEYSTONE_GIT_REF=8ca73f758bb613a57815fbe4ae78e3d2afa4af49
ADD --keep-git-dir=true https://opendev.org/openstack/keystone.git#${KEYSTONE_GIT_REF} /src/keystone
RUN git -C /src/keystone fetch --unshallow
@@ -23,7 +25,7 @@
keystone-keycloak-backend==0.1.8
EOF
-FROM registry.atmosphere.dev/library/openstack-python-runtime:main
+FROM registry.atmosphere.dev/library/openstack-python-runtime:${RELEASE}
RUN <<EOF bash -xe
apt-get update -qq
apt-get install -qq -y --no-install-recommends \
diff --git a/images/libvirtd/Dockerfile b/images/libvirtd/Dockerfile
index 5654edf..65ae2d2 100644
--- a/images/libvirtd/Dockerfile
+++ b/images/libvirtd/Dockerfile
@@ -12,7 +12,9 @@
# License for the specific language governing permissions and limitations
# under the License.
-FROM registry.atmosphere.dev/library/openstack-runtime:main
+ARG RELEASE
+
+FROM registry.atmosphere.dev/library/openstack-runtime:${RELEASE}
ADD --chmod=644 https://download.ceph.com/keys/release.gpg /etc/apt/trusted.gpg.d/ceph.gpg
COPY <<EOF /etc/apt/sources.list.d/ceph.list
deb http://download.ceph.com/debian-reef/ jammy main
diff --git a/images/magnum/Dockerfile b/images/magnum/Dockerfile
index eca883d..6abfca0 100644
--- a/images/magnum/Dockerfile
+++ b/images/magnum/Dockerfile
@@ -12,7 +12,9 @@
# License for the specific language governing permissions and limitations
# under the License.
-FROM registry.atmosphere.dev/library/ubuntu:main AS helm
+ARG RELEASE
+
+FROM registry.atmosphere.dev/library/ubuntu:${RELEASE} AS helm
ARG TARGETOS
ARG TARGETARCH
ARG HELM_VERSION=3.14.0
@@ -20,7 +22,7 @@
RUN tar -xzf /helm.tar.gz
RUN mv /${TARGETOS}-${TARGETARCH}/helm /usr/bin/helm
-FROM registry.atmosphere.dev/library/openstack-venv-builder:main AS build
+FROM registry.atmosphere.dev/library/openstack-venv-builder:${RELEASE} AS build
ARG MAGNUM_GIT_REF=c613ea4e419edc0086116da07e93cf19206746e1
ADD --keep-git-dir=true https://opendev.org/openstack/magnum.git#${MAGNUM_GIT_REF} /src/magnum
RUN git -C /src/magnum fetch --unshallow
@@ -31,7 +33,7 @@
magnum-cluster-api==0.16.0
EOF
-FROM registry.atmosphere.dev/library/openstack-python-runtime:main
+FROM registry.atmosphere.dev/library/openstack-python-runtime:${RELEASE}
RUN <<EOF bash -xe
apt-get update -qq
apt-get install -qq -y --no-install-recommends \
diff --git a/images/manila/Dockerfile b/images/manila/Dockerfile
index cbf63ec..f6c5784 100644
--- a/images/manila/Dockerfile
+++ b/images/manila/Dockerfile
@@ -12,7 +12,9 @@
# License for the specific language governing permissions and limitations
# under the License.
-FROM registry.atmosphere.dev/library/openstack-venv-builder:main AS build
+ARG RELEASE
+
+FROM registry.atmosphere.dev/library/openstack-venv-builder:${RELEASE} AS build
ARG MANILA_GIT_REF=d8987589ae88ae9b2769fbe6f26d5b6994098038
ADD --keep-git-dir=true https://opendev.org/openstack/manila.git#${MANILA_GIT_REF} /src/manila
RUN git -C /src/manila fetch --unshallow
@@ -22,7 +24,7 @@
/src/manila
EOF
-FROM registry.atmosphere.dev/library/openstack-python-runtime:main
+FROM registry.atmosphere.dev/library/openstack-python-runtime:${RELEASE}
RUN <<EOF bash -xe
apt-get update -qq
apt-get install -qq -y --no-install-recommends \
diff --git a/images/netoffload/Dockerfile b/images/netoffload/Dockerfile
index 93df492..a1a0ec2 100644
--- a/images/netoffload/Dockerfile
+++ b/images/netoffload/Dockerfile
@@ -12,13 +12,15 @@
# License for the specific language governing permissions and limitations
# under the License.
+ARG RELEASE
+
FROM golang:1.20 AS build
ARG NETOFFLOAD_GIT_REF=94b8c0fdb0b83bd1b7e14b9a58077a047c78a800
ADD https://github.com/vexxhost/netoffload.git#${NETOFFLOAD_GIT_REF} /src
WORKDIR /src
RUN go build -v -o offloadctl ./cmd/offloadctl/main.go
-FROM registry.atmosphere.dev/library/ubuntu:main
+FROM registry.atmosphere.dev/library/ubuntu:${RELEASE}
RUN <<EOF bash -xe
apt-get update -qq
apt-get install -qq -y --no-install-recommends \
diff --git a/images/neutron/Dockerfile b/images/neutron/Dockerfile
index 716aa1d..d10ac94 100644
--- a/images/neutron/Dockerfile
+++ b/images/neutron/Dockerfile
@@ -12,7 +12,9 @@
# License for the specific language governing permissions and limitations
# under the License.
-FROM registry.atmosphere.dev/library/openstack-venv-builder:main AS build
+ARG RELEASE
+
+FROM registry.atmosphere.dev/library/openstack-venv-builder:${RELEASE} AS build
ARG NEUTRON_GIT_REF=019294c71d94b788c14b23dc1da3c21f51bcdb0b
ADD --keep-git-dir=true https://opendev.org/openstack/neutron.git#${NEUTRON_GIT_REF} /src/neutron
RUN git -C /src/neutron fetch --unshallow
@@ -25,7 +27,7 @@
/src/neutron-vpnaas
EOF
-FROM registry.atmosphere.dev/library/openstack-python-runtime:main
+FROM registry.atmosphere.dev/library/openstack-python-runtime:${RELEASE}
RUN <<EOF bash -xe
apt-get update -qq
apt-get install -qq -y --no-install-recommends \
diff --git a/images/nova-ssh/Dockerfile b/images/nova-ssh/Dockerfile
index dd59388..37fc531 100644
--- a/images/nova-ssh/Dockerfile
+++ b/images/nova-ssh/Dockerfile
@@ -12,7 +12,9 @@
# License for the specific language governing permissions and limitations
# under the License.
-FROM registry.atmosphere.dev/library/openstack-runtime:main
+ARG RELEASE
+
+FROM registry.atmosphere.dev/library/openstack-runtime:${RELEASE}
RUN <<EOF bash -xe
apt-get update -qq
apt-get install -qq -y --no-install-recommends \
diff --git a/images/nova/Dockerfile b/images/nova/Dockerfile
index c626858..968c013 100644
--- a/images/nova/Dockerfile
+++ b/images/nova/Dockerfile
@@ -12,7 +12,9 @@
# License for the specific language governing permissions and limitations
# under the License.
-FROM registry.atmosphere.dev/library/openstack-venv-builder:main AS build
+ARG RELEASE
+
+FROM registry.atmosphere.dev/library/openstack-venv-builder:${RELEASE} AS build
ARG NOVA_GIT_REF=c199becf52267ba37c5191f6f82e29bb5232b607
ADD --keep-git-dir=true https://opendev.org/openstack/nova.git#${NOVA_GIT_REF} /src/nova
RUN git -C /src/nova fetch --unshallow
@@ -22,7 +24,7 @@
/src/nova
EOF
-FROM registry.atmosphere.dev/library/openstack-python-runtime:main
+FROM registry.atmosphere.dev/library/openstack-python-runtime:${RELEASE}
ADD https://github.com/novnc/noVNC.git#v1.4.0 /usr/share/novnc
RUN <<EOF bash -xe
apt-get update -qq
diff --git a/images/octavia/Dockerfile b/images/octavia/Dockerfile
index d4dd8d3..53baf56 100644
--- a/images/octavia/Dockerfile
+++ b/images/octavia/Dockerfile
@@ -12,7 +12,9 @@
# License for the specific language governing permissions and limitations
# under the License.
-FROM registry.atmosphere.dev/library/openstack-venv-builder:main AS build
+ARG RELEASE
+
+FROM registry.atmosphere.dev/library/openstack-venv-builder:${RELEASE} AS build
ARG OCTAVIA_GIT_REF=824b51a1dad80292b7a8ad5d61bf3ce706b1fb29
ADD --keep-git-dir=true https://opendev.org/openstack/octavia.git#${OCTAVIA_GIT_REF} /src/octavia
RUN git -C /src/octavia fetch --unshallow
@@ -25,7 +27,7 @@
/src/ovn-octavia-provider
EOF
-FROM registry.atmosphere.dev/library/openstack-python-runtime:main
+FROM registry.atmosphere.dev/library/openstack-python-runtime:${RELEASE}
RUN <<EOF bash -xe
apt-get update -qq
apt-get install -qq -y --no-install-recommends \
diff --git a/images/openstack-runtime/Dockerfile b/images/openstack-runtime/Dockerfile
index b5bbf82..0bd8099 100644
--- a/images/openstack-runtime/Dockerfile
+++ b/images/openstack-runtime/Dockerfile
@@ -12,7 +12,9 @@
# License for the specific language governing permissions and limitations
# under the License.
-ARG FROM=registry.atmosphere.dev/library/ubuntu-cloud-archive:main
+ARG RELEASE
+
+ARG FROM=registry.atmosphere.dev/library/ubuntu-cloud-archive:${RELEASE}
FROM ${FROM}
ONBUILD ARG PROJECT
ONBUILD ARG SHELL=/usr/sbin/nologin
diff --git a/images/openstack-venv-builder/Dockerfile b/images/openstack-venv-builder/Dockerfile
index 057af96..a9b017c 100644
--- a/images/openstack-venv-builder/Dockerfile
+++ b/images/openstack-venv-builder/Dockerfile
@@ -12,14 +12,16 @@
# License for the specific language governing permissions and limitations
# under the License.
-FROM registry.atmosphere.dev/library/ubuntu-cloud-archive:main AS requirements
+ARG RELEASE
+
+FROM registry.atmosphere.dev/library/ubuntu-cloud-archive:${RELEASE} AS requirements
ADD https://releases.openstack.org/constraints/upper/master /upper-constraints.txt
RUN <<EOF sh -xe
sed -i '/glance-store/d' /upper-constraints.txt
sed -i '/horizon/d' /upper-constraints.txt
EOF
-FROM registry.atmosphere.dev/library/python-base:main
+FROM registry.atmosphere.dev/library/python-base:${RELEASE}
RUN <<EOF bash -xe
apt-get update -qq
apt-get install -qq -y --no-install-recommends \
diff --git a/images/ovn/Dockerfile b/images/ovn/Dockerfile
index 065950b..43201d1 100644
--- a/images/ovn/Dockerfile
+++ b/images/ovn/Dockerfile
@@ -12,6 +12,8 @@
# License for the specific language governing permissions and limitations
# under the License.
+ARG RELEASE
+
FROM golang:1.20 AS ovn-kubernetes
ARG OVN_KUBERNETES_REF=5359e7d7f872058b6e5bf884c9f19d1922451f29
ADD https://github.com/ovn-org/ovn-kubernetes.git#${OVN_KUBERNETES_REF} /src
@@ -22,7 +24,7 @@
go build -o /usr/bin/ovn-kube-util ./cmd/ovn-kube-util
EOF
-FROM registry.atmosphere.dev/library/openvswitch:main
+FROM registry.atmosphere.dev/library/openvswitch:${RELEASE}
ADD --chmod=755 https://dl.k8s.io/release/v1.29.3/bin/linux/amd64/kubectl /usr/local/bin/kubectl
ARG OVN_SERIES=23.03
ARG OVN_VERSION=${OVN_SERIES}.0-69
diff --git a/images/placement/Dockerfile b/images/placement/Dockerfile
index d729d15..be6c9f4 100644
--- a/images/placement/Dockerfile
+++ b/images/placement/Dockerfile
@@ -12,7 +12,9 @@
# License for the specific language governing permissions and limitations
# under the License.
-FROM registry.atmosphere.dev/library/openstack-venv-builder:main AS build
+ARG RELEASE
+
+FROM registry.atmosphere.dev/library/openstack-venv-builder:${RELEASE} AS build
ARG PLACEMENT_GIT_REF=96a9aeb3b4a6ffff5bbf247b213409395239fc7a
ADD --keep-git-dir=true https://opendev.org/openstack/placement.git#${PLACEMENT_GIT_REF} /src/placement
RUN git -C /src/placement fetch --unshallow
@@ -22,5 +24,5 @@
/src/placement
EOF
-FROM registry.atmosphere.dev/library/openstack-python-runtime:main
+FROM registry.atmosphere.dev/library/openstack-python-runtime:${RELEASE}
COPY --from=build --link /var/lib/openstack /var/lib/openstack
diff --git a/images/python-base/Dockerfile b/images/python-base/Dockerfile
index c098401..883a4f4 100644
--- a/images/python-base/Dockerfile
+++ b/images/python-base/Dockerfile
@@ -12,7 +12,9 @@
# License for the specific language governing permissions and limitations
# under the License.
-FROM registry.atmosphere.dev/library/ubuntu-cloud-archive:main
+ARG RELEASE
+
+FROM registry.atmosphere.dev/library/ubuntu-cloud-archive:${RELEASE}
ENV PATH=/var/lib/openstack/bin:$PATH
RUN \
apt-get update -qq && \
diff --git a/images/senlin/Dockerfile b/images/senlin/Dockerfile
index 3f5490b..659e137 100644
--- a/images/senlin/Dockerfile
+++ b/images/senlin/Dockerfile
@@ -12,7 +12,9 @@
# License for the specific language governing permissions and limitations
# under the License.
-FROM registry.atmosphere.dev/library/openstack-venv-builder:main AS build
+ARG RELEASE
+
+FROM registry.atmosphere.dev/library/openstack-venv-builder:${RELEASE} AS build
ARG SENLIN_GIT_REF=ec5fae997686c64c3c1192b231b2434e6a6aeb1c
ADD --keep-git-dir=true https://opendev.org/openstack/senlin.git#${SENLIN_GIT_REF} /src/senlin
RUN git -C /src/senlin fetch --unshallow
@@ -22,5 +24,5 @@
/src/senlin
EOF
-FROM registry.atmosphere.dev/library/openstack-python-runtime:main
+FROM registry.atmosphere.dev/library/openstack-python-runtime:${RELEASE}
COPY --from=build --link /var/lib/openstack /var/lib/openstack
diff --git a/images/staffeln/Dockerfile b/images/staffeln/Dockerfile
index 167c978..c4fb1fb 100644
--- a/images/staffeln/Dockerfile
+++ b/images/staffeln/Dockerfile
@@ -12,7 +12,9 @@
# License for the specific language governing permissions and limitations
# under the License.
-FROM registry.atmosphere.dev/library/openstack-venv-builder:main AS build
+ARG RELEASE
+
+FROM registry.atmosphere.dev/library/openstack-venv-builder:${RELEASE} AS build
ARG STAFFELN_GIT_REF=v2.2.3
ADD --keep-git-dir=true https://github.com/vexxhost/staffeln.git#${STAFFELN_GIT_REF} /src/staffeln
RUN git -C /src/staffeln fetch --unshallow
@@ -22,5 +24,5 @@
/src/staffeln
EOF
-FROM registry.atmosphere.dev/library/openstack-python-runtime:main
+FROM registry.atmosphere.dev/library/openstack-python-runtime:${RELEASE}
COPY --from=build --link /var/lib/openstack /var/lib/openstack
diff --git a/images/tempest/Dockerfile b/images/tempest/Dockerfile
index 5c40c75..95746a8 100644
--- a/images/tempest/Dockerfile
+++ b/images/tempest/Dockerfile
@@ -12,6 +12,8 @@
# License for the specific language governing permissions and limitations
# under the License.
+ARG RELEASE
+
FROM golang:1.18 AS octavia-test-server
ADD --keep-git-dir=true https://opendev.org/openstack/octavia-tempest-plugin.git#master /src
RUN GO111MODULE=off CGO_ENABLED=0 GOOS=linux go build \
@@ -19,7 +21,7 @@
-o /build/test_server.bin \
/src/octavia_tempest_plugin/contrib/test_server/test_server.go
-FROM registry.atmosphere.dev/library/openstack-venv-builder:main AS build
+FROM registry.atmosphere.dev/library/openstack-venv-builder:${RELEASE} AS build
ARG TEMPEST_GIT_REF=c0da6e843a74c2392c8e87e8ff36d2fea12949c4
ADD --keep-git-dir=true https://opendev.org/openstack/tempest.git#${TEMPEST_GIT_REF} /src/tempest
RUN git -C /src/tempest fetch --unshallow
@@ -48,7 +50,7 @@
/src/octavia-tempest-plugin
EOF
-FROM registry.atmosphere.dev/library/openstack-python-runtime:main
+FROM registry.atmosphere.dev/library/openstack-python-runtime:${RELEASE}
RUN <<EOF bash -xe
apt-get update -qq
apt-get install -qq -y --no-install-recommends \
diff --git a/images/ubuntu-cloud-archive/Dockerfile b/images/ubuntu-cloud-archive/Dockerfile
index ed2ec3a..f355a48 100644
--- a/images/ubuntu-cloud-archive/Dockerfile
+++ b/images/ubuntu-cloud-archive/Dockerfile
@@ -12,7 +12,9 @@
# License for the specific language governing permissions and limitations
# under the License.
-FROM registry.atmosphere.dev/library/ubuntu:main
+ARG RELEASE
+
+FROM registry.atmosphere.dev/library/ubuntu:${RELEASE}
COPY trusted.gpg.d/ubuntu-cloud-keyring.gpg /etc/apt/trusted.gpg.d/ubuntu-cloud-keyring.gpg
COPY <<EOF /etc/apt/sources.list.d/cloudarchive.list
deb http://ubuntu-cloud.archive.canonical.com/ubuntu jammy-updates/caracal main
diff --git a/roles/defaults/vars/main.yml b/roles/defaults/vars/main.yml
index 632ba31..dec4745 100644
--- a/roles/defaults/vars/main.yml
+++ b/roles/defaults/vars/main.yml
@@ -12,12 +12,14 @@
# License for the specific language governing permissions and limitations
# under the License.
+atmosphere_release: main
+
_atmosphere_images:
alertmanager: quay.io/prometheus/alertmanager:v0.27.0
- barbican_api: registry.atmosphere.dev/library/barbican:main
- barbican_db_sync: registry.atmosphere.dev/library/barbican:main
- bootstrap: registry.atmosphere.dev/library/heat:main
- ceph_config_helper: registry.atmosphere.dev/library/libvirtd:main
+ barbican_api: "registry.atmosphere.dev/library/barbican:{{ atmosphere_release }}"
+ barbican_db_sync: "registry.atmosphere.dev/library/barbican:{{ atmosphere_release }}"
+ bootstrap: "registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ ceph_config_helper: "registry.atmosphere.dev/library/libvirtd:{{ atmosphere_release }}"
ceph: quay.io/ceph/ceph:v16.2.11
cert_manager_cainjector: quay.io/jetstack/cert-manager-cainjector:v1.7.1
cert_manager_cli: quay.io/jetstack/cert-manager-ctl:v1.7.1
@@ -25,14 +27,14 @@
cert_manager_webhook: quay.io/jetstack/cert-manager-webhook:v1.7.1
cilium_node: quay.io/cilium/cilium:v1.14.8
cilium_operator: quay.io/cilium/operator-generic:v1.14.8
- cinder_api: registry.atmosphere.dev/library/cinder:main
- cinder_backup_storage_init: registry.atmosphere.dev/library/cinder:main
- cinder_backup: registry.atmosphere.dev/library/cinder:main
- cinder_db_sync: registry.atmosphere.dev/library/cinder:main
- cinder_scheduler: registry.atmosphere.dev/library/cinder:main
- cinder_storage_init: registry.atmosphere.dev/library/cinder:main
- cinder_volume_usage_audit: registry.atmosphere.dev/library/cinder:main
- cinder_volume: registry.atmosphere.dev/library/cinder:main
+ cinder_api: "registry.atmosphere.dev/library/cinder:{{ atmosphere_release }}"
+ cinder_backup_storage_init: "registry.atmosphere.dev/library/cinder:{{ atmosphere_release }}"
+ cinder_backup: "registry.atmosphere.dev/library/cinder:{{ atmosphere_release }}"
+ cinder_db_sync: "registry.atmosphere.dev/library/cinder:{{ atmosphere_release }}"
+ cinder_scheduler: "registry.atmosphere.dev/library/cinder:{{ atmosphere_release }}"
+ cinder_storage_init: "registry.atmosphere.dev/library/cinder:{{ atmosphere_release }}"
+ cinder_volume_usage_audit: "registry.atmosphere.dev/library/cinder:{{ atmosphere_release }}"
+ cinder_volume: "registry.atmosphere.dev/library/cinder:{{ atmosphere_release }}"
cluster_api_controller: registry.k8s.io/cluster-api/cluster-api-controller:v1.6.0
cluster_api_kubeadm_bootstrap_controller: registry.k8s.io/cluster-api/kubeadm-bootstrap-controller:v1.6.0
cluster_api_kubeadm_control_plane_controller: registry.k8s.io/cluster-api/kubeadm-control-plane-controller:v1.6.0
@@ -43,49 +45,49 @@
csi_rbd_provisioner: registry.k8s.io/sig-storage/csi-provisioner:v3.1.0
csi_rbd_resizer: registry.k8s.io/sig-storage/csi-resizer:v1.3.0
csi_rbd_snapshotter: registry.k8s.io/sig-storage/csi-snapshotter:v4.2.0
- db_drop: registry.atmosphere.dev/library/heat:main
- db_init: registry.atmosphere.dev/library/heat:main
- dep_check: registry.atmosphere.dev/library/kubernetes-entrypoint:main
- designate_api: registry.atmosphere.dev/library/designate:main
- designate_central: registry.atmosphere.dev/library/designate:main
- designate_db_sync: registry.atmosphere.dev/library/designate:main
- designate_mdns: registry.atmosphere.dev/library/designate:main
- designate_producer: registry.atmosphere.dev/library/designate:main
- designate_sink: registry.atmosphere.dev/library/designate:main
- designate_worker: registry.atmosphere.dev/library/designate:main
- glance_api: registry.atmosphere.dev/library/glance:main
- glance_db_sync: registry.atmosphere.dev/library/glance:main
- glance_metadefs_load: registry.atmosphere.dev/library/glance:main
- glance_registry: registry.atmosphere.dev/library/glance:main
- glance_storage_init: registry.atmosphere.dev/library/glance:main
+ db_drop: "registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ db_init: "registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ dep_check: "registry.atmosphere.dev/library/kubernetes-entrypoint:{{ atmosphere_release }}"
+ designate_api: "registry.atmosphere.dev/library/designate:{{ atmosphere_release }}"
+ designate_central: "registry.atmosphere.dev/library/designate:{{ atmosphere_release }}"
+ designate_db_sync: "registry.atmosphere.dev/library/designate:{{ atmosphere_release }}"
+ designate_mdns: "registry.atmosphere.dev/library/designate:{{ atmosphere_release }}"
+ designate_producer: "registry.atmosphere.dev/library/designate:{{ atmosphere_release }}"
+ designate_sink: "registry.atmosphere.dev/library/designate:{{ atmosphere_release }}"
+ designate_worker: "registry.atmosphere.dev/library/designate:{{ atmosphere_release }}"
+ glance_api: "registry.atmosphere.dev/library/glance:{{ atmosphere_release }}"
+ glance_db_sync: "registry.atmosphere.dev/library/glance:{{ atmosphere_release }}"
+ glance_metadefs_load: "registry.atmosphere.dev/library/glance:{{ atmosphere_release }}"
+ glance_registry: "registry.atmosphere.dev/library/glance:{{ atmosphere_release }}"
+ glance_storage_init: "registry.atmosphere.dev/library/glance:{{ atmosphere_release }}"
grafana_sidecar: quay.io/kiwigrid/k8s-sidecar:1.26.1
grafana: docker.io/grafana/grafana:10.4.0
haproxy: docker.io/library/haproxy:2.5
- heat_api: registry.atmosphere.dev/library/heat:main
- heat_cfn: registry.atmosphere.dev/library/heat:main
- heat_cloudwatch: registry.atmosphere.dev/library/heat:main
- heat_db_sync: registry.atmosphere.dev/library/heat:main
- heat_engine_cleaner: registry.atmosphere.dev/library/heat:main
- heat_engine: registry.atmosphere.dev/library/heat:main
- heat_purge_deleted: registry.atmosphere.dev/library/heat:main
- horizon_db_sync: registry.atmosphere.dev/library/horizon:main
- horizon: registry.atmosphere.dev/library/horizon:main
+ heat_api: "registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ heat_cfn: "registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ heat_cloudwatch: "registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ heat_db_sync: "registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ heat_engine_cleaner: "registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ heat_engine: "registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ heat_purge_deleted: "registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ horizon_db_sync: "registry.atmosphere.dev/library/horizon:{{ atmosphere_release }}"
+ horizon: "registry.atmosphere.dev/library/horizon:{{ atmosphere_release }}"
ingress_nginx_controller: registry.k8s.io/ingress-nginx/controller:v1.1.1
ingress_nginx_default_backend: registry.k8s.io/defaultbackend-amd64:1.5
ingress_nginx_kube_webhook_certgen: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.1.1
- keepalived: registry.atmosphere.dev/library/keepalived:main
+ keepalived: "registry.atmosphere.dev/library/keepalived:{{ atmosphere_release }}"
keycloak: quay.io/keycloak/keycloak:22.0.1-0
- keystone_api: registry.atmosphere.dev/library/keystone:main
- keystone_credential_cleanup: registry.atmosphere.dev/library/heat:main
- keystone_credential_rotate: registry.atmosphere.dev/library/keystone:main
- keystone_credential_setup: registry.atmosphere.dev/library/keystone:main
- keystone_db_sync: registry.atmosphere.dev/library/keystone:main
- keystone_domain_manage: registry.atmosphere.dev/library/heat:main
- keystone_fernet_rotate: registry.atmosphere.dev/library/keystone:main
- keystone_fernet_setup: registry.atmosphere.dev/library/keystone:main
- ks_endpoints: registry.atmosphere.dev/library/heat:main
- ks_service: registry.atmosphere.dev/library/heat:main
- ks_user: registry.atmosphere.dev/library/heat:main
+ keystone_api: "registry.atmosphere.dev/library/keystone:{{ atmosphere_release }}"
+ keystone_credential_cleanup: "registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ keystone_credential_rotate: "registry.atmosphere.dev/library/keystone:{{ atmosphere_release }}"
+ keystone_credential_setup: "registry.atmosphere.dev/library/keystone:{{ atmosphere_release }}"
+ keystone_db_sync: "registry.atmosphere.dev/library/keystone:{{ atmosphere_release }}"
+ keystone_domain_manage: "registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ keystone_fernet_rotate: "registry.atmosphere.dev/library/keystone:{{ atmosphere_release }}"
+ keystone_fernet_setup: "registry.atmosphere.dev/library/keystone:{{ atmosphere_release }}"
+ ks_endpoints: "registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ ks_service: "registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ ks_user: "registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
kube_apiserver: registry.k8s.io/kube-apiserver:v1.22.17
kube_controller_manager: registry.k8s.io/kube-controller-manager:v1.22.17
kube_coredns: registry.k8s.io/coredns/coredns:v1.8.4
@@ -94,79 +96,79 @@
kube_scheduler: registry.k8s.io/kube-scheduler:v1.22.17
kube_state_metrics: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.12.0
kubectl: docker.io/bitnami/kubectl:1.27.3
- libvirt: registry.atmosphere.dev/library/libvirtd:main
- libvirt_tls_sidecar: registry.atmosphere.dev/library/libvirt-tls-sidecar:main
+ libvirt: "registry.atmosphere.dev/library/libvirtd:{{ atmosphere_release }}"
+ libvirt_tls_sidecar: "registry.atmosphere.dev/library/libvirt-tls-sidecar:{{ atmosphere_release }}"
libvirt_exporter: docker.io/vexxhost/libvirtd-exporter:latest
local_path_provisioner_helper: docker.io/library/busybox:1.36.0
local_path_provisioner: docker.io/rancher/local-path-provisioner:v0.0.24
loki_gateway: docker.io/nginxinc/nginx-unprivileged:1.24-alpine
loki: docker.io/grafana/loki:2.9.6
- magnum_api: registry.atmosphere.dev/library/magnum:main
- magnum_cluster_api_proxy: registry.atmosphere.dev/library/magnum:main
- magnum_conductor: registry.atmosphere.dev/library/magnum:main
- magnum_db_sync: registry.atmosphere.dev/library/magnum:main
+ magnum_api: "registry.atmosphere.dev/library/magnum:{{ atmosphere_release }}"
+ magnum_cluster_api_proxy: "registry.atmosphere.dev/library/magnum:{{ atmosphere_release }}"
+ magnum_conductor: "registry.atmosphere.dev/library/magnum:{{ atmosphere_release }}"
+ magnum_db_sync: "registry.atmosphere.dev/library/magnum:{{ atmosphere_release }}"
magnum_registry: quay.io/vexxhost/magnum-cluster-api-registry:latest
- manila_api: registry.atmosphere.dev/library/manila:main
- manila_data: registry.atmosphere.dev/library/manila:main
- manila_db_sync: registry.atmosphere.dev/library/manila:main
- manila_scheduler: registry.atmosphere.dev/library/manila:main
- manila_share: registry.atmosphere.dev/library/manila:main
+ manila_api: "registry.atmosphere.dev/library/manila:{{ atmosphere_release }}"
+ manila_data: "registry.atmosphere.dev/library/manila:{{ atmosphere_release }}"
+ manila_db_sync: "registry.atmosphere.dev/library/manila:{{ atmosphere_release }}"
+ manila_scheduler: "registry.atmosphere.dev/library/manila:{{ atmosphere_release }}"
+ manila_share: "registry.atmosphere.dev/library/manila:{{ atmosphere_release }}"
memcached: docker.io/library/memcached:1.6.17
- netoffload: registry.atmosphere.dev/library/netoffload:main
- neutron_bagpipe_bgp: registry.atmosphere.dev/library/neutron:main
- neutron_bgp_dragent: registry.atmosphere.dev/library/neutron:main
+ netoffload: "registry.atmosphere.dev/library/netoffload:{{ atmosphere_release }}"
+ neutron_bagpipe_bgp: "registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ neutron_bgp_dragent: "registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
neutron_coredns: docker.io/coredns/coredns:1.9.3
- neutron_db_sync: registry.atmosphere.dev/library/neutron:main
- neutron_dhcp: registry.atmosphere.dev/library/neutron:main
- neutron_ironic_agent: registry.atmosphere.dev/library/neutron:main
- neutron_l2gw: registry.atmosphere.dev/library/neutron:main
- neutron_l3: registry.atmosphere.dev/library/neutron:main
- neutron_linuxbridge_agent: registry.atmosphere.dev/library/neutron:main
- neutron_metadata: registry.atmosphere.dev/library/neutron:main
- neutron_netns_cleanup_cron: registry.atmosphere.dev/library/neutron:main
- neutron_openvswitch_agent: registry.atmosphere.dev/library/neutron:main
- neutron_ovn_metadata: registry.atmosphere.dev/library/neutron:main
- neutron_server: registry.atmosphere.dev/library/neutron:main
- neutron_sriov_agent_init: registry.atmosphere.dev/library/neutron:main
- neutron_sriov_agent: registry.atmosphere.dev/library/neutron:main
+ neutron_db_sync: "registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ neutron_dhcp: "registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ neutron_ironic_agent: "registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ neutron_l2gw: "registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ neutron_l3: "registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ neutron_linuxbridge_agent: "registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ neutron_metadata: "registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ neutron_netns_cleanup_cron: "registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ neutron_openvswitch_agent: "registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ neutron_ovn_metadata: "registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ neutron_server: "registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ neutron_sriov_agent_init: "registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ neutron_sriov_agent: "registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
node_feature_discovery: registry.k8s.io/nfd/node-feature-discovery:v0.11.2
- nova_api: registry.atmosphere.dev/library/nova:main
- nova_archive_deleted_rows: registry.atmosphere.dev/library/nova:main
- nova_cell_setup_init: registry.atmosphere.dev/library/heat:main
- nova_cell_setup: registry.atmosphere.dev/library/nova:main
- nova_compute_ironic: registry.atmosphere.dev/library/nova:main
- nova_compute_ssh: registry.atmosphere.dev/library/nova-ssh:main
- nova_compute: registry.atmosphere.dev/library/nova:main
- nova_conductor: registry.atmosphere.dev/library/nova:main
- nova_consoleauth: registry.atmosphere.dev/library/nova:main
- nova_db_sync: registry.atmosphere.dev/library/nova:main
- nova_novncproxy_assets: registry.atmosphere.dev/library/nova:main
- nova_novncproxy: registry.atmosphere.dev/library/nova:main
- nova_placement: registry.atmosphere.dev/library/nova:main
- nova_scheduler: registry.atmosphere.dev/library/nova:main
- nova_service_cleaner: registry.atmosphere.dev/library/heat:main
- nova_spiceproxy_assets: registry.atmosphere.dev/library/nova:main
- nova_spiceproxy: registry.atmosphere.dev/library/nova:main
+ nova_api: "registry.atmosphere.dev/library/nova:{{ atmosphere_release }}"
+ nova_archive_deleted_rows: "registry.atmosphere.dev/library/nova:{{ atmosphere_release }}"
+ nova_cell_setup_init: "registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ nova_cell_setup: "registry.atmosphere.dev/library/nova:{{ atmosphere_release }}"
+ nova_compute_ironic: "registry.atmosphere.dev/library/nova:{{ atmosphere_release }}"
+ nova_compute_ssh: "registry.atmosphere.dev/library/nova-ssh:{{ atmosphere_release }}"
+ nova_compute: "registry.atmosphere.dev/library/nova:{{ atmosphere_release }}"
+ nova_conductor: "registry.atmosphere.dev/library/nova:{{ atmosphere_release }}"
+ nova_consoleauth: "registry.atmosphere.dev/library/nova:{{ atmosphere_release }}"
+ nova_db_sync: "registry.atmosphere.dev/library/nova:{{ atmosphere_release }}"
+ nova_novncproxy_assets: "registry.atmosphere.dev/library/nova:{{ atmosphere_release }}"
+ nova_novncproxy: "registry.atmosphere.dev/library/nova:{{ atmosphere_release }}"
+ nova_placement: "registry.atmosphere.dev/library/nova:{{ atmosphere_release }}"
+ nova_scheduler: "registry.atmosphere.dev/library/nova:{{ atmosphere_release }}"
+ nova_service_cleaner: "registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ nova_spiceproxy_assets: "registry.atmosphere.dev/library/nova:{{ atmosphere_release }}"
+ nova_spiceproxy: "registry.atmosphere.dev/library/nova:{{ atmosphere_release }}"
oauth2_proxy: quay.io/oauth2-proxy/oauth2-proxy:v7.6.0
- octavia_api: registry.atmosphere.dev/library/octavia:main
- octavia_db_sync: registry.atmosphere.dev/library/octavia:main
- octavia_health_manager_init: registry.atmosphere.dev/library/heat:main
- octavia_health_manager: registry.atmosphere.dev/library/octavia:main
- octavia_housekeeping: registry.atmosphere.dev/library/octavia:main
- octavia_worker: registry.atmosphere.dev/library/octavia:main
- openvswitch_db_server: registry.atmosphere.dev/library/openvswitch:main
- openvswitch_vswitchd: registry.atmosphere.dev/library/openvswitch:main
- ovn_controller: registry.atmosphere.dev/library/ovn-host:main
- ovn_northd: registry.atmosphere.dev/library/ovn-central:main
- ovn_ovsdb_nb: registry.atmosphere.dev/library/ovn-central:main
- ovn_ovsdb_sb: registry.atmosphere.dev/library/ovn-central:main
+ octavia_api: "registry.atmosphere.dev/library/octavia:{{ atmosphere_release }}"
+ octavia_db_sync: "registry.atmosphere.dev/library/octavia:{{ atmosphere_release }}"
+ octavia_health_manager_init: "registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ octavia_health_manager: "registry.atmosphere.dev/library/octavia:{{ atmosphere_release }}"
+ octavia_housekeeping: "registry.atmosphere.dev/library/octavia:{{ atmosphere_release }}"
+ octavia_worker: "registry.atmosphere.dev/library/octavia:{{ atmosphere_release }}"
+ openvswitch_db_server: "registry.atmosphere.dev/library/openvswitch:{{ atmosphere_release }}"
+ openvswitch_vswitchd: "registry.atmosphere.dev/library/openvswitch:{{ atmosphere_release }}"
+ ovn_controller: "registry.atmosphere.dev/library/ovn-host:{{ atmosphere_release }}"
+ ovn_northd: "registry.atmosphere.dev/library/ovn-central:{{ atmosphere_release }}"
+ ovn_ovsdb_nb: "registry.atmosphere.dev/library/ovn-central:{{ atmosphere_release }}"
+ ovn_ovsdb_sb: "registry.atmosphere.dev/library/ovn-central:{{ atmosphere_release }}"
pause: registry.k8s.io/pause:3.9
percona_xtradb_cluster_haproxy: docker.io/percona/percona-xtradb-cluster-operator:1.13.0-haproxy
percona_xtradb_cluster_operator: docker.io/percona/percona-xtradb-cluster-operator:1.13.0
percona_xtradb_cluster: docker.io/percona/percona-xtradb-cluster:8.0.32-24.2
percona_version_service: docker.io/perconalab/version-service:main-3325140
- placement_db_sync: registry.atmosphere.dev/library/placement:main
- placement: registry.atmosphere.dev/library/placement:main
+ placement_db_sync: "registry.atmosphere.dev/library/placement:{{ atmosphere_release }}"
+ placement: "registry.atmosphere.dev/library/placement:{{ atmosphere_release }}"
prometheus_config_reloader: quay.io/prometheus-operator/prometheus-config-reloader:v0.73.0
prometheus_ipmi_exporter: us-docker.pkg.dev/vexxhost-infra/openstack/ipmi-exporter:1.4.0
prometheus_memcached_exporter: quay.io/prometheus/memcached-exporter:v0.10.0
@@ -185,16 +187,16 @@
rabbitmq_topology_operator: docker.io/rabbitmqoperator/messaging-topology-operator:1.6.0
rook_ceph: docker.io/rook/ceph:v1.10.10
secretgen_controller: ghcr.io/carvel-dev/secretgen-controller@sha256:59ec05ce5847bfd70c8e04f08b5195e918c8f6fbb947ffc91b456494a2958fd5
- senlin_api: registry.atmosphere.dev/library/senlin:main
- senlin_conductor: registry.atmosphere.dev/library/senlin:main
- senlin_db_sync: registry.atmosphere.dev/library/senlin:main
- senlin_engine_cleaner: registry.atmosphere.dev/library/senlin:main
- senlin_engine: registry.atmosphere.dev/library/senlin:main
- senlin_health_manager: registry.atmosphere.dev/library/senlin:main
- staffeln_db_sync: registry.atmosphere.dev/library/staffeln:main
- staffeln_conductor: registry.atmosphere.dev/library/staffeln:main
- staffeln_api: registry.atmosphere.dev/library/staffeln:main
- tempest_run_tests: registry.atmosphere.dev/library/tempest:main
+ senlin_api: "registry.atmosphere.dev/library/senlin:{{ atmosphere_release }}"
+ senlin_conductor: "registry.atmosphere.dev/library/senlin:{{ atmosphere_release }}"
+ senlin_db_sync: "registry.atmosphere.dev/library/senlin:{{ atmosphere_release }}"
+ senlin_engine_cleaner: "registry.atmosphere.dev/library/senlin:{{ atmosphere_release }}"
+ senlin_engine: "registry.atmosphere.dev/library/senlin:{{ atmosphere_release }}"
+ senlin_health_manager: "registry.atmosphere.dev/library/senlin:{{ atmosphere_release }}"
+ staffeln_db_sync: "registry.atmosphere.dev/library/staffeln:{{ atmosphere_release }}"
+ staffeln_conductor: "registry.atmosphere.dev/library/staffeln:{{ atmosphere_release }}"
+ staffeln_api: "registry.atmosphere.dev/library/staffeln:{{ atmosphere_release }}"
+ tempest_run_tests: "registry.atmosphere.dev/library/tempest:{{ atmosphere_release }}"
vector: docker.io/timberio/vector:0.37.0-debian
atmosphere_images: '{{ _atmosphere_images | combine(atmosphere_image_overrides, recursive=True)
diff --git a/zuul.d/container-images/barbican.yaml b/zuul.d/container-images/barbican.yaml
index e1059da..73d178e 100644
--- a/zuul.d/container-images/barbican.yaml
+++ b/zuul.d/container-images/barbican.yaml
@@ -46,9 +46,10 @@
arch:
- linux/amd64
build_args:
+ - "RELEASE={{ zuul.branch | replace('stable/', '') }}"
- PROJECT=barbican
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
files: &container_image_files
- images/ubuntu/.*
- images/ubuntu-cloud-archive/.*
diff --git a/zuul.d/container-images/cinder.yaml b/zuul.d/container-images/cinder.yaml
index ec6dd7f..fa7a675 100644
--- a/zuul.d/container-images/cinder.yaml
+++ b/zuul.d/container-images/cinder.yaml
@@ -46,9 +46,10 @@
arch:
- linux/amd64
build_args:
+ - "RELEASE={{ zuul.branch | replace('stable/', '') }}"
- PROJECT=cinder
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
files: &container_image_files
- images/ubuntu/.*
- images/ubuntu-cloud-archive/.*
diff --git a/zuul.d/container-images/cluster-api-provider-openstack.yaml b/zuul.d/container-images/cluster-api-provider-openstack.yaml
index 16777dd..53394e4 100644
--- a/zuul.d/container-images/cluster-api-provider-openstack.yaml
+++ b/zuul.d/container-images/cluster-api-provider-openstack.yaml
@@ -35,7 +35,7 @@
arch:
- linux/amd64
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
files: &container_image_files
- images/cluster-api-provider-openstack/.*
diff --git a/zuul.d/container-images/designate.yaml b/zuul.d/container-images/designate.yaml
index be2943c..9ff13fd 100644
--- a/zuul.d/container-images/designate.yaml
+++ b/zuul.d/container-images/designate.yaml
@@ -46,9 +46,10 @@
arch:
- linux/amd64
build_args:
+ - "RELEASE={{ zuul.branch | replace('stable/', '') }}"
- PROJECT=designate
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
files: &container_image_files
- images/ubuntu/.*
- images/ubuntu-cloud-archive/.*
diff --git a/zuul.d/container-images/glance.yaml b/zuul.d/container-images/glance.yaml
index d59f887..69b5433 100644
--- a/zuul.d/container-images/glance.yaml
+++ b/zuul.d/container-images/glance.yaml
@@ -46,9 +46,10 @@
arch:
- linux/amd64
build_args:
+ - "RELEASE={{ zuul.branch | replace('stable/', '') }}"
- PROJECT=glance
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
files: &container_image_files
- images/ubuntu/.*
- images/ubuntu-cloud-archive/.*
diff --git a/zuul.d/container-images/heat.yaml b/zuul.d/container-images/heat.yaml
index 61b462d..52403ef 100644
--- a/zuul.d/container-images/heat.yaml
+++ b/zuul.d/container-images/heat.yaml
@@ -46,9 +46,10 @@
arch:
- linux/amd64
build_args:
+ - "RELEASE={{ zuul.branch | replace('stable/', '') }}"
- PROJECT=heat
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
files: &container_image_files
- images/ubuntu/.*
- images/ubuntu-cloud-archive/.*
diff --git a/zuul.d/container-images/horizon.yaml b/zuul.d/container-images/horizon.yaml
index 1db9b83..914053d 100644
--- a/zuul.d/container-images/horizon.yaml
+++ b/zuul.d/container-images/horizon.yaml
@@ -46,9 +46,10 @@
arch:
- linux/amd64
build_args:
+ - "RELEASE={{ zuul.branch | replace('stable/', '') }}"
- PROJECT=horizon
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
files: &container_image_files
- images/ubuntu/.*
- images/ubuntu-cloud-archive/.*
diff --git a/zuul.d/container-images/ironic.yaml b/zuul.d/container-images/ironic.yaml
index 8e1cbe7..3e16dd1 100644
--- a/zuul.d/container-images/ironic.yaml
+++ b/zuul.d/container-images/ironic.yaml
@@ -46,9 +46,10 @@
arch:
- linux/amd64
build_args:
+ - "RELEASE={{ zuul.branch | replace('stable/', '') }}"
- PROJECT=ironic
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
files: &container_image_files
- images/ubuntu/.*
- images/ubuntu-cloud-archive/.*
diff --git a/zuul.d/container-images/keepalived.yaml b/zuul.d/container-images/keepalived.yaml
index a7006bc..68f462a 100644
--- a/zuul.d/container-images/keepalived.yaml
+++ b/zuul.d/container-images/keepalived.yaml
@@ -37,8 +37,10 @@
repository: registry.atmosphere.dev/library/keepalived
arch:
- linux/amd64
+ build_args:
+ - "RELEASE={{ zuul.branch | replace('stable/', '') }}"
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
files: &container_image_files
- images/ubuntu/.*
- images/keepalived/.*
diff --git a/zuul.d/container-images/keystone.yaml b/zuul.d/container-images/keystone.yaml
index e65eaa4..791f3ce 100644
--- a/zuul.d/container-images/keystone.yaml
+++ b/zuul.d/container-images/keystone.yaml
@@ -46,9 +46,10 @@
arch:
- linux/amd64
build_args:
+ - "RELEASE={{ zuul.branch | replace('stable/', '') }}"
- PROJECT=keystone
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
files: &container_image_files
- images/ubuntu/.*
- images/ubuntu-cloud-archive/.*
diff --git a/zuul.d/container-images/kubernetes-entrypoint.yaml b/zuul.d/container-images/kubernetes-entrypoint.yaml
index 3b3e147..ea04bde 100644
--- a/zuul.d/container-images/kubernetes-entrypoint.yaml
+++ b/zuul.d/container-images/kubernetes-entrypoint.yaml
@@ -35,7 +35,7 @@
arch:
- linux/amd64
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
files: &container_image_files
- images/kubernetes-entrypoint/.*
diff --git a/zuul.d/container-images/libvirt-tls-sidecar.yaml b/zuul.d/container-images/libvirt-tls-sidecar.yaml
index eae34a9..76dfd48 100644
--- a/zuul.d/container-images/libvirt-tls-sidecar.yaml
+++ b/zuul.d/container-images/libvirt-tls-sidecar.yaml
@@ -38,8 +38,10 @@
repository: registry.atmosphere.dev/library/libvirt-tls-sidecar
arch:
- linux/amd64
+ build_args:
+ - "RELEASE={{ zuul.branch | replace('stable/', '') }}"
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
files: &container_image_files
- images/ubuntu/.*
- cmd/.*
diff --git a/zuul.d/container-images/libvirtd.yaml b/zuul.d/container-images/libvirtd.yaml
index 23f53d0..dc2d6d2 100644
--- a/zuul.d/container-images/libvirtd.yaml
+++ b/zuul.d/container-images/libvirtd.yaml
@@ -42,9 +42,10 @@
arch:
- linux/amd64
build_args:
+ - "RELEASE={{ zuul.branch | replace('stable/', '') }}"
- PROJECT=nova
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
files: &container_image_files
- images/ubuntu/.*
- images/ubuntu-cloud-archive/.*
diff --git a/zuul.d/container-images/magnum.yaml b/zuul.d/container-images/magnum.yaml
index b1f9c88..234e591 100644
--- a/zuul.d/container-images/magnum.yaml
+++ b/zuul.d/container-images/magnum.yaml
@@ -46,9 +46,10 @@
arch:
- linux/amd64
build_args:
+ - "RELEASE={{ zuul.branch | replace('stable/', '') }}"
- PROJECT=magnum
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
files: &container_image_files
- images/ubuntu/.*
- images/ubuntu-cloud-archive/.*
diff --git a/zuul.d/container-images/manila.yaml b/zuul.d/container-images/manila.yaml
index b907129..2d71690 100644
--- a/zuul.d/container-images/manila.yaml
+++ b/zuul.d/container-images/manila.yaml
@@ -46,9 +46,10 @@
arch:
- linux/amd64
build_args:
+ - "RELEASE={{ zuul.branch | replace('stable/', '') }}"
- PROJECT=manila
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
files: &container_image_files
- images/ubuntu/.*
- images/ubuntu-cloud-archive/.*
diff --git a/zuul.d/container-images/netoffload.yaml b/zuul.d/container-images/netoffload.yaml
index 40aa81f..2ca86b4 100644
--- a/zuul.d/container-images/netoffload.yaml
+++ b/zuul.d/container-images/netoffload.yaml
@@ -37,8 +37,10 @@
repository: registry.atmosphere.dev/library/netoffload
arch:
- linux/amd64
+ build_args:
+ - "RELEASE={{ zuul.branch | replace('stable/', '') }}"
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
files: &container_image_files
- images/ubuntu/.*
- images/netoffload/.*
diff --git a/zuul.d/container-images/neutron.yaml b/zuul.d/container-images/neutron.yaml
index 101490a..5612ff8 100644
--- a/zuul.d/container-images/neutron.yaml
+++ b/zuul.d/container-images/neutron.yaml
@@ -46,9 +46,10 @@
arch:
- linux/amd64
build_args:
+ - "RELEASE={{ zuul.branch | replace('stable/', '') }}"
- PROJECT=neutron
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
files: &container_image_files
- images/ubuntu/.*
- images/ubuntu-cloud-archive/.*
diff --git a/zuul.d/container-images/nova-ssh.yaml b/zuul.d/container-images/nova-ssh.yaml
index 4b5502d..d7801c1 100644
--- a/zuul.d/container-images/nova-ssh.yaml
+++ b/zuul.d/container-images/nova-ssh.yaml
@@ -42,9 +42,10 @@
arch:
- linux/amd64
build_args:
+ - "RELEASE={{ zuul.branch | replace('stable/', '') }}"
- PROJECT=nova
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
files: &container_image_files
- images/ubuntu/.*
- images/ubuntu-cloud-archive/.*
diff --git a/zuul.d/container-images/nova.yaml b/zuul.d/container-images/nova.yaml
index 35f7e0a..5b415c3 100644
--- a/zuul.d/container-images/nova.yaml
+++ b/zuul.d/container-images/nova.yaml
@@ -46,9 +46,10 @@
arch:
- linux/amd64
build_args:
+ - "RELEASE={{ zuul.branch | replace('stable/', '') }}"
- PROJECT=nova
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
files: &container_image_files
- images/ubuntu/.*
- images/ubuntu-cloud-archive/.*
diff --git a/zuul.d/container-images/octavia.yaml b/zuul.d/container-images/octavia.yaml
index 4cb7f6b..e8555a3 100644
--- a/zuul.d/container-images/octavia.yaml
+++ b/zuul.d/container-images/octavia.yaml
@@ -46,9 +46,10 @@
arch:
- linux/amd64
build_args:
+ - "RELEASE={{ zuul.branch | replace('stable/', '') }}"
- PROJECT=octavia
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
files: &container_image_files
- images/ubuntu/.*
- images/ubuntu-cloud-archive/.*
diff --git a/zuul.d/container-images/openstack-python-runtime.yaml b/zuul.d/container-images/openstack-python-runtime.yaml
index d4119ef..5a7ce33 100644
--- a/zuul.d/container-images/openstack-python-runtime.yaml
+++ b/zuul.d/container-images/openstack-python-runtime.yaml
@@ -42,9 +42,10 @@
arch:
- linux/amd64
build_args:
- - FROM=registry.atmosphere.dev/library/python-base:main
+ - "RELEASE={{ zuul.branch | replace('stable/', '') }}"
+ - "FROM=registry.atmosphere.dev/library/python-base:{{ zuul.branch | replace('stable/', '') }}"
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
files: &container_image_files
- images/ubuntu/.*
- images/ubuntu-cloud-archive/.*
diff --git a/zuul.d/container-images/openstack-runtime.yaml b/zuul.d/container-images/openstack-runtime.yaml
index 8b6be30..cde0737 100644
--- a/zuul.d/container-images/openstack-runtime.yaml
+++ b/zuul.d/container-images/openstack-runtime.yaml
@@ -39,8 +39,10 @@
repository: registry.atmosphere.dev/library/openstack-runtime
arch:
- linux/amd64
+ build_args:
+ - "RELEASE={{ zuul.branch | replace('stable/', '') }}"
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
files: &container_image_files
- images/ubuntu/.*
- images/ubuntu-cloud-archive/.*
diff --git a/zuul.d/container-images/openstack-venv-builder.yaml b/zuul.d/container-images/openstack-venv-builder.yaml
index ad0792b..a50ee93 100644
--- a/zuul.d/container-images/openstack-venv-builder.yaml
+++ b/zuul.d/container-images/openstack-venv-builder.yaml
@@ -41,8 +41,10 @@
repository: registry.atmosphere.dev/library/openstack-venv-builder
arch:
- linux/amd64
+ build_args:
+ - "RELEASE={{ zuul.branch | replace('stable/', '') }}"
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
files: &container_image_files
- images/ubuntu/.*
- images/ubuntu-cloud-archive/.*
diff --git a/zuul.d/container-images/openvswitch.yaml b/zuul.d/container-images/openvswitch.yaml
index 090f51c..67a55c6 100644
--- a/zuul.d/container-images/openvswitch.yaml
+++ b/zuul.d/container-images/openvswitch.yaml
@@ -35,7 +35,7 @@
arch:
- linux/amd64
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
files: &container_image_files
- images/openvswitch/.*
diff --git a/zuul.d/container-images/ovn.yaml b/zuul.d/container-images/ovn.yaml
index 67eaaec..5a3e180 100644
--- a/zuul.d/container-images/ovn.yaml
+++ b/zuul.d/container-images/ovn.yaml
@@ -38,18 +38,20 @@
arch:
- linux/amd64
build_args:
+ - "RELEASE={{ zuul.branch | replace('stable/', '') }}"
- OVN_COMPONENT=central
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
- context: images/ovn
registry: registry.atmosphere.dev
repository: registry.atmosphere.dev/library/ovn-host
arch:
- linux/amd64
build_args:
+ - "RELEASE={{ zuul.branch | replace('stable/', '') }}"
- OVN_COMPONENT=host
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
files: &container_image_files
- images/openvswitch/.*
- images/ovn/.*
diff --git a/zuul.d/container-images/placement.yaml b/zuul.d/container-images/placement.yaml
index 1902aa5..d020a79 100644
--- a/zuul.d/container-images/placement.yaml
+++ b/zuul.d/container-images/placement.yaml
@@ -46,9 +46,10 @@
arch:
- linux/amd64
build_args:
+ - "RELEASE={{ zuul.branch | replace('stable/', '') }}"
- PROJECT=placement
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
files: &container_image_files
- images/ubuntu/.*
- images/ubuntu-cloud-archive/.*
diff --git a/zuul.d/container-images/python-base.yaml b/zuul.d/container-images/python-base.yaml
index 8eb63c4..3e63e8c 100644
--- a/zuul.d/container-images/python-base.yaml
+++ b/zuul.d/container-images/python-base.yaml
@@ -39,8 +39,10 @@
repository: registry.atmosphere.dev/library/python-base
arch:
- linux/amd64
+ build_args:
+ - "RELEASE={{ zuul.branch | replace('stable/', '') }}"
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
files: &container_image_files
- images/ubuntu/.*
- images/ubuntu-cloud-archive/.*
diff --git a/zuul.d/container-images/senlin.yaml b/zuul.d/container-images/senlin.yaml
index 225823a..fc12aa0 100644
--- a/zuul.d/container-images/senlin.yaml
+++ b/zuul.d/container-images/senlin.yaml
@@ -46,9 +46,10 @@
arch:
- linux/amd64
build_args:
+ - "RELEASE={{ zuul.branch | replace('stable/', '') }}"
- PROJECT=senlin
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
files: &container_image_files
- images/ubuntu/.*
- images/ubuntu-cloud-archive/.*
diff --git a/zuul.d/container-images/staffeln.yaml b/zuul.d/container-images/staffeln.yaml
index 93e6845..db01912 100644
--- a/zuul.d/container-images/staffeln.yaml
+++ b/zuul.d/container-images/staffeln.yaml
@@ -46,9 +46,10 @@
arch:
- linux/amd64
build_args:
+ - "RELEASE={{ zuul.branch | replace('stable/', '') }}"
- PROJECT=staffeln
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
files: &container_image_files
- images/ubuntu/.*
- images/ubuntu-cloud-archive/.*
diff --git a/zuul.d/container-images/tempest.yaml b/zuul.d/container-images/tempest.yaml
index a9f5dc6..1d81749 100644
--- a/zuul.d/container-images/tempest.yaml
+++ b/zuul.d/container-images/tempest.yaml
@@ -46,9 +46,10 @@
arch:
- linux/amd64
build_args:
+ - "RELEASE={{ zuul.branch | replace('stable/', '') }}"
- PROJECT=tempest
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
files: &container_image_files
- images/ubuntu/.*
- images/ubuntu-cloud-archive/.*
diff --git a/zuul.d/container-images/ubuntu-cloud-archive.yaml b/zuul.d/container-images/ubuntu-cloud-archive.yaml
index 1f0a4ef..d2d23ba 100644
--- a/zuul.d/container-images/ubuntu-cloud-archive.yaml
+++ b/zuul.d/container-images/ubuntu-cloud-archive.yaml
@@ -37,8 +37,10 @@
repository: registry.atmosphere.dev/library/ubuntu-cloud-archive
arch:
- linux/amd64
+ build_args:
+ - "RELEASE={{ zuul.branch | replace('stable/', '') }}"
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
files: &container_image_files
- images/ubuntu/.*
- images/ubuntu-cloud-archive/.*
diff --git a/zuul.d/container-images/ubuntu.yaml b/zuul.d/container-images/ubuntu.yaml
index e7966a0..5e39b95 100644
--- a/zuul.d/container-images/ubuntu.yaml
+++ b/zuul.d/container-images/ubuntu.yaml
@@ -34,8 +34,10 @@
repository: registry.atmosphere.dev/library/ubuntu
arch:
- linux/amd64
+ build_args:
+ - "RELEASE={{ zuul.branch | replace('stable/', '') }}"
tags:
- - main
+ - "{{ zuul.branch | replace('stable/', '') }}"
files: &container_image_files
- images/ubuntu/.*
diff --git a/zuul.d/playbooks/molecule/pre.yml b/zuul.d/playbooks/molecule/pre.yml
index a4bc692..9e10180 100644
--- a/zuul.d/playbooks/molecule/pre.yml
+++ b/zuul.d/playbooks/molecule/pre.yml
@@ -59,15 +59,14 @@
- name: Replace the registry in image manifest
ansible.builtin.replace:
path: "{{ zuul.project.src_dir }}/roles/defaults/vars/main.yml"
- regexp: "{{ repo }}:{{ tag }}"
- replace: '{{ buildset_registry.host }}:{{ buildset_registry.port }}/{{ repo }}:{{ tag }}'
+ regexp: "{{ repo }}:"
+ replace: '{{ buildset_registry.host }}:{{ buildset_registry.port }}/{{ repo }}:'
loop: "{{ zuul.artifacts | default([]) }}"
loop_control:
loop_var: zj_zuul_artifact
when: "'metadata' in zj_zuul_artifact and zj_zuul_artifact.metadata.type | default('') == 'container_image'"
vars:
repo: "{{ zj_zuul_artifact.metadata.repository }}"
- tag: "{{ zj_zuul_artifact.metadata.tag }}"
# TODO(mnaser): Drop this when we move to PBR
- name: Add current folder to Git's safe directories