Skip to content

Add docs for upgrading to Caracal #1250

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Sep 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion doc/source/operations/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ This guide is for operators of the StackHPC Kayobe configuration project.
hotfix-playbook
nova-compute-ironic
octavia
rabbitmq
secret-rotation
tempest
upgrading-openstack
Expand Down
177 changes: 0 additions & 177 deletions doc/source/operations/rabbitmq.rst

This file was deleted.

87 changes: 86 additions & 1 deletion doc/source/operations/upgrading-openstack.rst
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,64 @@ Notable changes in the |current_release| Release
There are many changes in the OpenStack |current_release| release described in
the release notes for each project. Here are some notable ones.

RabbitMQ SLURP upgrade
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This feels like it's in the wrong section (Notable changes in the |current_release| Release)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps it should go into prerequisites?

----------------------

Because this is a SLURP upgrade, RabbitMQ must be upgraded manually from 3.11,
to 3.12, then to 3.13 on Antelope before the Caracal upgrade. This upgrade
should not cause an API outage (though it should still be considered "at
risk").

There are two prerequisites:

1. Kolla-Ansible should be upgraded to the latest version:

.. code-block:: bash

cd $KOLLA_SOURCE_PATH
git fetch && git pull
$KOLLA_VENV_PATH/bin/pip install .
Comment on lines +52 to +54
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

kayobe control host bootstrap?


2. The RabbitMQ container image tag must be equal to or newer than
``20240823T101942``. Check the timestamps in
``etc/kayobe/kolla-image-tags.yml``.
Comment on lines +56 to +58
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it make sense to do this after updating to latest antelope? (L212) Then this would always be true.


Once complete, upgrade RabbitMQ:

.. code-block:: bash

kayobe overcloud service configuration generate --node-config-dir /tmp/ignore -kt none
kayobe kolla ansibe run "rabbitmq-upgrade 3.12"
kayobe kolla ansibe run "rabbitmq-upgrade 3.13"
Comment on lines +65 to +66
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/ansibe/ansible/g


RabbitMQ quorum queues
----------------------

In Caracal, quorum queues are enabled by default for RabbitMQ. This is
different to Antelope which used HA queues. Before upgrading to Caracal, it is
strongly recommended that you migrate from HA to quorum queues. The migration
is automated using a script.

.. warning::
This migration will stop all services using RabbitMQ and cause an
extended API outage while queues are migrated. It should only be
performed in a pre-agreed maintenance window.

Set the following variables in your kolla globals file (i.e.
``$KAYOBE_CONFIG_PATH/kolla/globals.yml`` or
``$KAYOBE_CONFIG_PATH/environments/$KAYOBE_ENVIRONMENT/kolla/globals.yml``):

.. code-block:: yaml

om_enable_rabbitmq_high_availability: false
om_enable_rabbitmq_quorum_queues: true

Then execute the migration script:

.. code-block:: bash

$KAYOBE_CONFIG_PATH/../../tools/rabbitmq-quorum-migration.sh

Heat disabled by default
------------------------

Expand All @@ -54,6 +112,24 @@ using Heat, and disable the service.

TODO: guide for disabling Heat

Designate sink disabled by default
----------------------------------

Designate sink is optional designate service which listens for event
Notifications, primarily from Nova and Neutron. It is disabled by default (when
designate is enabled) in Caracal. It is not required for Designate to function.
Comment on lines +118 to +120
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Designate sink is an optional Designate service which listens for event
notifications, primarily from Nova and Neutron. It is disabled by default (when
designate is enabled) in Caracal. It is not required for Designate to function.


If you still wish to use it, you should set the flag manually:

.. code-block:: yaml
:caption: ``kolla/globals.yml``

designate_enable_notifications_sink: true

If you are using Designate and do not make this change, the Antelope
``designate-sink`` container will remain on the controllers after the upgrade.
It must be removed manually.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kolla-ansible so lazy :D


Grafana Volume
--------------
The Grafana container volume is no longer used. If you wish to automatically
Expand Down Expand Up @@ -85,7 +161,16 @@ configuration must change the names of those files in
Known issues
============

* None!
* OVN breaks on Rocky 9 deployments where hostnames are FQDNs.
Before upgrading, you must make sure no compute or controller nodes have any
``.`` characters in their hostnames. Run the command below to check:

.. code-block:: bash

kayobe overcloud host command run --command "grep -v \'\.\' /etc/hostname" --show-output

There is currently no known fix for this issue aside from reprovisioning. A
patch will be developed soon.

Security baseline
=================
Expand Down