Merge "Drop un-used upload job" into main
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/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/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/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'