aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Nasiadka <mnasiadka@gmail.com>2025-10-14 08:51:28 +0200
committerMichal Nasiadka <mnasiadka@gmail.com>2025-10-15 01:53:00 +0000
commit102dc3cd0c8137df3856dd6e7885b4fa7ad5e448 (patch)
treeadde78b5c610da01a3f8ca1b0f68bf5c5e3bfc78
parentc087c246944ba35d1836272a89a649d95d968b7b (diff)
downloadkolla-ansible-102dc3cd0c8137df3856dd6e7885b4fa7ad5e448.tar.gz
kolla-ansible-102dc3cd0c8137df3856dd6e7885b4fa7ad5e448.zip
CI: Rework reconfigure.sh to Ansible role
Change-Id: Ibe21c342ae4c4d79c16d4058f90f5763e94d231c Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
-rw-r--r--roles/kolla-ansible-reconfigure/tasks/main.yml63
-rwxr-xr-xtests/reconfigure.sh26
-rw-r--r--tests/run.yml11
3 files changed, 65 insertions, 35 deletions
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"