Mitaka 系列 (4.3.0 - 5.1.x) 发行说明¶
5.1.3¶
升级说明¶
更新了 iRMC 驱动程序所需的 python-scciclient 版本号为 0.3.1,其中包含错误修复 ‘#1561852’ 和维护更新。
错误修复¶
使用 ‘agent_ilo’ 或 ‘iscsi_ilo’ 驱动程序的节点在节点验证期间对其 ‘driver_info/ilo_deploy_iso’ 字段进行验证。这关闭了错误
修复了一个问题,该问题导致在 enabled_drivers 配置选项中存在重复条目时,conductor 在启动时出错。
修复了一个问题,在使用 ipminative 驱动程序设置节点启动设备时,启动模式(UEFI 或 BIOS)没有被考虑在内,导致在请求更改启动设备时从 UEFI 切换到传统 BIOS。
修复了一个问题,在更改节点的启动设备时,没有检查启动模式(UEFI 或 BIOS),导致在某些硬件型号上从 UEFI 错误地切换到传统 BIOS 模式。
修复了在维护模式下更新端口上的 MAC 地址的问题(之前返回 HTTP 500)。
对于在没有设置维护模式的情况下更新活动实例端口上的 MAC 地址的请求,返回 HTTP 400(之前返回 HTTP 500)。
5.1.2¶
安全问题¶
此版本修复了一个关键的安全漏洞 (CVE-2016-4985)。 之前,如果客户端能够知道(或猜测)属于该节点的网卡的 MAC 地址,则可以通过向 /v1/drivers/$DRIVER_NAME/vendor_passthru 资源发送精心构造的 POST 请求来绕过 Keystone 身份验证并检索注册到 Ironic 的任何节点的所有信息。Ironic 的 policy.json 配置现在在响应此请求时受到尊重,因此,如果其他请求的密码应该被屏蔽,它们也会被屏蔽。
5.1.1¶
错误修复¶
修复了 iRMC 带外检查的 InvalidMAC 异常。
强制 iRMC vmedia 从远程连接(重定向)的 CD/DVD 启动,而不是默认 CD/DVD。请参阅 https://bugs.launchpad.net/ironic/+bug/1561852 以获取详细信息。
5.1.0¶
新特性¶
添加了对基于代理驱动程序的分割镜像的支持。
添加了支持,可以使用 [glance]glance_cafile 配置选项传递一个可选的 CA 证书,以验证 Glance 为安全的 https 通信提供的 SSL 证书,在 Glance 和 Ironic 之间。
将 request_id 作为
Openstack-Request-Id标头附加到响应中。
升级说明¶
添加了一个 [glance]glance_cafile 配置选项,用于传递一个可选的证书,用于安全的 https 通信。当 [glance]glance_api_insecure 配置选项设置为 False 时使用。
错误修复¶
确保当节点移动到稳定状态时,清除节点的目标配置状态,表明状态转换完成。
修复了 agent 驱动程序分割镜像的磁盘标签被忽略的错误。
修复了一个问题,某些硬件/固件(特别是存在故障的硬件)在通过 IPA ramdisk 进行带内 ACPI 软关机后无法重新上线,通过添加一个新的驱动程序属性“deploy_forces_oob_reboot”,可以将其设置为正在部署的节点。如果此属性的值为 True,Ironic 将通过带外方式循环电源。
修复了一个问题,在实例化 Swift 客户端时,keystone_authtoken/region_name 没有传递给 Swift,在多区域环境中,这需要客户端才能选择正确的 swift 端点。
5.0.0¶
序言¶
此版本添加了对手动清理和 RAID 配置的支持。 运营商现在可以在 manageable 状态下手动运行清理步骤,包括在节点上设置 RAID。
此版本采用 Oslo Futurist 库进行异步线程执行和周期性任务。 主要好处是周期性任务现在真正并行执行,而不是在单个 green 线程中顺序执行。
新特性¶
添加了对 ipmitool 的端口 (-p) 选项的支持。 这允许 ipmitool 支持不使用默认端口 (623) 作为 IPMI 端口的运营商。
将代理信息从 agent 驱动程序传递到 IPA ramdisk,以便可以在代理服务器上缓存镜像。
添加了对新功能“disk_label”的支持,允许运营商选择在 Ironic 分区磁盘时将使用的磁盘标签。
iLO 驱动程序现在提供带外固件更新作为手动清理步骤,用于支持的硬件组件。
支持在 iLO 驱动程序中激活 iLO Advanced 许可证作为手动清理步骤。
为 CIMC 和 UCS 驱动程序启用了 Inspector 检查
添加了对 UEFI 模式下使用 iPXE 的支持。
添加了在镜像下载期间调整 ipxe 超时的能力,默认值仍然是无限 (0)。
为 iRMC 驱动程序添加了带外检查支持。
添加了通过 API 使用相同驱动程序过滤节点的支持。
添加了对手动清理的支持。 这可以通过 API 版本 1.15 使用。 有关更多信息,请参阅 https://docs.openstack.org/developer/ironic/deploy/cleaning.html#manual-cleaning
根设备提示扩展为支持设备名称。
删除了数据库迁移降级支持。 有关数据库迁移/回滚的更多信息,请参见 https://docs.openstack.org/openstack-ops/content/ops_upgrades-roll-back.html
为 virsh SSH 驱动程序添加了 ShellinaboxConsole 支持。
已知问题¶
在使用
agent_*驱动程序进行缓存代理时,将镜像缓存到代理服务器可能涉及增加 [glance]swift_temp_url_duration 配置选项的值。 这样,缓存条目将在足够长的时间内有效,才能看到缓存的好处。 在某些情况下,大的临时 URL 持续时间可能会成为安全问题。
升级说明¶
添加了一个 [glance]swift_temp_url_cache_enabled 配置选项,以启用 Swift 临时 URL 缓存。 仅当使用缓存代理时才有用。 还添加了 [glance]swift_temp_url_expected_download_start_delay,用于检查 Swift 临时 URL 持续时间是否足够长,以让镜像下载开始,并且,如果启用了临时 URL 缓存,则确定缓存条目在下载开始时是否仍然有效。 [glance]swift_temp_url_expected_download_start_delay 的值必须小于 [glance]swift_temp_url_duration 配置选项的值。
添加了
choices参数到配置选项。 无效值将在首次访问时被拒绝,这可能发生在部署过程中。选项
选项
[DEFAULT]/auth_strategy
keystone, noauth
[glance]/auth_strategy
keystone, noauth
[glance]/glance_protocol
http, https
[neutron]/auth_strategy
keystone, noauth
[amt]/protocol
http, https
[irmc]/remote_image_share_type
CIFS, NFS
[irmc]/port
443, 80
[irmc]/auth_method
basic, digest
[irmc]/sensor_method
ipmitool, scci
添加了一个配置选项 ‘debug_tracebacks_in_api’,以允许 API 服务在错误情况下在 API 响应中返回跟踪信息。
DRAC 驱动程序的依赖项从
pywsman更改为python-dracclient,版本 >= 0.0.5。 驱动程序抛出的异常和 vendor-passthru 接口上的set_bios_config、commit_bios_config和abandon_bios_config方法的返回值已更改。
配置选项“workers_pool_size”不能小于或等于 2。 请在更新之前将其设置为更大的值(默认值为 100)。
添加了一个新的配置 [ironic_lib]root_helper,用于指定作为 root 运行的命令之前要使用的命令。 默认情况下,使用 /etc/ironic/rootwrap.conf 中的 rootwrap 配置文件。
这些配置选项从 [deploy] 组移动到新的 [disk_utils] 组:efi_system_partition_size、dd_block_size 和 iscsi_verify_attempts。
更新了 iRMC 驱动程序所需的 python-scciclient 版本号为 0.3.0,修复了错误 ‘#1518999’ 和 ‘#1519000’。
弃用说明¶
配置 [conductor]/clean_nodes 已弃用,将在 Newton 周期中删除。 它已被 [conductor]/automated_clean 配置取代。
配置选项“periodic_interval”已弃用。
使用“driver_periodic_task”装饰器已弃用。 请更新您的非树驱动程序以使用 Futurist 库中的“periodics.periodic”装饰器。
以下配置选项已移动到 [disk_utils] 组;它们已从 [deploy] 组中弃用:efi_system_partition_size、dd_block_size 和 iscsi_verify_attempts。
错误修复¶
不再在调试模式下返回 API 错误的跟踪信息。
禁用在自动清理期间默认执行清理步骤‘reset_ilo’。 在每次调用自动清理时,不需要重置 iLO。 如果需要,运营商可以启用它。
DRAC 驱动程序从
pywsman迁移到python-dracclient,修复了由于 python 解释器在执行交给 c 库时无法处理信号而导致的驱动程序锁死问题。
修复了 DRAC 驱动程序中,在进行电源管理操作之前才设置启动设备,从而导致多次设置启动设备而没有重新启动的问题。
添加了缺少的“lookup”方法到 pxe_drac 驱动程序 vendor 接口,使其可以使用 IPA ramdisk 部署。
API 服务再次记录 HTTP 访问日志。 请参阅 https://bugs.launchpad.net/ironic/+bug/1536828 以获取详细信息。
修复了继续清理时产生新线程的错误处理问题。 请参阅 https://bugs.launchpad.net/ironic/+bug/1539118。
修复了提供的 iPXE 模板中无法启动整个磁盘镜像的问题。 请参阅 https://bugs.launchpad.net/ironic/+bug/1524403。
周期性任务不再在一个线程中全部执行。
修复了 iLO 驱动程序自动清理失败的问题。 如果 iLO 处于 System POST 状态,则 iLO 驱动程序的自动清理将失败。 iLO 在 System POST 状态下不允许设置启动设备。
修复了在 UEFI 启动模式下启用 ipxe 时,ironic 在第二次重新启动期间使用部署镜像而不是用户镜像的问题。
修复了一个问题,该问题阻止了节点名称作为节点更新的一部分被删除。
在 conductor/rpcapi.py 中,object_backport_version()、object_action() 和 object_class_action_versions() 将 NotImplementedError 拼写错误为 NotImplemented,这不会向用户返回任何有用的信息。 请参阅 https://bugs.launchpad.net/ironic/+bug/1524163。
更新了 iRMC 驱动程序所需的 python-scciclient 版本号为 0.3.0,修复了错误 ‘#1518999’ 和 ‘#1519000’。
其他说明¶
与磁盘分区相关的代码已移动到 ironic-lib。
4.3.0¶
序言¶
修复了一个清理步骤无法运行的重大错误。
Ironic 的 4.3.0 版本带来了许多新功能、驱动程序增强和错误修复。
新特性¶
添加了一个 agent_iboot 驱动程序,以允许使用 Agent 部署驱动程序与 Iboot 电源驱动程序一起使用。
添加了对 IPv6 PXE 启动的实验性支持。 这可以通过 [pxe]ip_version 配置选项进行配置。
添加了 agent_pxe_oneview 和 iscsi_pxe_oneview 驱动程序,用于与 HP OneView 管理系统集成。
ironic-api 服务现在支持在直接运行服务时(而不是在 mod_wsgi 或类似工具后面)使用 SSL。
添加了一个 agent_wol 驱动程序,它将 Agent 部署接口与 Wake-On-LAN 电源驱动程序结合起来。
为 agent_ipmitool 和 agent_ssh 驱动程序添加了检查支持。
默认情况下,Agent 部署驱动程序现在将原始镜像直接流式传输到磁盘(而不是在内存中暂存)。
在 iSCSI 部署驱动程序中,当使用 ironic-python-agent 作为 ramdisk 时,添加了对带内清理步骤的支持。
添加了对使用 Glance 与 Ceph 后端通过 RADOS Gateway Swift API 的支持,使用 Agent 部署驱动程序。
API 根端点 (GET /) 现在返回服务器的版本信息;具体来说
min_version - 服务器支持的最小 API 版本;
version - 服务器支持的最大 API 版本;
status - 版本状态,“CURRENT” 表示 v1。
添加了对 wwn_with_extension 和 wwn_vendor_extension 根设备提示的支持。
添加了对 XenServer VM 的 SSH 电源驱动程序的支持。
升级说明¶
添加了一个 [amt]awake_interval 配置,用于唤醒 AMT 接口的间隔。 这应该对应于 AMT 接口上的 IdleTimeout 配置选项。 设置为 0 将禁用唤醒 AMT 接口,就像将 IdleTimeout=0 设置在 AMT 接口上将禁用 AMT 接口在空闲时进入睡眠状态一样。
添加了一个新的配置选项 hash_ring_reset_interval,以控制 conductor 的哈希环视图重置的频率。 默认值为 180 秒,与用于处理此重置的 sync_local_state 周期性任务的默认值相同。
task 参数到 ManagementInterface.get_supported_boot_devices 之前被弃用为可选,现在是所有 ManagementInterface 实现所必需的。
Agent 部署驱动程序现在默认将原始镜像直接流式传输到磁盘(而不是在内存中暂存);可以通过将 [agent]stream_raw_images 配置选项设置为 False 来关闭此功能。 如果磁盘速度明显慢于网络,则流式传输可能不受欢迎。
为 Iboot 驱动程序添加了一个配置选项 [iboot]reboot_delay,允许在关机和开机之间添加暂停。
关键问题¶
修复了一个错误,如果禁用了 sync_local_state 定期任务,则 conductor 对哈希环的视图将永远不会刷新。有关更多信息,请参阅 https://bugs.launchpad.net/ironic/+bug/1506657。
修复了一个问题,如果先前的清理被中止,则节点的下一次清理将挂起。
此修复解决了 Ironic 跳过所有清理步骤的错误,这可能会导致先前租户的数据保留在磁盘上,供新用户使用。
安全问题¶
此修复解决了 Ironic 跳过所有清理步骤的错误,这可能会导致先前租户的数据保留在磁盘上,供新用户使用。
错误修复¶
通过在发送命令之前(如果需要)唤醒接口,修复了与休眠 AMT 接口通信的问题。这使用 [amt]awake_interval 配置选项进行配置。
使 boot.ipxe 回退到其先前的行为,针对非常旧的 iPXE ROM,在这些 ROM 中根本没有 ‘inc’ 命令,请参阅 https://launchpad.net/bugs/1507738。
修复了一个问题,即 agent_ilo 驱动程序在部署过程中没有正确清理创建的临时文件。
修复了一个问题,即当密码仅包含数字时,ironic 无法与 IPMI 端点通信。
修复了一个问题,即 ipmitool 控制台在使用空 IPMI 密码时不起作用。
修复了一个问题,即 iPXE 可能会尝试从错误的 MAC 地址启动,导致部署失败。
修复了一个问题,即当定期电源状态同步失败时,node.last_error 没有显示实际问题。
由于 agent 部署驱动程序现在直接将原始镜像流式传输到磁盘,因此大于部署 ramdisk 可用 RAM 的镜像将不再导致部署失败。
修复了一个问题,即某些 SNMP 电源控制器在部署后无法重新上电。
节点的 cpus、local_gb 和 memory_mb 属性现在在输入时进行验证,以确保它们是非负数。
其他说明¶
为 DHCP 提供程序基类添加了一个 clean_dhcp_opts 方法,以便为 DHCP 提供程序提供清理 DHCP 预留的方法(如果需要)。
iLO 驱动程序现在基于新的 BootInterface。
iRMC 驱动程序现在基于新的 BootInterface。