We are amped to announce the release of: trove 24.0.0 This release is part of the flamingo release series. The source is available from: https://opendev.org/openstack/trove Download the package from: https://tarballs.openstack.org/trove/ Please report issues through: https://bugs.launchpad.net/trove/+bugs For more details, please see below. Changes in trove 23.0.0.0rc1..24.0.0 ------------------------------------ 21457af4 Consistent voting job in check and gate 018bcb09 Replace LOG.warn bf116bae Use built-in hacking check 57578561 Replace oslo_utils.encodeutils.exception_to_unicode (again) 8874e9f5 [doc] Datastore support matrix b814af4b Drop description about CentOS7 and RHEL7 edf500d2 Use systemctl command to manage service 5937eb6c Replaced usage outdate egrep to grep 8420adb0 Imported Translations from Zanata 4f1f1bbc Add support for MySQL 8.4 bacf37e6 Add support for PostgreSQL 16 & 17 b8a3f316 Remove Python 3.9 support 8d173778 Fix small mistake in README.rst e54a9b71 Fix small mistake in release note with MariaDB fb0be77b Remove unicode prefix from code 9e46762a Add support for mariadb 11.4 & 11.8 e92f2347 Change default timeout for mariadb 11.4 & 11.8 bb358f94 Follow up: Ibd8dbb8ad8fe895ba9d14e00038ed08e99fbfe0c f6cd2198 Fix trove-imager-loader.service not started 72f9eef8 Add swift upload retry mechanism ddb5587b Drop unused message constant fd434c25 Fail the backup properly if no backup image is supplied d6f7e8e0 Push datastore image to quay.io to support tests 0c19d7c2 Improve stop_slave logic for cinder backup b74e6687 Use mariadb-backup binary name for backup dd7f776f Fix PostgreSQL compatibility issues for versions greater than 15 e9f62185 Add mysql-8.0 tests and remove mysql-5.7 support 34e4c52a Revert "Introduce mariadb_backup backup_strategy" 51c5c52a docs: Add complete instructions for deploying Trove da0b0bcf [CI]: Add reno package in test-requirement 5c67d179 docs: add OpenStack-Ansible as an installation method b6bcf34a Using venv in backup image 4f182176 Replace deprecated datetime.datetime.utcnow() 4ac6587e Fix cloud-init configuration file issue with duplicate headers bcdec128 Introduce mariadb_backup backup_strategy d5bccd7b Remove installation guide for openSUSE/SLES 3e0b163d Add pyproject.toml to support pip 23.1 5939477f Switch backup build to Ubuntu 24.04 1f7d8f68 Cleanup setup.py cc1fe25c [CI]: Fix the unittest failure db34bcb2 Added Configuration Template Developer Docs 76cd5a7b Add build of modern Ubuntu distributions 3ba7bb3e Update backup image maintainer 4beb1465 Remove pylint f9b73bac Fix typo in link for documentation a341465a Increase max_file_size for container 254e7472 Fix trove install failed d22d1e3d Remove unnecessary +x mode 831cf36c Update docs for Ubuntu 20.04 4f327e66 Fix bug: "TROVE_USE_MOD_WSGI" always TRUE. 9ae2392d Add support for PostgreSQL 13 and above. 9b684444 Update master for stable/2025.1 3579b6d9 Add cinder storage driver tests 42fc9303 Change the default configuration value - volume_fstype c58da312 Drop logic for nova-network 6634bd70 Switch ceilometer backend 4ce1cf24 Do not install ceilometerclient 0d2e8c89 Drop duplicated doc requirements Diffstat (except docs and test files) ------------------------------------- HACKING.rst | 1 + README.rst | 2 +- api-ref/source/conf.py | 2 - api-ref/source/index.rst | 0 api-ref/source/parameters.yaml | 0 backup/Dockerfile | 14 +- backup/drivers/mariabackup.py | 14 +- backup/drivers/postgres.py | 27 +- backup/install.sh | 30 +- backup/storage/swift.py | 194 ++- devstack/README.rst | 46 +- devstack/plugin.sh | 17 +- devstack/settings | 4 +- .../datastore-configuration-templates.rst | 111 ++ integration/scripts/conf/test_begin.conf | 1 - .../31-guest-agent-install | 4 + .../50-trove-image-loader | 26 + .../guest-agent-source-install/guest-agent.conf | 2 +- .../guest-log-collection.service | 2 +- .../trove-image-loader.service | 13 + .../elements/guest-agent/package-installs.yaml | 1 + .../post-install.d/31-enable-guest-agent-systemd | 2 +- integration/scripts/functions | 2 +- integration/scripts/localrc.rc | 19 +- integration/scripts/trovestack | 21 +- integration/scripts/trovestack.rc | 3 - playbooks/image-build/docker-registry.yaml | 37 +- playbooks/images/mariadb/11.4/Dockerfile | 4 + playbooks/images/mariadb/11.8/Dockerfile | 4 + pylintrc | 7 - pyproject.toml | 3 + .../add-support-mariadb11.4-b4c3358793d40819.yaml | 4 + .../add-support-mysql8.4-2490b5c87f885b01.yaml | 5 + .../add-support-postgresql17-63a0ff685e4fe197.yaml | 5 + .../notes/backup_image_24.04-3d0f02df002e75e9.yaml | 4 + .../notes/bug-2011309-bac68bbc7ece4db9.yaml | 6 + ...-default-configuration-value-volume_fstype.yaml | 4 + ...-postgresql-v13-and-above-90ba30c4ab62df3d.yaml | 11 + .../notes/mariadb-backup-1cd69e9f82e992fb.yaml | 6 + releasenotes/notes/remove-python39.yaml | 5 + releasenotes/source/2025.1.rst | 6 + releasenotes/source/index.rst | 1 + .../locale/en_GB/LC_MESSAGES/releasenotes.po | 35 +- .../source/locale/fr/LC_MESSAGES/releasenotes.po | 92 -- .../source/locale/ja/LC_MESSAGES/releasenotes.po | 36 - requirements.txt | 4 +- setup.cfg | 5 +- setup.py | 13 +- test-requirements.txt | 4 - tools/trove-pylint.README | 170 -- tools/trove-pylint.config | 1712 -------------------- tools/trove-pylint.py | 350 ---- tox.ini | 12 +- trove/cmd/guest.py | 6 +- trove/common/cfg.py | 7 +- trove/common/schemata.py | 12 +- trove/common/template.py | 25 + trove/common/timeutils.py | 5 +- trove/common/trove_remote.py | 2 +- trove/guestagent/common/operating_system.py | 3 - trove/guestagent/common/sql_query.py | 19 +- trove/guestagent/datastore/mariadb/manager.py | 53 +- trove/guestagent/datastore/mariadb/service.py | 27 +- trove/guestagent/datastore/mysql/manager.py | 32 +- trove/guestagent/datastore/mysql/service.py | 102 +- trove/guestagent/datastore/mysql_common/manager.py | 68 +- trove/guestagent/datastore/mysql_common/service.py | 81 +- trove/guestagent/datastore/postgres/manager.py | 3 +- trove/guestagent/datastore/postgres/service.py | 42 +- trove/guestagent/datastore/service.py | 33 +- trove/guestagent/module/driver_manager.py | 4 +- .../strategies/replication/mariadb_gtid.py | 41 + .../strategies/replication/mysql_base.py | 2 +- .../strategies/replication/mysql_gtid.py | 60 +- trove/guestagent/utils/docker.py | 22 +- trove/hacking/checks.py | 17 +- trove/instance/models.py | 66 +- trove/taskmanager/models.py | 5 +- trove/templates/mysql/config.template | 5 + trove/templates/mysql/replica.config.template | 5 + trove/templates/postgresql/config.template | 4 + trove/templates/postgresql/validation-rules.json | 6 + zuul.d/jobs.yaml | 347 +--- zuul.d/mariadb_jobs.yaml | 116 ++ zuul.d/mysql_job.yaml | 113 ++ zuul.d/nodesets.yaml | 10 - zuul.d/postgresql_jobs.yaml | 117 ++ zuul.d/projects.yaml | 42 +- 107 files changed, 1749 insertions(+), 3338 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 4a39a3cc..3df4b4db 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6 +6 @@ alembic>=1.8.0 -pbr!=2.1.0,>=2.0.0 # Apache-2.0 +pbr>=6.0.0 # Apache-2.0 @@ -34 +34 @@ oslo.upgradecheck>=1.3.0 # Apache-2.0 -oslo.utils>=3.40.0 # Apache-2.0 +oslo.utils>=7.0.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index d8f4157c..9c745262 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -11 +10,0 @@ doc8>=0.8.1 # Apache-2.0 -astroid==1.6.5 # LGPLv2.1 @@ -14,3 +12,0 @@ tenacity>=4.9.0 # Apache-2.0 -# Docs building -openstackdocstheme>=2.2.1 # Apache-2.0 -os-api-ref>=1.4.0 # Apache-2.0