From 57b08fbbcedb85e6cd32a12fff70610e96f61eaa Mon Sep 17 00:00:00 2001 From: guilhermesteinmuller Date: Thu, 16 Jan 2025 16:51:48 -0300 Subject: [PATCH] feat: pre-pull ovn-controller image Closes-Bug: ATMOSPHERE-634 Depends-On: I0b15142aabab38fafab829a16cee0297b749e6e8 Change-Id: I2661648efde71b38be3c2ed32ef3375e8c7dae51 (cherry picked from commit bc6a06bfbb4133f6e8295ad5953bd2fe8c3d86d6) --- playbooks/openstack.yml | 8 ++++---- .../prepull-ovn-controller-62f8a216e8b41c9f.yaml | 5 +++++ roles/ovn/tasks/main.yml | 15 +++++++++++++++ 3 files changed, 24 insertions(+), 4 deletions(-) create mode 100644 releasenotes/notes/prepull-ovn-controller-62f8a216e8b41c9f.yaml diff --git a/playbooks/openstack.yml b/playbooks/openstack.yml index ffd532252..abd58431b 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/prepull-ovn-controller-62f8a216e8b41c9f.yaml b/releasenotes/notes/prepull-ovn-controller-62f8a216e8b41c9f.yaml new file mode 100644 index 000000000..6d01476ea --- /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 b3d8f76aa..69430e876 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'