From 102dc3cd0c8137df3856dd6e7885b4fa7ad5e448 Mon Sep 17 00:00:00 2001 From: Michal Nasiadka Date: Tue, 14 Oct 2025 08:51:28 +0200 Subject: CI: Rework reconfigure.sh to Ansible role Change-Id: Ibe21c342ae4c4d79c16d4058f90f5763e94d231c Signed-off-by: Michal Nasiadka --- roles/kolla-ansible-reconfigure/tasks/main.yml | 63 ++++++++++++++++++++++++++ tests/reconfigure.sh | 26 ----------- tests/run.yml | 11 +---- 3 files changed, 65 insertions(+), 35 deletions(-) create mode 100644 roles/kolla-ansible-reconfigure/tasks/main.yml delete mode 100755 tests/reconfigure.sh diff --git a/roles/kolla-ansible-reconfigure/tasks/main.yml b/roles/kolla-ansible-reconfigure/tasks/main.yml new file mode 100644 index 000000000..4cb60025a --- /dev/null +++ b/roles/kolla-ansible-reconfigure/tasks/main.yml @@ -0,0 +1,63 @@ +--- +- name: Run kolla-ansible prechecks + ansible.builtin.shell: + cmd: > + . {{ kolla_ansible_venv_path }}/bin/activate && + kolla-ansible prechecks + -i /etc/kolla/inventory + -vvv + >/tmp/logs/ansible/reconfigure-prechecks 2>&1 + +- name: Remove OVN DB containers and volumes on primary to test recreation (docker) + become: true + when: + - scenario == 'ovn' + - container_engine == 'docker' + vars: + ovn_db_services: + - "ovn_nb_db" + - "ovn_sb_db" + block: + - name: Remove OVN DB containers + community.docker.docker_container: + name: "{{ item }}" + state: absent + loop: "{{ ovn_db_services }}" + + - name: Remove OVN DB volumes + community.docker.docker_volume: + name: "{{ item }}" + state: absent + loop: "{{ ovn_db_services }}" + +- name: Remove OVN DB containers and volumes on primary to test recreation (podman) + become: true + when: + - scenario == 'ovn' + - container_engine == 'podman' + vars: + ovn_db_services: + - "ovn_nb_db" + - "ovn_sb_db" + block: + - name: Remove OVN DB containers + containers.podman.podman_container: + name: "{{ item }}" + state: absent + loop: "{{ ovn_db_services }}" + + - name: Remove OVN DB volumes + containers.podman.podman_volume: + name: "{{ item }}" + state: absent + loop: "{{ ovn_db_services }}" + +- name: Run kolla-ansible reconfigure + ansible.builtin.shell: + cmd: > + . {{ kolla_ansible_venv_path }}/bin/activate && + kolla-ansible reconfigure + -i /etc/kolla/inventory + -vvv + >/tmp/logs/ansible/reconfigure 2>&1 + diff --git a/tests/reconfigure.sh b/tests/reconfigure.sh deleted file mode 100755 index 182475572..000000000 --- a/tests/reconfigure.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -set -o xtrace -set -o errexit - -# Enable unbuffered output for Ansible in Jenkins. -export PYTHONUNBUFFERED=1 - - -function reconfigure { - RAW_INVENTORY=/etc/kolla/inventory - - source $KOLLA_ANSIBLE_VENV_PATH/bin/activate - - # TODO(jeffrey4l): make some configure file change and - # trigger a real reconfigure - # NOTE(mnasiadka): Remove OVN DB containers and volumes on primary to test recreation - if [[ $SCENARIO == "ovn" ]]; then - sudo ${CONTAINER_ENGINE} rm -f ovn_nb_db ovn_sb_db && sudo ${CONTAINER_ENGINE} volume rm ovn_nb_db ovn_sb_db - fi - kolla-ansible prechecks -i ${RAW_INVENTORY} -vvv &> /tmp/logs/ansible/reconfigure-prechecks - kolla-ansible reconfigure -i ${RAW_INVENTORY} -vvv &> /tmp/logs/ansible/reconfigure -} - - -reconfigure diff --git a/tests/run.yml b/tests/run.yml index aa1ca4dbf..e837470cf 100644 --- a/tests/run.yml +++ b/tests/run.yml @@ -807,15 +807,8 @@ - hosts: primary any_errors_fatal: true tasks: - - name: Run reconfigure.sh script - script: - cmd: reconfigure.sh - executable: /bin/bash - chdir: "{{ kolla_ansible_src_dir }}" - environment: - KOLLA_ANSIBLE_VENV_PATH: "{{ kolla_ansible_venv_path }}" - SCENARIO: "{{ scenario }}" - CONTAINER_ENGINE: "{{ container_engine }}" + - import_role: + name: kolla-ansible-reconfigure when: - not is_upgrade - scenario != "bifrost" -- cgit v1.2.3