From d888e8815d623c7676eac81d5522c25ceb4abe02 Mon Sep 17 00:00:00 2001 From: Matt Crees Date: Thu, 21 Mar 2024 09:23:47 +0000 Subject: [PATCH 1/2] CI: rework RabbitMQ handling in upgrades Changes the process so that queues are migrated using the previous release kayobe config. Migrations only need to be run in SLURP jobs. Also upgrades to RabbitMQ 3.13 prior to a SLURP upgrade. Related-Bug: #2058512 Depends-On: https://review.opendev.org/c/openstack/kayobe/+/930912 Change-Id: I9a6cf1734989f4015868e4e9e911bd9acb73a516 --- dev/functions | 24 ------------------- .../kayobe-overcloud-upgrade-base/run.yml | 20 ++++++++++++++++ 2 files changed, 20 insertions(+), 24 deletions(-) diff --git a/dev/functions b/dev/functions index 88630cf6f..8455ba2ad 100644 --- a/dev/functions +++ b/dev/functions @@ -494,35 +494,11 @@ function overcloud_deploy { echo "Control plane deployment complete" } -function migrate_rabbitmq_queues { - echo "Migrating to RabbitMQ HA queues" - - environment_setup - - kayobe overcloud service configuration generate --node-config-dir /etc/kolla - - kayobe kolla ansible run "stop --yes-i-really-really-mean-it" -kt ironic,keystone,neutron,nova - - kayobe overcloud service upgrade -kt rabbitmq --skip-prechecks - - kayobe kolla ansible run rabbitmq-reset-state - - kayobe kolla ansible run deploy -kt ironic,keystone,neutron,nova -} - function overcloud_upgrade { # Upgrade a kayobe control plane. echo "Upgrading a kayobe development environment. This consists of a " echo "single node OpenStack control plane." - # NOTE(mattcrees): As om_enable_rabbitmq_quorum_queues now defaults to true - # from Bobcat, we need to perform a migration to durable queues during - # SLURP upgrades from Antelope to Caracal. - # TODO(mattcrees): Remove in Dalmatian. - if [[ $IS_SLURP == "True" ]]; then - migrate_rabbitmq_queues - fi - echo "Upgrading Kayobe" upgrade_kayobe_venv diff --git a/playbooks/kayobe-overcloud-upgrade-base/run.yml b/playbooks/kayobe-overcloud-upgrade-base/run.yml index 98fdc44d0..73c7c2ba1 100644 --- a/playbooks/kayobe-overcloud-upgrade-base/run.yml +++ b/playbooks/kayobe-overcloud-upgrade-base/run.yml @@ -84,6 +84,26 @@ # Upgrade Kayobe, and use it to perform an upgrade of the control plane. + - name: Ensure RabbitMQ is upgraded prior to a SLURP upgrade + shell: + cmd: dev/rabbitmq-pre-slurp-upgrade.sh &> {{ logs_dir }}/ansible/rabbitmq-pre-slurp-upgrade + chdir: "{{ previous_kayobe_src_dir }}" + executable: /bin/bash + when: is_slurp + environment: + KAYOBE_CONFIG_SOURCE_PATH: "{{ previous_kayobe_config_src_dir }}" + KAYOBE_SOURCE_PATH: "{{ previous_kayobe_src_dir }}" + + - name: Ensure RabbitMQ queues are migrated + shell: + cmd: dev/rabbitmq-migrate-queues.sh ironic,keystone,neutron,nova &> {{ logs_dir }}/ansible/rabbitmq-migrate-queues + chdir: "{{ previous_kayobe_src_dir }}" + executable: /bin/bash + when: is_slurp + environment: + KAYOBE_CONFIG_SOURCE_PATH: "{{ previous_kayobe_config_src_dir }}" + KAYOBE_SOURCE_PATH: "{{ previous_kayobe_src_dir }}" + - name: Ensure overcloud is upgraded shell: cmd: "{{ kayobe_src_dir }}/dev/overcloud-upgrade.sh &> {{ logs_dir }}/ansible/overcloud-upgrade" From 6720a227c70fe5ffc72c78930a13ec865f8c54cd Mon Sep 17 00:00:00 2001 From: Matt Crees Date: Mon, 7 Oct 2024 13:58:38 +0100 Subject: [PATCH 2/2] Adds support for using Cumulus switches with NGS Support for NCLU was added in Networking Generic Switch in the Zed release[1]. Support for NVUE was added in Networking Generic Switch in the 2023.2 release[2]. [1] https://review.opendev.org/c/openstack/networking-generic-switch/+/743269 [2] https://review.opendev.org/c/openstack/networking-generic-switch/+/907551 Closes-Bug: #2083840 Change-Id: I973c6484ccd2a36990cf39df102e65be0376f08c (cherry picked from commit 3e44735bde35e4c165b1f43c8687bbee855887ee) --- ansible/kolla-openstack.yml | 2 ++ releasenotes/notes/cumulus-support-ngs-c4a6e6f3d45f5783.yaml | 5 +++++ 2 files changed, 7 insertions(+) create mode 100644 releasenotes/notes/cumulus-support-ngs-c4a6e6f3d45f5783.yaml diff --git a/ansible/kolla-openstack.yml b/ansible/kolla-openstack.yml index 5891f1883..c7b9d56a7 100644 --- a/ansible/kolla-openstack.yml +++ b/ansible/kolla-openstack.yml @@ -65,6 +65,8 @@ dell-powerconnect: netmiko_dell_powerconnect junos: netmiko_juniper openvswitch: netmiko_ovs_linux + nclu: netmiko_cumulus + nvue: netmiko_cumulus_nvue ipa_image_name: "ipa" pre_tasks: - block: diff --git a/releasenotes/notes/cumulus-support-ngs-c4a6e6f3d45f5783.yaml b/releasenotes/notes/cumulus-support-ngs-c4a6e6f3d45f5783.yaml new file mode 100644 index 000000000..d800f89cc --- /dev/null +++ b/releasenotes/notes/cumulus-support-ngs-c4a6e6f3d45f5783.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + Adds support for using Cumulus switches (NCLU and NVUE) with Networking + Generic Switch. \ No newline at end of file