Skip to content

Commit e2e1144

Browse files
authored
Merge pull request #1122 from stackhpc/caracal-init
Caracal init
2 parents 8cd54ed + ae4608f commit e2e1144

25 files changed

+117
-313
lines changed

.github/workflows/stackhpc-all-in-one.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,9 @@ jobs:
8181
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }}
8282
KAYOBE_IMAGE: ${{ inputs.kayobe_image }}
8383
# NOTE(upgrade): Reference the PREVIOUS release here.
84-
PREVIOUS_KAYOBE_IMAGE: ghcr.io/stackhpc/stackhpc-kayobe-config:stackhpc-zed
84+
PREVIOUS_KAYOBE_IMAGE: ghcr.io/stackhpc/stackhpc-kayobe-config:stackhpc-2023.1
8585
# NOTE(upgrade): Reference the PREVIOUS release branch here.
86-
PREVIOUS_BRANCH: stackhpc/zed
86+
PREVIOUS_BRANCH: stackhpc/2023.1
8787
steps:
8888
- name: Install Package
8989
uses: ConorMacBride/install-package@main

.github/workflows/stackhpc-build-kayobe-image.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88
push:
99
branches:
1010
# NOTE(upgrade): Reference only the current release branch here.
11-
- stackhpc/2023.1
11+
- stackhpc/2024.1
1212

1313
workflow_call:
1414
inputs:

.github/workflows/stackhpc-promote.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ on:
44
push:
55
branches:
66
# NOTE(upgrade): Reference only the current release branch here.
7-
- stackhpc/2023.1
7+
- stackhpc/2024.1
88
jobs:
99
promote:
1010
name: Trigger Pulp promotion workflows

.readthedocs.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ build:
1313
python: "3.7"
1414
jobs:
1515
post_checkout:
16-
- git remote set-branches origin master stackhpc/2023.1 stackhpc/zed stackhpc/yoga stackhpc/xena stackhpc/wallaby
16+
- git remote set-branches origin master stackhpc/2024.1 stackhpc/2023.1 stackhpc/zed stackhpc/yoga stackhpc/xena stackhpc/wallaby
1717
- git fetch --unshallow
1818

1919
# Build documentation in the doc/source/ directory with Sphinx

doc/source/conf.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@
2929
# -- StackHPC Kayobe configuration --------------------------------------
3030
# Variables to override
3131

32-
current_series = "2023.1"
33-
previous_series = "zed"
32+
current_series = "2024.1"
33+
previous_series = "2023.1"
3434
branch = f"stackhpc/{current_series}"
3535

3636
# Substitutions loader

doc/source/contributor/environments/aufn-ceph.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ This environment creates a Universe-from-nothing_-style deployment of Kayobe con
99
.. warning::
1010

1111
This guide was written for the Yoga release and has not been validated for
12-
Antelope. Proceed with caution.
12+
Caracal. Proceed with caution.
1313

1414
Prerequisites
1515
=============

doc/source/contributor/environments/ci-aio.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ make changes to the setup process.
1313
.. warning::
1414

1515
This guide was written for the Yoga release and has not been validated for
16-
Antelope. Proceed with caution.
16+
Caracal. Proceed with caution.
1717

1818
Prerequisites
1919
=============
@@ -30,7 +30,7 @@ Download the setup script:
3030

3131
.. parsed-literal::
3232
33-
wget https://raw.githubusercontent.com/stackhpc/stackhpc-kayobe-config/stackhpc/2023.1/etc/kayobe/environments/ci-aio/automated-setup.sh
33+
wget https://raw.githubusercontent.com/stackhpc/stackhpc-kayobe-config/stackhpc/2024.1/etc/kayobe/environments/ci-aio/automated-setup.sh
3434
3535
Change the permissions on the script:
3636

doc/source/contributor/environments/ci-builder.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ service, and pushed there once built.
99
.. warning::
1010

1111
This guide was written for the Yoga release and has not been validated for
12-
Antelope. Proceed with caution.
12+
Caracal. Proceed with caution.
1313

1414

1515
Prerequisites

doc/source/contributor/environments/ci-multinode.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Multinode Test Environment
55
.. warning::
66

77
This guide was written for the Yoga release and has not been validated for
8-
Antelope. Proceed with caution.
8+
Caracal. Proceed with caution.
99

1010

1111
Set up hosts

doc/source/contributor/package-updates.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@ This section describes the Release Train process of creating new package reposit
77
Preparations
88
============
99

10-
1. Before building images, you should check for any outstanding PRs into the earliest supported release. Below are the links for the 2023.1 (Antelope) branches.
10+
1. Before building images, you should check for any outstanding PRs into the earliest supported release. Below are the links for the 2024.1 (Caracal) branches.
1111

12-
kayobe-config: https://github.com/stackhpc/stackhpc-kayobe-config/pulls?q=is%3Apr+is%3Aopen+base%3Astackhpc%2F2023.1
12+
kayobe-config: https://github.com/stackhpc/stackhpc-kayobe-config/pulls?q=is%3Apr+is%3Aopen+base%3Astackhpc%2F2024.1
1313

14-
kolla: https://github.com/stackhpc/kolla/pulls?q=is%3Apr+is%3Aopen+base%3Astackhpc%2F2023.1
14+
kolla: https://github.com/stackhpc/kolla/pulls?q=is%3Apr+is%3Aopen+base%3Astackhpc%2F2024.1
1515

16-
kolla-ansible: https://github.com/stackhpc/kolla-ansible/pulls?q=is%3Apr+is%3Aopen+base%3Astackhpc%2F2023.1
16+
kolla-ansible: https://github.com/stackhpc/kolla-ansible/pulls?q=is%3Apr+is%3Aopen+base%3Astackhpc%2F2024.1
1717

1818
You should also check any referenced source trees in etc/kayobe/kolla.yml.
1919

@@ -152,7 +152,7 @@ Upgrading OpenStack to the next release in a multinode environment
152152
.. warning::
153153

154154
This guide was written for the Wallaby release and has not been validated
155-
for Antelope. Proceed with caution.
155+
for Caracal. Proceed with caution.
156156

157157
As this is not a full production system, only a reduced number of steps need to be followed to upgrade to a new release. Below describes these steps, with ``stackhpc/wallaby`` as the starting branch:
158158

doc/source/operations/upgrading.rst

Lines changed: 50 additions & 173 deletions
Original file line numberDiff line numberDiff line change
@@ -35,193 +35,70 @@ Notable changes in the |current_release| Release
3535
There are many changes in the OpenStack |current_release| release described in
3636
the release notes for each project. Here are some notable ones.
3737

38-
Systemd container management
39-
----------------------------
40-
41-
Containers deployed by Kolla Ansible are now managed by Systemd. Containers log
42-
to journald and have a unit file in ``/etc/systemd/system`` named
43-
``kolla-<container name>-container.service``. Manual control of containers
44-
should be performed using ``systemd start|stop|restart`` etc. rather than using
45-
the Docker CLI.
46-
47-
Secure RBAC
48-
-----------
49-
50-
Secure Role Based Access Control (RBAC) is an ongoing effort in OpenStack, and
51-
new policies have been evolving alongside the deprecated legacy policies.
52-
Several projects have changed the default value of the ``[oslo_policy]
53-
enforce_new_defaults`` configuration option to ``True``, meaning that the
54-
deprecated legacy policies are no longer applied. This results in more strict
55-
policies that may affect existing API users. The following projects have made
56-
this change:
57-
58-
* Glance
59-
* Nova
60-
61-
Some things to watch out for:
62-
63-
* Policies may require the ``member`` role rather than the deprecated
64-
``_member_`` and ``Member`` roles.
65-
* Application credentials may need to be regenerated to grant any roles
66-
required by the secure RBAC policies.
67-
* Application credentials generated before the existence of any implicit roles
68-
will not be granted those roles. This may include the ``reader`` role, which
69-
is referenced in some of the new secure RBAC policies. This issue has been
70-
seen in app creds generated in the Yoga release. See `Keystone bug 2030061
71-
<https://bugs.launchpad.net/keystone/+bug/2030061>`_.
72-
73-
While the Keystone docs suggest that the ``member`` role should imply the
74-
``reader`` role, it has been seen at a customer that newly-generated app
75-
creds in the Antelope release may need both the ``member`` and ``reader``
76-
role specified.
77-
78-
Here are some SQL scripts you can call to first see if any app creds are
79-
affected, and then add the reader role where needed. It is recommended to
80-
`backup the database
81-
<https://docs.openstack.org/kayobe/latest/administration/overcloud.html#performing-database-backups>`__
82-
before running these.
83-
84-
.. code-block:: sql
85-
86-
docker exec -it mariadb bash
87-
mysql -u root -p keystone
88-
# Enter the database password when prompted.
89-
90-
SELECT application_credential.internal_id, role.id AS reader_role_id
91-
FROM application_credential, role
92-
WHERE role.name = 'reader'
93-
AND NOT EXISTS (
94-
SELECT 1
95-
FROM application_credential_role
96-
WHERE application_credential_role.application_credential_id = application_credential.internal_id
97-
AND application_credential_role.role_id = role.id
98-
);
99-
100-
INSERT INTO application_credential_role (application_credential_id, role_id)
101-
SELECT application_credential.internal_id, role.id
102-
FROM application_credential, role
103-
WHERE role.name = 'reader'
104-
AND NOT EXISTS (
105-
SELECT 1
106-
FROM application_credential_role
107-
WHERE application_credential_role.application_credential_id = application_credential.internal_id
108-
AND application_credential_role.role_id = role.id
109-
);
110-
111-
* If you have overwritten ``[auth] tempest_roles`` in your Tempest config, such
112-
as to add the ``creator`` role for Barbican, you will need to also add the
113-
``member role``. eg:
114-
115-
.. code-block:: ini
116-
117-
[auth]
118-
tempest_roles = creator,member
119-
* To check trusts for the _member_ role, you will need to list the role
120-
assignments in the database, as only the trustor and trustee users can show
121-
trust details from the CLI:
122-
123-
.. code-block:: console
124-
125-
openstack trust list
126-
docker exec -it mariadb bash
127-
mysql -u root -p keystone
128-
# Enter the database password when prompted.
129-
SELECT * FROM trust_role WHERE trust_id = '<trust-id>' AND role_id = '<_member_-role-id>';
130-
* Policies may require the ``reader`` role rather than the non-standardised
131-
``observer`` role. The following error was observed in Horizon: ``Policy doesn’t allow os_compute_api:os-simple-tenant-usage:show to be performed``,
132-
when the user only had the observer role in the project. It is best to keep the observer role until all projects have the ``enforce_new_defaults``
133-
config option set. A one liner is shown below (or update your projects config):
134-
135-
.. code-block:: console
136-
137-
openstack role assignment list --effective --role observer -f value -c User -c Project | while read line; do echo $line | xargs bash -c 'openstack role add --user $1 --project $2 reader' _; done
138-
139-
OVN enabled by default
140-
----------------------
141-
142-
OVN is now enabled by default in StackHPC Kayobe Configuration. This change
143-
was made to align with our standard deployment configuration.
144-
145-
There is currently not a tested migration path from OVS to OVN on a running
146-
system. If you are using a Neutron plugin other than ML2/OVN, set
147-
``kolla_enable_ovn`` to ``false`` in ``etc/kayobe/kolla.yml``.
148-
149-
For new deployments using OVN, see
150-
:kolla-ansible-doc:`reference/networking/neutron.html#ovn-ml2-ovn`.
151-
152-
Kolla config merging
153-
--------------------
154-
155-
The Antelope release introduces Kolla config merging between Kayobe
156-
environments and base configurations. Before Antelope, any configuration under
157-
``$KAYOBE_CONFIG_PATH/kolla/config`` would be ignored when any Kayobe
158-
environment was activated.
159-
160-
In Antelope, the Kolla configuration from the base will be merged with the
161-
environment. This can result in significant changes to the Kolla config. Take
162-
extra care when creating the Antelope branch of the kayobe-config and always
163-
check the config diff.
38+
Heat disabled by default
39+
------------------------
40+
41+
The Heat OpenStack service is no longer enabled by default.
42+
43+
This behavior can be overridden manually:
44+
45+
.. code-block:: yaml
46+
:caption: ``kolla.yml``
47+
48+
kolla_enable_heat: true
49+
50+
Wherever possible, Magnum deployments should be migrated to the CAPI Helm
51+
driver. Instructions for enabling the driver can be found `here
52+
<../configuration/magnum-capi.rst>`_. Enable the driver, recreate any clusters
53+
using Heat, and disable the service.
54+
55+
TODO: guide for disabling Heat
56+
57+
Grafana Volume
58+
--------------
59+
The Grafana container volume is no longer used. If you wish to automatically
60+
remove the old volume, set ``grafana_remove_old_volume`` to ``true`` in
61+
``kolla/globals.yml``. Note that doing this will lose any plugins installed via
62+
the CLI directly and not through Kolla. If you have previously installed
63+
Grafana plugins via the Grafana UI or CLI, you must change to installing them
64+
at image build time. The Grafana volume, which contains existing custom
65+
plugins, will be automatically removed in the next release.
66+
67+
Prometheus HAproxy Exporter
68+
---------------------------
69+
Due to the change from using the ``prometheus-haproxy-exporter`` to using the
70+
native support for Prometheus which is now built into HAProxy, metric names may
71+
have been replaced and/or removed, and in some cases the metric names may have
72+
remained the same but the labels may have changed. Alerts and dashboards may
73+
also need to be updated to use the new metrics. Please review any configuration
74+
that references the old metrics as this is not a backwards compatible change.
75+
76+
Horizon configuration
77+
---------------------
78+
The Horizon role has been reworked to the preferred ``local_settings.d``
79+
configuration model. Files ``local_settings`` and ``custom_local_settings``
80+
have been renamed to ``_9998-kolla-settings.py`` and
81+
``_9999-custom-settings.py`` respectively. Users who use Horizon's custom
82+
configuration must change the names of those files in
83+
``etc/kolla/config/horizon`` as well.
16484

16585
Known issues
16686
============
16787

168-
* Rebuilds of servers with volumes are broken if there are any Nova compute
169-
services running an older release, including any that are down. Old compute
170-
services should be removed using ``openstack compute service delete``, then
171-
remaining compute services restarted. See `LP#2040264
172-
<https://bugs.launchpad.net/nova/+bug/2040264>`__.
173-
174-
* The OVN sync repair tool removes metadata ports, breaking OVN load balancers.
175-
See `LP#2038091 <https://bugs.launchpad.net/neutron/+bug/2038091>`__.
176-
177-
* When you try to generate config before the 2023.1 upgrade (i.e. using 2023.1
178-
Kolla-Ansible but still running Zed kolla-toolbox), it will fail on Octavia.
179-
This patch is needed to fix this:
180-
https://review.opendev.org/c/openstack/kolla-ansible/+/905500
181-
182-
* If you run ``kayobe overcloud service upgrade`` twice, it will cause shard
183-
allocation to be disabled in OpenSearch. See `LP#2049512
184-
<https://bugs.launchpad.net/kolla-ansible/+bug/2049512>`__ for details.
185-
186-
You can check if this is affecting your system with the following command. If
187-
``transient.cluster.routing.allocation.enable=none`` is present, shard
188-
allocation is disabled.
189-
190-
.. code-block:: console
191-
192-
curl http://<controller-ip>:9200/_cluster/settings
193-
194-
For now, the easiest way to fix this is to turn allocation back on:
195-
196-
.. code-block:: console
197-
198-
curl -X PUT http://<controller-ip>:9200/_cluster/settings -H 'Content-Type:application/json' -d '{"transient":{"cluster":{"routing":{"allocation":{"enable":"all"}}}}}'
199-
200-
* Docker log-opts are currently not configured in Antelope. You will see these
201-
being removed when running a host configure in check+diff mode. See bug for
202-
details (fix released):
203-
https://bugs.launchpad.net/ansible-collection-kolla/+bug/2040105
204-
205-
* /etc/hosts are not templated correctly when running a host configure with
206-
``--limit``. To work around this, run your host configures with
207-
``--skip-tags etc-hosts``. If you do need to change ``/etc/hosts``, for
208-
example with any newly-added hosts, run a full host configure afterward with
209-
``--tags etc-hosts``. See bug for details (fix released):
210-
https://bugs.launchpad.net/kayobe/+bug/2051714
88+
* None!
21189

21290
Security baseline
21391
=================
21492

215-
As part of the Zed and Antelope releases we are looking to improve the security
93+
As part of the Caracal release we are looking to improve the security
21694
baseline of StackHPC OpenStack deployments. If any of the following have not
217-
been done, they should ideally be completed before the upgrade begins,
218-
otherwise afterwards.
95+
been done, they should be completed before the upgrade begins.
21996

22097
.. TODO: Add these when docs exist
22198
22299
* Enable `host firewalling <TODO>`_
223-
* Enable `Center for Internet Security (CIS) compliance <TODO>`_
224100
101+
* Enable `Center for Internet Security (CIS) compliance <../configuration/security-hardening.rst>`_
225102
* Enable TLS on the :kayobe-doc:`public API network
226103
<configuration/reference/kolla-ansible.html#tls-encryption-of-apis>`
227104
* Enable TLS on the `internal API network <../configuration/vault.html>`_

doc/source/release-notes.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
====================================
2-
2023.1 Antelope Series Release Notes
2+
2024.1 Caracal Series Release Notes
33
====================================
44

55
.. release-notes::
6-
:branch: stackhpc/2023.1
6+
:branch: stackhpc/2024.1

doc/source/usage.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ when used with Kayobe's :kayobe-doc:`multiple environments
1616
<multiple-environments>` feature.
1717

1818
This configuration should be consumed using the `StackHPC Kayobe fork
19-
<https://github.com/stackhpc/kayobe/tree/stackhpc/2023.1>`__, which includes
19+
<https://github.com/stackhpc/kayobe/tree/stackhpc/2024.1>`__, which includes
2020
backported support for Ansible collections.
2121

2222
New deployments

etc/kayobe/environments/aufn-ceph/a-universe-from-nothing.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
set -eu
1111

1212
BASE_PATH=~
13-
KAYOBE_BRANCH=stackhpc/2023.1
14-
KAYOBE_CONFIG_BRANCH=stackhpc/2023.1
13+
KAYOBE_BRANCH=stackhpc/2024.1
14+
KAYOBE_CONFIG_BRANCH=stackhpc/2024.1
1515
KAYOBE_ENVIRONMENT=aufn-ceph
1616

1717
PELICAN_HOST="10.0.0.34 pelican pelican.service.compute.sms-lab.cloud"

0 commit comments

Comments
 (0)