We are delighted to announce the release of: heat 21.0.0 This release is part of the bobcat release series. The source is available from: https://opendev.org/openstack/heat Download the package from: https://tarballs.openstack.org/heat/ Please report issues through: https://storyboard.openstack.org/#!/project/989 For more details, please see below. 21.0.0 ^^^^^^ New Features ************ * Heat policies have been modified to isolate the system and project level APIs policy. Because of this change, system users will not be allowed to perform any operations on project level resources. Upgrade Notes ************* * The following resources types are now hidden. Neutron LBaaS v2 was already retired thus these resource types can no longer be used. * "OS::Neutron::LBaaS::LoadBalancer" * "OS::Neutron::LBaaS::Listener" * "OS::Neutron::LBaaS::Pool" * "OS::Neutron::LBaaS::PoolMember" * "OS::Neutron::LBaaS::HealthMonitor" * "OS::Neutron::LBaaS::L7Policy" * "OS::Neutron::LBaaS::L7Rule" * The database migration engine has changed from sqlalchemy-migrate to alembic. For most deployments, this should have minimal to no impact and the switch should be mostly transparent. The main user- facing impact is the change in schema versioning. While sqlalchemy- migrate used a linear, integer-based versioning scheme, which required placeholder migrations to allow for potential migration backports, alembic uses a distributed version control-like schema where a migration's ancestor is encoded in the file and branches are possible. The alembic migration files therefore use a arbitrary UUID-like naming scheme and the "heat-manage db_sync" command now expects such an version when manually specifying the version that should be applied. For example: $ heat-manage db_sync c6214ca60943 Attempting to specify an sqlalchemy-migrate-based version will result in an error. (https://sqlalchemy-migrate.readthedocs.io/en/latest/) (https://alembic.sqlalchemy.org/en/latest/) Changes in heat 20.0.0.0rc1..21.0.0 ----------------------------------- 7860e7acb Handle FK error when creating/updating software deployments 0e5150641 Bump Fedora image used in CI cacaf3e6d Fix bindep.txt for python 3.11 job(Debian Bookworm) 7197bd028 Skip loading auth plugin in case the property is set ede6032e5 Fix missing oslo.versionedobjects library option a4ac653e3 Imported Translations from Zanata 185f28a3b Isolate project scope and system scope 528bc75ef Add non-voting CentOS 9 Stream job 04c8faba4 db: Removing aliasing of context.session 1331c650b db: Don't rely on autocommit behavior 591d0ba1b db: Replace use of strings in join, defer operations 6f61fa05c db: Remove use of 'bind' arguments 304a433b6 db: Update 'select()' calls 60e86b721 db: Replace use of 'autoload' parameter 15f5e3f08 db: Remove use of Query.get() method 9d2cc7197 db: Replace use of Engine.execute() method 6da7e692a db: Don't pass strings to 'Connection.execute' 60fb3cda6 Replace use of distutils.version 46f301c96 context: Replace final use of user_domain 81586711f Remove some notes no longer valid 3896d8536 Imported Translations from Zanata 4254db1c6 Update the "Creating your first stack" document b5ccf5a30 Hide resource types for Neutron LBaaS v2 9313904c2 Add Python 3.10 to supported runtime. 43a5f3984 db: Remove layer of indirection 586e5b0a7 tests: Enable SQLAlchemy 2.0 deprecation warnings 998d8df42 db: Remove legacy migrations 5d3ce78d5 db: Add replacement test for walking migrations 64621053c db: Migrate to alembic 9fbe8e4d3 Disable unstable test cases in grenade 2cf28d5ad db: Sync alembic, sqlalchemy-migrate migrations 56bcf53bd db: Add initial alembic migration ac25a28d1 db: Wire up for auto-generation ecad14368 db: Add initial alembic configuration ebf6886b4 db: Remove unused util methods 25f1cc2e2 Integrate pre-commit 4c7bda0f2 Imported Translations from Zanata 4fcbe9433 Disable B113 rule of bandit 513dfd116 Fix unit tests with python-novaclient 18.3.0 cd2d8dcf0 fix wrong attribute in heat senlin client 3f15d28a0 Update master for stable/2023.1 Diffstat (except docs and test files) ------------------------------------- .pre-commit-config.yaml | 29 ++ .zuul.yaml | 10 +- api-ref/source/v1/events.inc | 2 +- api-ref/source/v1/services.inc | 2 +- bin/heat-db-setup | 2 +- bindep.txt | 9 +- config-generator.conf | 1 + .../heat_docker/resources/docker_container.py | 7 +- devstack/lib/heat | 31 +- devstack/upgrade/resources.sh | 2 - heat/api/openstack/v1/util.py | 8 +- heat/cloudinit/loguserdata.py | 6 +- heat/cmd/manage.py | 8 +- heat/common/context.py | 20 +- heat/common/policy.py | 37 +- heat/db/alembic.ini | 72 +++ heat/db/{sqlalchemy => }/api.py | 579 +++++++++++---------- heat/db/{sqlalchemy => }/filters.py | 0 heat/db/migration.py | 117 +++++ heat/db/migrations/README.rst | 15 + heat/db/migrations/env.py | 94 ++++ heat/db/migrations/script.py.mako | 20 + .../versions/c6214ca60943_initial_revision.py | 392 ++++++++++++++ heat/db/{sqlalchemy => }/models.py | 2 +- heat/db/sqlalchemy/__init__.py | 0 heat/db/sqlalchemy/migrate_repo/README | 4 - heat/db/sqlalchemy/migrate_repo/__init__.py | 0 heat/db/sqlalchemy/migrate_repo/manage.py | 18 - heat/db/sqlalchemy/migrate_repo/migrate.cfg | 25 - .../sqlalchemy/migrate_repo/versions/073_newton.py | 387 -------------- .../migrate_repo/versions/074_placeholder.py | 20 - .../migrate_repo/versions/075_placeholder.py | 20 - .../migrate_repo/versions/076_placeholder.py | 20 - .../migrate_repo/versions/077_placeholder.py | 20 - .../migrate_repo/versions/078_placeholder.py | 20 - .../versions/079_resource_properties_data.py | 55 -- .../versions/080_resource_attrs_data.py | 31 -- .../migrate_repo/versions/082_placeholder.py | 20 - .../migrate_repo/versions/083_placeholder.py | 20 - .../migrate_repo/versions/084_placeholder.py | 20 - .../migrate_repo/versions/085_placeholder.py | 20 - .../086_drop_watch_rule_watch_data_tables.py | 53 -- .../sqlalchemy/migrate_repo/versions/__init__.py | 0 heat/db/sqlalchemy/migration.py | 38 -- heat/db/sqlalchemy/utils.py | 98 ---- heat/db/{sqlalchemy => }/types.py | 0 .../versions/081_placeholder.py => utils.py} | 15 +- .../openstack/neutron/lbaas/health_monitor.py | 7 +- .../resources/openstack/neutron/lbaas/l7policy.py | 7 +- .../resources/openstack/neutron/lbaas/l7rule.py | 7 +- .../resources/openstack/neutron/lbaas/listener.py | 7 +- .../openstack/neutron/lbaas/loadbalancer.py | 7 +- .../resources/openstack/neutron/lbaas/pool.py | 7 +- .../openstack/neutron/lbaas/pool_member.py | 7 +- heat/engine/resources/openstack/senlin/cluster.py | 10 +- heat/engine/resources/openstack/senlin/node.py | 4 +- heat/engine/service_software_config.py | 8 +- heat/engine/template_files.py | 2 +- heat/engine/worker.py | 2 +- heat/locale/de/LC_MESSAGES/heat.po | 5 +- heat/locale/es/LC_MESSAGES/heat.po | 5 +- heat/locale/fr/LC_MESSAGES/heat.po | 5 +- heat/locale/it/LC_MESSAGES/heat.po | 5 +- heat/locale/ja/LC_MESSAGES/heat.po | 5 +- heat/locale/ko_KR/LC_MESSAGES/heat.po | 5 +- heat/locale/pt_BR/LC_MESSAGES/heat.po | 5 +- heat/locale/ru/LC_MESSAGES/heat.po | 5 +- heat/locale/zh_CN/LC_MESSAGES/heat.po | 5 +- heat/locale/zh_TW/LC_MESSAGES/heat.po | 5 +- heat/objects/event.py | 2 +- heat/objects/raw_template.py | 2 +- heat/objects/raw_template_files.py | 2 +- heat/objects/resource.py | 2 +- heat/objects/resource_data.py | 2 +- heat/objects/resource_properties_data.py | 2 +- heat/objects/service.py | 2 +- heat/objects/snapshot.py | 2 +- heat/objects/software_config.py | 3 +- heat/objects/software_deployment.py | 2 +- heat/objects/stack.py | 2 +- heat/objects/stack_lock.py | 3 +- heat/objects/stack_tag.py | 2 +- heat/objects/sync_point.py | 4 +- heat/objects/user_creds.py | 2 +- heat/policies/actions.py | 27 +- heat/policies/base.py | 18 +- heat/policies/build_info.py | 4 +- heat/policies/cloudformation.py | 52 +- heat/policies/events.py | 8 +- heat/policies/resource.py | 20 +- heat/policies/resource_types.py | 70 ++- heat/policies/service.py | 3 +- heat/policies/software_configs.py | 26 +- heat/policies/software_deployments.py | 24 +- heat/policies/stacks.py | 128 +++-- .../notes/lbaasv2-hidden-a8f82ddfdba911eb.yaml | 13 + .../policy-defaults-refresh-984844c65ae48599.yaml | 6 + .../notes/support-rbac-824a2d02c8746d3d.yaml | 2 +- .../notes/switch-to-alembic-7af6f8e71e4bf56b.yaml | 22 + releasenotes/source/2023.1.rst | 6 + releasenotes/source/index.rst | 1 + .../locale/en_GB/LC_MESSAGES/releasenotes.po | 105 +++- .../source/locale/fr/LC_MESSAGES/releasenotes.po | 2 +- .../locale/ko_KR/LC_MESSAGES/releasenotes.po | 2 +- requirements.txt | 11 +- setup.cfg | 1 + setup.py | 1 - tox.ini | 14 +- 142 files changed, 2220 insertions(+), 2013 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 18150cfc4..3b82e125d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,8 +0,0 @@ -# Requirements lower bounds listed here are our best effort to keep them up to -# date but we do not test them so no guarantee of having them all correct. If -# you find any incorrect lower bounds, let us know or propose a fix. - -# The order of packages is significant, because pip processes them in the order -# of appearance. Changing the order has an impact on the overall integration -# process, which may cause wedges in the gate later. - @@ -9,0 +2 @@ pbr>=3.1.1 # Apache-2.0 +alembic>=1.8.0 # MIT @@ -40,0 +34 @@ aodhclient>=0.9.0 # Apache-2.0 +packaging>=21.0 # Apache-2.0 @@ -69 +62,0 @@ SQLAlchemy>=1.4.0 # MIT -sqlalchemy-migrate>=0.13.0 # Apache-2.0
participants (1)
-
no-reply@openstack.org