Pike 系列 (8.0.0 - 9.1.x) 发行说明

9.1.7

错误修复

  • 修复了一个裸机节点在清理过程中超时的问题。 ironic-conductor 试图将节点的置备状态更改为“clean failed”两次,导致节点的 last_error 被错误地设置。 现在不再发生这种情况。 有关更多信息,请参阅 story 2004299

  • 修复了一个错误,即 idrac 硬件类型在内省期间返回 CPU 插槽的数量,而不是虚拟 CPU 的数量。 有关详细信息,请参阅 bug 2004155

  • 修复了一个无法禁用主实例镜像缓存的问题。 配置选项 [pxe]/instance_master_path 现在可以设置为一个空字符串来禁用缓存。

9.1.6

错误修复

  • 修复了一个问题,该问题导致集成 Dell Remote Access Controller (iDRAC) management 硬件接口实现,idrac,在 Unified Extensible Firmware Interface (UEFI) 启动模式下启动节点失败。 该接口受 idrac 硬件类型支持。 该问题已针对 Dell EMC PowerEdge 第 13 代和第 14 代服务器解决。 它未针对 PowerEdge 第 12 代及更早服务器解决。 有关更多信息,请参阅 story 1656841

  • 修复了一个节点撕毁期间的问题,Bare Metal 服务删除的端口可能会被 Compute 服务删除,从而导致 Networking 服务出现未处理的错误。 有关更多详细信息,请参阅 story 2002637

9.1.5

安全问题

  • 修复了一个问题,即在节点取消置备后,启用的控制台可能会一直运行。 这允许用户在实例消失后查看控制台。 Ironic 现在在取消置备期间停止控制台以阻止这种情况。

错误修复

  • 修复了一个错误,当 configdrive 的大小超过数据库的限制时,节点会卡在 deploying 状态。在 MySQL 中,限制约为 64KiB。通过此修复,provision 状态将变为 deploy failed。有关详细信息,请参阅 bug 1745630

  • 使用标准的 DHCP 选项代码,而不是 dnsmasq 特定的选项名称,因为不同的后端使用不同的选项名称。这修复了 与 neutron 的 DHCP 后端兼容性问题

9.1.4

错误修复

  • 修复了 bug 1749755,该 bug 导致超时无法正常工作,因为使用了不受支持的 sqalchemy 过滤器。

  • 当管理节点的 conductor 死亡时,如果节点正在清理中,节点会卡在 CLEANING 状态。现在,在 conductor 启动时,处于 CLEANING 状态的节点将被移动到 CLEANFAIL 状态。

  • 修复了 Infiniband 端口验证问题。 Infiniband 端口不需要填充 local_link_connection 字段,因为网络拓扑可以被 Infiniband 子网管理器发现。 有关详细信息,请参阅 bug 1753222

  • 添加了 [swift]/endpoint_override 选项,以显式设置用于 Swift 的端点 URL。Ironic 使用 Swift 连接 URL 作为生成某些 TempURLs 的基础。添加的参数允许操作员修复当镜像通过 TempURL 作为 vmedia 附加(例如,在 iLO 驱动程序中)并且 BMC 没有连接到公共网络时的问题。默认情况下,为了向后兼容,此参数未设置。

9.1.3

安全问题

  • 在清理期间将节点上的 driver_infoinstance_info 字段中的敏感信息删除。

错误修复

  • idrac 硬件类型的支持的 vendor 接口添加了缺失的 no-vendor 实现。

  • 不再使用 iscsi 部署接口验证整个磁盘镜像请求的根分区大小,有关详细信息,请参阅 bug 1742451

9.1.2

错误修复

  • 修复了在使用 pxe 启动接口从卷启动时的问题,现在在启动时将使用正确的 iscsi initiator。 bug 1724275

  • 修复了一个问题,当 ironic-conductor 服务由于数据库连接意外失败而无法报告心跳时,该服务会被判定为已死亡。这些异常的完整回溯现在被记录下来,并且如果数据库连接在合理的时间内恢复,该服务仍然可用。请参阅 https://bugs.launchpad.net/ironic/+bug/1696296

  • 修复了在使用 ipmitool 并且重启节点时会导致部署失败的问题。现在,在重启节点时,我们会检查节点是否已经关机,如果是,则不会尝试关机。这是因为某些 BMC 在节点已经关机并且发出 ipmitool 请求关机时会报错。有关详细信息,请参阅 https://bugs.launchpad.net/ironic/+bug/1718794

9.1.1

序言

此版本包含一个针对重大 竞争条件的修复:使用此版本中的 ironic-dbsync online_data_migrations 命令。较旧版本(9.0.0 - 9.1.0)中的命令可能会导致端口的 physical_network 信息从数据库中删除。

升级说明

  • 使用此版本中的 ironic-dbsync online_data_migrations 命令。较旧版本(9.0.0 - 9.1.0)中的命令可能会导致端口的 physical_network 信息从数据库中删除。

关键问题

  • 使用此版本中的 ironic-dbsync online_data_migrations 命令。较旧版本(9.0.0 - 9.1.0)中的命令可能会导致端口的 physical_network 信息从数据库中删除。

错误修复

  • 修复了运行 ironic-dbsync online_data_migrations 时的问题。由于竞争条件,对象的新 version 列的值可能被错误地从较新的对象版本更改为较旧的对象版本。现在不再出现这种情况。

  • 修复了 iscsi 部署接口的从卷启动问题。对于具有 iscsi 部署接口的节点,从卷启动会失败,因为 MAC 地址的 pxelinux.cfg 文件未创建,节点将无法启动。现在已创建 pxelinux.cfg 文件。有关详细信息,请参阅 bug 1714436

  • 修复了具有 iscsi 部署接口的节点的从卷启动问题。如果节点 instance_info 字段中未提供 image_source,则会失败,因为它会尝试验证不存在的 image_source。现在不需要指定 image_source,并且不再尝试验证。有关详细信息,请参阅 bug 1714147

9.1.0

序言

9.1.0 (Pike) 版本包含许多新功能和错误修复。

请查看“升级说明”部分(适用于 8.0.0、9.0.0、9.0.1 和 9.1.0),其中描述了从 7.0.x (Ocata) 升级到 9.1.0 (Pike) 的安装所需的步骤。

一些主要的变化值得一提。这不是一个详尽的列表,主要包括 9.0.0 的变化

新特性

  • 添加了新的硬件类型 idrac,用于 Dell EMC 集成 Dell 远程访问控制器 (iDRAC)。idrac 硬件类型支持基于 iDRAC 的 PXE 启动配置。它支持以下驱动程序接口

    • boot: pxe

    • console: no-console

    • deploy: iscsidirect

    • inspect: idracinspectorno-inspect

    • management: idrac

    • network: flatneutronnoop

    • power: idrac

    • raid: idracno-raid

    • storage: noopcinder

    • vendor: idrac

  • ilo inspect 接口添加了以下布尔功能键支持

    • sriov_enabled

    • has_ssd

    • has_rotational

    • rotational_drive_4800_rpm

    • rotational_drive_5400_rpm

    • rotational_drive_7200_rpm

    • rotational_drive_10000_rpm

    • rotational_drive_15000_rpm

    • logical_raid_level_0

    • logical_raid_level_1

    • logical_raid_level_2

    • logical_raid_level_10

    • logical_raid_level_5

    • logical_raid_level_6

    • logical_raid_level_50

    • logical_raid_level_60

    • cpu_vt

    • hardware_supports_raid

    • has_nvme_ssd

    • nvdimm_n

    • logical_nvdimm_n

    • persistent_memory

  • 为 SNMP UDP 传输添加了 SNMP 请求超时和重试设置。某些 SNMP 设备响应时间比其他设备长。新的 Ironic 配置选项 [snmp]/udp_transport_retries[snmp]/udp_transport_timeout 允许更改 SNMP 驱动程序的重试次数和超时值。

升级说明

  • 更新了 iLO 驱动程序的 proliantutils 版本到 2.4.0。此版本的库包含许多新功能

    • 添加了对使用 Redfish 协议的 Gen10 服务器的支持。

    • 通过 IPA 为 HPE SSA CLI 提供了一次性磁盘擦除支持。

    • local_gb 在 inspect 期间未发现磁盘时默认为 0(零)。

错误修复

  • 修复了一个问题,导致使用 Dell EMC 集成 Dell 远程访问控制器 (iDRAC) classic 驱动程序pxe_dracpxe_drac_inspector 的节点在双 manage/provide 周期后被置于 clean failed 状态,而不是 available 状态。有关更多信息,请参阅 bug 1676387

9.0.1

序言

9.0.1 版本是一个 Pike 的中间版本;它应该代替较旧的 9.0.0 版本使用,因为 9.0.1 通过了所有 ironic CI 测试。

升级说明

  • 为配置选项 [default]/pin_release_version 添加了“9.0”和“pike”选项。这解决了单元和 grenade 测试中的失败。

9.0.0

新功能

  • 添加了两个新的硬件类型来支持 Cisco UCS 服务器,cisco-ucs-standalonecisco-ucs-managedcisco-ucs-standalone 支持通过 CIMC API 或 UCSM 控制 UCS 服务器的驱动程序接口。 cisco-ucs-managedcisco-ucs-standalone 的超集,并支持用于通过 UCSM 控制 UCS 服务器的附加驱动程序接口。

    为了支持这些硬件类型,以下 Ironic 驱动程序接口已可用,可在节点上进行配置

    • node.power_interface 可以设置为

      • cimc 用于 CIMC API 电源控制(开机/关机、重启等)

      • ucsm 用于 UCSM API 电源控制(开机/关机、重启等)

    • node.management_interface 可以设置为

      • cimc 用于 CIMC API 管理控制(设置启动设备等)

      • ucsm 用于 UCSM API 管理控制(设置启动设备等)

  • 添加了生成 Guru Meditation Report (GMR) 以用于 ironic-api 和 ironic-conductor 服务的支持。GMR 提供调试信息,可用于获取系统当前状态的准确视图。例如,正在运行的线程、生效的配置参数等。

  • 添加了对 irmc-pxe 启动接口的 UEFI 安全启动的支持。

  • 添加了对 Redfish 标准的支持,通过新的 redfish 硬件类型实现。(为此没有等效的“经典”驱动程序。)它使用两个新的接口

    • redfish 电源接口支持所有硬电源和软电源操作

    • redfish 管理接口支持

      • 获取和设置启动设备(PXE、磁盘、CD-ROM 或 BIOS)

      • 使配置的启动设备持久或不持久

      • 注入 NMI

  • 允许在 available 状态下更新节点上的硬件接口。

  • 新的配置选项 [DEFAULT]/ldlinux_32 可用于设置 ldlinux.c32 文件(来自 syslinux 包)的位置。默认行为是在以下位置查找它

    • /usr/lib/syslinux/modules/bios/ldlinux.c32

    • /usr/share/syslinux/ldlinux.c32

  • 添加了对使用 Ceph Object Gateway (radosgw) 而不是 OpenStack 对象服务 (swift) 存储 configdrive 的支持,使用兼容的 API。

  • 添加了对使用依赖于用户名和密码而不是身份验证令牌的 radosgw 身份验证机制的支持。必须在 ironic 配置文件中指定以下选项

    • [swift]/auth_url

    • [swift]/username

    • [swift]/password

  • 添加一个布尔标志 force_persistent_boot_device 到节点的 driver_info 中,以便在部署和清理操作期间启用持久行为。此标志将覆盖清理和部署过程中的非持久行为。有关更多信息,请参阅 https://bugs.launchpad.net/ironic/+bug/1703945

  • 添加一个新的硬件类型 ilo,用于基于 iLO 4 的 Proliant Gen 8 和 Gen 9 服务器。此硬件类型支持基于虚拟媒体和 PXE 的启动,使用 HPE iLO 4 管理引擎。支持以下驱动程序接口

    • 启动: ilo-virtual-mediailo-pxe

    • 控制台: ilono-console

    • deploy: iscsidirect

    • 检查: ilo, inspectorno-inspect

    • 管理: ilo

    • 网络: flat, noopneutron

    • 电源: ilo

    • RAID: no-raidagent

  • 硬件类型 ipmi 现在支持 ipmitool 供应商接口(类似于经典的 ipmitool 驱动程序)。

  • 添加一个新的启动接口 irmc-pxe,用于启动 FUJITSU PRIMERGY 服务器的 PXE。

  • 添加清理步骤 restore_irmc_bios_config,用于在自动清理期间恢复基于 irmc 驱动程序的节点的 BIOS 配置。

  • 添加对通过 irmc-virtual-media 启动接口从远程卷启动的支持。它通过带外网络启用 iSCSI 或 FibreChannel 的启动配置。有关详细信息,请参阅 iRMC 驱动程序文档

  • 添加配置选项 [console]terminal_timeout,以允许设置非活动时间(以秒为单位),之后基于 socat 的控制台将终止。

  • 添加 REST API 的版本 1.33,它公开了节点资源的 storage_interface 字段。此版本还公开了驱动程序资源的 default_storage_interfaceenable_storage_interfaces 字段。

    有 2 个可用的存储接口

    • noop:此接口不提供任何存储相关内容。

    • cinder:此接口使节点能够通过利用 cinder API 附加和分离卷。

    可以在创建或更新节点时设置存储接口。启用的存储接口通过 [DEFAULT]/enabled_storage_interfaces 配置选项定义。可以使用 [DEFAULT]/default_storage_interface 配置选项指定创建的节点的默认接口。

  • storage_interface 字段添加到与节点相关的通知中

    • baremetal.node.create.* (新的有效负载版本 1.2)

    • baremetal.node.update.* (新的有效负载版本 1.2)

    • baremetal.node.delete.* (新的有效负载版本 1.2)

    • baremetal.node.maintenance.* (新的有效负载版本 1.4)

    • baremetal.node.console.* (新的有效负载版本 1.4)

    • baremetal.node.power_set.* (新的有效负载版本 1.4)

    • baremetal.node.power_state_corrected.* (新的有效负载版本 1.4)

    • baremetal.node.provision_set.* (新的有效负载版本 1.4)

  • OneView 驱动程序现在在请求设置启动设备时,会保留节点内部信息中的下一个启动设备。当节点被电源循环时,它将被应用到节点上。

  • 添加一个新的硬件类型 oneview,用于 HPE OneView 支持的服务器。此硬件类型支持以下驱动程序接口

    • boot: pxe

    • console: no-console

    • 部署: oneview-directoneview-iscsi(分别基于“direct”和“iscsi”)

    • 检查: oneviewno-inspect

    • 管理: oneview

    • 网络: flat, neutronno-op

    • 电源: oneview

    • RAID: no-raidagent

  • 端口组信息(modeproperties 字段)现在通过端口的 binding:profile 字段传递给 Neutron。这允许 ML2 驱动程序自动配置端口绑定。

  • 添加了 REST API 版本 1.34 中的端口对象中的 physical_network 字段。

    此字段指定端口连接的物理网络的名称,默认情况下为空。运营商可以设置此字段,以便 Bare Metal 服务在附加虚拟接口 (VIF) 时合并物理网络信息。

    与端口相关的 REST API 端点支持 physical_network 字段。多租户文档提供了有关如何配置和使用物理网络的信息。

  • 添加一个新的硬件类型 snmp,用于 SNMP 供电系统。它支持以下驱动程序接口

    • boot: pxe

    • 部署: iscsi, direct

    • 电源: snmp

    • 管理: fake

  • 添加新的配置选项 [console]/socat_address,以设置基于 socat 的控制台的绑定地址。默认值是负责该节点的 conductor 的 [DEFAULT]my_ip 选项的值。

  • 添加了新的 API 端点 /v1/volume/connectors/v1/volume/targets,用于支持卷连接器和卷目标。这些端点在 API 版本 1.32 或更高版本中可用。这些新资源用于将节点连接到卷。卷连接器表示节点的连接器信息,例如 iSCSI 发起程序。卷目标提供卷信息,例如 iSCSI 目标。这些端点可用

    • GET /v1/volume/connectors 用于列出卷连接器

    • POST /v1/volume/connectors 用于创建卷连接器

    • GET /v1/volume/connectors/<UUID> 用于显示卷连接器

    • PATCH /v1/volume/connectors/<UUID> 用于更新卷连接器

    • DELETE /v1/volume/connectors/<UUID> 用于删除卷连接器

    • GET /v1/volume/targets 用于列出卷目标

    • POST /v1/volume/targets 用于创建卷目标

    • GET /v1/volume/targets/<UUID> 用于显示卷目标

    • PATCH /v1/volume/targets/<UUID> 用于更新卷目标

    • DELETE /v1/volume/targets/<UUID> 用于删除卷目标

    卷资源也可以作为节点的子资源列出

    • GET /v1/nodes/<node>/volume/connectors

    • GET /v1/nodes/<node>/volume/targets

    还添加了卷资源的根端点。这些端点提供指向卷连接器和卷目标的链接

    • GET /v1/volume

    • GET /v1/node/<node>/volume

    当创建、更新或删除卷连接器或卷目标时,可以发出这些 CRUD 通知

    • baremetal.volumeconnector.create.start

    • baremetal.volumeconnector.create.end

    • baremetal.volumeconnector.create.error

    • baremetal.volumeconnector.update.start

    • baremetal.volumeconnector.update.end

    • baremetal.volumeconnector.update.error

    • baremetal.volumeconnector.delete.start

    • baremetal.volumeconnector.delete.end

    • baremetal.volumeconnector.delete.error

    • baremetal.volumetarget.create.start

    • baremetal.volumetarget.create.end

    • baremetal.volumetarget.create.error

    • baremetal.volumetarget.update.start

    • baremetal.volumetarget.update.end

    • baremetal.volumetarget.update.error

    • baremetal.volumetarget.delete.start

    • baremetal.volumetarget.delete.end

    • baremetal.volumetarget.delete.error

已知问题

  • 使用 irmc 硬件类型和 pxe 启动接口的节点,restore_irmc_bios_config 清理步骤不起作用。应该使用 irmc-pxe 启动接口。

升级说明

  • 由于 bug 1702158conductor_hardware_interfaces 表可能使用 MyISAM 数据库引擎创建,而 ironic 数据库中的所有其他表都使用 InnoDB 引擎。这可能发生在初始安装期间,或者升级到 Ocata 版本期间,如果系统在使用 MySQL 5.5 之前的版本,或者在 my.cnf 中显式将 default_storage_engine 选项设置为“MyISAM”。如果是这种情况,需要手动将 conductor_hardware_interfaces 表迁移到 InnoDB,并重新创建外键约束

    alter table conductor_hardware_interfaces engine='InnoDB';
    alter table conductor_hardware_interfaces
      add constraint conductor_hardware_interfaces_ibfk_1
      foreign key (conductor_id) references conductors(id);
    
  • 通过将冒号替换为破折号来更改 ramdisk 日志文件名中的时间戳部分。tar 命令无法正确处理冒号,并且带有冒号的文件名的解压缩将失败。

  • 添加了 [deploy]/object_store_endpoint_type 选项,以指定用于实例镜像和 configdrive 存储的端点类型。允许的值为 swiftradosgw。默认值为 swift

  • 将端口创建逻辑从 API 服务移动到 conductor 服务。这与端口更新操作更加一致,并为 conductor 侧的端口验证提供了机会。但是,此更改可能会导致端口创建时间更长,并且可能会限制可以并行创建的端口数量。

  • 新的 ironic-dbsync online_data_migrations 命令应在每次升级后运行,以确保所有数据库记录都转换为最新格式。在作为下一个命名版本的升级的一部分启动软件之前,必须运行它。有关此命令的更多信息,请参阅 https://docs.openstack.org/ironic/2025.2/cli/ironic-dbsync.html

  • 配置选项 [glance]glance_host 现在默认为空。如果既未提供它,也没有提供 [glance]glance_api_servers,那么 ironic 现在将尝试从服务目录中获取 Image 服务端点。

  • 添加了新的配置选项 [irmc]clean_priority_restore_irmc_bios_config,它允许设置清理步骤 restore_irmc_bios_config 的优先级。此选项的默认值为 0,这意味着禁用该清理步骤。

  • Ironic 不再回退到从 [keystone_authtoken] 部分加载访问其他服务的身份验证配置选项。因此,以下配置部分现在必须包含适当服务的正确身份验证选项

    • glance

    • neutron

    • swift

    • inspector

    • service_catalog

  • 删除了基于 SSH 的电源和管理驱动程序接口。驱动程序 pxe_ssh, agent_sshfake_ssh 不再可用。运营商需要确保在升级 ironic 安装之前,这些驱动程序未在 [DEFAULT]enabled_drivers 配置文件选项中使用或启用。

  • 升级到此版本后,所有端口都将具有一个空的 physical_network 字段。虚拟接口 (VIF) 的附加将继续像在以前的版本中一样工作,直到任何端口的物理网络字段被设置。

    在实时升级到此版本期间,physical_network 字段将不可用。在实时升级期间,创建属于端口组的端口也将是不可能的,因为 API 服务将无法验证请求的一致性。

  • OneView 驱动程序的预分配模型在 Newton 周期(Ironic 6.1.0)中已被弃用,并且在 Pike 周期中所有相关代码都被标记为删除。从现在开始,OneView 驱动程序仅使用动态分配模型。

  • 删除了弃用的 DHCP 提供程序方法 update_port_address。对于创建自己的网络接口或 DHCP 提供程序的用户,逻辑应移动到自定义网络接口的 port_changedportgroup_changed 方法。应由自定义网络接口实现以下方法

    • vif_list:列出节点上附加的 VIF ID。

    • vif_attach:将虚拟网络接口附加到节点。

    • vif_detach:将虚拟网络接口从节点分离。

    • port_changed:处理端口变更时所需的任何操作。

    • portgroup_changed:处理端口组变更时所需的任何操作。

    • get_current_vif:返回附加到端口或端口组对象的 VIF ID。

  • 配置选项 [ilo]/clean_priority_erase_devices 在 Newton 周期 (6.1.0) 中已被弃用。它不再受支持。请改用选项 [deploy]/erase_devices_priority

  • active 状态或任何瞬态状态下,更改节点的 resource_class 字段不再可能。请更新您的脚本,仅为未部署的节点设置资源类。为没有资源的节点设置资源类仍然是可能的。

  • 由于 Nova 调度裸机节点的方式即将发生变化,使用 Nova 的部署中的所有节点在升级之前都必须填充 resource_class 字段。有关详细信息,请参阅 注册文档基于资源类的调度配置文档

    在将您的风味迁移到资源类之后,您应该取消 Compute 服务配置中的已弃用的 use_baremetal_filters 选项。否则,您将使用与基于资源类的调度不兼容的过滤器。

弃用说明

  • 配置选项 [conductor]/configdrive_use_swift[glance]/temp_url_endpoint_type 已被弃用,将在 Queens 版本中删除。分别使用 [deploy]/configdrive_use_object_store[deploy]/object_store_endpoint_type 代替。

  • elilo 引导加载器的支持已被弃用,将在 Queens 版本周期中删除。elilo 引导加载器已成为一个孤立的项目,并从大多数 Linux 发行版中删除。请切换到 grub2 引导加载器。

  • 配置选项 [ipmi]/retry_timeout 已被弃用,以支持以下新选项

    • [ipmi]/command_retry_timeout:等待 IPMI 命令完成(被裸机节点确认)的超时值

    • [conductor]/power_state_change_timeout:等待电源操作完成的超时值,以便裸机节点处于所需的新电源状态

  • 配置选项 [glance]glance_host[glance]glance_port[glance]glance_protocol 已被弃用,以支持使用 [glance]glance_api_servers 或使用服务目录。

  • 使用 irmc 硬件类型与 pxe 引导接口的用法已被弃用。建议尽快切换到新的 irmc-pxe 引导接口。

安全问题

  • OSProfiler 支持需要在各种 OpenStack 服务之间传递跟踪信息。此信息由 ironic.conf 配置文件中定义的一个 HMAC 密钥安全地签名。为了允许跨项目跟踪,所有 OpenStack 服务应使用相同的密钥。

错误修复

  • 修复了在 Ubuntu 16.04 等使用 syslinux 5.00 或更高版本的环境中,使用虚拟介质引导时的网络引导问题。由于 ldlinux.c32 文件的位置发生变化,导致此问题出现。

  • 修复了数据库模式,如果系统使用 MySQL 5.5 之前的版本,或者在 my.cnf 中显式将 default_storage_engine 选项设置为“MyISAM”,则可能导致为 conductor_hardware_interfaces 表使用错误的数据库引擎。在这种情况下,可能会创建一个使用 MyISAM 引擎的表,并且外键约束 conductor_id(conductors.id) 被忽略。有关详细信息,请参阅 bug 1702158

  • 通过将冒号替换为破折号来更改 ramdisk 日志文件名中的时间戳部分。tar 命令无法正确处理冒号,并且带有冒号的文件名的解压缩将失败。

  • 修复了 bug 1691808,该 bug 导致在 RAID 创建/删除时经常失败,原因是使用 iDRAC 驱动程序时正在运行“导出配置”作业。此修复程序需要版本 1.3.0 或更高版本的 python-dracclient 库。

  • 防止 IPMI 驱动程序在电源更改操作失败时不必要地检查裸机节点的状态。此外,停止重试电源操作和电源状态轮询,并在从 ipmitool 收到无法重试的错误时停止重试。有关更多信息,请参阅 bug 1675529

    一个新的配置选项 [conductor]/power_state_change_timeout 可用于指定在请求电源操作时,等待裸机节点更改电源状态的秒数。

  • 添加了操作员显式定义创建 tftpboot 文件夹的权限的功能。这使得 ironic 能够与限制性 umask 一起使用,在这种情况下,tftp 服务器可能无法读取该文件。引入了一个新的配置选项 [pxe]/dir_permission 来指定要创建的 tftpboot 目录的权限。

  • 修复了处理带有磁盘标识符 0x00000000 的完整磁盘镜像的问题。实例无法启动,因为启动配置中的标识符在 config drive 创建期间被覆盖。请参阅 bug 1685093

  • 当 swift 临时对象删除失败,因为该对象不再在 swift 中可用时,会记录一条消息。此消息的日志级别从 WARNING 更改为 INFO

  • 修复了一个多区域问题,在获取 Identity 服务(keystone)的 URL 时,配置文件中指定的区域被忽略。

  • 修复了使用“noop”网络接口时,列出节点 VIF 失败并出现 HTTP 500 内部服务器错误的问题。

  • Conductor 进程的关闭应该花费更少的时间,因为我们不会等待所有周期性任务完成。

  • DEBUG 级别的 oslo.messaging 库的日志默认情况下不再显示。

  • 修复了一个问题,导致节点的一些内部信息没有保存到数据库中。有关详细信息,请参阅 bug 1679297

  • 修复了一个 bug,该 bug 导致在清理和部署阶段,引导设备更改在不需要的地方保持持久,原因是 PXE 接口的默认行为强制进行持久更改。有关更多信息,请参阅 bug 1701721

  • 在执行硬件检查之前,如果无法验证 powerinspect 接口参数,则会引发 HTTP 400 Bad Request(而不是 HTTP 500 Internal Server)错误。

  • 不再允许更改 active 节点的 resource_class 字段,如果该字段已经设置为非空值。这样做会破坏 Compute 调度器。

  • 添加了对 SNMP 驱动程序的 snmp_outlet 参数的验证。

  • 在返回节点、端口组或端口列表时,会检查排序键,以确保该字段在请求的 API 版本中可用。如果该字段不可用,则会返回 406(不可接受)HTTP 状态。

其他说明

  • 添加了一个 cinder 配置部分,以及 cinder 客户端(python-cinderclient)的要求。

  • ironic.drivers.modules.agent 模块中的 build_instance_info_for_deploy() 方法在 Ocata 周期(版本 7.0.0)中已被弃用。它不再可用。请改用 ironic.drivers.modules.deploy_utils 模块中的 build_instance_info_for_deploy() 方法。

8.0.0

新功能

  • 添加了附加/分离 VIF 到/从活动节点的功能。

  • 添加了端口组的创建、更新或删除的通知。事件类型格式如下

    • baremetal.portgroup.{create, update, delete}.{start,end,error}

    还添加了端口组 UUID 字段到端口通知,端口有效负载版本提升到 1.1。

升级说明

  • 现在所有执行数据库写入的 DB API 方法都会在发生死锁时重试。配置选项 [database]db_max_retries 指定最大重试次数,如果需要可以自定义。

  • 由于缺乏测试,agent_pyghmi、pxe_ipminative 和 fake_ipminative 驱动程序已从 ironic 中删除。使用这些驱动程序的节点应更改为 agent_ipmitool 或 pxe_ipmitool 驱动程序。

  • 删除了旧的消息传递传输别名。下面列出了这些别名以及应使用的新的值。

    • ironic.rpc.impl_kombu -> rabbit

    • ironic.rpc.impl_qpid -> qpid

    • ironic.rpc.impl_zmq -> zmq

  • 更新了 iLO 驱动程序所需的 proliantutils 版本为 2.2.1。此版本支持 HPSUM 固件更新,并满足 global-requirements 的要求。

弃用说明

  • Image 服务 v1 API 的支持已弃用,以及配置选项 [glance]/glance_api_version,将在 Queens 版本中删除。

错误修复

  • 修复了在 Apache 下运行时,对 ironic API 服务的请求有时会超时的问题。这是由于混合了两种并发模型(用于处理多个线程)。

  • 修复了一个导致 CPU 使用率随着时间推移而增加的 bug。

  • 修复了一个挂起的 iscsi 会话在部署失败时未清理的问题。

  • 修复了一个基于代理的部署未清理在 Ironic 节点上完成的与实例相关的配置的问题。

  • 修复了 oneview 驱动程序在遇到错误时尝试停用节点的问题,同时执行服务器配置文件应用。还确保只有由 ironic 管理的节点才能停用。

  • 修复了 socat 控制台支持的问题,该问题可能导致创建无限数量的连接,从而破坏先前的会话。现在连接限制为每个服务器一个连接。Socat 现在在断开连接或超时 10 分钟后关闭控制台连接。要重新连接,用户应重新激活控制台。

  • 修复了无法从硬件类型更新到经典驱动程序的节点的问题。