2024.1 (Caracal)¶
The 2024.1 OpenStack Charms release includes updates for the charms described on the Supported charms page. As of this release, the project consists of <NUMBER-OF-STABLE-CHARMS> stable charms.
For the list of bugs resolved in this release refer to the 2024.1 milestone in Launchpad.
For scheduling information of past and future releases see the Release schedule.
Note
Release notes contents is superseded by updated information published in the Release notes (this guide) after the release of any given OpenStack Charms version.
Important
Always upgrade to the latest stable charms before making any major changes to your cloud and before filing bug reports. Note that charm upgrades and OpenStack upgrades are functionally different. For instructions on performing the different upgrade types see the Upgrades overview page.
New stable charms¶
<TITLE>¶
New stable charm features¶
With each new feature, there is a corresponding example bundle in the form of a
test bundle, and/or a section in the current guide (Charm Guide) that details
its usage. Test bundles are located in the src/tests/bundles
directory of
the relevant charm repository (see all charm repositories).
manila charm: add support to configure scheduler default filters¶
The manila charm has a new configuration option scheduler-default-filters. This configures the scheduler_default_filters parameter in manila configuration file.
This is unset by default, so manila retains the default value for scheduler_default_filters. Those might change based on OpenStack release.
For more details see bug LP #1998200.
Add support for Keystone audit middleware API logging¶
The charms listed below have a new configuration option audit-middleware. This option enables or disables Keystone audit middleware functionality that allows the user to audit API requests and configure their environment for CADF compliance (see keystone audit middleware). This option is disabled by default to prevent log file bloat. The following charms support this feature, with the respective audit log file write locations:
charm-cinder: /var/log/apache2/cinder_error.log
charm-glance: /var/log/glance/glance-api.log
charm-heat: /var/log/heat/heat-api.log
charm-neutron-api: /var/log/neutron/neutron-server.log
charm-nova-cloud-controller: /var/log/nova/nova-api-wsgi.log
For more details see bug LP #1856555.
ironic charm: add support for OVN¶
OpenStack Ironic now supports OVN as the configured SDN of choice. The neutron-api, neutron-api-plugin-ovn, neutron-api-plugin-ironic charms have been updated to support the necessary services and drivers to use OVN instead of Open vSwitch. To use this feature, deploy OVN services and ensure that both the neutron-api-plugin-ovn and neutron-api-plugin-ironic are deployed.
For more details see the Ironic documentation for OpenStack charms.
gnocchi charm: add config to customize memcached heartbeat timeout¶
The heartbeat expiry timeout is hardcoded to 5 seconds and that may not be enough to prevent the lock from expiring. A new configuration option was added to allow customizing the value.
It’s possible to adjust the timeout by running:
juju config gnocchi memcached-coordinator-lock-timeout=10
For more details see bug LP #1907243.
glance-simplestreams-sync charm: make the GPG validation keyring configurable¶
Add a new configuration option custom_keyring
which allows the user to
provide a custom GPG keyring for validating the simplestreams source, instead of
the default /usr/share/keyrings/ubuntu-cloudimage-keyring.gpg
.
It’s possible to use a custom keyring in the file my-keyring.gpg
by running:
juju config glance-simplestreams-sync custom_keyring=$(base64 ./my-keyring.gpg)
octavia charm: add config options for volume-based amphora¶
By default launched amphorae will use ephemeral storage as defined by the flavor used, this is suboptimal for environments where live-migration is desired (and avoiding the transfer of the blockstorage is needed), but also provides some resiliency in case of hypervisor failures.
The octavia charm has three new configuration options:
enable-volume-based-amphora
, when this option is enabled, Octavia will create a volume and attach it to the amphoravolume-size
specifies the size of the volume, in GB, for amphora instances. Applies only whenenable-volume-based-amphora
isTrue
.volume-type
specifies the type of volume for amphora volume root disk. Applies only when enable-volume-based-amphora isTrue
. If this isn’t specified, thedefault_volume_type
fromcinder.conf
will be used.
manila-netapp charm: add goodness-function config¶
This configuration option allows specifying functions that further optimize the scheduling of shares across backend stanzas.
This is needed due to a netapp-driver specific problem when using
SVM scoped accounts. It does not have enough permissions to obtain
the total_capacity_gb
information, so it cannot calculate utilization,
and therefore the goodness_function always returns 50 and end up
scheduling shares always to the same pool.
It’s possible to use a goodness function based on the free capacity by running:
juju config manila-netapp goodness-function="(capabilities.free_capacity_gb / 1000)"
For more details see LP #2073537.
keystone-saml-mellon charm: improve compatibility with Chromium-based browsers¶
mod_auth_mellon 0.18.0 changed the default behavior (see 5a629a1) of cross-site cookies by allowing all if unset. Some IDP providers use cross-site cookies to authenticate. Chromium-based browsers reject insecure cross-site cookies.
Adding config option to optionally enable Secure HTTPS cookies so it can work with Chromium-based browsers as long as the IDP connection is HTTPS.
juju config keystone-saml-mellon allow-cross-site-cookies=True
For more details see LP #2068654.
Documentation updates¶
<TITLE>¶
New tech-preview charms¶
<TITLE>¶
New tech-preview charm features¶
<TITLE>¶
Informational notices¶
keystone charm: disable cache by default¶
Due to the architecture of how memcache gets deployed with each unit of Keystone, it’s possible for the cache on different units to become inconsistent.
This results in non-deterministic behaviors depending on which Keystone unit services an API request.
Disable caching by default to ensure consistency and security within a deployment; Operators may choose to enable caching and can reduce the impact of cache unit inconsistency by tuning the expiration configuration options from the default of 600 seconds.
It’s possible to turn the cache on by running:
juju config keystone enable-cache=True
For more details see bug LP #2089616.
ceilometer charm: add missing region setting in service_credentials¶
Add region name when rendering ceilometer.conf
.
Ironic: re-enable legacy RBAC¶
Ironic went into Secure RBAC by default in the 2024.1 (Caracal) release. This is causing issues with zaza-openstack-tests[2] which uses a project scoped token. Even when z-o-t can be modified to use a system scoped token, this opens the question if we should allow charm-ironic-api to configure Secure RBAC or not.
This change sets enforce_scope and enforce_new_defaults to False in the ironic-conductor and ironic-api charms to give a seamless upgrade experience to operators since Charmed OpenStack hasn’t implemented Secure RBAC support accross the board.
For more details see the Ironic upgrade notes.
nova-compute charm: make cloud-compute hostname same as nova.conf host¶
To avoid inconsistency between the fqdn added to the nova.conf
‘host’ config
and the hostname set of the cloud-compute relation, it was needed to ensure that
both are using the same means of determining the host fqdn. This is so that when
nova-cloud-controller charm populates ssh known_hosts and shares with all
computes it definitely contains an entry for the nova.conf
host config since
this is sometimes used as part of a live-migration.
For more details see LP #2089781.
openstack-dashboard charm: set X-Frame-Options header to sameorigin for https¶
If the header X-Frame-Options
is set to deny, then operations cannot be
performed from the network topology page as the <svg>
tag is a kind of
<embed>
and access is restricted from there. This was previously set only
for the HTTP virtual host (commit ef031d4).
For more details see LP #2077024.
keystone-openidc charm: fix JSONDecodeError from misconfigured OIDCRedirectURI¶
This change makes the OIDCRedirectURI
be set to a unused URI. If
OIDCRedirectURI
matches a real Keystone federation auth endpoint, the
Keystone federation auth workflow gets interrupted making the authentication
process fail.
For more details see LP #2075349.
nova-compute charm: do not render console config for s390x¶
Remote console access protocols such as spice, novnc, etc. are not supported on
s390x, so they are no longer enabled in nova.conf
as this causes Nova to
error.
For more details see LP #2063190
manila-ganesha charm: use client cert for keystone-identity¶
When manila-ganesha is related to the vault charm, it needs a client cert to
configure the [keystone-auth]
section of manila.conf
to communicate with
Keystone. This change sets that up and removes the broken server cert auto
configuration which ended up masking the manila-share service.
For more details see LP #2064487.
designate charm: stop apache2 when the unit is paused¶
When the designate units are paused via the pause
action, the apache2
service is now stopped, this allows the API port to get closed and prevents
false positive checks.
For more details see LP #2067285
keystone charm: add service role to service users¶
The Secure RBAC work adds a service role which is utilized in some policies for
various services (e.g. neutron requires the service role for updating port
binding information). The keystone charm now adds the service
role to all
the service users created through the identity-credentials
relation.
neutron-api charm: enable more recent DNS extensions (dns-integration-domain-keywords)¶
Since yoga, there have been two “additions” to the DNS extensions, which simply build on top of the older ones. By changing the DNS extension to be the latest (dns-integration-domain-keywords), all 4 extensions will be activated:
dns-integration
(already included)dns-domain-ports
(the previous default extension)subnet-dns-publish-fixed-ip
dns-integration-domain-keywords
These extensions are required to enable replacement of keywords in DNS entries and allow publishing fixed IPs without restrictions.
For more details see Designate documentation Neutron integration.
Deprecation notices¶
<TITLE>¶
Removed features¶
<TITLE>¶
Removed charms¶
<TITLE>¶
Issues discovered during this release cycle¶
<TITLE>¶
Changes backported to this release¶
none at this time