2026.2 Series Release Notes¶
26.0.0-8¶
バグ修正¶
Fixed database status detection for stopped containers that retain a
healthyDocker health status. Trove now identifies anexitedcontainer asSHUTDOWNbefore evaluating its health status.
MySQL replication instances now use the
ROWbinary logging format instead ofMIXED. Previously, enabling replication changedbinlog_formattoMIXEDon the replication source and replicas, which would override the defaultROWvalue on existing instances. Existing replication setups are not modified. Rebuilding existing MySQL instance will changeMIXEDvalue toROW.
Reduced PostgreSQL connection latency in some environments by removing the localhost pg_hba rule, avoiding reverse DNS lookups.
Removes
character_set_client,character_set_connection,character_set_database,character_set_results,collation_connection, andcollation_databasefrom the shipped MariaDB configuration parameter validation rules. These variables are not valid MariaDB server option-file settings and can prevent an instance from starting when used in a configuration group.Rules already loaded for existing datastore versions are not changed automatically. Cloud administrators should remove these parameters from each affected MariaDB datastore version with the management API, or delete and reload that version's complete validation rule set.
Database shutdown requests now use
agent_call_high_timeoutinstead ofagent_call_low_timeout. This provides more time for a database under load to stop before the guest agent call times out.
26.0.0¶
新機能¶
Added support for PostgreSQL 18.
Introduced a new configuration option
[DEFAULT]/cinder_client_versionwith default value set as 3. This allows operators to supply the intended version of Cinder API to interact with.
Adds the
default_localityconfiguration option. Operators can use it to apply a Nova server group policy when an instance create request omitslocality. The default isNonefor backward compatibility.
Simplifies the DevStack installation process for Trove.
The setup procedure is updated to produce a working environment out of the box, and the documentation now provides clearer step-by-step installation instructions.
Introduce additional fields "wal_size" and "wal_archive_size" for PostgreSQL datastore.
From now on it is possible to have the same backup image for series of datastore versions. Trove guest-agent will iterate over tagged versions for backup images from more to less specific ones attempting to find an image rather then fail if exact image is not present in the registry. For instance, in case you defined [mariadb]/backup_docker_image: registry/db-backup-mariadb and have only
10.4in the registry, such image will cover whole 10.4 series, including 10.4.1, 10.4.2, 10.4.3, etc.
Improves instance list method by using Nova tags feature. Tags was introduced in Nova API version 2.26 in 2017. Querying Nova servers by tags allow to check relevant servers only instead of retrieving all of them, preventing possible 504 errors in large clouds.
Service credentials removal from trove-guestagent.conf. Trove guestagent no longer requires Keystone service credentials. Operators should remove this section from trove-guestagent.conf. Storing credentials on guest instances represents a security risk.
SSL/TLS certificate management for securing the client-server channel. The PKCS#12 container and credentials are stored in Barbican. Available modes are basic, enforced, and mTLS. See the documentation for more information.
Upgrade Notes¶
The minimum required Nova microversion has been increased to 2.57.
Even after upgrading to this version, the existing guest-agent images will function normally alongside the existing backup images. However, to ensure compatibility with newly built guest images as well as the legacy ones, you must rebuild the backup images.
バグ修正¶
Instance rebuilds now apply updated cloud-init configuration when Nova API microversion 2.57 or later is used. Older Nova microversions continue to use the previous rebuild behavior.
Trove now uses blkid instead of dumpe2fs to detect existing ext2/3/4 filesystems and automatically attempts to repair recoverable filesystem inconsistencies before mounting a data volume.
Logic for fetching Cinder API version has been fixed, and it no longer relies on the
[DEFAULT]/cinder_service_typevalue. This allows to have a cinder_service_type defined asblock-storage, or any other name which is not versioned.
Fixed a typo in the default storage driver name (
swfitinstead ofswift) in the task manager backup creation path. When a backup request arrived withoutstorage_driverin its metadata, the Swift endpoint URL was not injected and the guest agent rejected the backup with "Missing swift_url in backup metadata", leaving the backup record stuck in theNEWstate.
Guest log files and directories are now owned by
database_service_uid:database_service_gidinstead of using the uid for both the owner and the group. This makes a difference for custom Docker images where the database service gid differs from the uid.
Fixed guest log operations (e.g. listing logs) failing with "Please specify owner or group, or both." for MySQL/MariaDB and PostgreSQL instances when
database_service_uidis not set in the datastore-specific configuration group. The log file owner now falls back to thedatabase_service_uidvalue from theDEFAULTgroup, consistent with how the ownership of other database files is resolved.
Fixes MariaDB when datastore use official MariaDB dockerhub images. MariaDB starting from version 10.7 use different default path to configuration file.
Removed the legacy PostgreSQL max_connections workaround that persisted the setting in postgresql.auto.conf, allowing standard Trove configuration management to modify it. Rebuild now removes existing legacy max_connections entries from postgresql.auto.conf, while preserving support for custom configuration on individual replicas.
Show real used percentage of the data volume based on f_bavail
Showing an instance that is being deleted (or whose Nova server is shut down) no longer sends a
get_filesystem_statsRPC to the guest agent. Previously the API would block for the fullagent_call_low_timeoutwaiting for a reply from an agent that is no longer running, making the request slow and logging a spurious guest timeout traceback.
Trove now unmounts the data volume before rebuilding an instance to reduce the risk of data corruption.
Use pre-auth Swift client and remove Keystone re-auth. Stop using Keystone sessions and token re-scoping in backup and restore flows.
Backup container's swift client now respects swift_api_insecure config option in trove-guestagent.conf, instead of relying on hardcoded insecure=True.