Pike 系列发布说明¶
9.0.7-17¶
错误修复¶
此前,在删除收敛堆栈时,API 调用会立即返回,因此客户端立即查询堆栈状态可能会看到先前操作正在进行或失败的状态,并将其误认为当前状态。(这包括 Heat 本身在充当嵌套堆栈的客户端时。)现在,收敛堆栈在删除 API 调用返回之前,保证已移动到
DELETE_IN_PROGRESS状态,因此任何后续的轮询都将反映最新的信息。
9.0.5¶
安全问题¶
由 OS::Heat::RandomString 资源生成的密码,根据
character_class和character_sequence属性的指定情况,可能具有低于预期的熵。此问题已得到修正,现在任何指定类或序列中存在的每个字符在生成的随机字符串的每个位置出现的概率均相等。
9.0.4¶
安全问题¶
Heat 在生成 OS::Heat::RandomString 资源的值时,不再使用标准的 Python RNG,而是依赖于系统的 RNG。
9.0.3¶
其他说明¶
Intrinsic 函数插件现在将传递 StackDefinition 对象,而不是 Stack 对象。在访问资源时,StackDefinition 将返回 ResourceProxy 对象,而不是 Resource 对象。这些类复制了 Stack 和 Resource API 中内置函数插件使用的部分,但自定义第三方模板/函数插件的作者应审核它们,以确保它们不依赖于不再可用的 API 的不稳定部分。StackDefinition 和 ResourceProxy API 被认为是稳定的,对它们的任何未来更改都将通过标准的弃用流程进行。
9.0.0¶
序言¶
Magnum 最近更改了术语,以便更直观地传达关键概念,以与行业标准保持一致。“Bay”现在是“Cluster”,而“BayModel”现在是“ClusterTemplate”。此版本弃用了旧名称,以支持新名称。
新特性¶
添加了 ‘contains’ 函数,用于检查指定值是否存在于序列中。此外,新函数可以用作条件函数。
添加了 list_concat_unique 函数,其行为与函数
list_concat相同,使用 python 的 extend 函数连接多个列表,并确保不重复项。
添加了 list_concat 函数,它使用 python 的 extend 函数连接多个列表。
允许设置或更新 OS::Neutron::Router 资源的标签。
添加了一个新的 OS::Zun::Container 资源,允许用户管理由 Zun 提供支持的 docker 容器。此资源将具有一个 ‘addresses’ 属性,其中包含各种网络信息,包括 neutron 端口 ID。这允许用户使用其他网络资源(例如浮动 IP)来编排容器。
添加了一个新的 OS::Mistral::ExternalResource,允许用户管理 Heat 未知的资源,方法是在模板中指定 Mistral 工作流来处理创建、更新和删除等操作。
添加了一个新的
OS::Neutron::Trunk资源来管理 Neutron Trunk。
为堆栈更新(和更新预览)API 添加了 converge 参数。此参数将强制资源在实际更新之前观察资源的现实情况。此参数的值可以是任何布尔值。这将在不久的将来取代配置标志 observe_on_update。
在 OS::Nova::Server 和 OS::Heat::DeployedServer 资源中添加了一个新的属性 deployment_swift_data,用于定义用于服务器部署数据的 Swift 容器和对象名称。如果未设置,则回退到以前的行为,即这些值将自动生成。
openstack-manuals 中各种指南中的所有开发人员、贡献者和用户内容都已移入树中,并在 https://docs.openstack.org/heat/2025.2/ 上发布。
支持获取 OS::Nova::Server 资源的 webmks 控制台 URL。这需要 nova api 版本等于或大于 2.8。
为 OS::Nova::Server 添加了 ‘networks’ 的新项目键 ‘allocate_network’,允许的值为 ‘auto’ 和 ‘none’,以支持 nova 的 ‘Give Me a Network’ 功能。指定 ‘auto’ 将为项目自动分配网络拓扑,如果项目中没有可用的现有网络;指定 ‘none’ 表示不会为创建的服务器分配任何网络。此功能需要 nova API 微版本 2.37 或更高版本,并且 Neutron 网络服务中可用
auto-allocated-topologyAPI。
添加了 OS::Magnum::Cluster 资源插件以支持 magnum 集群功能,该功能由 magnum
clusterAPI 提供。
添加了 OS::Magnum::ClusterTemplate 资源插件以支持 magnum 集群模板功能,该功能由 magnum
clustertemplatesAPI 提供。
HOT 的 Pike 版本 (2017-09-01) 添加了一个 make_url 函数,用于简化从不同来源组合数据到 URL 的过程,并正确处理转义和 IPv6 地址。
一个新的
openstack客户端插件,用于使用 python-openstacksdk 库,以及一个neutron.segment自定义约束。
一个新的
OS::Neutron:Segment资源,用于创建路由网络。此资源的可用性取决于 neutronsegmentAPI 扩展的可用性。
资源
OS::Neutron::Subnet现在支持可选属性segment,用于指定一个 segment。
资源
OS::Neutron::Net现在支持l2_adjacency属性,用于指示网络是否可用 L2 连接。
ParameterGroups 部分已添加到嵌套堆栈中,用于输出堆栈验证模板。
为
repeat函数添加了一个新的部分permutations,以决定是否遍历给定列表中所有元素的排列。如果未指定 ‘permutations’,我们将默认值设置为 true,以与之前的行为兼容。如果 ‘permutations’ 为 False,则参数必须是列表而不是字典,因为字典中的键是无序的,并且所有列表参数的长度必须相同。
OS::Nova::ServerGroup 资源支持两种新的策略 soft-affinity 和 soft-anti-affinity。
允许设置或更新 OS::Neutron::Net 资源的标签。
允许设置或更新 OS::Neutron::Port 资源的标签。
允许设置或更新 OS::Neutron::Subnet 资源的标签。
允许设置或更新 OS::Neutron::SubnetPool 资源的标签。
资源属性现在存储在创建或更新资源时,从而可以快速解析输出,而无需从底层物理资源检索实时数据。为了尽量减少兼容性问题,show 属性的行为、资源 show API 的 with_attr 选项以及尚未使用收敛架构的堆栈(因为收敛引擎在创建时被禁用)保持不变 - 在每种情况下,仍将返回实时数据。
支持管理 ‘qos_policy’ 资源的 rbac 策略,该策略允许将 Neutron qos 策略共享给租户的子集。
已知问题¶
Heat 不支持 keystone 身份联合。这是一个已知限制,因为 heat 使用 keystone trust 进行延迟身份验证,而 trust 不适用于联合的 keystone。有关更多详细信息,请查看 https://etherpad.openstack.org/p/pike-ptg-cross-project-federation。
弃用说明¶
nova-network 在 OpenStack 中不再受支持。请使用 OS::Neutron::FloatingIPAssociation 和 OS::Neutron::FloatingIP 代替 OS::Nova::FloatingIPAssociation 和 OS::Nova::FloatingIP
由于 nova-network 在 OpenStack 中不再受支持,因此 AWS::EC2::EIP 域始终假定为 ‘vpc’。
OS::Cinder::Volume 的 ‘attachments’ 属性已被弃用,取而代之的是 ‘attachments_list’,其类型正确为 LIST。这使得最终用户更容易处理此数据。
Magnum 术语弃用 * OS::Magnum::Bay 现在已弃用,应使用 OS::Magnum::Cluster 代替 * OS::Magnum::BayModel 现在已弃用,应使用 OS::Magnum::ClusterTemplate 代替。打印旧用法的弃用警告。
关键问题¶
由于 Aodh 停止支持组合警报,因此 OS::Aodh::CombinationAlarm 现在被标记为隐藏资源,直接从 None 资源继承,这将使资源在处理任何操作(删除除外)时不会执行任何操作。请不要使用它。使用该资源类型创建的旧资源仍然可以删除。建议尽快切换该资源类型,因为我们很快将删除该资源。
错误修复¶
在使用 OS::Manila::Share 资源时,可以使用 ‘CEPHFS’ 作为共享协议。
其他说明¶
引入一个 Zun 客户端插件模块,该模块将由正在开发中的 Zun 的资源使用。
现在 heat keystone 用户名字符限制从 64 增加到 255。截断名称到最后 255 个字符时,任何额外的字符都将丢失。