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 异常。

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 使用相同驱动程序过滤节点的支持。

  • 根设备提示扩展为支持设备名称。

  • 为 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_configcommit_bios_configabandon_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 部署。

  • 周期性任务不再在一个线程中全部执行。

  • 修复了 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_oneviewiscsi_pxe_oneview 驱动程序,用于与 HP OneView 管理系统集成。

  • ironic-api 服务现在支持在直接运行服务时(而不是在 mod_wsgi 或类似工具后面)使用 SSL。

  • 添加了一个 agent_wol 驱动程序,它将 Agent 部署接口与 Wake-On-LAN 电源驱动程序结合起来。

  • agent_ipmitoolagent_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_extensionwwn_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,允许在关机和开机之间添加暂停。

关键问题

  • 修复了一个问题,如果先前的清理被中止,则节点的下一次清理将挂起。

  • 此修复解决了 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 电源控制器在部署后无法重新上电。

  • 节点的 cpuslocal_gbmemory_mb 属性现在在输入时进行验证,以确保它们是非负数。

其他说明

  • 为 DHCP 提供程序基类添加了一个 clean_dhcp_opts 方法,以便为 DHCP 提供程序提供清理 DHCP 预留的方法(如果需要)。

  • iLO 驱动程序现在基于新的 BootInterface。

  • iRMC 驱动程序现在基于新的 BootInterface。