From ec95a9c5f454e63b2955f42703464da81dd27ccb Mon Sep 17 00:00:00 2001 From: Matt Crees Date: Wed, 23 Apr 2025 14:06:03 +0100 Subject: [PATCH 1/3] Migrate RabbitMQ queues in ci-aio --- .github/workflows/stackhpc-all-in-one.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/.github/workflows/stackhpc-all-in-one.yml b/.github/workflows/stackhpc-all-in-one.yml index 5326c1be3..39e1118af 100644 --- a/.github/workflows/stackhpc-all-in-one.yml +++ b/.github/workflows/stackhpc-all-in-one.yml @@ -335,6 +335,26 @@ jobs: env: KAYOBE_AUTOMATION_SSH_PRIVATE_KEY: ${{ steps.ssh_key.outputs.ssh_key }} + - name: Change RabbitMQ queues from transient types to durable types (quorum and streams) + run: | + sed -i -e '$aom_enable_queue_manager: True' \ + -e '$aom_enable_rabbitmq_quorum_queues: True' \ + -e '$aom_enable_rabbitmq_transient_quorum_queue: True' \ + -e '$aom_enable_rabbitmq_stream_fanout: True' \ + etc/kayobe/environments/ci-aio/kolla/globals.yml + if: inputs.upgrade + + - name: Migrate RabbitMQ queues + run: | + docker run -t --rm \ + -v $(pwd):/stack/kayobe-automation-env/src/kayobe-config \ + -e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY \ + ${{ steps.kayobe_image.outputs.kayobe_image }} \ + /stack/kayobe-automation-env/src/kayobe-config/.automation/pipeline/script-run.sh tools/rabbitmq-queue-migration.sh + env: + KAYOBE_AUTOMATION_SSH_PRIVATE_KEY: ${{ steps.ssh_key.outputs.ssh_key }} + if: inputs.upgrade + # If testing upgrade, checkout the current release branch # Stash changes to tracked files, and set clean=false to avoid removing untracked files. # Revert changes to RabbitMQ Queue types to avoid a merge conflict From c0d6b004598ba075548dd8505145c44b3ff732ea Mon Sep 17 00:00:00 2001 From: Alex-Welsh Date: Wed, 23 Apr 2025 09:26:28 +0100 Subject: [PATCH 2/3] Bump ansible-core version in lint jobs --- .github/workflows/stackhpc-pull-request.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/stackhpc-pull-request.yml b/.github/workflows/stackhpc-pull-request.yml index bf1668030..0a62c2fd0 100644 --- a/.github/workflows/stackhpc-pull-request.yml +++ b/.github/workflows/stackhpc-pull-request.yml @@ -69,9 +69,9 @@ jobs: matrix: include: # NOTE(upgrade): Keep these in sync with Kayobe's supported Ansible and Python versions (see release notes). - - ansible: "2.17" + - ansible: "2.18" python: "3.12" - - ansible: "2.16" + - ansible: "2.17" python: "3.10" name: Ansible ${{ matrix.ansible }} lint with Python ${{ matrix.python }} if: github.repository == 'stackhpc/stackhpc-kayobe-config' From 9a4b5b34df8f01f8e39f04595d92b962f6f2b989 Mon Sep 17 00:00:00 2001 From: Matt Crees Date: Tue, 29 Apr 2025 13:38:33 +0100 Subject: [PATCH 3/3] Run upgrade prerequisites instead --- .github/workflows/stackhpc-all-in-one.yml | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/.github/workflows/stackhpc-all-in-one.yml b/.github/workflows/stackhpc-all-in-one.yml index 39e1118af..cae50d566 100644 --- a/.github/workflows/stackhpc-all-in-one.yml +++ b/.github/workflows/stackhpc-all-in-one.yml @@ -335,22 +335,13 @@ jobs: env: KAYOBE_AUTOMATION_SSH_PRIVATE_KEY: ${{ steps.ssh_key.outputs.ssh_key }} - - name: Change RabbitMQ queues from transient types to durable types (quorum and streams) - run: | - sed -i -e '$aom_enable_queue_manager: True' \ - -e '$aom_enable_rabbitmq_quorum_queues: True' \ - -e '$aom_enable_rabbitmq_transient_quorum_queue: True' \ - -e '$aom_enable_rabbitmq_stream_fanout: True' \ - etc/kayobe/environments/ci-aio/kolla/globals.yml - if: inputs.upgrade - - - name: Migrate RabbitMQ queues + - name: Run upgrade prerequisites run: | docker run -t --rm \ -v $(pwd):/stack/kayobe-automation-env/src/kayobe-config \ -e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY \ ${{ steps.kayobe_image.outputs.kayobe_image }} \ - /stack/kayobe-automation-env/src/kayobe-config/.automation/pipeline/script-run.sh tools/rabbitmq-queue-migration.sh + /stack/kayobe-automation-env/src/kayobe-config/.automation/pipeline/script-run.sh tools/upgrade-prerequisites.sh env: KAYOBE_AUTOMATION_SSH_PRIVATE_KEY: ${{ steps.ssh_key.outputs.ssh_key }} if: inputs.upgrade