当前系列发行说明

25.0.0-18

弃用说明

  • 选项 [ec2authtoken] auth_uri 已弃用,推荐使用添加到同一部分的 keystoneauth 选项。

  • 选项 [ec2authtoken] allowed_auth_uris 已弃用,推荐使用新的 [ec2authtoken] clouds 选项和 [ec2authtoken.<name>] 部分。

  • 以下选项在 [ec2authtoken] 部分已被弃用。

    • ca_file:使用 cafile

    • cert_file:使用 certfile

    • key_file:使用 keyfile

  • 资源 OS::Vitrage::Template 已被弃用。vitrage 项目已被标记为非活动状态。

错误修复

  • Keystone v3 ec2token 端点需要经过身份验证的访问。Heat ec2token 过滤器现在需要 keystone 身份验证设置才能验证 EC2 凭据。对于单云模式,ec2token 过滤器将在 heat 配置的 [ec2authtoken] 部分中查找 keystone 身份验证设置。

    在多云模式下,必须在配置文件的命名部分 [ec2authtoken.<name>] 中提供 keystone 身份验证设置。还应配置 [ec2authtoken] clouds 选项以定义名称列表。

    请注意,如果仍然使用旧设置(auth_uriallowed_auth_uris),则 ec2token 请求将无需身份验证即可发送。

  • 资源 OS::Nova::Serverblock_device_mapping_v2 属性的 disk_bus 现在接受 ‘sata’ 作为有效值。SATA 磁盘总线是在 Queens 版本中添加到 Nova 中的。请参阅 story 2011600

25.0.0

升级说明

  • 已删除所有使用 eventlet 实现 heat-api、heat-api-cfn 和 heat-all 的 wsgi 应用程序,作为从 heat 中删除 eventlet 使用的前奏。

  • 由于 monasca 项目已退役,因此已删除与 monasca 的集成。因此,以下资源类型不再受支持,现在已隐藏。

    • OS::Monasca::AlarmDefinition

    • OS::Monasca::Notifications

    此外,[clients_monasca] 部分中的选项已被删除。

  • 已删除对 Python 3.9 的支持。现在 Python 3.10 是支持的最低版本。

弃用说明

  • 用于启动独立 api 服务的控制台脚本 heat-apiheat-api-cfn 已被弃用,将在未来的版本中删除。现在强烈建议使用 wsgi 脚本(或直接使用 wsgi 应用程序)。

  • 旧引擎已被弃用,并且收敛引擎将是唯一受支持的引擎。由于此弃用,以下选项已被弃用。

    • [DEFAULT] convergence_engine

    • [DEFAULT] enable_stack_abandon

    • [DEFAULT] enable_stack_adopt

  • 由于它等效于 paste 中的 urlmap 工厂,因此已弃用 root_app_factory 组合工厂。如果修改了文件以使用自定义管道,请替换 api-paste.ini 中的用法。

错误修复

  • 启用创建 OS::Neutron::VPNService 资源和依赖于它的 OS::Neutron::IPsecSiteConnection 资源,在同一个堆栈中。

24.0.0

新特性

  • 已添加一个新模块 heat.wsgi,作为收集 WSGI application 对象的场所。这旨在通过为这些对象提供一致的位置来简化部署。例如,如果使用 uWSGI,则不是

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

    现在可以使用

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

    这还简化了使用其他期望模块路径的 WSGI 服务器(例如 gunicorn)的部署。

  • 添加了新的资源 OS::Octavia::AvailabilityZoneProfileOS::Octavia::AvailabilityZone。这些资源类型允许操作员创建 Octavia 可用区配置文件和可用区。创建的 OS::Octavia::AvailabilityZone 资源可以由 OS::Octavia::LoadBalancer 资源的 availability_zone 属性引用。

  • 已添加 tenant_id 属性到以下资源。此属性允许管理员在特定租户中创建这些资源。

    • OS::Neutron::ProviderNet

    • OS::Neutron::Router

  • 已向资源类型 OS::Designate::Zone 添加 attributes 属性。它可以是任何键值对的信息,包括调度程序使用的池。

  • 已添加新的 [DEFAULT] max_cinder_api_microversion 选项。此选项覆盖 Cinder 支持的最大 API 微版本,默认情况下会自动检测。

  • 资源类型 OS::Cinder::Volume 现在支持扩展正在使用的卷。请注意,这需要 Cinder 支持 API 微版本 3.42 或更高版本。

升级说明

  • 资源 OS::Manila::Share 属性 export_locations 现在将是一个导出路径列表

弃用说明

  • 控制台脚本 heat-all 已被弃用,将在未来的版本中删除。

错误修复

  • 修复了由于使用 files_container 参数在 OpenStack Swift 容器中存储的文件创建或更新堆栈而导致的持续类型不匹配错误。现在始终解码文件内容,并可以用作字符串值。

  • 将以下参数的类型从整数更改为字符串,以正确解析带有尾随零的微版本(例如 2.20)。

    • [DEFAULT] max_nova_api_microversion

    • [DEFAULT] max_ironic_api_microversion

  • 资源 OS::Manila::Share 属性 export_locations 现在将是一个导出路径列表

23.0.0

新功能

  • OS::Designate::RecordSet 添加了新的类型:CAA、CERT、NAPTR。

  • 修复了资源类型 OS::Heat::UpdateWaitConditionHandle,该类型导致堆栈更新一致失败。

  • 已添加以下参数,以定义内部 HTTP 请求中的超时时间。

    • [DEFAULT] metadata_put_timeout

    • [DEFAULT] template_fetch_timeout

    • [ec2authtoken] timeout

升级说明

  • 停止支持 Python 3.8。现在支持的 Python 最低版本是 Python 3.9。

  • 由于 sahara 项目已退役,因此已删除与 sahara 的集成。因此,以下资源类型不再受支持,现在已隐藏。

    • OS::Senlin::Cluster

    • OS::Senlin::Node

    • OS::Senlin::Policy

    • OS::Senlin::Profile

    • OS::Senlin::Receiver

    此外,[clients_sahara] 部分中的选项已被删除。

  • 选项 [DEFAULT] hidden_stack_tags 的默认值已更新,现在具有 data-processing-cluster 标签的堆栈默认情况下不再隐藏。

  • 由于 senlin 项目已退役,因此已删除与 senlin 的集成。因此,以下资源类型不再受支持,现在已隐藏。

    • OS::Senlin::Cluster

    • OS::Senlin::Node

    • OS::Senlin::Policy

    • OS::Senlin::Profile

    • OS::Senlin::Receiver

    此外,[clients_senlin] 部分中的选项已被删除。

22.0.0

新功能

  • 添加 OS::Aodh::PrometheusAlarm 资源,以使用 Prometheus 代替 Gnocchi 进行自动缩放。

  • Heat 现在支持限制用户可以创建的软件配置、软件部署和堆栈快照的数量,通过以下配置选项。这些限制不适用于具有管理员角色的用户。

    • [DEFAULT] max_software_configis_per_tenant

    • [DEFAULT] max_software_deployments_per_tenant

    • [DEFAULT] max_snapshots_per_stack

升级说明

  • 命令 heat-manage migrate_properties_data 已被弃用,现在是一个空操作。它将在未来的版本中删除。

  • 现在 Heat 启用 API 策略(RBAC)新默认值和范围。配置选项 [oslo_policy] enforce_scope[oslo_policy] enforce_new_defaults 的默认值已从 False 更改为 True

  • 资源 OS::Glance::Image 现在已隐藏。

  • 现在默认强制执行以下限制,除非请求用户具有管理员角色。

    • 每个项目的最大软件配置数量为 4096

    • 每个项目的最大软件部署数量为 4096

    • 每个堆栈的最大快照数量为 32

    如果应增加限制,请在配置中设置以下选项。可以通过将 -1 设置为这些选项来禁用限制。

    • [DEFAULT] max_software_configis_per_tenant

    • [DEFAULT] max_software_deployments_per_tenant

    • [DEFAULT] max_snapshots_per_stack

  • 选项 [DEFAULT] onready 已被删除。此选项没有效果。

弃用说明

  • 由于 monasca、sahara 和 senlin 已被标记为非活动状态,并且不会为 2024.1 版本提供交付,因此以下资源已被弃用。这些资源将在 23.0.0 版本中删除。

    • OS::Monasca::*

    • OS::Sahara::*

    • OS::Senlin::*

21.0.0

新功能

  • Heat 策略已修改,以隔离系统级和项目级 API 策略。因此,系统用户将不允许对项目级资源执行任何操作。

升级说明

  • 以下资源类型现在已隐藏。Neutron LBaaS v2 已经退役,因此这些资源类型不再可以使用。

    • 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

  • 数据库迁移引擎已从 sqlalchemy-migrate 更改为 alembic。对于大多数部署,这应该影响最小或没有影响,并且切换应该大部分是透明的。主要的面向用户的影响是模式版本控制的更改。虽然 sqlalchemy-migrate 使用线性、基于整数的方案,该方案需要占位符迁移才能允许潜在的回滚迁移,但 alembic 使用分布式版本控制类似的模式,其中迁移的祖先编码在文件中,并且可以进行分支。因此,alembic 迁移文件使用任意 UUID 类似的命名方案,并且 heat-manage db_sync 命令现在期望此类版本,例如

    $ heat-manage db_sync c6214ca60943
    

    尝试指定基于 sqlalchemy-migrate 的版本将导致错误。

20.0.0.0rc1

错误修复

  • 尊重 get stack environment API 中的 hidden 参数。现在传递给隐藏参数的值将被替换为 ‘**’,类似于其他 API,例如显示堆栈详细信息 API。