2023.1 系列发布说明

5.0.1

错误修复

  • OpenStackSDK 日志消息不再发送到 stdout,也不再破坏输出的解析。

  • 日志配置现在尊重 --verbose 标志。

  • 一些警告不再重复。

4.11.0

新特性

  • 添加了对 API 版本 1.78 和“节点历史记录”功能的支持,允许用户查询裸机节点的事件列表,并检索单个历史事件。

  • 在 python 客户端库中添加了 get_history_listget_history_event 方法。这些方法允许操作员查询 ironic API 记录的节点事件信息(如果支持并启用)。

4.9.0

新特性

  • 为驱动程序 CLI 添加了字段选择器支持。请参阅 故事 1674775

    • openstack baremetal driver list --fields <field> [<field> ...]

    • openstack baremetal driver show <driver_name> --fields <field> [<field> ...]

错误修复

  • 嵌入式配置驱动生成支持已更新,以支持 mkisofsxorrisofs,除了先前支持的 genisoimage 工具。这是因为 Debian 和 OpenSUSE 等发行版不提供 genisoimage

4.8.0

新特性

  • baremetal node bios setting list 命令添加了新参数,以包含对 BIOS 注册表的支持。 --long 选项将检索并显示额外的 BIOS 注册表字段,--fields 选项将检索并显示选定的字段。baremetal node bios setting show 默认包含这些字段,无需更改。

  • 添加了对显示节点字段 boot_modesecure_boot 的支持,这些字段是在 API 1.75 中引入的。

  • 添加了对同步 API 1.76 中引入的功能,以更改节点状态 boot_modesecure_boot 的支持。

4.7.0

错误修复

  • 现在 --debug 选项可以正确地与内置的 baremetal 命令行工具一起工作。

  • 修复了在使用 network_data--fields 参数时的问题。

4.6.0

新特性

  • 添加了在部署或重建时提供可选部署步骤的支持;可用 ironic-api-version 1.69 或更高版本。Baremetal CLI 是 baremetal node <provision-state> <node> --deploy-steps <deploy-steps>,其中 <provision-state> 是“deploy”或“rebuild”,<deploy-steps> 是 JSON 格式的部署步骤。可以是包含部署步骤的文件路径;或者“-” ,从标准输入读取部署步骤;或者一个字符串。该值应该是部署步骤字典的列表;每个字典应该具有键“interface”、“step”和“priority”,以及可选键“args”。在重叠时,这些步骤会覆盖部署模板和驱动程序步骤。有关更多信息,请参阅 节点部署文档中的部署步骤

  • YAML 文件现在支持 --network-data--deploy-steps--clean-steps--target-raid-config 参数,以及部署模板命令的 --steps 参数。

4.5.0

新特性

  • 与 ironic 类似,现在可以使用新的 --no-automated-clean 参数在 baremetal node set 中将节点的 automated_clean 设置为 False。

4.3.0

新特性

  • 所有 Manager 对象的的方法现在支持传递 global_request_id 参数,该参数将在 HTTP 请求的头部传递给 ironic API。现在也可以通过传递 global_request_idadditional_headers 来实例化 IronicClient 对象,这些参数将被传递到该客户端对象将要执行的所有请求。传递给 Manager 对象的方法的 global_request_id 将覆盖通过 IronicClient 构造函数指定的 global_request_id

  • 更新节点 vif 附加 API 操作,以接受可选的 port_uuid 参数。如果指定,Ironic 将尝试附加到指定的端口。

4.2.0

新特性

  • 通过向端口/端口组命令添加 network-data 属性,添加了支持将静态网络配置添加到端口和端口组的功能。

升级说明

  • 用于 Python API 的代码之前在需要字符串的几个地方接受字节数组和其他无法序列化为 JSON 的数据类型。现在不再支持此功能,尝试这样做将导致异常。

4.1.0

序言

此版本包含一个新的独立 CLI 工具 baremetal,它与现有的 OSC 插件几乎相同,但

  • 不需要使用 openstack 前缀命令。

  • 不需要安装 python-openstackclient

  • 默认情况下不进行身份验证。

新特性

  • 添加了获取未标记为退役的节点列表的功能,通过向 openstack baremetal node list 命令添加 –no-retired 可选参数来实现。

  • 添加了对显示和更新节点 lessee 字段的支持,该字段是在 API 1.64 中引入的。

  • 添加了一个新的 baremetal CLI 工具,主要面向独立用户。

升级说明

  • oslo.i18n 的依赖现在是可选的。如果您希望 ironicclient 中的消息被翻译,则需要显式安装它。

  • 当在 get_client 调用中未提供会话时,现在将使用 OpenStackSDK 创建会话。现在仅支持它所支持的参数。

4.0.0

新功能

  • 添加了使用 owner 创建分配并显示它的支持。在 API 1.60 中引入。

  • 添加了设置和取消设置 retiredretired_reason 的功能,API 版本为 1.61。在节点上设置 retired 字段会将其排除在调度之外,但仍然允许清理该节点(例如,与维护不同)。无论节点的状态如何,都可以设置这些字段,旨在用于准备从 ironic 中删除节点。

升级说明

  • 已停止对 Python 2.7 的支持。python-ironicclient 的最后一个支持 Python 2.7 的版本是 OpenStack Train。python-ironicclient 现在支持的 Python 最低版本是 Python 3.6。

  • oslo.config 的隐式依赖现在是显式的。

错误修复

  • 当未向 client.Clientv1.client.Client 提供会话时,将出现明确的 TypeError。在此之前,我们会抛出

    _construct_http_client() takes at least 1 argument
    
  • 移除了将 endpoint_overrideos_ironic_api_version 传递给 get_client 的要求。这仅需要用于 API 版本的有效缓存,不应是硬性要求。

  • 修复了一个问题,即与 Ironic API 通信的一些故障模式可能会导致绕过客户端重试机制的异常。特别是,这包括 HTTP 503 服务不可用,这在 Ironic 在负载均衡器后运行且没有后端可处理请求时会发生。

  • openstack baremetal node list --owner 对于指定的拥有者返回错误而不是节点列表。已修复。

    有关详细信息,请参阅 故事 2006563

  • 修复了在未为 ironicclient.v1.client.Client 提供会话时出现的令人困惑的错误消息。

  • 随着 3.0.0 版本中 HTTPClient 类的移除,现在必须将会话传递给 ironicclient.v1.client.Client。辅助调用 ironicclient.client.get_client 也可以用于隐式构造会话。

  • 修复了当无法从会话中检测到裸机端点时出现的 TypeError。现在会引发适当的 EndpointNotFound 异常。

  • 修复了在使用 endpoint_overrideSessionClient 时的问题。

3.0.0

升级说明

  • 移除了 v1.client.Client 构造函数中已弃用的参数 endpoint。请使用标准的 keystoneauth 参数名 endpoint_override 代替。

  • 移除了已弃用的 common.http.HTTPClient 类。应使用 common.http.SessionClient 类代替。

  • 移除弃用的 keystone 参数,以支持标准化的参数命名。

  • 长期弃用的 ironic 命令已被移除。现在必须使用 openstack baremetal 命令。请更新您可能正在使用的任何脚本。

错误修复

  • 修复了一个问题,当 ironic 部署在子路径下时(例如 https:///ironic),自动分页会失效。

2.8.0

新特性

  • baremetal allocation create 添加了 --node 参数,以支持分配回填。

  • 添加了对 API 版本 1.57 中引入的分配更新 API 的支持。添加了新的命令

    • openstack baremetal allocation set

    • openstack baremetal allocation unset

错误修复

  • 在使用包含 /v1 的端点覆盖时,防止尝试访问带有 /v1/v1 的端点。

2.7.0

新特性

  • ironicclient 的使用者可能会从继承自 ksa 的配置中派生他们的 get_client kwargs,其中 interface 选项已被 valid_interfaces 取代。为了适应这一点,我们现在接受 valid_interfaces 作为 kwargs,使其优先于 interface。但是,我们仍然接受 interface,因为使用者可能会从非配置源(例如已经创建的 ksa Adapter,其中 valid_interfaces 已经转换为 interfaces)派生 kwargs。

  • 添加了列出和显示 Bare Metal 服务已知的主机(conductors)的能力,以及显示节点上的 conductor 字段,这在 API 1.49 中引入。

  • 添加了 Event 资源和 client.events.create Python SDK 方法,以使用 /v1/events API 端点(在 API 版本 1.54 中引入)将事件发布到 Bare Metal 服务。

    注意

    事件不适用于最终用户使用。(仅供内部使用。)

  • 通过将 --is-smartnic 参数添加到以下 CLI 命令,添加了对智能网卡端口的支持

    • openstack baremetal port create

    • openstack baremetal port set

    • openstack baremetal port unset

    这在 API 版本 1.53 中引入。

  • 添加了对 description 字段的支持,该字段是在 ironic API 1.51 中引入的。该字段用于存储有关节点的说明性文本。用户还可以查询其 description 字段包含指定子字符串的节点。

  • 添加了对显示和更新节点 owner 字段的支持,该字段是在 API 1.50 中引入的。

  • 添加了 Python API 和 CLI,用于在 API 版本 1.52 中引入的分配 API。添加了新命令

    • openstack baremetal allocation create

    • openstack baremetal allocation delete

    • openstack baremetal allocation get

    • openstack baremetal allocation list

  • 支持将 JSON 对象传递给 --config-drive,以便在服务器端构建配置驱动程序(需要 API 版本 1.56),用于以下命令

    • openstack baremetal node deploy <node> --config-drive '{...}'

    • openstack baremetal node rebuild <node> --config-drive '{...}'

  • 添加了 Python API 和 CLI,用于在 API 版本 1.55 中引入的部署模板 API。以下新命令可用

    • openstack baremetal deploy template create

    • openstack baremetal deploy template delete

    • openstack baremetal deploy template list

    • openstack baremetal deploy template set

    • openstack baremetal deploy template show

错误修复

  • interface 参数被忽略,导致 HTTP 客户端始终使用 Ironic 的公共端点。此修复使其考虑 interface 参数。请参阅 故事 2005118

2.6.0

新特性

  • 添加了设置裸机节点上 automated_clean 字段的能力(从 API 版本 1.47 开始可用),以在节点级别启用自动清理功能。

  • 添加了设置和取消设置 API 1.48 中引入的 protectedprotected_reason 字段的能力。设置 protected 允许保护已部署的节点,防止其卸载、重建和删除。

2.5.0

新特性

  • 为以下 CLI 命令添加了对 --conductor-group 参数的支持

    • openstack baremetal node create

    • openstack baremetal node set

    • openstack baremetal node unset

    • openstack baremetal node list

    此功能需要 bare metal API 1.46。

  • 添加了对节点 deploy_step(只读)字段的支持。部署步骤指示在节点的部署/配置过程中执行的步骤。它从 Bare Metal API 版本 1.44 开始可用。有关详细信息,请参阅 故事 1753128

  • openstack baremetal node set 命令添加了一系列新的参数:--reset-XXX-interface,其中 XXX 是硬件接口的名称。此参数将节点的 XXX_interface 字段重置为其计算的默认值(基于节点的硬件类型和配置)。

  • openstack baremetal node set 命令添加了新的参数 --reset-interfaces。它可以与 --driver 一起使用,将所有接口重置为其默认值。

2.4.0

新特性

  • 客户端现在支持 none 授权方法,如果客户端通信的部署中不存在 Identity 服务,则应使用它。要使用它

    • openstack baremetal CLI – 从 osc-lib 版本 1.10.0 开始支持,通过向 openstack 命令提供 --os-auth-type none--os-endpoint 参数

    • ironic CLI – 仅在 ironic 命令(或设置相应的环境变量)中指定 --ironic-url--os-endpoint 参数

    • python API – 在 client.get_client() 方法中指定 endpoint_override 参数(除了必需的 api_version

  • 支持节点 fault 字段,该字段在 Bare Metal API 版本 1.42 中引入,包括按此字段显示或查询节点。

  • 添加了两个新命令。

    • openstack baremetal node bios setting list <node_ident>

    • openstack baremetal node bios setting show <node_ident> <setting_name>

    第一个命令返回给定节点的 BIOS 设置列表,第二个命令返回给定节点的指定 BIOS 设置。

    还为以下命令添加了 bios_interface 的支持。

    • openstack baremetal node create

    • openstack baremetal node show

    • openstack baremetal node set

    • openstack baremetal node unset

    • openstack baremetal driver list

    • openstack baremetal driver show

  • NodeManager.set_provision_stateNodeManager.updateNodeManager.getNodeManager.list 添加了支持,以接受 os_ironic_api_version 关键字参数,以覆盖对 REST API 的特定调用的 API 版本。

    如果被覆盖,API 版本将不会被保留,如果从远程 API 请求不支持的版本,将引发 UnsupportedVersion 异常。

弃用说明

  • common.http.HTTPClient 类已被弃用,将在 Stein 版本中删除。如果您直接通过 v1.client.Client 类初始化 ironic 客户端,请将 keystoneauth 会话传递给 Client 构造函数,以便使用 common.http.SessionClient 代替。

  • 作为标准化参数命名的标准,使其与 keystoneauth 使用的命名一致,client.get_client 方法的以下参数已被弃用,将在 Stein 版本中删除

    • os_auth_token:使用 token 代替

    • os_username:使用 username 代替

    • os_password:使用 password 代替

    • os_auth_url:使用 auth_url 代替

    • os_project_id:使用 project_id 代替

    • os_project_name:使用 project_name 代替

    • os_tenant_id:使用 tenant_id 代替

    • os_tenant_name:使用 tenant_name 代替

    • os_region_name:使用 region_name 代替

    • os_user_domain_id:使用 user_domain_id 代替

    • os_user_domain_name:使用 user_domain_name 代替

    • os_project_domain_id:使用 project_domain_id 代替

    • os_project_domain_name:使用 project_domain_name 代替

    • os_service_type:使用 service_type 代替

    • os_endpoint_type:使用 interface 代替

    • ironic_url:使用 endpoint 代替

    • os_cacert, ca_file:使用 cafile 代替

    • os_cert, cert_file:使用 certfile 代替

    • os_key, key_file:使用 keyfile 代替

  • endpoint 参数在 v1.client.Client 构造函数中已被弃用,将在 Stein 版本中删除。请使用标准的 keystoneauth 参数名称 endpoint_override 代替。

错误修复

  • 等待置备状态达到(通过 CLI --wait 参数或 wait_for_provision_state 函数)不再在节点的 last_error 字段被填充时中止。如果由于锁定导致来自 ramdisk 的心跳失败,则可能导致正常的部署中止 - 请参阅 故事 2002094

2.3.0

新特性

  • 为以下命令添加了对 rescue_interface 的支持。它们从 ironic API 微版本 1.38 开始可用。

    • openstack baremetal node create

    • openstack baremetal node show

    • openstack baremetal node set

    • openstack baremetal node unset

    • openstack baremetal driver list

    • openstack baremetal driver show

  • 添加了以下命令到 OSC,以支持 ironic 中可用的从 API 版本 1.38 开始的救援模式

    • openstack baremetal node rescue

    • openstack baremetal node unrescue

2.2.0

新特性

  • 允许 python API 用户将 latest 传递给客户端创建请求的 os_ironic_api_version 参数。因此,用于 REST API 请求的版本将是客户端和服务器都理解的最高版本。

  • 添加了基本客户端属性,以便向 python API 用户提供有关将使用的当前 REST API 版本以及是否已发生 API 版本协商的信息。这些新属性分别是 client.current_api_versionclient.is_api_version_negotiated

  • 添加了额外的基本客户端方法,允许 python API 用户触发版本协商并返回协商后的版本。这个新方法是 client.negotiate_api_version()

  • os_ironic_api_version 参数现在接受要与远程服务器协商的 REST API 微版本列表。列表中最高的可用微版本将在客户端会话的剩余时间内进行协商。

  • 添加了对读取和修改节点特征的支持,包括将特征添加到节点的详细输出中。这从 Bare Metal API 版本 1.37 开始可用。

    新命令是

    • openstack baremetal node trait list <node>

    • openstack baremetal node add trait <node> <trait> [...]

    • openstack baremetal node remove trait <node> [<trait> [...]] [--all]

    它还向 Python SDK 添加了以下方法

    • NodeManager.get_traits

    • NodeManager.add_trait

    • NodeManager.set_traits

    • NodeManager.remove_trait

    • NodeManager.remove_all_traits

错误修复

  • 修复了 bug 1745099,该 bug 阻止用户通过 openstack baremetal port group set 命令将端口组的模式设置为整数值。

其他说明

  • 支持的最大版本现在定义在 common/http.py 文件中。添加到 API 客户端库的任何新功能都必须增加此版本。

  • OpenStackClient 插件支持的最大已知版本现在由 common/http.py 文件中定义的 API 协商的最大支持版本决定。

2.1.0

错误修复

  • openstack baremetal node power <on|off> 替换为两个命令

    • openstack baremetal node power on

    • openstack baremetal node power off.

    用户输入的命令没有变化(实际命令行相同)。但是,帮助(例如,通过 openstack -h baremetal)将列出两个电源命令(而不是原始命令)。

2.0.0

序言

2.0 版本有三个主要变化

  • openstack baremetalironic 命令的默认 API 版本从 1.9 更改为 latestlatest 是客户端和服务器都理解的最高版本。此更改使 CLI 自动提取服务器中的新功能和更改(包括潜在的破坏性更改)。

  • python-ironicclient 包不再将 python-openstackclient (OSC) 包作为依赖项。如果使用 openstack baremetal CLI,则需要 python-openstackclient

  • The ironic 命令行界面 (ironic 命令) 已被弃用,将在 OpenStack S* 版本中移除。请使用 openstack baremetal CLI 代替。

新特性

  • 将缺失的 wanboot 值添加到支持的启动设备列表中。

  • 现在 ironic 命令支持指定 API 版本 1。实际使用的版本将是客户端和服务器都理解的最高 1.x 版本。因此,它当前与 latest 值相同。

  • bare metal OSC 客户端 (openstack baremetal 命令) 现在支持指定 API 版本 1。实际使用的版本将是客户端和服务器都理解的最高 1.x 版本。因此,它当前与 latest 值相同。

  • 添加了在重建节点时指定配置驱动器的能力,通过 --config-drive 选项到 openstack baremetal node rebuild 命令。此功能从 Bare Metal API 版本 1.35 开始可用。

升级说明

  • ironic 命令的默认 API 版本从 1.9 更改为 latestlatest 是客户端和服务器都理解的最高版本。此更改使 CLI 在与新服务器通信时自动获取新功能和更改(包括潜在的破坏性更改)。

    使用先前默认 API 版本或依赖于某些特定 API 行为的脚本应设置 IRONIC_API_VERSION 环境变量或使用 --ironic-api-version CLI 参数。

    注意

    此更改不影响 Python API。

  • bare metal OSC 客户端 (openstack baremetal 命令) 的默认 API 版本从 1.9 更改为 latestlatest 是客户端和服务器都理解的最高版本。此更改使 CLI 在与新服务器通信时自动获取新功能和更改(包括潜在的破坏性更改)。

    使用先前默认 API 版本或依赖于某些特定 API 行为的脚本应设置 OS_BAREMETAL_API_VERSION 环境变量或使用 --os-baremetal-api-version CLI 参数。

    注意

    此更改不影响 Python API。

  • python-ironicclient 包不再将 python-openstackclient 包 (OSC) 作为依赖项。

    仅安装 python-ironicclient 包的用户将不会自动获得访问 openstack baremetal ... OSC 命令的权限。要使它们可用,必须单独安装 python-openstackclient 包,或者通过 pip 安装 python-ironicclient 时,可以使用新的 cli 附加项来同时安装 OSC

    pip install python-ironicclient[cli]
    
  • 这些先前已弃用的命令已被移除,不再可用

    • openstack baremetal delete

    • openstack baremetal list

    • openstack baremetal show

    • openstack baremetal set

    • openstack baremetal unset

    而是使用这些相应的等效命令

    • openstack baremetal node delete

    • openstack baremetal node list

    • openstack baremetal node show

    • openstack baremetal node set

    • openstack baremetal node unset

  • 通过 openstack baremetal create 创建单个节点的支持之前已被弃用;现在不再可用。而是使用等效命令 openstack baremetal node createopenstack baremetal create 的唯一有效用法是从资源文件创建各种资源(机箱、节点、端口组和端口)。

弃用说明

  • ironic 命令行界面 (ironic 命令) 已被弃用,将在 OpenStack S* 版本中移除。请使用 openstack baremetal 命令行界面代替。

错误修复

  • openstack baremetal 命令在指定 latest 作为 API 版本时(通过 --os-baremetal-api-versionexport OS_BAREMETAL_API_VERSION=latest)不再失败。有关更多详细信息,请参阅 bug 1712935

  • 修复了一个错误,当客户端使用 keystone 令牌和包含虚拟主机的 ironic API 端点(例如“http://hostname/baremetal”)实例化时,客户端无法访问 ironic API 服务的错误。有关更多详细信息,请参阅 bug 1721599

  • ironic 命令的用户不再需要指定显式的 API 版本来使用最新功能。默认 API 版本从 1.9 更改为 latest,这是客户端和服务器都理解的最高版本。

  • openstack baremetal 命令的用户不再需要指定显式的 API 版本来使用最新功能。默认 API 版本从 1.9 更改为 latest,这是客户端和服务器都理解的最高版本。

  • 在使用 --os-baremetal-api-version=latest(对于 openstack baremetal CLI)或 --ironic-api-version=latest(对于 ironic CLI)时,生成的 API 版本现在是客户端和服务器都支持的最高 API 版本。 以前,使用客户端支持的最高 API 版本,这阻止了 latest 与旧服务器一起工作。

  • 当仅指定 --target-raid-configopenstack baremetal node set(或 unset)命令中时,不再发出错误的警告“请指定要设置(或取消设置)的内容”。

1.16.0

新特性

  • 添加了对 API 版本 1.34 中引入的 port.physical_network 字段的支持。

弃用说明

  • 目前,ironic 工具的默认 API 版本固定为 1.9。在 Queens 版本中,它将被更改为客户端和服务器都理解的最新版本。在此版本中,如果未提供显式版本,将记录警告。

1.15.0

新特性

  • 添加了这些 openstack baremetalironic CLI 命令,用于卷连接器资源。

    • openstack baremetal volume connector create

    • openstack baremetal volume connector list

    • openstack baremetal volume connector show

    • openstack baremetal volume connector set

    • openstack baremetal volume connector unset

    • openstack baremetal volume connector delete

    • ironic volume-connector-create

    • ironic volume-connector-list

    • ironic volume-connector-show

    • ironic volume-connector-update

    • ironic volume-connector-delete

    它们从 ironic API 微版本 1.32 开始可用。

  • 添加了这些 openstack baremetalironic CLI 命令,用于卷目标资源。

    • openstack baremetal volume target create

    • openstack baremetal volume target list

    • openstack baremetal volume target show

    • openstack baremetal volume target set

    • openstack baremetal volume target unset

    • openstack baremetal volume target delete

    • ironic volume-target-create

    • ironic volume-target-list

    • ironic volume-target-show

    • ironic volume-target-update

    • ironic volume-target-delete

    它们从 ironic API 微版本 1.32 开始可用。

  • 添加了对 storage_interface 的支持,用于以下命令。它们从 ironic API 微版本 1.33 开始可用。

    • openstack baremetal node create

    • openstack baremetal node show

    • openstack baremetal node set

    • openstack baremetal node unset

    • openstack baremetal driver list

    • openstack baremetal driver show

    • ironic node-create

    • ironic node-show

    • ironic node-update

    • ironic driver-list

    • ironic driver-show

弃用说明

  • 目前,OSC 插件的默认 API 版本固定为 1.9。在 Queens 版本中,它将被更改为客户端和服务器都理解的最新版本。在此版本中,如果未提供显式版本,将记录警告。

错误修复

  • --wrap ironic driver-propertiesironic driver-raid-logical-disk-properties 命令的 CLI 参数现在仅接受非负整数作为输入。如果传递负值,将显示错误。

1.14.0

序言

通过此版本,我们已实现了 ironicopenstack baremetal(OpenStack 客户端插件)CLI 之间的功能对等性。

新特性

  • 添加了 openstack baremetal driver property list <driver> 命令。对于指定的驱动程序,这将返回其属性列表以及每个属性的描述。(这些属性的值在节点的 driver_info 中指定。)

  • 添加了 openstack baremetal driver raid property list <driver> 命令。对于指定的驱动程序,这将返回可以指定的 RAID 逻辑磁盘属性列表以及每个属性的描述。(这些属性的值在节点的 target_raid_config 字段中指定。)

  • 对于 OSC 命令 openstack baremetal node list,添加了 --driver <driver> 选项,以将列表限制为具有指定驱动程序的节点。

  • openstack baremetal port create 命令添加了 --uuid 选项,以便可以指定新端口的 UUID。

  • 对于 openstack baremetal port set,添加了以下选项

    • --local-link-connection <key=value>:描述本地链路连接信息的键/值元数据。有效键是 switch_infoswitch_idport_id。键 switch_idport_id 是必需的(重复选项以指定多个键)。

    • --pxe-enabled:指示应使用此端口在 PXE 启动此节点时(默认)。

    • --pxe-disabled:指示不应使用此端口在 PXE 启动此节点时。

1.13.0

新特性

  • 为了支持动态驱动程序(从 ironic API 微版本 1.30 开始可用)

    • ironic driver-list 有两个新的可选参数,--type <type> 用于要列出的驱动程序类型(‘classic’ 或 ‘dynamic’),以及 --detail 用于显示有关驱动程序的详细信息。

    • ironic driver-show 返回更多信息,包括驱动程序类型以及默认和启用的接口。

    • openstack baremetal driver list 有两个新的可选参数,--type <type> 用于要列出的驱动程序类型(‘classic’ 或 ‘dynamic’),以及 --long 用于显示有关驱动程序的详细信息。

    • openstack baremetal driver show 返回更多信息,包括驱动程序类型以及默认和启用的接口。

  • 为 OSC baremetal-node-set 添加了新的参数,以允许设置启动、控制台、部署、检查、管理、电源、RAID 和供应商硬件接口。它们从 ironic API 微版本 1.30 开始可用。

错误修复

  • 允许使用 –provision-state 参数的 OSC node list 命令的所有配置状态。

1.12.0

新特性

  • 为 CLI node-create 添加了新的参数,以允许在硬件类型使用时选择启动、控制台、部署、检查、管理、电源、RAID 和供应商硬件接口。它们从 ironic API 微版本 1.31 开始可用。

升级说明

  • 隐藏 ‘node create’ 和 ‘node show’ OSC 子命令输出中的 ‘states’ 字段,因为该字段不应出现在输出中。

错误修复

  • 修复了一个问题,即 ironic API 中的某些错误消息被抑制了。

1.11.0

新特性

  • 支持通过 ironic createopenstack baremetal create 命令创建端口组。

  • 添加了一个新的命令 “ironic node-inject-nmi” 以支持非屏蔽中断 (NMI) 的注入。

  • 对于 OSC 命令,可选参数 –os-baremetal-api-version(或 OS_BAREMETAL_API_VERSION 环境变量)可以具有 ‘latest’ 值。如果设置为 ‘latest’,则在向 Bare Metal 服务发送请求时将使用客户端已知最新的 API 版本。

  • 添加了一个新的 OSC 命令,用于注入非屏蔽中断 (NMI),即 “openstack baremetal node inject nmi”。

  • 对于 OSC,添加了通过 –no-maintenance 可选参数获取未处于维护模式的节点列表的功能,该参数用于 openstack baremetal node list 命令。

  • openstack baremetal node list 命令添加了一个选项 --unassociated。它提供了获取未与实例关联的节点列表的功能。

  • 为所有 OSC 配置命令(不包括不支持的 abort 命令)添加了一个选项 --wait [<time-out>]。指定后,配置命令将在节点达到所需状态后返回。可以指定一个可选参数 time-out,它将在指定时间后(以秒为单位)结束等待。此超时值的默认值为 0,这意味着它将无限期等待。

错误修复

  • 修复了一个问题,即 OpenStackClient 插件无法使用版本化的 ironic 端点。

1.10.0

新特性

  • 添加了通过 –vif-info <key=value> 选项在 ironic node-vif-attachopenstack baremetal node vif attach 命令中设置自定义 VIF 信息字段的功能。

  • 增强 OSC 以支持带有电源控制超时选项的软重启和软关机。

  • 为 “node-set-power-state” 命令添加了可选参数 ‘–soft’ 和 ‘–power-timeout’。

1.9.0

新特性

  • 通过将 ‘–chassis-uuid’ 参数添加到 ‘openstack baremetal node unset’ 命令,添加了删除节点 chassis_uuid 的可能性。

  • 模式和属性字段已添加到 portgroup 对象,以及相应的 ironic CLI 和 OpenStackClient 插件参数,它们从 ironic API 微版本 1.26 开始可用。

  • 扩展了 Ironic CLI,添加了新的命令

    • ironic portgroup-create

    • ironic portgroup-show

    • ironic portgroup-list

    • ironic portgroup-delete

    • ironic portgroup-update

    • ironic portgroup-port-list

    还通过 –port-group 扩展了 ironic port-create。端口组支持是在 Ironic API 版本 1.24 中添加的。

  • 添加了附加和分离 VIF 的支持。这从 ironic API 微版本 1.28 开始可用。

    新命令是

    • ironic node-vif-list <node>

    • ironic node-vif-attach <node> <vif-id>

    • ironic node-vif-detach <node> <vif-id>

    • openstack baremetal node vif list <node>

    • openstack baremetal node vif attach <node> <vif-id>

    • openstack baremetal node vif detach <node> <vif-id>

  • 可以通过新的 –chassis-uuid 可选参数在 openstack baremetal node set 中设置节点的机箱。

  • 扩展了 OpenStackClient 插件,添加了新的命令

    • openstack baremetal port group create

    • openstack baremetal port group show

    • openstack baremetal port group list

    • openstack baremetal port group delete

    • openstack baremetal port group set

    • openstack baremetal port group unset

    扩展了 ‘openstack baremetal port’ 命令(在适用时),以允许通过新的 –port-group 参数指定端口所属的端口组(如果有)。

错误修复

  • 在适用时,命令的帮助信息将在单独的部分中输出所需的参数和可选参数。例如,命令 ironic help node-createironic help port-create

1.8.0

升级说明

  • 隐藏 ‘chasiss create’ 和 ‘chassis show’ OSC 子命令输出中的 nodes 字段,因为该字段不适用于 CLI 用户。

  • 隐藏 ‘node create’ 和 ‘node show’ OSC 子命令输出中的 ports 字段,因为该字段不适用于 CLI 用户。

错误修复

  • 如果节点在 API 响应中没有 chassis_uuid 字段,则将其作为空字符串添加到节点命令的输出中。

  • 修复了 Python 3 环境中的一个问题,由于 “requests” 库返回字节而不是字符串,导致引发 TypeError 异常。

  • 修复了 ‘ironic create <file>’ 命令,使其能够正确处理文件参数。

  • 对于没有启动设备、不支持的启动设备或没有直通方法的节点资源(以及没有属性或没有直通方法的驱动程序资源),发出请求以获取该信息(例如,‘ironic driver-get-vendor-passthru-methods fake’)将导致错误 “‘NoneType’ has no attribute ‘to_dict’”。此问题已修复;现在返回一个空列表。

  • 修复了 OpenStackClient 插件,使其使用与 Ironic CLI 相同的默认 API 版本(1.9 而不是 1.6)。

  • 修复了 OpenStackClient 插件,使其支持微版本 1.21 和 1.22。

1.7.0

新特性

  • 添加了一个新的 ironic create 命令,该命令创建在多个 JSON (*.json) 或 YAML (*.yaml) 文件中指定的资源(机箱、节点、端口)。

  • 添加了一个新的 openstack baremetal create 命令。与 ironic create 命令类似,此命令创建在多个文件中指定的资源。(请注意,openstack baremetal create 也可以通过指定节点属性来创建节点。但是,此功能自 1.4.0 起已被弃用。)

  • ironic port-showironic port-list --detailironic node-port-list --detail 命令现在在输出中包含 internal_info 字段。

  • 添加了新的 OpenStackClient 命令

    • openstack baremetal chassis create

    • openstack baremetal chassis delete

    • openstack baremetal chassis list

    • openstack baremetal chassis set

    • openstack baremetal chassis show

    • openstack baremetal chassis unset

    • openstack baremetal driver list

    • openstack baremetal driver passthru call

    • openstack baremetal driver passthru list

    • openstack baremetal driver show

    • openstack baremetal node adopt

    • openstack baremetal node boot device set

    • openstack baremetal node boot device show

    • openstack baremetal node console disable

    • openstack baremetal node console enable

    • openstack baremetal node console show

    • openstack baremetal node passthru call

    • openstack baremetal node passthru list

    • openstack baremetal node validate

    • openstack baremetal port delete

    • openstack baremetal port list

    • openstack baremetal port set

    • openstack baremetal port unset

    请参阅每个命令的帮助信息以获取更多信息。

  • openstack baremetal node list 命令添加了一个选项 --chassis <chassis UUID>。它提供了获取指定机箱的节点列表的功能。

  • 允许通过 OpenStackClient 插件命令 openstack baremetal node set --target-raid-configopenstack baremetal node unset --target-raid-config 分别设置和取消设置(清除)节点的 target RAID 配置。

  • ironic node-set-provision-state 命令和关联的 Python API 中的 node.wait_for_provision_state 方法添加了 --wait 标志。该标志适用于所有配置状态更改,但不包括 abort

弃用说明

  • 弃用了 openstack baremetal port create 命令的 -l 参数,以支持 --local-link-connection,因为根据 OpenStackClient 指南,选项应为完整的单词。

错误修复

  • 在没有指定 os_ironic_api_version 的情况下,在创建 v1 客户端时,如果 API 响应中没有 endpoint 字段,则会发生 EndpointException 而不是 IndexError。

1.6.0

新特性

  • 添加了对 API 版本 1.21 中引入的新 node.resource_class 字段的支持。

  • 扩展了 OpenStackClient 插件,添加了新的命令

    • openstack baremetal port show

1.5.0

新特性

  • 添加了对新字段的支持

    • node.network_interface 在 API 1.20 中引入,指定用于节点的网络接口。

    • port.local_link_connection 包含端口绑定配置文件。

    • port.pxe_enabled 指示端口是否启用了 PXE。

    port.local_link_connectionport.pxe_enabled 字段是在 API 1.19 中引入的。

1.4.0

新特性

  • 添加了通过环境变量“IRONICCLIENT_CACHE_EXPIRY”指定 Ironic API 版本缓存的过期时间(以秒为单位)的支持。

  • 为客户端添加了一个 –json 选项,以显示来自 Ironic API 的 JSON 响应体,而不对其进行格式化。

  • 扩展了 OpenStackClient 插件,添加了新的命令

    • openstack baremetal node abort

    • openstack baremetal node clean

    • openstack baremetal node create

    • openstack baremetal node delete - 支持删除多个节点

    • openstack baremetal node deploy

    • openstack baremetal node inspect

    • openstack baremetal node list

    • openstack baremetal node maintenance set

    • openstack baremetal node maintenance unset

    • openstack baremetal node manage

    • openstack baremetal node power

    • openstack baremetal node provide

    • openstack baremetal node reboot

    • openstack baremetal node rebuild

    • openstack baremetal node set

    • openstack baremetal node show

    • openstack baremetal node undeploy

    • openstack baremetal node unset

    • openstack baremetal port create

  • 已添加对 node-set-provision-state 动词 adopt 的支持,该动词需要 API 版本 1.17。此功能允许操作员将节点从 MANAGABLE 状态移动到 ACTIVE 状态,而无需执行清理或部署操作。

弃用说明

  • 弃用以下命令,以支持新的命令

    • openstack baremetal create

    • openstack baremetal delete

    • openstack baremetal list

    • openstack baremetal set

    • openstack baremetal show

    • openstack baremetal unset

    这些将在 ‘Queens’ 版本中移除。

错误修复

  • 如果启用了特定请求的重试,客户端现在将在 keystoneauth 可重试的连接失败时重试。这确保了在 keystone 身份验证服务出现临时网络中断时,将在达到请求的重试次数之前重试请求。

  • 修复了 SessionClient 在执行会话请求时忽略 endpoint_override 的问题,这导致在多区域部署中结果不确定。

1.2.0

新特性

  • 添加了在 CLI 和 get_client 函数中,使用 os_auth_token 代替 os_username 和 os_password 进行 keystone 身份验证的可能性。

  • 添加了对使用相同驱动程序过滤节点的列表命令的支持。

  • 添加了对手动清理 API 的支持;可用 ironic-api-version 1.15 或更高版本。ironic CLI 是“ironic node-set-provision-state –clean-steps <clean-steps> <node> <provision-state>”,其中 <provision-state> 为 ‘clean’,<clean-steps> 是 JSON 格式的清理步骤。可以是包含清理步骤的文件路径;或者 ‘-’,清理步骤从标准输入读取;或者一个字符串。该值应为清理步骤字典列表;每个字典应包含键 ‘interface’ 和 ‘step’,以及可选键 ‘args’。

  • 添加了对 RAID 配置的支持

    • 可以使用 node-set-target-raid-config 设置节点的 target_raid_config。

    • 在 node-show 中显示 target_raid_config 和 raid_config。

    • 使用 driver-raid-logical-disk-properties 显示驱动程序的逻辑磁盘属性。

    应使用 API 版本 1.15 与这些功能一起使用,因为 RAID 配置是在 1.12 中添加的,而手动清理(用于触发 RAID 配置)是在 1.15 中添加的。

  • 切换 HTTP 客户端到 requests 库。它允许客户端使用代理后面的 API,通过设置环境变量 HTTP_PROXY 和 HTTPS_PROXY 来配置代理。

错误修复

  • 在删除多个节点时,即使一个删除失败,也继续删除。

  • 修复了一个删除节点忽略失败并仅打印删除成功和失败的节点结果,始终返回退出代码 0 的问题。现在,如果至少一个节点删除失败,将返回非零退出代码。

其他说明

  • 记录 X-Auth-Token 值的 SHA1 哈希值,并以 ‘{SHA}’ 为前缀。

1.1.0

新特性

  • 为 openstackclient 插件添加了对所有形式为 1.x 的 Ironic API 版本(最高到最新的次要版本)的支持。常规 Ironic CLI 已经支持所有已知版本。

其他说明

  • 开始使用 reno 来管理发布说明。