aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Nasiadka <mnasiadka@gmail.com>2025-10-10 11:45:37 +0200
committerMichal Nasiadka <mnasiadka@gmail.com>2025-10-13 10:41:12 +0000
commit0a3e2210016b138ef4f3fadc1e3b4babbee78bd7 (patch)
tree0bd3a7ed961760c3b41c32092a27c37b031fbc9c
parent7be89bf91e9bcf748bfc2e10dc6d97d73829935c (diff)
downloadkolla-ansible-0a3e2210016b138ef4f3fadc1e3b4babbee78bd7.tar.gz
kolla-ansible-0a3e2210016b138ef4f3fadc1e3b4babbee78bd7.zip
CI: rework upgrade.sh to Ansible role
Change-Id: I73ca974aa6eef071e53dcbb9b66af2713ac655a8 Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
-rw-r--r--roles/kolla-ansible-deploy/tasks/deploy.yml2
-rw-r--r--roles/kolla-ansible-upgrade/tasks/main.yml65
-rw-r--r--tests/run.yml10
-rwxr-xr-xtests/upgrade.sh32
4 files changed, 68 insertions, 41 deletions
diff --git a/roles/kolla-ansible-deploy/tasks/deploy.yml b/roles/kolla-ansible-deploy/tasks/deploy.yml
index 5b36d7b97..771006735 100644
--- a/roles/kolla-ansible-deploy/tasks/deploy.yml
+++ b/roles/kolla-ansible-deploy/tasks/deploy.yml
@@ -35,7 +35,7 @@
-vvv
>/tmp/logs/ansible/post-deploy 2>&1
-- name: Run kolla-ansible validate-config on upgrades
+- name: Run kolla-ansible validate-config
ansible.builtin.shell:
cmd: >
. {{ kolla_ansible_venv_path }}/bin/activate &&
diff --git a/roles/kolla-ansible-upgrade/tasks/main.yml b/roles/kolla-ansible-upgrade/tasks/main.yml
new file mode 100644
index 000000000..a464f1cf3
--- /dev/null
+++ b/roles/kolla-ansible-upgrade/tasks/main.yml
@@ -0,0 +1,65 @@
+---
+- name: Generate self-signed certificates for the optional internal TLS tests
+ ansible.builtin.shell:
+ cmd: >
+ . {{ kolla_ansible_venv_path }}/bin/activate &&
+ kolla-ansible certificates
+ -i /etc/kolla/inventory
+ -vvv
+ >/tmp/logs/ansible/upgrade-certificates 2>&1
+
+# NOTE(mnasiadka): Need to run bootstrap before upgrade
+- name: Run kolla-ansible bootstrap-servers
+ ansible.builtin.shell:
+ cmd: >
+ . {{ kolla_ansible_venv_path }}/bin/activate &&
+ kolla-ansible bootstrap-servers
+ -i /etc/kolla/inventory
+ -vvv
+ >/tmp/logs/ansible/upgrade-bootstrap 2>&1
+
+- 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/upgrade-prechecks 2>&1
+
+- name: Run kolla-ansible pull
+ ansible.builtin.shell:
+ cmd: >
+ . {{ kolla_ansible_venv_path }}/bin/activate &&
+ kolla-ansible pull
+ -i /etc/kolla/inventory
+ -vvv
+ >/tmp/logs/ansible/upgrade-pull 2>&1
+
+- name: Run kolla-ansible deploy
+ ansible.builtin.shell:
+ cmd: >
+ . {{ kolla_ansible_venv_path }}/bin/activate &&
+ kolla-ansible upgrade
+ -i /etc/kolla/inventory
+ -vvv
+ >/tmp/logs/ansible/upgrade 2>&1
+
+- name: Run kolla-ansible post-deploy
+ ansible.builtin.shell:
+ cmd: >
+ . {{ kolla_ansible_venv_path }}/bin/activate &&
+ kolla-ansible post-deploy
+ -i /etc/kolla/inventory
+ -vvv
+ >/tmp/logs/ansible/upgrade-post-deploy 2>&1
+
+- name: Run kolla-ansible validate-config on upgrades
+ ansible.builtin.shell:
+ cmd: >
+ . {{ kolla_ansible_venv_path }}/bin/activate &&
+ kolla-ansible validate-config
+ -i /etc/kolla/inventory
+ -vvv
+ >/tmp/logs/ansible/upgrade-validate-config 2>&1
+
diff --git a/tests/run.yml b/tests/run.yml
index 1108ae6a4..aa1ca4dbf 100644
--- a/tests/run.yml
+++ b/tests/run.yml
@@ -725,14 +725,8 @@
--final /etc/kolla/passwords.yml
# Perform an upgrade to the in-development code.
- - name: Run upgrade.sh script
- shell:
- cmd: tests/upgrade.sh
- executable: /bin/bash
- chdir: "{{ kolla_ansible_src_dir }}"
- environment:
- KOLLA_ANSIBLE_VENV_PATH: "{{ kolla_ansible_venv_path }}"
- SCENARIO: "{{ scenario }}"
+ - import_role:
+ name: kolla-ansible-upgrade
- import_role:
name: kolla-ansible-test-dashboard
diff --git a/tests/upgrade.sh b/tests/upgrade.sh
deleted file mode 100755
index eeea9d818..000000000
--- a/tests/upgrade.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/bash
-
-set -o xtrace
-set -o errexit
-
-# Enable unbuffered output for Ansible in Jenkins.
-export PYTHONUNBUFFERED=1
-
-
-function upgrade {
- RAW_INVENTORY=/etc/kolla/inventory
-
- source $KOLLA_ANSIBLE_VENV_PATH/bin/activate
-
- kolla-ansible certificates -i ${RAW_INVENTORY} -vvv &> /tmp/logs/ansible/certificates
- # Previous versions had older docker, requests requirements for example
- # Therefore we need to run bootstrap again to ensure libraries are in
- # proper versions (ansible-collection-kolla is different for new version, potentionally
- # also dependencies).
- kolla-ansible bootstrap-servers -i ${RAW_INVENTORY} -vvv &> /tmp/logs/ansible/upgrade-bootstrap
- kolla-ansible prechecks -i ${RAW_INVENTORY} -vvv &> /tmp/logs/ansible/upgrade-prechecks
-
- kolla-ansible pull -i ${RAW_INVENTORY} -vvv &> /tmp/logs/ansible/pull-upgrade
- kolla-ansible upgrade -i ${RAW_INVENTORY} -vvv &> /tmp/logs/ansible/upgrade
-
- kolla-ansible post-deploy -i ${RAW_INVENTORY} -vvv &> /tmp/logs/ansible/upgrade-post-deploy
-
- kolla-ansible validate-config -i ${RAW_INVENTORY} -vvv &> /tmp/logs/ansible/validate-config
-}
-
-
-upgrade