Current Series Release Notes

25.0.0-35

New Features

  • Added support forauto as a valid value for thegateway_ipproperty in theOS::Neutron::Subnet resource. This allows Heattemplates to explicitly specifyauto. Note thatauto can only beused during subnet creation; it is not supported when updating anexisting subnet.

  • Stack abandon action is now convergence aware. When convergence engine isenabled, abandoning a stack now uses the convergence workflow for resourcecleanup, allowing for better parallelism and consistency with other stackoperations. Physical resources are retained (not deleted) while Heat’sdatabase records are cleaned up through the convergence flow.

  • Stack check action is now convergence aware. When convergence is enabled,stack check will traverse through all resources using the convergenceengine instead of the legacy sequential approach. This allows check tocontinue processing remaining resources even if some resources failtheir check, providing a complete picture of the stack’s health.

  • Stack snapshot and restore actions are now convergence aware. Snapshotsare integrated into the convergence dependency graph, enabling non-blockingsnapshot deletion during stack delete operations. This improves performanceby allowing snapshot cleanup to be processed in parallel with theconvergence workflow rather than blocking the entire operation.

  • Stack suspend and resume actions are now convergence aware.These actions are fully supported by convergence mode.

Upgrade Notes

  • The RPC API version has been bumped to 1.37 for the engine service and1.6 for the worker service to support the convergence-aware stack checkfeature. Operators performing rolling upgrades should ensure all heatservices are upgraded together.

  • A new database tableresource_snapshot has been introduced to storeper-resource snapshot data for convergence mode. This table isautomatically created during database migration.

Deprecation Notes

  • The[ec2authtoken]auth_uri option was deprecated in favor ofkeystoneauth options added to the same section.

  • The[ec2authtoken]allowed_auth_uris option was deprecated in favor ofnew[ec2authtoken]clouds options and[ec2authtoken.<name>]sections.

  • The following options in the[ec2authtoken] section have beendeprecated.

    • ca_file: Usecafile

    • cert_file: Usecertfile

    • key_file: Usekeyfile

  • TheOS::Vitrage::Template resource is now deprecated. The vitrageproject was marked inactive.

Bug Fixes

  • The Keystone v3 ec2token end point requires authenticated access. The Heatec2token filter now requires Keystone auth settings to be able toverify EC2 credentials. For single cloud mode the ec2token filter willlook in the[ec2authtoken] section of the heat configuration forkeystone authentication settings.

    In multicloud mode keystone auth settings must be supplied in configurationfile sections names[ec2authtoken.<name>] .The[ec2authtoken]clouds option should be also configured to definethe list of names.

    Note that ec2token request will be sent without authentication ifthe legacy settings (auth_uri andallowed_auth_uris) are stillused.

  • Thedisk_bus property ofOS::Nova::Server resource’sblock_device_mapping_v2 now accepts ‘sata’ as a valid value.The SATA disk bus was added to Nova in the Queens release.Seestory 2011600.

  • Fixed an issue where long error messages from external services(such as Nova errors containing large base64-encoded user_data) wouldexceed MySQL’s TEXT column limit (65,535 bytes) when being stored in thestatus_reason field. This caused database constraint violations thatleft resources in inconsistent states with unreleased locks, preventingstack DELETE operations from completing. The database layer now truncatesstatus_reason to 65,535 bytes when using MySQL to prevent this issue.Seestory 2011188.

25.0.0

Upgrade Notes

  • All wsgi application implementations using eventlet forheat-api, heat-api-cfn and heat-all are removed as a precusrorto dropping eventlet usage from heat.

  • Integration with monasca has been removed because the monasca project wasretired. Because of the removal, the following resource types are no longersupported and now hidden.

    • OS::Monasca::AlarmDefinition

    • OS::Monasca::Notifications

    Also, the options in[clients_monasca] section have been removed.

  • Support for Python 3.9 has been removed. Now Python 3.10 is the minimumversion supported.

Deprecation Notes

  • Theheat-api console script and theheat-api-cfn console script,which are used to launch standalone api services, have been deprecated andwill be removed in a future release. It is now highly recommended to Usethe wsgi scripts (or wsgi applications directly) instead.

  • The legacy engine has been deprecated and convergence engine will bethe only supported engine. Due to this deprecation, the following optionshave been deprecated.

    • [DEFAULT]convergence_engine

    • [DEFAULT]enable_stack_abandon

    • [DEFAULT]enable_stack_adopt

  • Theroot_app_factory composite factory has been deprecated, becauseit is equivalent theurlmap factory from paste. Replace usage inapi-paste.ini in case the file is modified to use customized pipelines.

Bug Fixes

  • Enable the creation of anOS::Neutron::VPNService resource,and anOS::Neutron::IPsecSiteConnection resource that dependson it, within the same stack.

24.0.0

New Features

  • A new module,heat.wsgi, has been added as a place to gather WSGIapplication objects. This is intended to ease deployment by providinga consistent location for these objects. For example, if using uWSGI theninstead of:

    [uwsgi]wsgi-file=/bin/heat-api

    You can now use:

    [uwsgi]module=heat.wsgi.api:application

    This also simplifies deployment with other WSGI servers that expect modulepaths such as gunicorn.

  • The new resources,OS::Octavia::AvailabilityZoneProfile andOS::Octavia::AvailabilityZone, are added. These resource types allow anoperator to create Octavia availabilityzone profile and availabilityzone.A createdOS::Octavia::AvailabilityZone resource can be referred by theavailability_zone property ofOS::Octavia::LoadBalancer resources.

  • Added thetenant_id property to the following resources. This propertyallows admin users to create these resources in specific tenants.

    • OS::Neutron::ProviderNet

    • OS::Neutron::Router

  • Addedattributes property to resource typeOS::Designate::Zone. It can be any key:valuepairs of information about this zone including thepool where the user wants to place the zone usedby scheduler.

  • The new[DEFAULT]max_cinder_api_microversion option has been added.This option overrides the maximum API microversion supported by Cinder,which is detected automatically by default.

  • TheOS::Cinder::Volume resource type now supports extending volumesin use. Note that this requires that Cinder supports API microversion3.42 or later.

Upgrade Notes

  • OS::Manila::Share attributeexport_locations will now be a list ofexport paths

Deprecation Notes

  • Theheat-all console script has been deprecated and will be removedin a future release.

Bug Fixes

  • Fixed the consistent type mismatch error caused by creating or updatinga stack with files stored in OpenStack Swift containers, usingthefiles_container parameter. Now file content is always decoded andcan be used as a string value.

  • Changed type of the following parameters from integer to string, tocorrectly parse micro versions with trailing zero (e.g. 2.20).

    • [DEFAULT]max_nova_api_microversion

    • [DEFAULT]max_ironic_api_microversion

  • OS::Manila::Share attributeexport_locations will now be a list ofexport paths

23.0.0

New Features

  • Add toOS::Designate::RecordSet new types: CAA, CERT, NAPTR.

  • Fixed theOS::Heat::UpdateWaitConditionHandle resource type, whichcaused stack update to fail consistently.

  • The following parameters have been added, to define timeout in internalHTTP requests.

    • [DEFAULT]metadata_put_timeout

    • [DEFAULT]template_fetch_timeout

    • [ec2authtoken]timeout

Upgrade Notes

  • Python 3.8 support was dropped. The minimum version of Python now supportedis Python 3.9.

  • Integration with sahara has been removed because the sahara project hasbeen retired. Because of the removal, the following resource types are nolonger supported and now hidden.

    • OS::Senlin::Cluster

    • OS::Senlin::Node

    • OS::Senlin::Policy

    • OS::Senlin::Profile

    • OS::Senlin::Receiver

    Also, the options in[clients_sahara] section have been removed.

  • Default value of the[DEFAULT]hidden_stack_tags option has beenupdated and now stacks with thedata-processing-cluster tag is nothidden by default.

  • Integration with senlin has been removed because the senlin project hasbeen retired. Because of the removal, the following resource types are nolonger supported and now hidden.

    • OS::Senlin::Cluster

    • OS::Senlin::Node

    • OS::Senlin::Policy

    • OS::Senlin::Profile

    • OS::Senlin::Receiver

    Also, the options in[clients_senlin] section have been removed.

22.0.0

New Features

  • Add OS::Aodh::PrometheusAlarm resource to enable autoscalingwith Prometheus instead of Gnocchi.

  • Heat now supports limiting number of software configs, softwaredeployments, stack snapshots which users can create, by the followingconfig 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

  • Theheat-managemigrate_properties_data command is deprecated and isnow 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 fromFalse toTrue.

  • TheOS::Glance::Image type is now hidden.

  • Now the following limits are enforced by default, unless a request userhas 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. Limitscan 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 hadno effect.

Deprecation Notes

  • The following resources have been deprecated, because monasca, sahara andsenlin were marked inactive and will not get deliverables for the 2024.1release. These resources will be removed in23.0.0 release.

    • OS::Monasca::*

    • OS::Sahara::*

    • OS::Senlin::*

21.0.0

New Features

  • Heat policies have been modified to isolate the system and project levelAPIs policy. Because of this change, system users will not be allowed toperform any operations on project level resources.

Upgrade Notes

  • The following resources types are now hidden. Neutron LBaaS v2 was alreadyretired 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 fromsqlalchemy-migrate toalembic. For most deployments, this should have minimal to no impactand the switch should be mostly transparent. The main user-facing impact isthe change in schema versioning. While sqlalchemy-migrate used a linear,integer-based versioning scheme, which required placeholder migrations toallow for potential migration backports, alembic uses a distributed versioncontrol-like schema where a migration’s ancestor is encoded in the file andbranches are possible. The alembic migration files therefore use aarbitrary UUID-like naming scheme and theheat-managedb_sync commandnow expects such an version when manually specifying the version that shouldbe applied. For example:

    $ heat-manage db_sync c6214ca60943

    Attempting to specify an sqlalchemy-migrate-based version will result in anerror.

20.0.0.0rc1

Bug Fixes

  • Honorhidden parameter in get stack environment API. Now values passedto hidden parameters are replaced by ‘**’, similarly to the otherAPIs such as show stack details API.