We are happy to announce the release of: heat 22.0.0 This release is part of the caracal 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. 22.0.0 ^^^^^^ New Features ************ * Add OS::Aodh::PrometheusAlarm resource to enable autoscaling with Prometheus instead of Gnocchi. * Heat now supports limiting number of software configs, software deployments, stack snapshots which users can create, by the following config options. These limits are not enforced for users with admin role. * "[DEFAULT] max_software_configis_per_tenant" * "[DEFAULT] max_software_deployments_per_tenant" * "[DEFAULT] max_snapshots_per_stack" Upgrade Notes ************* * The "heat-manage migrate_properties_data" command is deprecated and is now a no-op. It will be removed in a future release. * Now heat enables the API policies (RBAC) new defaults and scope by default. The default value of config options "[oslo_policy] enforce_scope" and "[oslo_policy] enforce_new_defaults" have been changed from "False" to "True". * The "OS::Glance::Image" type is now hidden. * Now the following limits are enforced by default, unless a request user has admin role. * Maximum number of software configs per project is 4096 * Maximum number of software deployments per project is 4096 * Maximum number of stack snapshots per tenant is 32 Set the following options in case the limits should be increased. Limits can be disabled by setting -1 to these options. * "[DEFAULT] max_software_configis_per_tenant" * "[DEFAULT] max_software_deployments_per_tenant" * "[DEFAULT] max_snapshots_per_stack" * The "[DEFAULT] onready" option has been removed. This option has had no effect. Deprecation Notes ***************** * The following resources have been deprecated, because monasca, sahara and senlin were marked inactive and will not get deliverables for the 2024.1 release. These resources will be removed in "23.0.0" release. * "OS::Monasca::*" * "OS::Sahara::*" * "OS::Senlin::*" Changes in heat 21.0.0..22.0.0 ------------------------------ 8892f32a2 Update regex to detect closed branch 9b5697ff1 Restore tests disabled because of libvirt bug 632998e21 Fix access by admin users to resources in different projects af1d24a41 reno: Update master for unmaintained/xena 135277825 reno: Update master for unmaintained/wallaby 0863bc1f1 reno: Update master for unmaintained/victoria 564507a72 Stop using deprecated implicit_prefix option bf98f62dd reno: Update master for unmaintained/yoga 2dac031bc Add skip level upgrade job 60a2d9f2e Fix minor typos in documentation d48a6a217 common: Replace deprecated importlib API (2/2) 19bcbc039 Remove logic for cloud-init < 0.6.0 1d3b0073e Drop unused default password in create_stack_user ce0802af0 Bump hacking (again) 84ca8a18e Use zoneinfo instead of pytz if available 7d86fc6d8 Allow more options to limit number of resources 13ec108b0 Fix inconsistent naming in db api a9507c1db Stop unnecessary usage of 'self' ec0729a79 tests: Fix unit tests using has_calls 895d8645a Deprecate resources for inactive services 813f229a0 Bump hacking 0f7ce2cfa Adding oslo.config entry points for yaql and cache opts e6bb2d300 Add recent release names a9ccce8b0 Drop remaining references to the removed bin scripts f5e5aaed8 Remove deprecated wrappertask decorator b08bc694d Move ddt to test requirements b7fce5a0d Add Python 3.11 to supported runtimes 25af99fb2 Remove babel.cfg aa07863d1 doc: Fix the path to exclude migration scripts 2b343c22b doc: Drop DJANGO_SETTINGS_MODULE environment 46a6d5fa4 Remove references to Neutron LBaaS tests 6155e68f9 Remove deprecated internal rpc function 87a8cbe4a Clear implementations for neutron LBaaS v2 01349f379 Hide OS::Glance::Image a749ed1e6 Loadbalancer id is required in listener creation API d131a1ada Remove deprecated [DEFAULT] onready dabf3a6d3 Drop redundant code to initialize RequestContext 6d13e93a3 Enable new defaults and scope checks by default 4421498cd Add devstack plugin option to enforce new defaults and scope ea5037c59 Remove unused bin scripts 559e84005 common: Replace deprecated importlib APIs (1/2) abed7c08e Add job to test with SQLAlchemy master (2.x) 4d882edc3 db: Use raw connection to enable foreign keys 9b754a019 db: Don't rely on branched connections bb6b5ed5c db: Migrate to enginefacade pattern 879bc37bb db: Remove use of 'transaction' helper b2b1c52af db: Replace use of update_and_save 67070d4ed db: Only call private methods from public methods 9ba72bbc1 cmd: Deprecate heat-manage migrate_properties_data command d1124ac26 db: Group related DB APIs 6b514e29d db: Make utility methods private ea321003e db: Remove unnecessary helper functions a9634d3f4 db: Remove use of subtransactions f8a44f490 Add OS::Aodh::PrometheusAlarm resource 49b0a0623 Imported Translations from Zanata 57e9850e4 Update master for stable/2023.2 397657f66 Upgrade flavor for Fedora VM e1184e96d tests: Add missing oslo.messaging config fixture e8bf86a42 Use py3 as the default runtime for tox ac2462a58 Clear implementations for neutron LBaaS v1 964e15d68 Ensure ca_file is set for core services 25c007636 Remove redundant usage of is_ssl_enabled_service Diffstat (except docs and test files) ------------------------------------- .pre-commit-config.yaml | 2 +- .zuul.yaml | 24 + HACKING.rst | 8 +- babel.cfg | 1 - bin/heat-api | 45 - bin/heat-api-cfn | 46 - bin/heat-engine | 48 - bin/heat-manage | 39 - config-generator.conf | 3 + devstack/lib/heat | 43 +- devstack/upgrade/resources.sh | 2 +- heat/api/openstack/v1/util.py | 10 +- heat/cloudinit/loguserdata.py | 53 - heat/cloudinit/part_handler.py | 2 +- heat/cmd/manage.py | 6 +- heat/common/cache.py | 103 +- heat/common/config.py | 15 +- heat/common/context.py | 31 +- heat/common/plugin_loader.py | 8 +- heat/common/policy.py | 6 +- heat/db/api.py | 1557 ++++++++++---------- heat/db/migrations/env.py | 16 +- .../clients/os/keystone/fake_keystoneclient.py | 2 +- .../clients/os/keystone/heat_keystoneclient.py | 4 +- .../clients/os/neutron/neutron_constraints.py | 4 - heat/engine/constraint/common_constraints.py | 15 +- heat/engine/hot/functions.py | 9 +- heat/engine/resource.py | 2 +- heat/engine/resources/openstack/aodh/alarm.py | 117 +- heat/engine/resources/openstack/glance/image.py | 272 +--- .../resources/openstack/heat/instance_group.py | 4 +- .../openstack/monasca/alarm_definition.py | 12 +- .../resources/openstack/monasca/notification.py | 13 +- .../openstack/neutron/lbaas/health_monitor.py | 204 +-- .../resources/openstack/neutron/lbaas/l7policy.py | 237 +-- .../resources/openstack/neutron/lbaas/l7rule.py | 190 +-- .../resources/openstack/neutron/lbaas/listener.py | 250 +--- .../openstack/neutron/lbaas/loadbalancer.py | 159 +- .../resources/openstack/neutron/lbaas/pool.py | 268 +--- .../openstack/neutron/lbaas/pool_member.py | 200 +-- .../resources/openstack/neutron/loadbalancer.py | 753 +--------- heat/engine/resources/openstack/neutron/port.py | 2 +- .../resources/openstack/neutron/security_group.py | 2 +- .../engine/resources/openstack/octavia/listener.py | 6 +- heat/engine/resources/openstack/sahara/cluster.py | 9 + .../resources/openstack/sahara/data_source.py | 9 +- heat/engine/resources/openstack/sahara/image.py | 9 +- heat/engine/resources/openstack/sahara/job.py | 9 +- .../resources/openstack/sahara/job_binary.py | 9 +- .../engine/resources/openstack/sahara/templates.py | 9 +- heat/engine/resources/openstack/senlin/res_base.py | 9 +- heat/engine/scheduler.py | 57 - heat/engine/service.py | 36 +- heat/engine/service_software_config.py | 8 +- heat/engine/stack.py | 5 +- heat/hacking/checks.py | 18 +- heat/objects/snapshot.py | 9 +- heat/objects/software_config.py | 4 + heat/objects/software_deployment.py | 5 + heat/rpc/client.py | 13 - heat/scaling/lbutils.py | 3 +- .../openstack/heat/test_software_deployment.py | 2 +- .../openstack/neutron/lbaas/test_health_monitor.py | 169 --- .../openstack/neutron/lbaas/test_loadbalancer.py | 187 --- .../openstack/neutron/lbaas/test_pool_member.py | 165 --- .../openstack/neutron/test_neutron_floating_ip.py | 6 +- .../openstack/neutron/test_neutron_loadbalancer.py | 1093 -------------- releasenotes/config.yaml | 2 +- .../aodh-prometheusalarm-a090815d2f9f8e77.yaml | 5 + ...e_properties_data-command-754c94ef87626a82.yaml | 5 + ...ctive-project-rsc-caracal-ba0b0005f67580f9.yaml | 10 + ...ce-scope-and-new-defaults-76e9b64cc5bed89e.yaml | 7 + .../notes/hide-glance-image-6855b061a8c2b8ca.yaml | 4 + .../notes/limit-resources-aeb2f24e705840de.yaml | 26 + .../notes/remove-onready-cdb6f00c50e84587.yaml | 5 + releasenotes/source/2023.2.rst | 6 + releasenotes/source/index.rst | 1 + .../locale/en_GB/LC_MESSAGES/releasenotes.po | 87 +- .../source/locale/fr/LC_MESSAGES/releasenotes.po | 14 +- .../locale/ko_KR/LC_MESSAGES/releasenotes.po | 47 +- releasenotes/source/victoria.rst | 2 +- releasenotes/source/wallaby.rst | 2 +- releasenotes/source/xena.rst | 2 +- releasenotes/source/yoga.rst | 2 +- requirements.txt | 8 +- setup.cfg | 17 +- test-requirements.txt | 11 +- tox.ini | 15 +- 136 files changed, 1873 insertions(+), 8219 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 3b82e125d..f25280dcc 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,2 +2,0 @@ alembic>=1.8.0 # MIT -Babel!=2.4.0,>=2.3.4 # BSD -ddt>=1.4.1 # MIT @@ -7 +4,0 @@ cryptography>=2.5 # BSD/Apache-2.0 -debtcollector>=1.19.0 # Apache-2.0 @@ -24 +21 @@ oslo.middleware>=3.31.0 # Apache-2.0 -oslo.policy>=3.7.0 # Apache-2.0 +oslo.policy>=3.11.0 # Apache-2.0 @@ -57 +54 @@ python-zunclient>=3.4.0 # Apache-2.0 -pytz>=2013.6 # MIT +pytz>=2013.6;python_version<"3.9" # MIT @@ -60,0 +58 @@ tenacity>=6.1.0 # Apache-2.0 +tzdata>=2022.4;python_version>="3.9" # MIT diff --git a/test-requirements.txt b/test-requirements.txt index bd3032139..bea7ec676 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,4 +0,0 @@ -# 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. - @@ -6,5 +2 @@ -hacking>=3.0.1,<3.1.0 # Apache-2.0 -# remove this pyflakes from here once you bump the -# hacking to 3.2.0 or above. hacking 3.2.0 takes -# care of pyflakes version compatibilty. -pyflakes>=2.1.1 +hacking>=6.1.0,<6.2.0 # Apache-2.0 @@ -13,0 +6 @@ coverage!=4.4,>=4.0 # Apache-2.0 +ddt>=1.4.1 # MIT