Merge "Revert "Bump helm-toolkit to 0.2.78 (#2264)"" into main
diff --git a/build/lint-jobs.py b/build/lint-jobs.py
index 3edfe12..7233dd3 100644
--- a/build/lint-jobs.py
+++ b/build/lint-jobs.py
@@ -14,11 +14,8 @@
if "job" in config:
job = config["job"]
- # Check if build or upload jobs are missing 'atmosphere-buildset-registry' dependency
- if (
- "build-container-image-" in job["name"]
- or "upload-container-image-" in job["name"]
- ):
+ # Check if build jobs are missing 'atmosphere-buildset-registry' dependency
+ if "build-container-image-" in job["name"]:
deps = job.get("dependencies", [])
if not any(
dep.get("name") == "atmosphere-buildset-registry"
@@ -30,9 +27,7 @@
passed = False
if passed:
- print(
- "All build and upload jobs have 'atmosphere-buildset-registry' dependency."
- )
+ print("All build jobs have 'atmosphere-buildset-registry' dependency.")
else:
print("Jobs missing 'atmosphere-buildset-registry' dependency.")
sys.exit(1)
diff --git a/build/pin-images.py b/build/pin-images.py
index f7485da..30700c3 100755
--- a/build/pin-images.py
+++ b/build/pin-images.py
@@ -22,7 +22,7 @@
if token:
headers["Authorization"] = f"Bearer {token}"
else:
- r = requests.get(url, timeout=5, verify=False)
+ r = requests.get(url, timeout=5)
auth_header = r.headers.get("Www-Authenticate")
if auth_header:
realm = auth_header.split(",")[0].split("=")[1].strip('"')
@@ -31,7 +31,6 @@
realm,
timeout=5,
params={"scope": f"repository:{image_ref.path()}:pull"},
- verify=False,
)
r.raise_for_status()
@@ -44,7 +43,6 @@
f"https://{image_ref.domain()}/v2/{image_ref.path()}/manifests/{image_ref['tag']}",
timeout=5,
headers=headers,
- verify=False,
)
r.raise_for_status()
return r.headers["Docker-Content-Digest"]
@@ -55,7 +53,6 @@
f"https://{image_ref.domain()}/v2/{image_ref.path()}/manifests/{image_ref['tag']}",
timeout=5,
headers=headers,
- verify=False,
)
r.raise_for_status()
return r.headers["Docker-Content-Digest"]
@@ -64,6 +61,8 @@
@functools.cache
def get_pinned_image(image_src):
image_ref = reference.Reference.parse(image_src)
+ if image_ref.domain() != "harbor.atmosphere.dev":
+ image_ref = reference.Reference.parse("harbor.atmosphere.dev/" + image_src)
if (
image_ref.domain() == "registry.atmosphere.dev"
@@ -130,7 +129,10 @@
else:
digest = get_digest(image_ref)
- return f"{image_ref.domain()}/{image_ref.path()}:{image_ref['tag']}@{digest}"
+ original_ref = reference.Reference.parse(image_src)
+ return (
+ f"{original_ref.domain()}/{original_ref.path()}:{original_ref['tag']}@{digest}"
+ )
def main():
@@ -154,13 +156,19 @@
if image in SKIP_IMAGE_LIST:
continue
- image_src = data["_atmosphere_images"][image].replace(
- "{{ atmosphere_release }}", data["atmosphere_release"]
+ image_src = (
+ data["_atmosphere_images"][image]
+ .replace("{{ atmosphere_release }}", data["atmosphere_release"])
+ .replace("{{ atmosphere_image_prefix }}", "")
)
- pinned_image = get_pinned_image(image_src)
+ pinned_image = get_pinned_image(image_src).replace(
+ "harbor.atmosphere.dev", "registry.atmosphere.dev"
+ )
LOG.info("Pinning image %s from %s to %s", image, image_src, pinned_image)
- data["_atmosphere_images"][image] = pinned_image
+ data["_atmosphere_images"][image] = "{{ atmosphere_image_prefix }}%s" % (
+ pinned_image,
+ )
yaml.dump(data, args.dst)
diff --git a/charts/neutron/templates/bin/_neutron-ironic-agent-init.sh.tpl b/charts/neutron/templates/bin/_neutron-ironic-agent-init.sh.tpl
new file mode 100644
index 0000000..3df3315
--- /dev/null
+++ b/charts/neutron/templates/bin/_neutron-ironic-agent-init.sh.tpl
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+{{/*
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/}}
+
+set -ex
+
+{{- if and ( empty .Values.conf.neutron.DEFAULT.host ) ( .Values.pod.use_fqdn.neutron_agent ) }}
+mkdir -p /tmp/pod-shared
+tee > /tmp/pod-shared/neutron-agent.ini << EOF
+[DEFAULT]
+host = $(hostname --fqdn)
+EOF
+{{- end }}
diff --git a/charts/neutron/templates/configmap-bin.yaml b/charts/neutron/templates/configmap-bin.yaml
index 2032b15..87b2b79 100644
--- a/charts/neutron/templates/configmap-bin.yaml
+++ b/charts/neutron/templates/configmap-bin.yaml
@@ -95,6 +95,8 @@
{{ tuple "bin/_neutron-policy-server.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
neutron-rpc-server.sh: |
{{ tuple "bin/_neutron-rpc-server.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
+ neutron-ironic-agent-init.sh: |
+{{ tuple "bin/_neutron-ironic-agent-init.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
neutron-ironic-agent.sh: |
{{ tuple "bin/_neutron-ironic-agent.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
neutron-netns-cleanup-cron.sh: |
diff --git a/charts/neutron/templates/deployment-ironic-agent.yaml b/charts/neutron/templates/deployment-ironic-agent.yaml
index 014c9ad..1b468e2 100644
--- a/charts/neutron/templates/deployment-ironic-agent.yaml
+++ b/charts/neutron/templates/deployment-ironic-agent.yaml
@@ -60,6 +60,19 @@
terminationGracePeriodSeconds: {{ .Values.pod.lifecycle.termination_grace_period.ironic_agent.timeout | default "30" }}
initContainers:
{{ tuple $envAll "pod_dependency" $mounts_neutron_ironic_agent_init | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }}
+ - name: neutron-ironic-agent-init
+{{ tuple $envAll "neutron_ironic_agent_init" | include "helm-toolkit.snippets.image" | indent 10 }}
+{{ tuple $envAll $envAll.Values.pod.resources.ironic_agent | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
+{{ dict "envAll" $envAll "application" "neutron_ironic_agent" "container" "neutron_ironic_agent_init" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }}
+ command:
+ - /tmp/neutron-ironic-agent-init.sh
+ volumeMounts:
+ - name: pod-shared
+ mountPath: /tmp/pod-shared
+ - name: neutron-bin
+ mountPath: /tmp/neutron-ironic-agent-init.sh
+ subPath: neutron-ironic-agent-init.sh
+ readOnly: true
containers:
- name: neutron-ironic-agent
{{ tuple $envAll "neutron_ironic_agent" | include "helm-toolkit.snippets.image" | indent 10 }}
@@ -79,6 +92,8 @@
mountPath: /tmp
- name: pod-var-neutron
mountPath: {{ .Values.conf.neutron.DEFAULT.state_path }}
+ - name: pod-shared
+ mountPath: /tmp/pod-shared
- name: neutron-bin
mountPath: /tmp/neutron-ironic-agent.sh
subPath: neutron-ironic-agent.sh
@@ -104,6 +119,8 @@
emptyDir: {}
- name: pod-var-neutron
emptyDir: {}
+ - name: pod-shared
+ mountPath: /tmp/pod-shared
- name: neutron-bin
configMap:
name: neutron-bin
diff --git a/charts/neutron/values.yaml b/charts/neutron/values.yaml
index 819d785..b1ff456 100644
--- a/charts/neutron/values.yaml
+++ b/charts/neutron/values.yaml
@@ -46,6 +46,7 @@
neutron_sriov_agent_init: docker.io/openstackhelm/neutron:stein-18.04-sriov
neutron_bagpipe_bgp: docker.io/openstackhelm/neutron:2024.1-ubuntu_jammy
neutron_bgp_dragent: docker.io/openstackhelm/neutron:2024.1-ubuntu_jammy
+ neutron_ironic_agent_init: docker.io/openstackhelm/neutron:2024.1-ubuntu_jammy
neutron_ironic_agent: docker.io/openstackhelm/neutron:2024.1-ubuntu_jammy
neutron_netns_cleanup_cron: docker.io/openstackhelm/neutron:2024.1-ubuntu_jammy
dep_check: quay.io/airshipit/kubernetes-entrypoint:latest-ubuntu_focal
@@ -679,6 +680,9 @@
pod:
runAsUser: 42424
container:
+ neutron_ironic_agent_init:
+ runAsUser: 0
+ readOnlyRootFilesystem: true
neutron_ironic_agent:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
diff --git a/charts/patches/neutron/0003-fix-neutron-ironic-agent.patch b/charts/patches/neutron/0003-fix-neutron-ironic-agent.patch
new file mode 100644
index 0000000..c112239
--- /dev/null
+++ b/charts/patches/neutron/0003-fix-neutron-ironic-agent.patch
@@ -0,0 +1,108 @@
+diff --git a/neutron/templates/bin/_neutron-ironic-agent-init.sh.tpl b/neutron/templates/bin/_neutron-ironic-agent-init.sh.tpl
+new file mode 100644
+index 00000000..3df3315b
+--- /dev/null
++++ b/neutron/templates/bin/_neutron-ironic-agent-init.sh.tpl
+@@ -0,0 +1,25 @@
++#!/bin/bash
++
++{{/*
++Licensed under the Apache License, Version 2.0 (the "License");
++you may not use this file except in compliance with the License.
++You may obtain a copy of the License at
++
++ http://www.apache.org/licenses/LICENSE-2.0
++
++Unless required by applicable law or agreed to in writing, software
++distributed under the License is distributed on an "AS IS" BASIS,
++WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++See the License for the specific language governing permissions and
++limitations under the License.
++*/}}
++
++set -ex
++
++{{- if and ( empty .Values.conf.neutron.DEFAULT.host ) ( .Values.pod.use_fqdn.neutron_agent ) }}
++mkdir -p /tmp/pod-shared
++tee > /tmp/pod-shared/neutron-agent.ini << EOF
++[DEFAULT]
++host = $(hostname --fqdn)
++EOF
++{{- end }}
+diff --git a/neutron/templates/configmap-bin.yaml b/neutron/templates/configmap-bin.yaml
+index 2032b156..87b2b798 100644
+--- a/neutron/templates/configmap-bin.yaml
++++ b/neutron/templates/configmap-bin.yaml
+@@ -95,6 +95,8 @@ data:
+ {{ tuple "bin/_neutron-policy-server.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
+ neutron-rpc-server.sh: |
+ {{ tuple "bin/_neutron-rpc-server.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
++ neutron-ironic-agent-init.sh: |
++{{ tuple "bin/_neutron-ironic-agent-init.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
+ neutron-ironic-agent.sh: |
+ {{ tuple "bin/_neutron-ironic-agent.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
+ neutron-netns-cleanup-cron.sh: |
+diff --git a/neutron/templates/deployment-ironic-agent.yaml b/neutron/templates/deployment-ironic-agent.yaml
+index 014c9adf..1b468e2b 100644
+--- a/neutron/templates/deployment-ironic-agent.yaml
++++ b/neutron/templates/deployment-ironic-agent.yaml
+@@ -60,6 +60,19 @@ spec:
+ terminationGracePeriodSeconds: {{ .Values.pod.lifecycle.termination_grace_period.ironic_agent.timeout | default "30" }}
+ initContainers:
+ {{ tuple $envAll "pod_dependency" $mounts_neutron_ironic_agent_init | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }}
++ - name: neutron-ironic-agent-init
++{{ tuple $envAll "neutron_ironic_agent_init" | include "helm-toolkit.snippets.image" | indent 10 }}
++{{ tuple $envAll $envAll.Values.pod.resources.ironic_agent | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
++{{ dict "envAll" $envAll "application" "neutron_ironic_agent" "container" "neutron_ironic_agent_init" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }}
++ command:
++ - /tmp/neutron-ironic-agent-init.sh
++ volumeMounts:
++ - name: pod-shared
++ mountPath: /tmp/pod-shared
++ - name: neutron-bin
++ mountPath: /tmp/neutron-ironic-agent-init.sh
++ subPath: neutron-ironic-agent-init.sh
++ readOnly: true
+ containers:
+ - name: neutron-ironic-agent
+ {{ tuple $envAll "neutron_ironic_agent" | include "helm-toolkit.snippets.image" | indent 10 }}
+@@ -79,6 +92,8 @@ spec:
+ mountPath: /tmp
+ - name: pod-var-neutron
+ mountPath: {{ .Values.conf.neutron.DEFAULT.state_path }}
++ - name: pod-shared
++ mountPath: /tmp/pod-shared
+ - name: neutron-bin
+ mountPath: /tmp/neutron-ironic-agent.sh
+ subPath: neutron-ironic-agent.sh
+@@ -104,6 +119,8 @@ spec:
+ emptyDir: {}
+ - name: pod-var-neutron
+ emptyDir: {}
++ - name: pod-shared
++ mountPath: /tmp/pod-shared
+ - name: neutron-bin
+ configMap:
+ name: neutron-bin
+diff --git a/neutron/values.yaml b/neutron/values.yaml
+index 819d7853..b1ff4569 100644
+--- a/neutron/values.yaml
++++ b/neutron/values.yaml
+@@ -46,6 +46,7 @@ images:
+ neutron_sriov_agent_init: docker.io/openstackhelm/neutron:stein-18.04-sriov
+ neutron_bagpipe_bgp: docker.io/openstackhelm/neutron:2024.1-ubuntu_jammy
+ neutron_bgp_dragent: docker.io/openstackhelm/neutron:2024.1-ubuntu_jammy
++ neutron_ironic_agent_init: docker.io/openstackhelm/neutron:2024.1-ubuntu_jammy
+ neutron_ironic_agent: docker.io/openstackhelm/neutron:2024.1-ubuntu_jammy
+ neutron_netns_cleanup_cron: docker.io/openstackhelm/neutron:2024.1-ubuntu_jammy
+ dep_check: quay.io/airshipit/kubernetes-entrypoint:latest-ubuntu_focal
+@@ -679,6 +680,9 @@ pod:
+ pod:
+ runAsUser: 42424
+ container:
++ neutron_ironic_agent_init:
++ runAsUser: 0
++ readOnlyRootFilesystem: true
+ neutron_ironic_agent:
+ allowPrivilegeEscalation: false
+ readOnlyRootFilesystem: true
diff --git a/doc/source/admin/emulated-tpm.rst b/doc/source/admin/emulated-tpm.rst
index 5c1ea34..58f836d 100644
--- a/doc/source/admin/emulated-tpm.rst
+++ b/doc/source/admin/emulated-tpm.rst
@@ -59,14 +59,15 @@
Image configuration
-------------------
-You can also configure the vTPM on an image using the same properties. For example,
-to configure an image to use the TPM 2.0 with CRB model:
+You can also configure the vTPM on an image using the ``hw_tpm_version`` and
+``hw_tpm_model`` image metadata properties. For example, to configure an image
+to use the TPM 2.0 with CRB model:
.. code-block:: console
$ openstack image set <image-name-or-uuid> \
- --property hw:tpm_version=2.0 \
- --property hw:tpm_model=tpm-crb
+ --property hw_tpm_version=2.0 \
+ --property hw_tpm_model=tpm-crb
This can be useful if you need to enable the vTPM feature without having operator
access to the cloud or for specific images such as Windows versions that require
diff --git a/doc/source/release-notes.rst b/doc/source/release-notes.rst
index ec77acc..c8fc6d0 100644
--- a/doc/source/release-notes.rst
+++ b/doc/source/release-notes.rst
@@ -1 +1,18 @@
-.. release-notes:: Release Notes
+#############
+Release Notes
+#############
+
+.. release-notes:: Development Release
+ :branch: main
+
+.. release-notes:: OpenStack Caracal (2024.1)
+ :branch: stable/2024.1
+
+.. release-notes:: OpenStack Bobcat (2023.2)
+ :branch: stable/2023.2
+
+.. release-notes:: OpenStack Antelope (2023.1)
+ :branch: stable/2023.1
+
+.. release-notes:: OpenStack Zed
+ :branch: stable/zed
diff --git a/molecule/aio/group_vars/all/molecule.yml b/molecule/aio/group_vars/all/molecule.yml
index 74f9925..ac81243 100644
--- a/molecule/aio/group_vars/all/molecule.yml
+++ b/molecule/aio/group_vars/all/molecule.yml
@@ -1,3 +1,5 @@
+atmosphere_image_prefix: "{{ lookup('env', 'ATMOSPHERE_IMAGE_PREFIX') | default('', True) }}"
+
ceph_conf_overrides:
- section: global
option: mon allow pool size one
diff --git a/playbooks/openstack.yml b/playbooks/openstack.yml
index e82693a..12c35e7 100644
--- a/playbooks/openstack.yml
+++ b/playbooks/openstack.yml
@@ -79,7 +79,7 @@
tags:
- iscsi
-- name: Deploy Open vSwitch
+- name: Deploy SDN
hosts: controllers:computes
become: true
gather_facts: false
@@ -88,13 +88,13 @@
tags:
- openvswitch
-- hosts: controllers[0]
- become: true
- roles:
- role: ovn
tags:
- ovn
+- hosts: controllers[0]
+ become: true
+ roles:
- role: libvirt
tags:
- libvirt
diff --git a/releasenotes/notes/add-releasenotes-for-all-branches-a035b599afb29401.yaml b/releasenotes/notes/add-releasenotes-for-all-branches-a035b599afb29401.yaml
new file mode 100644
index 0000000..385400d
--- /dev/null
+++ b/releasenotes/notes/add-releasenotes-for-all-branches-a035b599afb29401.yaml
@@ -0,0 +1,4 @@
+---
+other:
+ - The documentation has been updated to include release notes for all of the
+ current supported Atmosphere releases.
diff --git a/releasenotes/notes/allow-prefix-to-image-names-4a795e9ff805b8b0.yaml b/releasenotes/notes/allow-prefix-to-image-names-4a795e9ff805b8b0.yaml
new file mode 100644
index 0000000..1c8a4ea
--- /dev/null
+++ b/releasenotes/notes/allow-prefix-to-image-names-4a795e9ff805b8b0.yaml
@@ -0,0 +1,6 @@
+---
+features:
+ - |
+ Introduced the ability to specify a prefix for image names. This allows for
+ easier integration with image proxies and caching mechanisms, eliminating
+ the need to maintain separate inventory overrides for each image.
diff --git a/releasenotes/notes/drop-extra-jobs-9d885e9f951c0f3f.yaml b/releasenotes/notes/drop-extra-jobs-9d885e9f951c0f3f.yaml
new file mode 100644
index 0000000..0a5131a
--- /dev/null
+++ b/releasenotes/notes/drop-extra-jobs-9d885e9f951c0f3f.yaml
@@ -0,0 +1,5 @@
+---
+other:
+ - The ``upload`` jobs have been removed from the ``gate`` pipeline and
+ replaced by the same ``build`` jobs since we use the intermediate
+ registry to store the images.
diff --git a/releasenotes/notes/fix-neutron-ironic-agent-f3eedbcec84b0478.yaml b/releasenotes/notes/fix-neutron-ironic-agent-f3eedbcec84b0478.yaml
new file mode 100644
index 0000000..773ef1b
--- /dev/null
+++ b/releasenotes/notes/fix-neutron-ironic-agent-f3eedbcec84b0478.yaml
@@ -0,0 +1,4 @@
+---
+fixes:
+ - |
+ Fixed an issue where the ``neutron-ironic-agent`` service failed to start.
diff --git a/releasenotes/notes/fix-pin-images-473f8e1cf4a81afc.yaml b/releasenotes/notes/fix-pin-images-473f8e1cf4a81afc.yaml
new file mode 100644
index 0000000..d3dc373
--- /dev/null
+++ b/releasenotes/notes/fix-pin-images-473f8e1cf4a81afc.yaml
@@ -0,0 +1,5 @@
+---
+fixes:
+ - The CI tooling for pinning images has been fixed to properly work after a
+ regression caused by the introduction of the ``atmosphere_image_prefix``
+ variable.
diff --git a/releasenotes/notes/fix-tpm-docs-d4cc722764f61032.yaml b/releasenotes/notes/fix-tpm-docs-d4cc722764f61032.yaml
new file mode 100644
index 0000000..59861b8
--- /dev/null
+++ b/releasenotes/notes/fix-tpm-docs-d4cc722764f61032.yaml
@@ -0,0 +1,5 @@
+---
+fixes:
+ - The documentation for using the vTPM was pointing to the incorrect
+ metadata properties for images. This has been corrected to point to the
+ correct metadata properties.
diff --git a/releasenotes/notes/prepull-ovn-controller-62f8a216e8b41c9f.yaml b/releasenotes/notes/prepull-ovn-controller-62f8a216e8b41c9f.yaml
new file mode 100644
index 0000000..6d01476
--- /dev/null
+++ b/releasenotes/notes/prepull-ovn-controller-62f8a216e8b41c9f.yaml
@@ -0,0 +1,5 @@
+---
+features:
+ - The ``ovn-controller`` image is now being pre-pulled on the nodes prior
+ to the Helm chart being deployed. This will help reduce the time it takes
+ to switch over to the new version of the ``ovn-controller`` image.
diff --git a/releasenotes/notes/skip-releasenotes-acb170de807b80bc.yaml b/releasenotes/notes/skip-releasenotes-acb170de807b80bc.yaml
new file mode 100644
index 0000000..bd4f4e8
--- /dev/null
+++ b/releasenotes/notes/skip-releasenotes-acb170de807b80bc.yaml
@@ -0,0 +1,3 @@
+---
+other:
+ - The heavy CI jobs are now skipped when release notes are changed.
diff --git a/roles/defaults/defaults/main.yml b/roles/defaults/defaults/main.yml
index ba672af..cd54fc9 100644
--- a/roles/defaults/defaults/main.yml
+++ b/roles/defaults/defaults/main.yml
@@ -18,6 +18,7 @@
atmosphere_ingress_class_name: atmosphere
atmosphere_ingress_cluster_issuer: atmosphere
atmosphere_ingress_annotations: {}
+atmosphere_image_prefix: ""
# Network backend
atmosphere_network_backend: openvswitch
diff --git a/roles/defaults/vars.go b/roles/defaults/vars.go
index 0799e7d..38b6b22 100644
--- a/roles/defaults/vars.go
+++ b/roles/defaults/vars.go
@@ -16,14 +16,13 @@
// Define a global variable for the release value.
var release = "main"
-// Function to replace the {{ release }} placeholders
-func replaceReleaseInYAML(yamlContent []byte, release string) []byte {
- return []byte(strings.ReplaceAll(string(yamlContent), "{{ atmosphere_release }}", release))
-}
-
func GetImages() (map[string]string, error) {
// Replace {{ release }} with the actual release value
- modifiedVarsFile := replaceReleaseInYAML(varsFile, release)
+ modifiedVarsFile := []byte(strings.ReplaceAll(string(varsFile), "{{ atmosphere_release }}", release))
+
+ // Fix prefixes for images to allow tests to run
+ modifiedVarsFile = []byte(strings.ReplaceAll(string(modifiedVarsFile), "{{ atmosphere_image_prefix }}registry.atmosphere.dev", "harbor.atmosphere.dev"))
+ modifiedVarsFile = []byte(strings.ReplaceAll(string(modifiedVarsFile), "{{ atmosphere_image_prefix }}", "harbor.atmosphere.dev/"))
path, err := yaml.PathString("$._atmosphere_images")
if err != nil {
diff --git a/roles/defaults/vars/main.yml b/roles/defaults/vars/main.yml
index 93fad33..cf83407 100644
--- a/roles/defaults/vars/main.yml
+++ b/roles/defaults/vars/main.yml
@@ -15,214 +15,214 @@
atmosphere_release: main
_atmosphere_images:
- alertmanager: quay.io/prometheus/alertmanager:v0.27.0
- 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:v18.2.2
- cert_manager_cainjector: quay.io/jetstack/cert-manager-cainjector:v1.12.10
- cert_manager_cli: quay.io/jetstack/cert-manager-ctl:v1.12.10
- cert_manager_controller: quay.io/jetstack/cert-manager-controller:v1.12.10
- cert_manager_webhook: quay.io/jetstack/cert-manager-webhook:v1.12.10
- cert_manager_acmesolver: quay.io/jetstack/cert-manager-acmesolver:v1.12.10
- 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:{{ 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.8.4
- cluster_api_kubeadm_bootstrap_controller: registry.k8s.io/cluster-api/kubeadm-bootstrap-controller:v1.8.4
- cluster_api_kubeadm_control_plane_controller: registry.k8s.io/cluster-api/kubeadm-control-plane-controller:v1.8.4
- cluster_api_openstack_controller: registry.k8s.io/capi-openstack/capi-openstack-controller:v0.11.2
- csi_node_driver_registrar: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.10.0
- csi_rbd_attacher: registry.k8s.io/sig-storage/csi-attacher:v4.5.0
- csi_rbd_plugin: quay.io/cephcsi/cephcsi:v3.11.0
- csi_rbd_provisioner: registry.k8s.io/sig-storage/csi-provisioner:v4.0.0
- csi_rbd_resizer: registry.k8s.io/sig-storage/csi-resizer:v1.10.0
- csi_rbd_snapshotter: registry.k8s.io/sig-storage/csi-snapshotter:v7.0.0
- 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:11.0.0
- goldpinger: docker.io/bloomberg/goldpinger:3.10.1
- haproxy: docker.io/library/haproxy:2.5
- 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 }}"
- ibm_block_csi_addons_replicator: quay.io/ibmcsiblock/csi-block-volumereplication-operator:v0.9.0
- ibm_block_csi_attacher: registry.k8s.io/sig-storage/csi-attacher:v4.2.0
- ibm_block_csi_driver_controller: quay.io/ibmcsiblock/ibm-block-csi-driver-controller:1.11.2
- ibm_block_csi_driver_node: quay.io/ibmcsiblock/ibm-block-csi-driver-node:1.11.2
- ibm_block_csi_node_driver_registrar: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.6.3
- ibm_block_csi_livenessprobe: registry.k8s.io/sig-storage/livenessprobe:v2.9.0
- ibm_block_csi_operator: quay.io/ibmcsiblock/ibm-block-csi-operator:1.11.2
- ibm_block_csi_provisioner: registry.k8s.io/sig-storage/csi-provisioner:v3.4.0
- ibm_block_csi_resizer: registry.k8s.io/sig-storage/csi-resizer:v1.7.0
- ibm_block_csi_snapshotter: registry.k8s.io/sig-storage/csi-snapshotter:v6.2.1
- ibm_block_csi_volume_group: quay.io/ibmcsiblock/csi-volume-group-operator:v0.9.1
- ingress_nginx_controller: registry.k8s.io/ingress-nginx/controller:v1.10.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.4.1
- ironic_api: "registry.atmosphere.dev/library/ironic:{{ atmosphere_release }}"
- ironic_conductor: "registry.atmosphere.dev/library/ironic:{{ atmosphere_release }}"
- ironic_db_sync: "registry.atmosphere.dev/library/ironic:{{ atmosphere_release }}"
- ironic_manage_cleaning_network: "registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
- ironic_pxe_http: docker.io/library/nginx:1.25
- ironic_pxe_init: "registry.atmosphere.dev/library/ironic:{{ atmosphere_release }}"
- ironic_pxe: "registry.atmosphere.dev/library/ironic:{{ atmosphere_release }}"
- ironic_retrive_cleaning_network: "registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
- ironic_retrive_swift_config: "registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
- keepalived: "registry.atmosphere.dev/library/keepalived:{{ atmosphere_release }}"
- keycloak: quay.io/keycloak/keycloak:24.0.5-0
- 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
- kube_etcd: registry.k8s.io/etcd:3.5.6-0
- kube_proxy: registry.k8s.io/kube-proxy:v1.22.17
- 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
- kube_vip: ghcr.io/kube-vip/kube-vip:v0.6.4
- kubectl: docker.io/bitnami/kubectl:1.27.3
- libvirt: "registry.atmosphere.dev/library/libvirtd:{{ atmosphere_release }}"
- libvirt_tls_sidecar: registry.atmosphere.dev/library/libvirt-tls-sidecar:latest
- libvirt_exporter: registry.atmosphere.dev/library/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:3.0.0
- 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:{{ 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.26
- 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.11.1
- 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_ovn_vpn: "registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
- neutron_server: "registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
- neutron_rpc_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 }}"
- neutron_policy_server: "registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
- node_feature_discovery: registry.k8s.io/nfd/node-feature-discovery:v0.15.4
- 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 }}"
- nova_storage_init: "registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
- oauth2_proxy: quay.io/oauth2-proxy/oauth2-proxy:v7.6.0
- 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 }}"
- openstack_cli: "registry.atmosphere.dev/library/python-openstackclient:{{ 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_controller_kubectl: "registry.atmosphere.dev/library/ovn-host:{{ atmosphere_release }}"
- ovn_logging_parser: "registry.atmosphere.dev/library/neutron:{{ 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.14.0-haproxy
- percona_xtradb_cluster_operator: docker.io/percona/percona-xtradb-cluster-operator:1.14.0
- percona_xtradb_cluster: docker.io/percona/percona-xtradb-cluster:8.0.36-28.1
- percona_version_service: docker.io/perconalab/version-service:production-2048c1f
- placement_db_sync: "registry.atmosphere.dev/library/placement:{{ atmosphere_release }}"
- placement: "registry.atmosphere.dev/library/placement:{{ atmosphere_release }}"
- pod_tls_sidecar: registry.atmosphere.dev/library/pod-tls-sidecar:latest
- 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.14.3
- prometheus_mysqld_exporter: quay.io/prometheus/mysqld-exporter:v0.15.1
- prometheus_node_exporter: quay.io/prometheus/node-exporter:v1.8.1
- prometheus_openstack_database_exporter: ghcr.io/vexxhost/openstack-database-exporter:v0.4.2
- prometheus_openstack_exporter: ghcr.io/openstack-exporter/openstack-exporter:1.7.0
- prometheus_operator_kube_webhook_certgen: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20221220-controller-v1.5.1-58-g787ea74b6
- prometheus_operator: quay.io/prometheus-operator/prometheus-operator:v0.74.0
- prometheus_pushgateway: docker.io/prom/pushgateway:v1.8.0
- prometheus: quay.io/prometheus/prometheus:v2.51.2
- rabbit_init: docker.io/library/rabbitmq:3.13.3-management
- rabbitmq_cluster_operator: docker.io/rabbitmqoperator/cluster-operator:2.9.0
- rabbitmq_credential_updater: docker.io/rabbitmqoperator/default-user-credential-updater:1.0.4
- rabbitmq_server: docker.io/library/rabbitmq:3.13.3-management
- rabbitmq_topology_operator: docker.io/rabbitmqoperator/messaging-topology-operator:1.14.1
- rook_ceph: docker.io/rook/ceph:v1.14.5
- secretgen_controller: ghcr.io/carvel-dev/secretgen-controller@sha256:59ec05ce5847bfd70c8e04f08b5195e918c8f6fbb947ffc91b456494a2958fd5
- 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.38.0-debian
+ alertmanager: "{{ atmosphere_image_prefix }}quay.io/prometheus/alertmanager:v0.27.0"
+ barbican_api: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/barbican:{{ atmosphere_release }}"
+ barbican_db_sync: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/barbican:{{ atmosphere_release }}"
+ bootstrap: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ ceph_config_helper: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/libvirtd:{{ atmosphere_release }}"
+ ceph: "{{ atmosphere_image_prefix }}quay.io/ceph/ceph:v18.2.2"
+ cert_manager_cainjector: "{{ atmosphere_image_prefix }}quay.io/jetstack/cert-manager-cainjector:v1.12.10"
+ cert_manager_cli: "{{ atmosphere_image_prefix }}quay.io/jetstack/cert-manager-ctl:v1.12.10"
+ cert_manager_controller: "{{ atmosphere_image_prefix }}quay.io/jetstack/cert-manager-controller:v1.12.10"
+ cert_manager_webhook: "{{ atmosphere_image_prefix }}quay.io/jetstack/cert-manager-webhook:v1.12.10"
+ cert_manager_acmesolver: "{{ atmosphere_image_prefix }}quay.io/jetstack/cert-manager-acmesolver:v1.12.10"
+ cilium_node: "{{ atmosphere_image_prefix }}quay.io/cilium/cilium:v1.14.8"
+ cilium_operator: "{{ atmosphere_image_prefix }}quay.io/cilium/operator-generic:v1.14.8"
+ cinder_api: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/cinder:{{ atmosphere_release }}"
+ cinder_backup_storage_init: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/cinder:{{ atmosphere_release }}"
+ cinder_backup: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/cinder:{{ atmosphere_release }}"
+ cinder_db_sync: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/cinder:{{ atmosphere_release }}"
+ cinder_scheduler: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/cinder:{{ atmosphere_release }}"
+ cinder_storage_init: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/cinder:{{ atmosphere_release }}"
+ cinder_volume_usage_audit: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/cinder:{{ atmosphere_release }}"
+ cinder_volume: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/cinder:{{ atmosphere_release }}"
+ cluster_api_controller: "{{ atmosphere_image_prefix }}registry.k8s.io/cluster-api/cluster-api-controller:v1.8.4"
+ cluster_api_kubeadm_bootstrap_controller: "{{ atmosphere_image_prefix }}registry.k8s.io/cluster-api/kubeadm-bootstrap-controller:v1.8.4"
+ cluster_api_kubeadm_control_plane_controller: "{{ atmosphere_image_prefix }}registry.k8s.io/cluster-api/kubeadm-control-plane-controller:v1.8.4"
+ cluster_api_openstack_controller: "{{ atmosphere_image_prefix }}registry.k8s.io/capi-openstack/capi-openstack-controller:v0.11.2"
+ csi_node_driver_registrar: "{{ atmosphere_image_prefix }}registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.10.0"
+ csi_rbd_attacher: "{{ atmosphere_image_prefix }}registry.k8s.io/sig-storage/csi-attacher:v4.5.0"
+ csi_rbd_plugin: "{{ atmosphere_image_prefix }}quay.io/cephcsi/cephcsi:v3.11.0"
+ csi_rbd_provisioner: "{{ atmosphere_image_prefix }}registry.k8s.io/sig-storage/csi-provisioner:v4.0.0"
+ csi_rbd_resizer: "{{ atmosphere_image_prefix }}registry.k8s.io/sig-storage/csi-resizer:v1.10.0"
+ csi_rbd_snapshotter: "{{ atmosphere_image_prefix }}registry.k8s.io/sig-storage/csi-snapshotter:v7.0.0"
+ db_drop: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ db_init: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ dep_check: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/kubernetes-entrypoint:{{ atmosphere_release }}"
+ designate_api: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/designate:{{ atmosphere_release }}"
+ designate_central: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/designate:{{ atmosphere_release }}"
+ designate_db_sync: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/designate:{{ atmosphere_release }}"
+ designate_mdns: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/designate:{{ atmosphere_release }}"
+ designate_producer: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/designate:{{ atmosphere_release }}"
+ designate_sink: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/designate:{{ atmosphere_release }}"
+ designate_worker: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/designate:{{ atmosphere_release }}"
+ glance_api: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/glance:{{ atmosphere_release }}"
+ glance_db_sync: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/glance:{{ atmosphere_release }}"
+ glance_metadefs_load: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/glance:{{ atmosphere_release }}"
+ glance_registry: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/glance:{{ atmosphere_release }}"
+ glance_storage_init: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/glance:{{ atmosphere_release }}"
+ grafana_sidecar: "{{ atmosphere_image_prefix }}quay.io/kiwigrid/k8s-sidecar:1.26.1"
+ grafana: "{{ atmosphere_image_prefix }}docker.io/grafana/grafana:11.0.0"
+ goldpinger: "{{ atmosphere_image_prefix }}docker.io/bloomberg/goldpinger:3.10.1"
+ haproxy: "{{ atmosphere_image_prefix }}docker.io/library/haproxy:2.5"
+ heat_api: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ heat_cfn: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ heat_cloudwatch: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ heat_db_sync: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ heat_engine_cleaner: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ heat_engine: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ heat_purge_deleted: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ horizon_db_sync: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/horizon:{{ atmosphere_release }}"
+ horizon: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/horizon:{{ atmosphere_release }}"
+ ibm_block_csi_addons_replicator: "{{ atmosphere_image_prefix }}quay.io/ibmcsiblock/csi-block-volumereplication-operator:v0.9.0"
+ ibm_block_csi_attacher: "{{ atmosphere_image_prefix }}registry.k8s.io/sig-storage/csi-attacher:v4.2.0"
+ ibm_block_csi_driver_controller: "{{ atmosphere_image_prefix }}quay.io/ibmcsiblock/ibm-block-csi-driver-controller:1.11.2"
+ ibm_block_csi_driver_node: "{{ atmosphere_image_prefix }}quay.io/ibmcsiblock/ibm-block-csi-driver-node:1.11.2"
+ ibm_block_csi_node_driver_registrar: "{{ atmosphere_image_prefix }}registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.6.3"
+ ibm_block_csi_livenessprobe: "{{ atmosphere_image_prefix }}registry.k8s.io/sig-storage/livenessprobe:v2.9.0"
+ ibm_block_csi_operator: "{{ atmosphere_image_prefix }}quay.io/ibmcsiblock/ibm-block-csi-operator:1.11.2"
+ ibm_block_csi_provisioner: "{{ atmosphere_image_prefix }}registry.k8s.io/sig-storage/csi-provisioner:v3.4.0"
+ ibm_block_csi_resizer: "{{ atmosphere_image_prefix }}registry.k8s.io/sig-storage/csi-resizer:v1.7.0"
+ ibm_block_csi_snapshotter: "{{ atmosphere_image_prefix }}registry.k8s.io/sig-storage/csi-snapshotter:v6.2.1"
+ ibm_block_csi_volume_group: "{{ atmosphere_image_prefix }}quay.io/ibmcsiblock/csi-volume-group-operator:v0.9.1"
+ ingress_nginx_controller: "{{ atmosphere_image_prefix }}registry.k8s.io/ingress-nginx/controller:v1.10.1"
+ ingress_nginx_default_backend: "{{ atmosphere_image_prefix }}registry.k8s.io/defaultbackend-amd64:1.5"
+ ingress_nginx_kube_webhook_certgen: "{{ atmosphere_image_prefix }}registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1"
+ ironic_api: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/ironic:{{ atmosphere_release }}"
+ ironic_conductor: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/ironic:{{ atmosphere_release }}"
+ ironic_db_sync: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/ironic:{{ atmosphere_release }}"
+ ironic_manage_cleaning_network: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ ironic_pxe_http: "{{ atmosphere_image_prefix }}docker.io/library/nginx:1.25"
+ ironic_pxe_init: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/ironic:{{ atmosphere_release }}"
+ ironic_pxe: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/ironic:{{ atmosphere_release }}"
+ ironic_retrive_cleaning_network: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ ironic_retrive_swift_config: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ keepalived: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/keepalived:{{ atmosphere_release }}"
+ keycloak: "{{ atmosphere_image_prefix }}quay.io/keycloak/keycloak:24.0.5-0"
+ keystone_api: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/keystone:{{ atmosphere_release }}"
+ keystone_credential_cleanup: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ keystone_credential_rotate: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/keystone:{{ atmosphere_release }}"
+ keystone_credential_setup: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/keystone:{{ atmosphere_release }}"
+ keystone_db_sync: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/keystone:{{ atmosphere_release }}"
+ keystone_domain_manage: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ keystone_fernet_rotate: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/keystone:{{ atmosphere_release }}"
+ keystone_fernet_setup: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/keystone:{{ atmosphere_release }}"
+ ks_endpoints: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ ks_service: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ ks_user: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ kube_apiserver: "{{ atmosphere_image_prefix }}registry.k8s.io/kube-apiserver:v1.22.17"
+ kube_controller_manager: "{{ atmosphere_image_prefix }}registry.k8s.io/kube-controller-manager:v1.22.17"
+ kube_coredns: "{{ atmosphere_image_prefix }}registry.k8s.io/coredns/coredns:v1.8.4"
+ kube_etcd: "{{ atmosphere_image_prefix }}registry.k8s.io/etcd:3.5.6-0"
+ kube_proxy: "{{ atmosphere_image_prefix }}registry.k8s.io/kube-proxy:v1.22.17"
+ kube_scheduler: "{{ atmosphere_image_prefix }}registry.k8s.io/kube-scheduler:v1.22.17"
+ kube_state_metrics: "{{ atmosphere_image_prefix }}registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.12.0"
+ kube_vip: "{{ atmosphere_image_prefix }}ghcr.io/kube-vip/kube-vip:v0.6.4"
+ kubectl: "{{ atmosphere_image_prefix }}docker.io/bitnami/kubectl:1.27.3"
+ libvirt: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/libvirtd:{{ atmosphere_release }}"
+ libvirt_tls_sidecar: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/libvirt-tls-sidecar:latest"
+ libvirt_exporter: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/libvirtd-exporter:latest"
+ local_path_provisioner_helper: "{{ atmosphere_image_prefix }}docker.io/library/busybox:1.36.0"
+ local_path_provisioner: "{{ atmosphere_image_prefix }}docker.io/rancher/local-path-provisioner:v0.0.24"
+ loki_gateway: "{{ atmosphere_image_prefix }}docker.io/nginxinc/nginx-unprivileged:1.24-alpine"
+ loki: "{{ atmosphere_image_prefix }}docker.io/grafana/loki:3.0.0"
+ magnum_api: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/magnum:{{ atmosphere_release }}"
+ magnum_cluster_api_proxy: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/magnum:{{ atmosphere_release }}"
+ magnum_conductor: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/magnum:{{ atmosphere_release }}"
+ magnum_db_sync: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/magnum:{{ atmosphere_release }}"
+ magnum_registry: "{{ atmosphere_image_prefix }}quay.io/vexxhost/magnum-cluster-api-registry:latest"
+ manila_api: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/manila:{{ atmosphere_release }}"
+ manila_data: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/manila:{{ atmosphere_release }}"
+ manila_db_sync: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/manila:{{ atmosphere_release }}"
+ manila_scheduler: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/manila:{{ atmosphere_release }}"
+ manila_share: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/manila:{{ atmosphere_release }}"
+ memcached: "{{ atmosphere_image_prefix }}docker.io/library/memcached:1.6.26"
+ netoffload: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/netoffload:{{ atmosphere_release }}"
+ neutron_bagpipe_bgp: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ neutron_bgp_dragent: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ neutron_coredns: "{{ atmosphere_image_prefix }}docker.io/coredns/coredns:1.11.1"
+ neutron_db_sync: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ neutron_dhcp: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ neutron_ironic_agent_init: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ neutron_ironic_agent: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ neutron_l2gw: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ neutron_l3: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ neutron_linuxbridge_agent: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ neutron_metadata: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ neutron_netns_cleanup_cron: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ neutron_openvswitch_agent: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ neutron_ovn_metadata: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ neutron_ovn_vpn: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ neutron_server: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ neutron_rpc_server: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ neutron_sriov_agent_init: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ neutron_sriov_agent: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ neutron_policy_server: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ node_feature_discovery: "{{ atmosphere_image_prefix }}registry.k8s.io/nfd/node-feature-discovery:v0.15.4"
+ nova_api: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/nova:{{ atmosphere_release }}"
+ nova_archive_deleted_rows: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/nova:{{ atmosphere_release }}"
+ nova_cell_setup_init: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ nova_cell_setup: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/nova:{{ atmosphere_release }}"
+ nova_compute_ironic: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/nova:{{ atmosphere_release }}"
+ nova_compute_ssh: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/nova-ssh:{{ atmosphere_release }}"
+ nova_compute: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/nova:{{ atmosphere_release }}"
+ nova_conductor: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/nova:{{ atmosphere_release }}"
+ nova_consoleauth: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/nova:{{ atmosphere_release }}"
+ nova_db_sync: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/nova:{{ atmosphere_release }}"
+ nova_novncproxy_assets: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/nova:{{ atmosphere_release }}"
+ nova_novncproxy: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/nova:{{ atmosphere_release }}"
+ nova_placement: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/nova:{{ atmosphere_release }}"
+ nova_scheduler: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/nova:{{ atmosphere_release }}"
+ nova_service_cleaner: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ nova_spiceproxy_assets: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/nova:{{ atmosphere_release }}"
+ nova_spiceproxy: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/nova:{{ atmosphere_release }}"
+ nova_storage_init: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ oauth2_proxy: "{{ atmosphere_image_prefix }}quay.io/oauth2-proxy/oauth2-proxy:v7.6.0"
+ octavia_api: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/octavia:{{ atmosphere_release }}"
+ octavia_db_sync: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/octavia:{{ atmosphere_release }}"
+ octavia_health_manager_init: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/heat:{{ atmosphere_release }}"
+ octavia_health_manager: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/octavia:{{ atmosphere_release }}"
+ octavia_housekeeping: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/octavia:{{ atmosphere_release }}"
+ octavia_worker: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/octavia:{{ atmosphere_release }}"
+ openstack_cli: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/python-openstackclient:{{ atmosphere_release }}"
+ openvswitch_db_server: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/openvswitch:{{ atmosphere_release }}"
+ openvswitch_vswitchd: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/openvswitch:{{ atmosphere_release }}"
+ ovn_controller: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/ovn-host:{{ atmosphere_release }}"
+ ovn_controller_kubectl: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/ovn-host:{{ atmosphere_release }}"
+ ovn_logging_parser: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/neutron:{{ atmosphere_release }}"
+ ovn_northd: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/ovn-central:{{ atmosphere_release }}"
+ ovn_ovsdb_nb: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/ovn-central:{{ atmosphere_release }}"
+ ovn_ovsdb_sb: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/ovn-central:{{ atmosphere_release }}"
+ pause: "{{ atmosphere_image_prefix }}registry.k8s.io/pause:3.9"
+ percona_xtradb_cluster_haproxy: "{{ atmosphere_image_prefix }}docker.io/percona/percona-xtradb-cluster-operator:1.14.0-haproxy"
+ percona_xtradb_cluster_operator: "{{ atmosphere_image_prefix }}docker.io/percona/percona-xtradb-cluster-operator:1.14.0"
+ percona_xtradb_cluster: "{{ atmosphere_image_prefix }}docker.io/percona/percona-xtradb-cluster:8.0.36-28.1"
+ percona_version_service: "{{ atmosphere_image_prefix }}docker.io/perconalab/version-service:production-2048c1f"
+ placement_db_sync: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/placement:{{ atmosphere_release }}"
+ placement: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/placement:{{ atmosphere_release }}"
+ pod_tls_sidecar: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/pod-tls-sidecar:latest"
+ prometheus_config_reloader: "{{ atmosphere_image_prefix }}quay.io/prometheus-operator/prometheus-config-reloader:v0.73.0"
+ prometheus_ipmi_exporter: "{{ atmosphere_image_prefix }}us-docker.pkg.dev/vexxhost-infra/openstack/ipmi-exporter:1.4.0"
+ prometheus_memcached_exporter: "{{ atmosphere_image_prefix }}quay.io/prometheus/memcached-exporter:v0.14.3"
+ prometheus_mysqld_exporter: "{{ atmosphere_image_prefix }}quay.io/prometheus/mysqld-exporter:v0.15.1"
+ prometheus_node_exporter: "{{ atmosphere_image_prefix }}quay.io/prometheus/node-exporter:v1.8.1"
+ prometheus_openstack_database_exporter: "{{ atmosphere_image_prefix }}ghcr.io/vexxhost/openstack-database-exporter:v0.4.2"
+ prometheus_openstack_exporter: "{{ atmosphere_image_prefix }}ghcr.io/openstack-exporter/openstack-exporter:1.7.0"
+ prometheus_operator_kube_webhook_certgen: "{{ atmosphere_image_prefix }}registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20221220-controller-v1.5.1-58-g787ea74b6"
+ prometheus_operator: "{{ atmosphere_image_prefix }}quay.io/prometheus-operator/prometheus-operator:v0.74.0"
+ prometheus_pushgateway: "{{ atmosphere_image_prefix }}docker.io/prom/pushgateway:v1.8.0"
+ prometheus: "{{ atmosphere_image_prefix }}quay.io/prometheus/prometheus:v2.51.2"
+ rabbit_init: "{{ atmosphere_image_prefix }}docker.io/library/rabbitmq:3.13.3-management"
+ rabbitmq_cluster_operator: "{{ atmosphere_image_prefix }}docker.io/rabbitmqoperator/cluster-operator:2.9.0"
+ rabbitmq_credential_updater: "{{ atmosphere_image_prefix }}docker.io/rabbitmqoperator/default-user-credential-updater:1.0.4"
+ rabbitmq_server: "{{ atmosphere_image_prefix }}docker.io/library/rabbitmq:3.13.3-management"
+ rabbitmq_topology_operator: "{{ atmosphere_image_prefix }}docker.io/rabbitmqoperator/messaging-topology-operator:1.14.1"
+ rook_ceph: "{{ atmosphere_image_prefix }}docker.io/rook/ceph:v1.14.5"
+ secretgen_controller: "{{ atmosphere_image_prefix }}ghcr.io/carvel-dev/secretgen-controller@sha256:59ec05ce5847bfd70c8e04f08b5195e918c8f6fbb947ffc91b456494a2958fd5"
+ staffeln_db_sync: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/staffeln:{{ atmosphere_release }}"
+ staffeln_conductor: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/staffeln:{{ atmosphere_release }}"
+ staffeln_api: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/staffeln:{{ atmosphere_release }}"
+ tempest_run_tests: "{{ atmosphere_image_prefix }}registry.atmosphere.dev/library/tempest:{{ atmosphere_release }}"
+ vector: "{{ atmosphere_image_prefix }}docker.io/timberio/vector:0.38.0-debian"
-atmosphere_images: '{{ _atmosphere_images | combine(atmosphere_image_overrides, recursive=True)
- }}'
+atmosphere_images: '{{ _atmosphere_images | combine(atmosphere_image_overrides, recursive=True) }}'
diff --git a/roles/defaults/vars_test.go b/roles/defaults/vars_test.go
index 44e022d..3a8d231 100644
--- a/roles/defaults/vars_test.go
+++ b/roles/defaults/vars_test.go
@@ -1,6 +1,7 @@
package defaults
import (
+ "bytes"
"context"
"fmt"
"slices"
@@ -8,9 +9,30 @@
"testing"
"github.com/containers/image/v5/docker"
+ "github.com/goccy/go-yaml"
+ "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
+func TestImageHasPrefix(t *testing.T) {
+ path, err := yaml.PathString("$._atmosphere_images")
+ require.NoError(t, err)
+
+ var images map[string]string
+ err = path.Read(bytes.NewReader(varsFile), &images)
+ require.NoError(t, err)
+
+ prefix := "{{ atmosphere_image_prefix }}"
+
+ for _, image := range images {
+ testName := strings.ReplaceAll(image, prefix, "")
+
+ t.Run(testName, func(t *testing.T) {
+ assert.True(t, strings.HasPrefix(image, prefix))
+ })
+ }
+}
+
func TestImageExist(t *testing.T) {
images, err := GetImages()
require.NoError(t, err)
diff --git a/roles/ovn/tasks/main.yml b/roles/ovn/tasks/main.yml
index ea16a01..b0e7399 100644
--- a/roles/ovn/tasks/main.yml
+++ b/roles/ovn/tasks/main.yml
@@ -38,6 +38,21 @@
- _ovn_controller_ds_info.resources | length > 0
- "'type' in _ovn_controller_ds_info.resources[0].spec.selector.matchLabels"
+- name: Cache ovn-controller image before install or upgrade
+ block:
+ - name: Pull ovn-controller image
+ ansible.builtin.command: crictl pull {{ atmosphere_images['ovn_controller'] }}
+ register: pull_result
+ changed_when: false
+
+ - name: Verify ovn-controller image pull
+ ansible.builtin.assert:
+ that:
+ - pull_result.rc == 0
+ - "'Image is up to date' in pull_result.stdout or 'Image pulled' in pull_result.stdout"
+ fail_msg: "Failed to pull ovn-controller image"
+ success_msg: "Successfully pulled ovn-controller image"
+
- name: Deploy Helm chart
run_once: true
when: atmosphere_network_backend == 'ovn'
diff --git a/tox.ini b/tox.ini
index c1051ce..daf186c 100644
--- a/tox.ini
+++ b/tox.ini
@@ -21,7 +21,9 @@
{posargs}
[testenv:pin-digests]
+skip_install = true
deps =
+ docker-image-py>=0.1.12
oslo_config
oslo_log
ruyaml
diff --git a/zuul.d/container-images/barbican.yaml b/zuul.d/container-images/barbican.yaml
index e2ecc40..ca1f0c0 100644
--- a/zuul.d/container-images/barbican.yaml
+++ b/zuul.d/container-images/barbican.yaml
@@ -18,7 +18,7 @@
- atmosphere-build-container-image-barbican
gate:
jobs:
- - atmosphere-upload-container-image-barbican
+ - atmosphere-build-container-image-barbican
promote:
jobs:
- atmosphere-promote-container-image-barbican
@@ -40,7 +40,7 @@
- name: atmosphere-build-container-image-openstack-python-runtime
soft: true
vars: &container_image_vars
- promote_container_image_job: atmosphere-upload-container-image-barbican
+ promote_container_image_job: atmosphere-build-container-image-barbican
container_images:
- context: images/barbican
registry: harbor.atmosphere.dev
@@ -62,25 +62,6 @@
- images/barbican/.*
- job:
- name: atmosphere-upload-container-image-barbican
- parent: atmosphere-upload-container-image
- dependencies:
- - name: atmosphere-buildset-registry
- soft: false
- - name: atmosphere-upload-container-image-ubuntu
- soft: true
- - name: atmosphere-upload-container-image-ubuntu-cloud-archive
- soft: true
- - name: atmosphere-upload-container-image-python-base
- soft: true
- - name: atmosphere-upload-container-image-openstack-venv-builder
- soft: true
- - name: atmosphere-upload-container-image-openstack-python-runtime
- soft: true
- vars: *container_image_vars
- files: *container_image_files
-
-- job:
name: atmosphere-promote-container-image-barbican
parent: atmosphere-promote-container-image
vars: *container_image_vars
diff --git a/zuul.d/container-images/base.yaml b/zuul.d/container-images/base.yaml
index 7ff6bbb..5be0310 100644
--- a/zuul.d/container-images/base.yaml
+++ b/zuul.d/container-images/base.yaml
@@ -24,14 +24,18 @@
name: atmosphere-buildset-registry
parent: ci-buildset-registry
irrelevant-files:
+ - ^build/
- ^doc/
+ - ^releasenotes/
- job:
name: atmosphere-build-container-image
parent: ci-build-container-image
abstract: true
irrelevant-files:
+ - ^build/
- ^doc/
+ - ^releasenotes/
vars: &image_vars
container_command: docker
promote_container_image_method: intermediate-registry
@@ -42,18 +46,12 @@
- ['harbor.atmosphere.dev', 'https://harbor.atmosphere.dev']
- job:
- name: atmosphere-upload-container-image
- parent: ci-upload-container-image
- abstract: true
- irrelevant-files:
- - ^doc/
- vars: *image_vars
-
-- job:
name: atmosphere-promote-container-image
parent: ci-promote-container-image
irrelevant-files:
+ - ^build/
- ^doc/
+ - ^releasenotes/
nodeset:
nodes: []
vars: *image_vars
diff --git a/zuul.d/container-images/cinder.yaml b/zuul.d/container-images/cinder.yaml
index e039bda..e5393ba 100644
--- a/zuul.d/container-images/cinder.yaml
+++ b/zuul.d/container-images/cinder.yaml
@@ -18,7 +18,7 @@
- atmosphere-build-container-image-cinder
gate:
jobs:
- - atmosphere-upload-container-image-cinder
+ - atmosphere-build-container-image-cinder
promote:
jobs:
- atmosphere-promote-container-image-cinder
@@ -40,7 +40,7 @@
- name: atmosphere-build-container-image-openstack-python-runtime
soft: true
vars: &container_image_vars
- promote_container_image_job: atmosphere-upload-container-image-cinder
+ promote_container_image_job: atmosphere-build-container-image-cinder
container_images:
- context: images/cinder
registry: harbor.atmosphere.dev
@@ -62,25 +62,6 @@
- images/cinder/.*
- job:
- name: atmosphere-upload-container-image-cinder
- parent: atmosphere-upload-container-image
- dependencies:
- - name: atmosphere-buildset-registry
- soft: false
- - name: atmosphere-upload-container-image-ubuntu
- soft: true
- - name: atmosphere-upload-container-image-ubuntu-cloud-archive
- soft: true
- - name: atmosphere-upload-container-image-python-base
- soft: true
- - name: atmosphere-upload-container-image-openstack-venv-builder
- soft: true
- - name: atmosphere-upload-container-image-openstack-python-runtime
- soft: true
- vars: *container_image_vars
- files: *container_image_files
-
-- job:
name: atmosphere-promote-container-image-cinder
parent: atmosphere-promote-container-image
vars: *container_image_vars
diff --git a/zuul.d/container-images/designate.yaml b/zuul.d/container-images/designate.yaml
index fd02908..1f4b19b 100644
--- a/zuul.d/container-images/designate.yaml
+++ b/zuul.d/container-images/designate.yaml
@@ -18,7 +18,7 @@
- atmosphere-build-container-image-designate
gate:
jobs:
- - atmosphere-upload-container-image-designate
+ - atmosphere-build-container-image-designate
promote:
jobs:
- atmosphere-promote-container-image-designate
@@ -40,7 +40,7 @@
- name: atmosphere-build-container-image-openstack-python-runtime
soft: true
vars: &container_image_vars
- promote_container_image_job: atmosphere-upload-container-image-designate
+ promote_container_image_job: atmosphere-build-container-image-designate
container_images:
- context: images/designate
registry: harbor.atmosphere.dev
@@ -62,25 +62,6 @@
- images/designate/.*
- job:
- name: atmosphere-upload-container-image-designate
- parent: atmosphere-upload-container-image
- dependencies:
- - name: atmosphere-buildset-registry
- soft: false
- - name: atmosphere-upload-container-image-ubuntu
- soft: true
- - name: atmosphere-upload-container-image-ubuntu-cloud-archive
- soft: true
- - name: atmosphere-upload-container-image-python-base
- soft: true
- - name: atmosphere-upload-container-image-openstack-venv-builder
- soft: true
- - name: atmosphere-upload-container-image-openstack-python-runtime
- soft: true
- vars: *container_image_vars
- files: *container_image_files
-
-- job:
name: atmosphere-promote-container-image-designate
parent: atmosphere-promote-container-image
vars: *container_image_vars
diff --git a/zuul.d/container-images/glance.yaml b/zuul.d/container-images/glance.yaml
index 411b5a4..5cfc43c 100644
--- a/zuul.d/container-images/glance.yaml
+++ b/zuul.d/container-images/glance.yaml
@@ -18,7 +18,7 @@
- atmosphere-build-container-image-glance
gate:
jobs:
- - atmosphere-upload-container-image-glance
+ - atmosphere-build-container-image-glance
promote:
jobs:
- atmosphere-promote-container-image-glance
@@ -40,7 +40,7 @@
- name: atmosphere-build-container-image-openstack-python-runtime
soft: true
vars: &container_image_vars
- promote_container_image_job: atmosphere-upload-container-image-glance
+ promote_container_image_job: atmosphere-build-container-image-glance
container_images:
- context: images/glance
registry: harbor.atmosphere.dev
@@ -62,25 +62,6 @@
- images/glance/.*
- job:
- name: atmosphere-upload-container-image-glance
- parent: atmosphere-upload-container-image
- dependencies:
- - name: atmosphere-buildset-registry
- soft: false
- - name: atmosphere-upload-container-image-ubuntu
- soft: true
- - name: atmosphere-upload-container-image-ubuntu-cloud-archive
- soft: true
- - name: atmosphere-upload-container-image-python-base
- soft: true
- - name: atmosphere-upload-container-image-openstack-venv-builder
- soft: true
- - name: atmosphere-upload-container-image-openstack-python-runtime
- soft: true
- vars: *container_image_vars
- files: *container_image_files
-
-- job:
name: atmosphere-promote-container-image-glance
parent: atmosphere-promote-container-image
vars: *container_image_vars
diff --git a/zuul.d/container-images/heat.yaml b/zuul.d/container-images/heat.yaml
index 98b3d2c..c6970eb 100644
--- a/zuul.d/container-images/heat.yaml
+++ b/zuul.d/container-images/heat.yaml
@@ -18,7 +18,7 @@
- atmosphere-build-container-image-heat
gate:
jobs:
- - atmosphere-upload-container-image-heat
+ - atmosphere-build-container-image-heat
promote:
jobs:
- atmosphere-promote-container-image-heat
@@ -40,7 +40,7 @@
- name: atmosphere-build-container-image-openstack-python-runtime
soft: true
vars: &container_image_vars
- promote_container_image_job: atmosphere-upload-container-image-heat
+ promote_container_image_job: atmosphere-build-container-image-heat
container_images:
- context: images/heat
registry: harbor.atmosphere.dev
@@ -62,25 +62,6 @@
- images/heat/.*
- job:
- name: atmosphere-upload-container-image-heat
- parent: atmosphere-upload-container-image
- dependencies:
- - name: atmosphere-buildset-registry
- soft: false
- - name: atmosphere-upload-container-image-ubuntu
- soft: true
- - name: atmosphere-upload-container-image-ubuntu-cloud-archive
- soft: true
- - name: atmosphere-upload-container-image-python-base
- soft: true
- - name: atmosphere-upload-container-image-openstack-venv-builder
- soft: true
- - name: atmosphere-upload-container-image-openstack-python-runtime
- soft: true
- vars: *container_image_vars
- files: *container_image_files
-
-- job:
name: atmosphere-promote-container-image-heat
parent: atmosphere-promote-container-image
vars: *container_image_vars
diff --git a/zuul.d/container-images/horizon.yaml b/zuul.d/container-images/horizon.yaml
index eb8872b..d1f65ad 100644
--- a/zuul.d/container-images/horizon.yaml
+++ b/zuul.d/container-images/horizon.yaml
@@ -18,7 +18,7 @@
- atmosphere-build-container-image-horizon
gate:
jobs:
- - atmosphere-upload-container-image-horizon
+ - atmosphere-build-container-image-horizon
promote:
jobs:
- atmosphere-promote-container-image-horizon
@@ -40,7 +40,7 @@
- name: atmosphere-build-container-image-openstack-python-runtime
soft: true
vars: &container_image_vars
- promote_container_image_job: atmosphere-upload-container-image-horizon
+ promote_container_image_job: atmosphere-build-container-image-horizon
container_images:
- context: images/horizon
registry: harbor.atmosphere.dev
@@ -62,25 +62,6 @@
- images/horizon/.*
- job:
- name: atmosphere-upload-container-image-horizon
- parent: atmosphere-upload-container-image
- dependencies:
- - name: atmosphere-buildset-registry
- soft: false
- - name: atmosphere-upload-container-image-ubuntu
- soft: true
- - name: atmosphere-upload-container-image-ubuntu-cloud-archive
- soft: true
- - name: atmosphere-upload-container-image-python-base
- soft: true
- - name: atmosphere-upload-container-image-openstack-venv-builder
- soft: true
- - name: atmosphere-upload-container-image-openstack-python-runtime
- soft: true
- vars: *container_image_vars
- files: *container_image_files
-
-- job:
name: atmosphere-promote-container-image-horizon
parent: atmosphere-promote-container-image
vars: *container_image_vars
diff --git a/zuul.d/container-images/ironic.yaml b/zuul.d/container-images/ironic.yaml
index 33a0d4d..0a93e62 100644
--- a/zuul.d/container-images/ironic.yaml
+++ b/zuul.d/container-images/ironic.yaml
@@ -18,7 +18,7 @@
- atmosphere-build-container-image-ironic
gate:
jobs:
- - atmosphere-upload-container-image-ironic
+ - atmosphere-build-container-image-ironic
promote:
jobs:
- atmosphere-promote-container-image-ironic
@@ -40,7 +40,7 @@
- name: atmosphere-build-container-image-openstack-python-runtime
soft: true
vars: &container_image_vars
- promote_container_image_job: atmosphere-upload-container-image-ironic
+ promote_container_image_job: atmosphere-build-container-image-ironic
container_images:
- context: images/ironic
registry: harbor.atmosphere.dev
@@ -62,25 +62,6 @@
- images/ironic/.*
- job:
- name: atmosphere-upload-container-image-ironic
- parent: atmosphere-upload-container-image
- dependencies:
- - name: atmosphere-buildset-registry
- soft: false
- - name: atmosphere-upload-container-image-ubuntu
- soft: true
- - name: atmosphere-upload-container-image-ubuntu-cloud-archive
- soft: true
- - name: atmosphere-upload-container-image-python-base
- soft: true
- - name: atmosphere-upload-container-image-openstack-venv-builder
- soft: true
- - name: atmosphere-upload-container-image-openstack-python-runtime
- soft: true
- vars: *container_image_vars
- files: *container_image_files
-
-- job:
name: atmosphere-promote-container-image-ironic
parent: atmosphere-promote-container-image
vars: *container_image_vars
diff --git a/zuul.d/container-images/keepalived.yaml b/zuul.d/container-images/keepalived.yaml
index 31e4a6c..28677be 100644
--- a/zuul.d/container-images/keepalived.yaml
+++ b/zuul.d/container-images/keepalived.yaml
@@ -18,7 +18,7 @@
- atmosphere-build-container-image-keepalived
gate:
jobs:
- - atmosphere-upload-container-image-keepalived
+ - atmosphere-build-container-image-keepalived
promote:
jobs:
- atmosphere-promote-container-image-keepalived
@@ -32,7 +32,7 @@
- name: atmosphere-build-container-image-ubuntu
soft: true
vars: &container_image_vars
- promote_container_image_job: atmosphere-upload-container-image-keepalived
+ promote_container_image_job: atmosphere-build-container-image-keepalived
container_images:
- context: images/keepalived
registry: harbor.atmosphere.dev
@@ -49,17 +49,6 @@
- images/keepalived/.*
- job:
- name: atmosphere-upload-container-image-keepalived
- parent: atmosphere-upload-container-image
- dependencies:
- - name: atmosphere-buildset-registry
- soft: false
- - name: atmosphere-upload-container-image-ubuntu
- soft: true
- vars: *container_image_vars
- files: *container_image_files
-
-- job:
name: atmosphere-promote-container-image-keepalived
parent: atmosphere-promote-container-image
vars: *container_image_vars
diff --git a/zuul.d/container-images/keystone.yaml b/zuul.d/container-images/keystone.yaml
index 39d9d10..555a980 100644
--- a/zuul.d/container-images/keystone.yaml
+++ b/zuul.d/container-images/keystone.yaml
@@ -18,7 +18,7 @@
- atmosphere-build-container-image-keystone
gate:
jobs:
- - atmosphere-upload-container-image-keystone
+ - atmosphere-build-container-image-keystone
promote:
jobs:
- atmosphere-promote-container-image-keystone
@@ -40,7 +40,7 @@
- name: atmosphere-build-container-image-openstack-python-runtime
soft: true
vars: &container_image_vars
- promote_container_image_job: atmosphere-upload-container-image-keystone
+ promote_container_image_job: atmosphere-build-container-image-keystone
container_images:
- context: images/keystone
registry: harbor.atmosphere.dev
@@ -62,25 +62,6 @@
- images/keystone/.*
- job:
- name: atmosphere-upload-container-image-keystone
- parent: atmosphere-upload-container-image
- dependencies:
- - name: atmosphere-buildset-registry
- soft: false
- - name: atmosphere-upload-container-image-ubuntu
- soft: true
- - name: atmosphere-upload-container-image-ubuntu-cloud-archive
- soft: true
- - name: atmosphere-upload-container-image-python-base
- soft: true
- - name: atmosphere-upload-container-image-openstack-venv-builder
- soft: true
- - name: atmosphere-upload-container-image-openstack-python-runtime
- soft: true
- vars: *container_image_vars
- files: *container_image_files
-
-- job:
name: atmosphere-promote-container-image-keystone
parent: atmosphere-promote-container-image
vars: *container_image_vars
diff --git a/zuul.d/container-images/kubernetes-entrypoint.yaml b/zuul.d/container-images/kubernetes-entrypoint.yaml
index 8a1132f..593e1ca 100644
--- a/zuul.d/container-images/kubernetes-entrypoint.yaml
+++ b/zuul.d/container-images/kubernetes-entrypoint.yaml
@@ -18,7 +18,7 @@
- atmosphere-build-container-image-kubernetes-entrypoint
gate:
jobs:
- - atmosphere-upload-container-image-kubernetes-entrypoint
+ - atmosphere-build-container-image-kubernetes-entrypoint
promote:
jobs:
- atmosphere-promote-container-image-kubernetes-entrypoint
@@ -30,7 +30,7 @@
- name: atmosphere-buildset-registry
soft: false
vars: &container_image_vars
- promote_container_image_job: atmosphere-upload-container-image-kubernetes-entrypoint
+ promote_container_image_job: atmosphere-build-container-image-kubernetes-entrypoint
container_images:
- context: images/kubernetes-entrypoint
registry: harbor.atmosphere.dev
@@ -44,15 +44,6 @@
- images/kubernetes-entrypoint/.*
- job:
- name: atmosphere-upload-container-image-kubernetes-entrypoint
- parent: atmosphere-upload-container-image
- dependencies:
- - name: atmosphere-buildset-registry
- soft: false
- vars: *container_image_vars
- files: *container_image_files
-
-- job:
name: atmosphere-promote-container-image-kubernetes-entrypoint
parent: atmosphere-promote-container-image
vars: *container_image_vars
diff --git a/zuul.d/container-images/libvirtd.yaml b/zuul.d/container-images/libvirtd.yaml
index 9b2596b..ac0e1ba 100644
--- a/zuul.d/container-images/libvirtd.yaml
+++ b/zuul.d/container-images/libvirtd.yaml
@@ -18,7 +18,7 @@
- atmosphere-build-container-image-libvirtd
gate:
jobs:
- - atmosphere-upload-container-image-libvirtd
+ - atmosphere-build-container-image-libvirtd
promote:
jobs:
- atmosphere-promote-container-image-libvirtd
@@ -36,7 +36,7 @@
- name: atmosphere-build-container-image-openstack-runtime
soft: true
vars: &container_image_vars
- promote_container_image_job: atmosphere-upload-container-image-libvirtd
+ promote_container_image_job: atmosphere-build-container-image-libvirtd
container_images:
- context: images/libvirtd
registry: harbor.atmosphere.dev
@@ -57,21 +57,6 @@
- images/libvirtd/.*
- job:
- name: atmosphere-upload-container-image-libvirtd
- parent: atmosphere-upload-container-image
- dependencies:
- - name: atmosphere-buildset-registry
- soft: false
- - name: atmosphere-upload-container-image-ubuntu
- soft: true
- - name: atmosphere-upload-container-image-ubuntu-cloud-archive
- soft: true
- - name: atmosphere-upload-container-image-openstack-runtime
- soft: true
- vars: *container_image_vars
- files: *container_image_files
-
-- job:
name: atmosphere-promote-container-image-libvirtd
parent: atmosphere-promote-container-image
vars: *container_image_vars
diff --git a/zuul.d/container-images/magnum.yaml b/zuul.d/container-images/magnum.yaml
index 71001a5..34f400e 100644
--- a/zuul.d/container-images/magnum.yaml
+++ b/zuul.d/container-images/magnum.yaml
@@ -18,7 +18,7 @@
- atmosphere-build-container-image-magnum
gate:
jobs:
- - atmosphere-upload-container-image-magnum
+ - atmosphere-build-container-image-magnum
promote:
jobs:
- atmosphere-promote-container-image-magnum
@@ -40,7 +40,7 @@
- name: atmosphere-build-container-image-openstack-python-runtime
soft: true
vars: &container_image_vars
- promote_container_image_job: atmosphere-upload-container-image-magnum
+ promote_container_image_job: atmosphere-build-container-image-magnum
container_images:
- context: images/magnum
registry: harbor.atmosphere.dev
@@ -63,25 +63,6 @@
- images/magnum/.*
- job:
- name: atmosphere-upload-container-image-magnum
- parent: atmosphere-upload-container-image
- dependencies:
- - name: atmosphere-buildset-registry
- soft: false
- - name: atmosphere-upload-container-image-ubuntu
- soft: true
- - name: atmosphere-upload-container-image-ubuntu-cloud-archive
- soft: true
- - name: atmosphere-upload-container-image-python-base
- soft: true
- - name: atmosphere-upload-container-image-openstack-venv-builder
- soft: true
- - name: atmosphere-upload-container-image-openstack-python-runtime
- soft: true
- vars: *container_image_vars
- files: *container_image_files
-
-- job:
name: atmosphere-promote-container-image-magnum
parent: atmosphere-promote-container-image
vars: *container_image_vars
diff --git a/zuul.d/container-images/manila.yaml b/zuul.d/container-images/manila.yaml
index f82fdea..7ce412c 100644
--- a/zuul.d/container-images/manila.yaml
+++ b/zuul.d/container-images/manila.yaml
@@ -18,7 +18,7 @@
- atmosphere-build-container-image-manila
gate:
jobs:
- - atmosphere-upload-container-image-manila
+ - atmosphere-build-container-image-manila
promote:
jobs:
- atmosphere-promote-container-image-manila
@@ -40,7 +40,7 @@
- name: atmosphere-build-container-image-openstack-python-runtime
soft: true
vars: &container_image_vars
- promote_container_image_job: atmosphere-upload-container-image-manila
+ promote_container_image_job: atmosphere-build-container-image-manila
container_images:
- context: images/manila
registry: harbor.atmosphere.dev
@@ -62,25 +62,6 @@
- images/manila/.*
- job:
- name: atmosphere-upload-container-image-manila
- parent: atmosphere-upload-container-image
- dependencies:
- - name: atmosphere-buildset-registry
- soft: false
- - name: atmosphere-upload-container-image-ubuntu
- soft: true
- - name: atmosphere-upload-container-image-ubuntu-cloud-archive
- soft: true
- - name: atmosphere-upload-container-image-python-base
- soft: true
- - name: atmosphere-upload-container-image-openstack-venv-builder
- soft: true
- - name: atmosphere-upload-container-image-openstack-python-runtime
- soft: true
- vars: *container_image_vars
- files: *container_image_files
-
-- job:
name: atmosphere-promote-container-image-manila
parent: atmosphere-promote-container-image
vars: *container_image_vars
diff --git a/zuul.d/container-images/netoffload.yaml b/zuul.d/container-images/netoffload.yaml
index 4494d44..7236c12 100644
--- a/zuul.d/container-images/netoffload.yaml
+++ b/zuul.d/container-images/netoffload.yaml
@@ -18,7 +18,7 @@
- atmosphere-build-container-image-netoffload
gate:
jobs:
- - atmosphere-upload-container-image-netoffload
+ - atmosphere-build-container-image-netoffload
promote:
jobs:
- atmosphere-promote-container-image-netoffload
@@ -32,7 +32,7 @@
- name: atmosphere-build-container-image-ubuntu
soft: true
vars: &container_image_vars
- promote_container_image_job: atmosphere-upload-container-image-netoffload
+ promote_container_image_job: atmosphere-build-container-image-netoffload
container_images:
- context: images/netoffload
registry: harbor.atmosphere.dev
@@ -49,17 +49,6 @@
- images/netoffload/.*
- job:
- name: atmosphere-upload-container-image-netoffload
- parent: atmosphere-upload-container-image
- dependencies:
- - name: atmosphere-buildset-registry
- soft: false
- - name: atmosphere-upload-container-image-ubuntu
- soft: true
- vars: *container_image_vars
- files: *container_image_files
-
-- job:
name: atmosphere-promote-container-image-netoffload
parent: atmosphere-promote-container-image
vars: *container_image_vars
diff --git a/zuul.d/container-images/neutron.yaml b/zuul.d/container-images/neutron.yaml
index b8dabca..ee2113a 100644
--- a/zuul.d/container-images/neutron.yaml
+++ b/zuul.d/container-images/neutron.yaml
@@ -18,7 +18,7 @@
- atmosphere-build-container-image-neutron
gate:
jobs:
- - atmosphere-upload-container-image-neutron
+ - atmosphere-build-container-image-neutron
promote:
jobs:
- atmosphere-promote-container-image-neutron
@@ -40,7 +40,7 @@
- name: atmosphere-build-container-image-openstack-python-runtime
soft: true
vars: &container_image_vars
- promote_container_image_job: atmosphere-upload-container-image-neutron
+ promote_container_image_job: atmosphere-build-container-image-neutron
container_images:
- context: images/neutron
registry: harbor.atmosphere.dev
@@ -63,25 +63,6 @@
- images/neutron/.*
- job:
- name: atmosphere-upload-container-image-neutron
- parent: atmosphere-upload-container-image
- dependencies:
- - name: atmosphere-buildset-registry
- soft: false
- - name: atmosphere-upload-container-image-ubuntu
- soft: true
- - name: atmosphere-upload-container-image-ubuntu-cloud-archive
- soft: true
- - name: atmosphere-upload-container-image-python-base
- soft: true
- - name: atmosphere-upload-container-image-openstack-venv-builder
- soft: true
- - name: atmosphere-upload-container-image-openstack-python-runtime
- soft: true
- vars: *container_image_vars
- files: *container_image_files
-
-- job:
name: atmosphere-promote-container-image-neutron
parent: atmosphere-promote-container-image
vars: *container_image_vars
diff --git a/zuul.d/container-images/nova-ssh.yaml b/zuul.d/container-images/nova-ssh.yaml
index d60275d..e60df3e 100644
--- a/zuul.d/container-images/nova-ssh.yaml
+++ b/zuul.d/container-images/nova-ssh.yaml
@@ -18,7 +18,7 @@
- atmosphere-build-container-image-nova-ssh
gate:
jobs:
- - atmosphere-upload-container-image-nova-ssh
+ - atmosphere-build-container-image-nova-ssh
promote:
jobs:
- atmosphere-promote-container-image-nova-ssh
@@ -36,7 +36,7 @@
- name: atmosphere-build-container-image-openstack-runtime
soft: true
vars: &container_image_vars
- promote_container_image_job: atmosphere-upload-container-image-nova-ssh
+ promote_container_image_job: atmosphere-build-container-image-nova-ssh
container_images:
- context: images/nova-ssh
registry: harbor.atmosphere.dev
@@ -58,21 +58,6 @@
- images/nova-ssh/.*
- job:
- name: atmosphere-upload-container-image-nova-ssh
- parent: atmosphere-upload-container-image
- dependencies:
- - name: atmosphere-buildset-registry
- soft: false
- - name: atmosphere-upload-container-image-ubuntu
- soft: true
- - name: atmosphere-upload-container-image-ubuntu-cloud-archive
- soft: true
- - name: atmosphere-upload-container-image-openstack-runtime
- soft: true
- vars: *container_image_vars
- files: *container_image_files
-
-- job:
name: atmosphere-promote-container-image-nova-ssh
parent: atmosphere-promote-container-image
vars: *container_image_vars
diff --git a/zuul.d/container-images/nova.yaml b/zuul.d/container-images/nova.yaml
index b037875..eca6875 100644
--- a/zuul.d/container-images/nova.yaml
+++ b/zuul.d/container-images/nova.yaml
@@ -18,7 +18,7 @@
- atmosphere-build-container-image-nova
gate:
jobs:
- - atmosphere-upload-container-image-nova
+ - atmosphere-build-container-image-nova
promote:
jobs:
- atmosphere-promote-container-image-nova
@@ -40,7 +40,7 @@
- name: atmosphere-build-container-image-openstack-python-runtime
soft: true
vars: &container_image_vars
- promote_container_image_job: atmosphere-upload-container-image-nova
+ promote_container_image_job: atmosphere-build-container-image-nova
container_images:
- context: images/nova
registry: harbor.atmosphere.dev
@@ -64,25 +64,6 @@
- images/nova/.*
- job:
- name: atmosphere-upload-container-image-nova
- parent: atmosphere-upload-container-image
- dependencies:
- - name: atmosphere-buildset-registry
- soft: false
- - name: atmosphere-upload-container-image-ubuntu
- soft: true
- - name: atmosphere-upload-container-image-ubuntu-cloud-archive
- soft: true
- - name: atmosphere-upload-container-image-python-base
- soft: true
- - name: atmosphere-upload-container-image-openstack-venv-builder
- soft: true
- - name: atmosphere-upload-container-image-openstack-python-runtime
- soft: true
- vars: *container_image_vars
- files: *container_image_files
-
-- job:
name: atmosphere-promote-container-image-nova
parent: atmosphere-promote-container-image
vars: *container_image_vars
diff --git a/zuul.d/container-images/octavia.yaml b/zuul.d/container-images/octavia.yaml
index 6710cb8..5089cd9 100644
--- a/zuul.d/container-images/octavia.yaml
+++ b/zuul.d/container-images/octavia.yaml
@@ -18,7 +18,7 @@
- atmosphere-build-container-image-octavia
gate:
jobs:
- - atmosphere-upload-container-image-octavia
+ - atmosphere-build-container-image-octavia
promote:
jobs:
- atmosphere-promote-container-image-octavia
@@ -40,7 +40,7 @@
- name: atmosphere-build-container-image-openstack-python-runtime
soft: true
vars: &container_image_vars
- promote_container_image_job: atmosphere-upload-container-image-octavia
+ promote_container_image_job: atmosphere-build-container-image-octavia
container_images:
- context: images/octavia
registry: harbor.atmosphere.dev
@@ -62,25 +62,6 @@
- images/octavia/.*
- job:
- name: atmosphere-upload-container-image-octavia
- parent: atmosphere-upload-container-image
- dependencies:
- - name: atmosphere-buildset-registry
- soft: false
- - name: atmosphere-upload-container-image-ubuntu
- soft: true
- - name: atmosphere-upload-container-image-ubuntu-cloud-archive
- soft: true
- - name: atmosphere-upload-container-image-python-base
- soft: true
- - name: atmosphere-upload-container-image-openstack-venv-builder
- soft: true
- - name: atmosphere-upload-container-image-openstack-python-runtime
- soft: true
- vars: *container_image_vars
- files: *container_image_files
-
-- job:
name: atmosphere-promote-container-image-octavia
parent: atmosphere-promote-container-image
vars: *container_image_vars
diff --git a/zuul.d/container-images/openstack-python-runtime.yaml b/zuul.d/container-images/openstack-python-runtime.yaml
index 6256cb5..7d4302b 100644
--- a/zuul.d/container-images/openstack-python-runtime.yaml
+++ b/zuul.d/container-images/openstack-python-runtime.yaml
@@ -18,7 +18,7 @@
- atmosphere-build-container-image-openstack-python-runtime
gate:
jobs:
- - atmosphere-upload-container-image-openstack-python-runtime
+ - atmosphere-build-container-image-openstack-python-runtime
promote:
jobs:
- atmosphere-promote-container-image-openstack-python-runtime
@@ -36,7 +36,7 @@
- name: atmosphere-build-container-image-python-base
soft: true
vars: &container_image_vars
- promote_container_image_job: atmosphere-upload-container-image-openstack-python-runtime
+ promote_container_image_job: atmosphere-build-container-image-openstack-python-runtime
container_images:
- context: images/openstack-runtime
registry: harbor.atmosphere.dev
@@ -57,21 +57,6 @@
- images/openstack-runtime/.*
- job:
- name: atmosphere-upload-container-image-openstack-python-runtime
- parent: atmosphere-upload-container-image
- dependencies:
- - name: atmosphere-buildset-registry
- soft: false
- - name: atmosphere-upload-container-image-ubuntu
- soft: true
- - name: atmosphere-upload-container-image-ubuntu-cloud-archive
- soft: true
- - name: atmosphere-upload-container-image-python-base
- soft: true
- vars: *container_image_vars
- files: *container_image_files
-
-- job:
name: atmosphere-promote-container-image-openstack-python-runtime
parent: atmosphere-promote-container-image
vars: *container_image_vars
diff --git a/zuul.d/container-images/openstack-runtime.yaml b/zuul.d/container-images/openstack-runtime.yaml
index 35a1b06..21b0de0 100644
--- a/zuul.d/container-images/openstack-runtime.yaml
+++ b/zuul.d/container-images/openstack-runtime.yaml
@@ -18,7 +18,7 @@
- atmosphere-build-container-image-openstack-runtime
gate:
jobs:
- - atmosphere-upload-container-image-openstack-runtime
+ - atmosphere-build-container-image-openstack-runtime
promote:
jobs:
- atmosphere-promote-container-image-openstack-runtime
@@ -34,7 +34,7 @@
- name: atmosphere-build-container-image-ubuntu-cloud-archive
soft: true
vars: &container_image_vars
- promote_container_image_job: atmosphere-upload-container-image-openstack-runtime
+ promote_container_image_job: atmosphere-build-container-image-openstack-runtime
container_images:
- context: images/openstack-runtime
registry: harbor.atmosphere.dev
@@ -53,19 +53,6 @@
- images/openstack-runtime/.*
- job:
- name: atmosphere-upload-container-image-openstack-runtime
- parent: atmosphere-upload-container-image
- dependencies:
- - name: atmosphere-buildset-registry
- soft: false
- - name: atmosphere-upload-container-image-ubuntu
- soft: true
- - name: atmosphere-upload-container-image-ubuntu-cloud-archive
- soft: true
- vars: *container_image_vars
- files: *container_image_files
-
-- job:
name: atmosphere-promote-container-image-openstack-runtime
parent: atmosphere-promote-container-image
vars: *container_image_vars
diff --git a/zuul.d/container-images/openstack-venv-builder.yaml b/zuul.d/container-images/openstack-venv-builder.yaml
index c042bf8..68bae33 100644
--- a/zuul.d/container-images/openstack-venv-builder.yaml
+++ b/zuul.d/container-images/openstack-venv-builder.yaml
@@ -18,7 +18,7 @@
- atmosphere-build-container-image-openstack-venv-builder
gate:
jobs:
- - atmosphere-upload-container-image-openstack-venv-builder
+ - atmosphere-build-container-image-openstack-venv-builder
promote:
jobs:
- atmosphere-promote-container-image-openstack-venv-builder
@@ -36,7 +36,7 @@
- name: atmosphere-build-container-image-python-base
soft: true
vars: &container_image_vars
- promote_container_image_job: atmosphere-upload-container-image-openstack-venv-builder
+ promote_container_image_job: atmosphere-build-container-image-openstack-venv-builder
container_images:
- context: images/openstack-venv-builder
registry: harbor.atmosphere.dev
@@ -56,21 +56,6 @@
- images/openstack-venv-builder/.*
- job:
- name: atmosphere-upload-container-image-openstack-venv-builder
- parent: atmosphere-upload-container-image
- dependencies:
- - name: atmosphere-buildset-registry
- soft: false
- - name: atmosphere-upload-container-image-ubuntu
- soft: true
- - name: atmosphere-upload-container-image-ubuntu-cloud-archive
- soft: true
- - name: atmosphere-upload-container-image-python-base
- soft: true
- vars: *container_image_vars
- files: *container_image_files
-
-- job:
name: atmosphere-promote-container-image-openstack-venv-builder
parent: atmosphere-promote-container-image
vars: *container_image_vars
diff --git a/zuul.d/container-images/openvswitch.yaml b/zuul.d/container-images/openvswitch.yaml
index 2ebec04..0d8edfd 100644
--- a/zuul.d/container-images/openvswitch.yaml
+++ b/zuul.d/container-images/openvswitch.yaml
@@ -18,7 +18,7 @@
- atmosphere-build-container-image-openvswitch
gate:
jobs:
- - atmosphere-upload-container-image-openvswitch
+ - atmosphere-build-container-image-openvswitch
promote:
jobs:
- atmosphere-promote-container-image-openvswitch
@@ -30,7 +30,7 @@
- name: atmosphere-buildset-registry
soft: false
vars: &container_image_vars
- promote_container_image_job: atmosphere-upload-container-image-openvswitch
+ promote_container_image_job: atmosphere-build-container-image-openvswitch
container_images:
- context: images/openvswitch
registry: harbor.atmosphere.dev
@@ -44,15 +44,6 @@
- images/openvswitch/.*
- job:
- name: atmosphere-upload-container-image-openvswitch
- parent: atmosphere-upload-container-image
- dependencies:
- - name: atmosphere-buildset-registry
- soft: false
- vars: *container_image_vars
- files: *container_image_files
-
-- job:
name: atmosphere-promote-container-image-openvswitch
parent: atmosphere-promote-container-image
vars: *container_image_vars
diff --git a/zuul.d/container-images/ovn.yaml b/zuul.d/container-images/ovn.yaml
index 07fa151..882b0d5 100644
--- a/zuul.d/container-images/ovn.yaml
+++ b/zuul.d/container-images/ovn.yaml
@@ -18,7 +18,7 @@
- atmosphere-build-container-image-ovn
gate:
jobs:
- - atmosphere-upload-container-image-ovn
+ - atmosphere-build-container-image-ovn
promote:
jobs:
- atmosphere-promote-container-image-ovn
@@ -32,7 +32,7 @@
- name: atmosphere-build-container-image-openvswitch
soft: true
vars: &container_image_vars
- promote_container_image_job: atmosphere-upload-container-image-ovn
+ promote_container_image_job: atmosphere-build-container-image-ovn
container_images:
- context: images/ovn
registry: harbor.atmosphere.dev
@@ -62,17 +62,6 @@
- images/ovn/.*
- job:
- name: atmosphere-upload-container-image-ovn
- parent: atmosphere-upload-container-image
- dependencies:
- - name: atmosphere-buildset-registry
- soft: false
- - name: atmosphere-upload-container-image-openvswitch
- soft: true
- vars: *container_image_vars
- files: *container_image_files
-
-- job:
name: atmosphere-promote-container-image-ovn
parent: atmosphere-promote-container-image
vars: *container_image_vars
diff --git a/zuul.d/container-images/placement.yaml b/zuul.d/container-images/placement.yaml
index 945f341..fe491d4 100644
--- a/zuul.d/container-images/placement.yaml
+++ b/zuul.d/container-images/placement.yaml
@@ -18,7 +18,7 @@
- atmosphere-build-container-image-placement
gate:
jobs:
- - atmosphere-upload-container-image-placement
+ - atmosphere-build-container-image-placement
promote:
jobs:
- atmosphere-promote-container-image-placement
@@ -40,7 +40,7 @@
- name: atmosphere-build-container-image-openstack-python-runtime
soft: true
vars: &container_image_vars
- promote_container_image_job: atmosphere-upload-container-image-placement
+ promote_container_image_job: atmosphere-build-container-image-placement
container_images:
- context: images/placement
registry: harbor.atmosphere.dev
@@ -62,25 +62,6 @@
- images/placement/.*
- job:
- name: atmosphere-upload-container-image-placement
- parent: atmosphere-upload-container-image
- dependencies:
- - name: atmosphere-buildset-registry
- soft: false
- - name: atmosphere-upload-container-image-ubuntu
- soft: true
- - name: atmosphere-upload-container-image-ubuntu-cloud-archive
- soft: true
- - name: atmosphere-upload-container-image-python-base
- soft: true
- - name: atmosphere-upload-container-image-openstack-venv-builder
- soft: true
- - name: atmosphere-upload-container-image-openstack-python-runtime
- soft: true
- vars: *container_image_vars
- files: *container_image_files
-
-- job:
name: atmosphere-promote-container-image-placement
parent: atmosphere-promote-container-image
vars: *container_image_vars
diff --git a/zuul.d/container-images/python-base.yaml b/zuul.d/container-images/python-base.yaml
index 90e5acf..2b2bb0a 100644
--- a/zuul.d/container-images/python-base.yaml
+++ b/zuul.d/container-images/python-base.yaml
@@ -18,7 +18,7 @@
- atmosphere-build-container-image-python-base
gate:
jobs:
- - atmosphere-upload-container-image-python-base
+ - atmosphere-build-container-image-python-base
promote:
jobs:
- atmosphere-promote-container-image-python-base
@@ -34,7 +34,7 @@
- name: atmosphere-build-container-image-ubuntu-cloud-archive
soft: true
vars: &container_image_vars
- promote_container_image_job: atmosphere-upload-container-image-python-base
+ promote_container_image_job: atmosphere-build-container-image-python-base
container_images:
- context: images/python-base
registry: harbor.atmosphere.dev
@@ -53,19 +53,6 @@
- images/python-base/.*
- job:
- name: atmosphere-upload-container-image-python-base
- parent: atmosphere-upload-container-image
- dependencies:
- - name: atmosphere-buildset-registry
- soft: false
- - name: atmosphere-upload-container-image-ubuntu
- soft: true
- - name: atmosphere-upload-container-image-ubuntu-cloud-archive
- soft: true
- vars: *container_image_vars
- files: *container_image_files
-
-- job:
name: atmosphere-promote-container-image-python-base
parent: atmosphere-promote-container-image
vars: *container_image_vars
diff --git a/zuul.d/container-images/python-openstackclient.yaml b/zuul.d/container-images/python-openstackclient.yaml
index cfb9826..435bcfb 100644
--- a/zuul.d/container-images/python-openstackclient.yaml
+++ b/zuul.d/container-images/python-openstackclient.yaml
@@ -18,7 +18,7 @@
- atmosphere-build-container-image-python-openstackclient
gate:
jobs:
- - atmosphere-upload-container-image-python-openstackclient
+ - atmosphere-build-container-image-python-openstackclient
promote:
jobs:
- atmosphere-promote-container-image-python-openstackclient
@@ -38,7 +38,7 @@
- name: atmosphere-build-container-image-openstack-venv-builder
soft: true
vars: &container_image_vars
- promote_container_image_job: atmosphere-upload-container-image-python-openstackclient
+ promote_container_image_job: atmosphere-build-container-image-python-openstackclient
container_images:
- context: images/python-openstackclient
registry: harbor.atmosphere.dev
@@ -58,23 +58,6 @@
- images/python-openstackclient/.*
- job:
- name: atmosphere-upload-container-image-python-openstackclient
- parent: atmosphere-upload-container-image
- dependencies:
- - name: atmosphere-buildset-registry
- soft: false
- - name: atmosphere-upload-container-image-ubuntu
- soft: true
- - name: atmosphere-upload-container-image-ubuntu-cloud-archive
- soft: true
- - name: atmosphere-upload-container-image-python-base
- soft: true
- - name: atmosphere-upload-container-image-openstack-venv-builder
- soft: true
- vars: *container_image_vars
- files: *container_image_files
-
-- job:
name: atmosphere-promote-container-image-python-openstackclient
parent: atmosphere-promote-container-image
vars: *container_image_vars
diff --git a/zuul.d/container-images/staffeln.yaml b/zuul.d/container-images/staffeln.yaml
index 77200c2..67070dd 100644
--- a/zuul.d/container-images/staffeln.yaml
+++ b/zuul.d/container-images/staffeln.yaml
@@ -18,7 +18,7 @@
- atmosphere-build-container-image-staffeln
gate:
jobs:
- - atmosphere-upload-container-image-staffeln
+ - atmosphere-build-container-image-staffeln
promote:
jobs:
- atmosphere-promote-container-image-staffeln
@@ -40,7 +40,7 @@
- name: atmosphere-build-container-image-openstack-python-runtime
soft: true
vars: &container_image_vars
- promote_container_image_job: atmosphere-upload-container-image-staffeln
+ promote_container_image_job: atmosphere-build-container-image-staffeln
container_images:
- context: images/staffeln
registry: harbor.atmosphere.dev
@@ -62,25 +62,6 @@
- images/staffeln/.*
- job:
- name: atmosphere-upload-container-image-staffeln
- parent: atmosphere-upload-container-image
- dependencies:
- - name: atmosphere-buildset-registry
- soft: false
- - name: atmosphere-upload-container-image-ubuntu
- soft: true
- - name: atmosphere-upload-container-image-ubuntu-cloud-archive
- soft: true
- - name: atmosphere-upload-container-image-python-base
- soft: true
- - name: atmosphere-upload-container-image-openstack-venv-builder
- soft: true
- - name: atmosphere-upload-container-image-openstack-python-runtime
- soft: true
- vars: *container_image_vars
- files: *container_image_files
-
-- job:
name: atmosphere-promote-container-image-staffeln
parent: atmosphere-promote-container-image
vars: *container_image_vars
diff --git a/zuul.d/container-images/tempest.yaml b/zuul.d/container-images/tempest.yaml
index 22dd426..af9bafe 100644
--- a/zuul.d/container-images/tempest.yaml
+++ b/zuul.d/container-images/tempest.yaml
@@ -18,7 +18,7 @@
- atmosphere-build-container-image-tempest
gate:
jobs:
- - atmosphere-upload-container-image-tempest
+ - atmosphere-build-container-image-tempest
promote:
jobs:
- atmosphere-promote-container-image-tempest
@@ -40,7 +40,7 @@
- name: atmosphere-build-container-image-openstack-python-runtime
soft: true
vars: &container_image_vars
- promote_container_image_job: atmosphere-upload-container-image-tempest
+ promote_container_image_job: atmosphere-build-container-image-tempest
container_images:
- context: images/tempest
registry: harbor.atmosphere.dev
@@ -62,25 +62,6 @@
- images/tempest/.*
- job:
- name: atmosphere-upload-container-image-tempest
- parent: atmosphere-upload-container-image
- dependencies:
- - name: atmosphere-buildset-registry
- soft: false
- - name: atmosphere-upload-container-image-ubuntu
- soft: true
- - name: atmosphere-upload-container-image-ubuntu-cloud-archive
- soft: true
- - name: atmosphere-upload-container-image-python-base
- soft: true
- - name: atmosphere-upload-container-image-openstack-venv-builder
- soft: true
- - name: atmosphere-upload-container-image-openstack-python-runtime
- soft: true
- vars: *container_image_vars
- files: *container_image_files
-
-- job:
name: atmosphere-promote-container-image-tempest
parent: atmosphere-promote-container-image
vars: *container_image_vars
diff --git a/zuul.d/container-images/ubuntu-cloud-archive.yaml b/zuul.d/container-images/ubuntu-cloud-archive.yaml
index 69e826e..2e7431b 100644
--- a/zuul.d/container-images/ubuntu-cloud-archive.yaml
+++ b/zuul.d/container-images/ubuntu-cloud-archive.yaml
@@ -18,7 +18,7 @@
- atmosphere-build-container-image-ubuntu-cloud-archive
gate:
jobs:
- - atmosphere-upload-container-image-ubuntu-cloud-archive
+ - atmosphere-build-container-image-ubuntu-cloud-archive
promote:
jobs:
- atmosphere-promote-container-image-ubuntu-cloud-archive
@@ -32,7 +32,7 @@
- name: atmosphere-build-container-image-ubuntu
soft: true
vars: &container_image_vars
- promote_container_image_job: atmosphere-upload-container-image-ubuntu-cloud-archive
+ promote_container_image_job: atmosphere-build-container-image-ubuntu-cloud-archive
container_images:
- context: images/ubuntu-cloud-archive
registry: harbor.atmosphere.dev
@@ -50,17 +50,6 @@
- images/ubuntu-cloud-archive/.*
- job:
- name: atmosphere-upload-container-image-ubuntu-cloud-archive
- parent: atmosphere-upload-container-image
- dependencies:
- - name: atmosphere-buildset-registry
- soft: false
- - name: atmosphere-upload-container-image-ubuntu
- soft: true
- vars: *container_image_vars
- files: *container_image_files
-
-- job:
name: atmosphere-promote-container-image-ubuntu-cloud-archive
parent: atmosphere-promote-container-image
vars: *container_image_vars
diff --git a/zuul.d/container-images/ubuntu.yaml b/zuul.d/container-images/ubuntu.yaml
index 2b54f92..886aa64 100644
--- a/zuul.d/container-images/ubuntu.yaml
+++ b/zuul.d/container-images/ubuntu.yaml
@@ -18,7 +18,7 @@
- atmosphere-build-container-image-ubuntu
gate:
jobs:
- - atmosphere-upload-container-image-ubuntu
+ - atmosphere-build-container-image-ubuntu
promote:
jobs:
- atmosphere-promote-container-image-ubuntu
@@ -30,7 +30,7 @@
- name: atmosphere-buildset-registry
soft: false
vars: &container_image_vars
- promote_container_image_job: atmosphere-upload-container-image-ubuntu
+ promote_container_image_job: atmosphere-build-container-image-ubuntu
container_images:
- context: images/ubuntu
registry: harbor.atmosphere.dev
@@ -47,15 +47,6 @@
- images/ubuntu/.*
- job:
- name: atmosphere-upload-container-image-ubuntu
- parent: atmosphere-upload-container-image
- dependencies:
- - name: atmosphere-buildset-registry
- soft: false
- vars: *container_image_vars
- files: *container_image_files
-
-- job:
name: atmosphere-promote-container-image-ubuntu
parent: atmosphere-promote-container-image
vars: *container_image_vars
diff --git a/zuul.d/docs.yaml b/zuul.d/docs.yaml
index fe627e2..ff03a51 100644
--- a/zuul.d/docs.yaml
+++ b/zuul.d/docs.yaml
@@ -25,3 +25,4 @@
parent: tox-docs
files:
- ^doc/
+ - ^releasenotes/
diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml
index 52515e6..ce8ba97 100644
--- a/zuul.d/jobs.yaml
+++ b/zuul.d/jobs.yaml
@@ -8,8 +8,6 @@
- job:
name: atmosphere-golang-go-test
parent: atmosphere-golang-go
- pre-run:
- - zuul.d/playbooks/common/switch-to-atmosphere-mirror.yml
vars:
go_command: test ./... -v
@@ -55,6 +53,7 @@
- zuul.d/playbooks/build-collection/pre.yml
irrelevant-files:
- ^doc/
+ - ^releasenotes/
- job:
name: atmosphere-publish-collection
@@ -72,7 +71,12 @@
run: zuul.d/playbooks/molecule/run.yml
post-run: zuul.d/playbooks/molecule/post.yml
irrelevant-files:
+ - ^build/
- ^doc/
+ - ^releasenotes/
+ vars:
+ tox_environment:
+ ATMOSPHERE_IMAGE_PREFIX: "harbor.atmosphere.dev/"
- job:
name: atmosphere-molecule-csi
diff --git a/zuul.d/playbooks/common/switch-to-atmosphere-mirror.yml b/zuul.d/playbooks/common/switch-to-atmosphere-mirror.yml
index 839841b..1f71dc4 100644
--- a/zuul.d/playbooks/common/switch-to-atmosphere-mirror.yml
+++ b/zuul.d/playbooks/common/switch-to-atmosphere-mirror.yml
@@ -4,15 +4,8 @@
- name: Switch all images out of the CDN
ansible.builtin.replace:
path: "{{ zuul.project.src_dir }}/roles/defaults/vars/main.yml"
- regexp: 'registry.atmosphere.dev'
- replace: 'harbor.atmosphere.dev'
-
- # TODO(mnaser): Drop this when we can use https://github.com/vexxhost/atmosphere/pull/977
- - name: Prefix all images for the job to point to mirror
- ansible.builtin.shell: |
- sed -i '/harbor.atmosphere.dev/!s/ \(.*\): \(.*\)$/ \1: harbor.atmosphere.dev\/\2/' roles/defaults/vars/main.yml
- args:
- chdir: "{{ zuul.project.src_dir }}"
+ regexp: "{{ '{{' }} atmosphere_image_prefix {{ '}}' }}registry.atmosphere.dev"
+ replace: harbor.atmosphere.dev
- name: Print out the image list
ansible.builtin.shell: |
diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml
index f5f357a..415ab66 100644
--- a/zuul.d/project.yaml
+++ b/zuul.d/project.yaml
@@ -13,7 +13,6 @@
# under the License.
- project:
- merge-mode: squash-merge
check:
jobs:
- atmosphere-chart-vendor
@@ -24,7 +23,7 @@
- atmosphere-tox-helm-unittest
- atmosphere-tox-py3
- atmosphere-build-collection:
- dependencies: &molecule_check_dependencies
+ dependencies: &image_build_jobs
- name: atmosphere-build-container-image-barbican
soft: true
- name: atmosphere-build-container-image-cinder
@@ -74,15 +73,15 @@
- name: atmosphere-build-container-image-tempest
soft: true
- atmosphere-molecule-aio-keycloak:
- dependencies: *molecule_check_dependencies
+ dependencies: *image_build_jobs
- atmosphere-molecule-aio-openvswitch:
- dependencies: *molecule_check_dependencies
+ dependencies: *image_build_jobs
- atmosphere-molecule-aio-ovn:
- dependencies: *molecule_check_dependencies
+ dependencies: *image_build_jobs
- atmosphere-molecule-csi-local-path-provisioner:
- dependencies: *molecule_check_dependencies
+ dependencies: *image_build_jobs
- atmosphere-molecule-csi-rbd:
- dependencies: *molecule_check_dependencies
+ dependencies: *image_build_jobs
gate:
jobs:
- atmosphere-chart-vendor
@@ -91,73 +90,25 @@
- atmosphere-linters
- atmosphere-tox-py3
- atmosphere-build-collection:
- dependencies: &molecule_gate_dependencies
- - name: atmosphere-upload-container-image-barbican
- soft: true
- - name: atmosphere-upload-container-image-cinder
- soft: true
- - name: atmosphere-upload-container-image-designate
- soft: true
- - name: atmosphere-upload-container-image-glance
- soft: true
- - name: atmosphere-upload-container-image-heat
- soft: true
- - name: atmosphere-upload-container-image-horizon
- soft: true
- - name: atmosphere-upload-container-image-ironic
- soft: true
- - name: atmosphere-upload-container-image-keepalived
- soft: true
- - name: atmosphere-upload-container-image-keystone
- soft: true
- - name: atmosphere-upload-container-image-kubernetes-entrypoint
- soft: true
- - name: atmosphere-upload-container-image-libvirtd
- soft: true
- - name: atmosphere-upload-container-image-magnum
- soft: true
- - name: atmosphere-upload-container-image-manila
- soft: true
- - name: atmosphere-upload-container-image-netoffload
- soft: true
- - name: atmosphere-upload-container-image-neutron
- soft: true
- - name: atmosphere-upload-container-image-nova
- soft: true
- - name: atmosphere-upload-container-image-nova-ssh
- soft: true
- - name: atmosphere-upload-container-image-octavia
- soft: true
- - name: atmosphere-upload-container-image-openvswitch
- soft: true
- - name: atmosphere-upload-container-image-ovn
- soft: true
- - name: atmosphere-upload-container-image-placement
- soft: true
- - name: atmosphere-upload-container-image-python-openstackclient
- soft: true
- - name: atmosphere-upload-container-image-staffeln
- soft: true
- - name: atmosphere-upload-container-image-tempest
- soft: true
+ dependencies: *image_build_jobs
- atmosphere-molecule-aio-keycloak:
- dependencies: *molecule_gate_dependencies
+ dependencies: *image_build_jobs
- atmosphere-molecule-aio-openvswitch:
- dependencies: *molecule_gate_dependencies
+ dependencies: *image_build_jobs
- atmosphere-molecule-aio-ovn:
- dependencies: *molecule_gate_dependencies
+ dependencies: *image_build_jobs
- atmosphere-molecule-csi-local-path-provisioner:
- dependencies: *molecule_gate_dependencies
+ dependencies: *image_build_jobs
- atmosphere-molecule-csi-rbd:
- dependencies: *molecule_gate_dependencies
+ dependencies: *image_build_jobs
release:
jobs:
- atmosphere-publish-collection
periodic:
jobs:
- atmosphere-molecule-aio-upgrade-openvswitch:
- dependencies: *molecule_check_dependencies
+ dependencies: *image_build_jobs
- atmosphere-molecule-aio-upgrade-ovn:
- dependencies: *molecule_check_dependencies
+ dependencies: *image_build_jobs
vars:
container_registry: harbor.atmosphere.dev/library