ironicclient.v1.node 模块

class ironicclient.v1.node.Node(manager, info, loaded=False)[源代码]

基类: Resource

class ironicclient.v1.node.NodeManager(api)[源代码]

基类: CreateManager

add_trait(node_ident, trait, os_ironic_api_version=None, global_request_id=None)[源代码]

向节点添加一个 trait。

参数:
  • node_ident – 节点的 UUID 或名称。

  • trait – 要添加到节点的 trait。

  • os_ironic_api_version – 用于请求的版本字符串(例如“1.35”)。如果未指定,则使用客户端的默认值。

  • global_request_id – 用于请求的全局请求 ID 标头值的字符串(格式为“req-<UUID>”)。

delete(node_id, os_ironic_api_version=None, global_request_id=None)[源代码]
get(node_id, fields=None, os_ironic_api_version=None, global_request_id=None)[源代码]
get_bios_setting(node_ident, name, os_ironic_api_version=None, global_request_id=None)[源代码]

从节点获取一个 BIOS 设置。

参数:
  • node_ident – 节点的 UUID 或名称。

  • name – 要从节点获取的 BIOS 设置名称。

  • os_ironic_api_version – 用于请求的版本字符串(例如“1.35”)。如果未指定,则使用客户端的默认值。

  • global_request_id – 用于请求的全局请求 ID 标头值的字符串(格式为“req-<UUID>”)。

get_boot_device(node_uuid, os_ironic_api_version=None, global_request_id=None)[源代码]
get_by_instance_uuid(instance_uuid, fields=None, os_ironic_api_version=None, global_request_id=None)[源代码]
get_console(node_uuid, os_ironic_api_version=None, global_request_id=None)[源代码]
get_history_event(node_ident, event, os_ironic_api_version=None, global_request_id=None)[源代码]

获取节点的一个事件记录。

提供请求并返回节点单个事件历史条目的能力。

参数:
  • node_ident – 节点的名称或 UUID。

  • event – 事件条目的 UUID,如节点事件历史列表中所示。

  • os_ironic_api_version – 用于请求的版本字符串(例如“1.35”)。如果未指定,则使用客户端的默认值。

  • global_request_id – 用于请求的全局请求 ID 标头值的字符串(格式为“req-<UUID>”)。

get_history_list(node_ident, detail=False, os_ironic_api_version=None, global_request_id=None)[源代码]

获取节点历史事件列表。

提供从 API 查询节点事件历史列表并将 API 响应返回给调用者的能力。

需要 API 版本 1.78。

参数:
  • node_ident – 节点的名称或 UUID。

  • detail – 是否在事件列表条目中返回详细数据。默认为 False。

  • os_ironic_api_version – 用于请求的版本字符串(例如“1.35”)。如果未指定,则使用客户端的默认值。

  • global_request_id – 用于请求的全局请求 ID 标头值的字符串(格式为“req-<UUID>”)。

get_inventory(node_ident, os_ironic_api_version=None, global_request_id=None)[源代码]

获取节点的硬件清单。

需要 API 版本 1.81。

参数:
  • node_ident – 节点的名称或 UUID。

  • os_ironic_api_version – 用于请求的字符串版本(例如,“1.81”)。如果未指定,则使用客户端的默认版本。

  • global_request_id – 用于请求的全局请求 ID 标头值的字符串(格式为“req-<UUID>”)。

get_supported_boot_devices(node_uuid, os_ironic_api_version=None, global_request_id=None)[源代码]
get_traits(node_ident, os_ironic_api_version=None, global_request_id=None)[源代码]

获取节点的 traits。

参数:
  • node_ident – 节点的 UUID 或名称。

  • os_ironic_api_version – 用于请求的版本字符串(例如“1.35”)。如果未指定,则使用客户端的默认值。

  • global_request_id – 用于请求的全局请求 ID 标头值的字符串(格式为“req-<UUID>”)。

get_vendor_passthru_methods(node_ident, os_ironic_api_version=None, global_request_id=None)[源代码]
inject_nmi(node_uuid, os_ironic_api_version=None, global_request_id=None)[源代码]
list(associated=None, maintenance=None, marker=None, limit=None, detail=False, sort_key=None, sort_dir=None, fields=None, provision_state=None, driver=None, resource_class=None, chassis=None, fault=None, os_ironic_api_version=None, conductor_group=None, conductor=None, owner=None, retired=None, lessee=None, shards=None, sharded=None, parent_node=None, include_children=None, description_contains=None, global_request_id=None)[源代码]

检索节点列表。

参数:
  • associated – 可选。布尔值或布尔值的字符串表示形式,指示是返回关联的(True 或“True”)还是未关联的(False 或“False”)节点。

  • maintenance – 可选。布尔值或布尔值的字符串表示形式,指示是返回处于维护模式(True 或“True”)还是未处于维护模式(False 或“False”)的节点。

  • retired – 可选。布尔值或布尔值的字符串表示形式,指示是返回已退役的节点(True 或“True”)。

  • provision_state – 可选。用于仅获取处于该置备状态的节点的字符串值。

  • marker – 可选,节点的 UUID,例如前一个结果集中的最后一个节点。返回下一个结果集。

  • limit

    每次请求返回的最大结果数,如果

    limit > 0,返回操作的最大数量。

    1. limit > 0,要返回的最大节点数。

    2. limit == 0,返回所有节点。

    3. limit 参数未指定 (None),返回的项目数量受 Ironic API 施加的最大限制影响(请参阅 Ironic 的 api.max_limit 选项)。

  • detail – 可选,布尔值,指示是否返回有关节点的详细信息。

  • sort_dir – 可选,排序方向,可以是 ‘asc’ (默认) 或 ‘desc’。

  • detail – 可选,布尔值,表示是否返回操作的详细信息。

  • fields – 可选,包含要返回的资源指定字段列表。当设置“detail”时,无法使用。

  • driver – 可选。用于仅获取使用该驱动程序的节点的字符串值。

  • resource_class – 可选。用于仅获取具有给定资源类设置的节点的字符串值。

  • chassis – 可选,底盘的 UUID。用于仅获取此底盘的节点。

  • fault – 可选。用于仅获取具有指定故障的节点的字符串值。

  • os_ironic_api_version – 用于请求的版本字符串(例如“1.35”)。如果未指定,则使用客户端的默认值。

  • global_request_id – 用于请求的全局请求 ID 标头值的字符串(格式为“req-<UUID>”)。

  • conductor_group – 可选。用于仅获取具有给定 conductor_group 设置的节点的字符串值。

  • conductor – 可选。用于仅获取映射到给定 conductor 的节点的字符串值。

  • owner – 可选。用于仅获取映射到特定所有者的节点的字符串值。

  • lessee – 可选。用于仅获取映射到特定租户的节点的字符串值。

  • shards – 可选。一个列表,包含指定的一组分片以限制节点返回。

  • sharded – 可选。布尔值,为 true 时仅获取 node.shard 值非空的节点,为 false 时仅获取 node.shard 值为 null 的节点。None 为无操作。当 node.shard 值非空时。

  • parent_node – 可选。用于检索具有提供的父节点的子节点的字符串值。

  • include_children – 可选。布尔值,仅 True 有效。指示 ironic API 枚举通常隐藏在节点列表中的所有子节点。

  • description_contains – 可选。用于获取描述包含指定值的节点的字符串值。

返回值:

节点列表。

list_bios_settings(node_ident, detail=False, fields=None, os_ironic_api_version=None, global_request_id=None)[源代码]

列出节点的所有 BIOS 设置。

参数:
  • node_ident – 节点的 UUID 或名称。

  • os_ironic_api_version – 用于请求的版本字符串(例如“1.35”)。如果未指定,则使用客户端的默认值。

  • global_request_id – 用于请求的全局请求 ID 标头值的字符串(格式为“req-<UUID>”)。

  • detail – 可选,布尔值,指示是否返回有关 BIOS 设置的详细信息。

  • fields – 可选,包含要返回的资源指定字段列表。当设置“detail”时,无法使用。

list_children_of_node(node_id, os_ironic_api_version=None, global_request_id=None)[源代码]

获取给定 node_id 的子节点列表。

参数:
  • node_id – 节点的名称或 UUID。

  • os_ironic_api_version – 用于请求的版本字符串(例如“1.35”)。如果未指定,则使用客户端的默认值。

  • global_request_id – 用于请求的全局请求 ID 标头值的字符串(格式为“req-<UUID>”)。

返回值:

代表给定 node_id 的子节点的 UUID 列表。

list_firmware_components(node_ident, os_ironic_api_version=None, global_request_id=None)[源代码]

列出节点的所有固件组件。

参数:
  • node_ident – 节点的 UUID 或名称。

  • os_ironic_api_version – 用于请求的版本字符串(例如“1.35”)。如果未指定,则使用客户端的默认值。

  • global_request_id – 用于请求的全局请求 ID 标头值的字符串(格式为“req-<UUID>”)。

list_ports(node_id, marker=None, limit=None, sort_key=None, sort_dir=None, detail=False, fields=None, os_ironic_api_version=None, global_request_id=None)[源代码]

列出给定节点的所有端口。

参数:
  • node_id – 节点的名称或 UUID。

  • marker – 可选,端口的 UUID,例如前一个结果集中的最后一个端口。返回下一个结果集。

  • limit

    每次请求返回的最大结果数,如果

    limit > 0,返回操作的最大数量。

    1. limit > 0,返回的最大端口数。

    2. limit == 0,返回整个端口列表。

    3. limit 参数未指定 (None),返回的项目数量受 Ironic API 施加的最大限制影响(请参阅 Ironic 的 api.max_limit 选项)。

  • sort_dir – 可选,排序方向,可以是 ‘asc’ (默认) 或 ‘desc’。

  • detail – 可选,布尔值,表示是否返回操作的详细信息。

  • detail – 可选,一个布尔值,指示是否返回有关端口的详细信息。

  • fields – 可选,包含要返回的资源指定字段列表。当设置“detail”时,无法使用。

  • os_ironic_api_version – 用于请求的版本字符串(例如“1.35”)。如果未指定,则使用客户端的默认值。

  • global_request_id – 用于请求的全局请求 ID 标头值的字符串(格式为“req-<UUID>”)。

返回值:

端口列表。

list_volume_connectors(node_id, marker=None, limit=None, sort_key=None, sort_dir=None, detail=False, fields=None, os_ironic_api_version=None, global_request_id=None)[源代码]

列出给定节点的所有卷连接器。

参数:
  • node_id – 节点的名称或 UUID。

  • marker – 可选,卷连接器的 UUID,例如前一个结果集中的最后一个卷连接器。返回下一个结果集。

  • limit

    每次请求返回的最大结果数,如果

    limit > 0,返回操作的最大数量。

    1. limit > 0,要返回的最大卷连接器数量。

    2. limit == 0,返回所有卷连接器。

    3. limit 参数未指定 (None),返回的项目数量受 Ironic API 施加的最大限制影响(请参阅 Ironic 的 api.max_limit 选项)。

  • sort_dir – 可选,排序方向,可以是 ‘asc’ (默认) 或 ‘desc’。

  • detail – 可选,布尔值,表示是否返回操作的详细信息。

  • detail – 可选,布尔值,指示是否返回有关卷连接器的详细信息。

  • fields – 可选,包含要返回的资源指定字段列表。当设置“detail”时,无法使用。

  • os_ironic_api_version – 用于请求的版本字符串(例如“1.35”)。如果未指定,则使用客户端的默认值。

  • global_request_id – 用于请求的全局请求 ID 标头值的字符串(格式为“req-<UUID>”)。

返回值:

卷连接器列表。

list_volume_targets(node_id, marker=None, limit=None, sort_key=None, sort_dir=None, detail=False, fields=None, os_ironic_api_version=None, global_request_id=None)[源代码]

列出给定节点的所有卷目标。

参数:
  • node_id – 节点的名称或 UUID。

  • marker – 可选,卷目标的 UUID,例如前一个结果集中的最后一个卷目标。返回下一个结果集。

  • limit

    每次请求返回的最大结果数,如果

    limit > 0,返回操作的最大数量。

    1. limit > 0,要返回的最大卷目标数量。

    2. limit == 0,返回所有卷目标。

    3. limit 参数未指定 (None),返回的项目数量受 Ironic API 施加的最大限制影响(请参阅 Ironic 的 api.max_limit 选项)。

  • sort_dir – 可选,排序方向,可以是 ‘asc’ (默认) 或 ‘desc’。

  • detail – 可选,布尔值,表示是否返回操作的详细信息。

  • detail – 可选,布尔值,指示是否返回有关卷目标的详细信息。

  • fields – 可选,包含要返回的资源指定字段列表。当设置“detail”时,无法使用。

  • os_ironic_api_version – 用于请求的版本字符串(例如“1.35”)。如果未指定,则使用客户端的默认值。

  • global_request_id – 用于请求的全局请求 ID 标头值的字符串(格式为“req-<UUID>”)。

返回值:

卷目标列表。

remove_all_traits(node_ident, os_ironic_api_version=None, global_request_id=None)[源代码]

从节点中移除所有 trait。

参数:
  • node_ident – 节点的 UUID 或名称。

  • os_ironic_api_version – 用于请求的版本字符串(例如“1.35”)。如果未指定,则使用客户端的默认值。

  • global_request_id – 用于请求的全局请求 ID 标头值的字符串(格式为“req-<UUID>”)。

remove_trait(node_ident, trait, os_ironic_api_version=None, global_request_id=None)[源代码]

从节点中移除一个 trait。

参数:
  • node_ident – 节点的 UUID 或名称。

  • trait – 要从节点中移除的 trait。

  • os_ironic_api_version – 用于请求的版本字符串(例如“1.35”)。如果未指定,则使用客户端的默认值。

  • global_request_id – 用于请求的全局请求 ID 标头值的字符串(格式为“req-<UUID>”)。

resource_class

alias of Node

set_boot_device(node_uuid, boot_device, persistent=False, os_ironic_api_version=None, global_request_id=None)[源代码]
set_boot_mode(node_id, state, os_ironic_api_version=None, global_request_id=None)[源代码]

设置节点的启动模式。

参数:
  • node_id – 节点标识符

  • state – 目标启动模式之一,“uefi”或“bios”

  • os_ironic_api_version – 用于请求的字符串版本(例如,“1.76”)。如果未指定,则使用客户端的默认版本。

  • global_request_id – 用于请求的全局请求 ID 标头值的字符串(格式为“req-<UUID>”)。

引发:

如果启动模式不是“uefi”/“bios”之一,则抛出 ValueError

返回值:

请求的状态

set_console_mode(node_uuid, enabled, os_ironic_api_version=None, global_request_id=None)[源代码]

设置节点的控制台模式。

参数:
  • node_uuid – 节点的 UUID。

  • enabled – 布尔值或布尔值的字符串表示形式。True 表示启用控制台;False 表示禁用。

  • os_ironic_api_version – 用于请求的版本字符串(例如“1.35”)。如果未指定,则使用客户端的默认值。

  • global_request_id – 用于请求的全局请求 ID 标头值的字符串(格式为“req-<UUID>”)。

set_maintenance(node_id, state, maint_reason=None, os_ironic_api_version=None, global_request_id=None)[源代码]

设置节点的维护模式。

参数:
  • node_id – 节点的 UUID。

  • state – 维护模式;布尔值或布尔值的字符串表示形式(例如,“true”、“on”、“false”、“off”)。True 表示将节点置于维护模式;False 表示将节点移出维护模式。

  • maint_reason – 可选字符串。将节点置于维护模式的原因。

  • os_ironic_api_version – 用于请求的版本字符串(例如“1.35”)。如果未指定,则使用客户端的默认值。

  • global_request_id – 用于请求的全局请求 ID 标头值的字符串(格式为“req-<UUID>”)。

引发:

如果 state 是无效字符串(不表示布尔值),则抛出 InvalidAttribute。

set_power_state(node_id, state, soft=False, timeout=None, os_ironic_api_version=None, global_request_id=None)[源代码]

设置节点的电源状态。

参数:
  • node_id – 节点标识符

  • state – 目标电源状态之一,“on”、“off”或“reboot”

  • soft – 优雅关机或重启的标志

  • timeout – 超时(以秒为单位)正整数值(> 0)

  • os_ironic_api_version – 用于请求的版本字符串(例如“1.35”)。如果未指定,则使用客户端的默认值。

  • global_request_id – 用于请求的全局请求 ID 标头值的字符串(格式为“req-<UUID>”)。

引发:

如果“soft”或“timeout”选项无效,则抛出 ValueError

返回值:

请求的状态

set_provision_state(node_uuid, state, configdrive=None, cleansteps=None, rescue_password=None, os_ironic_api_version=None, global_request_id=None, deploysteps=None, servicesteps=None, runbook=None, disable_ramdisk=None)[源代码]

设置节点的置备状态。

参数:
  • node_uuid – 节点的 UUID 或名称。

  • state – 期望的置备状态。可以是“active”、“deleted”、“rebuild”、“inspect”、“provide”、“manage”、“clean”、“abort”、“rescue”、“unrescue”之一。

  • configdrive

    以下之一:

    • 一个 gzip 压缩的、base64 编码的配置驱动字符串

    • 一个用于构建配置驱动的字典

    • 指向配置驱动文件(ISO 9660 或 VFAT)的路径

    • 指向包含配置驱动文件的目录的路径

    • 指向用于构建配置的 JSON 文件的路径

    如果是目录,则会从中生成一个配置驱动。如果是字典或 JSON 文件,则会在服务器端生成配置驱动(需要 API 版本 1.56)。这仅在将状态设置为“active”时有效。

  • cleansteps – 清理步骤,表示为清理步骤字典列表;每个字典应包含键“interface”和“step”,以及可选键“args”。这必须指定(并且仅在设置 provision-state 为“clean”时有效)。

  • rescue_password – 在节点被救援后,在救援 ramdisk 中用作登录密码的字符串。这必须指定(并且仅在设置 state 为“rescue”时有效)。

  • os_ironic_api_version – 用于请求的版本字符串(例如“1.35”)。如果未指定,则使用客户端的默认值。

  • global_request_id – 用于请求的全局请求 ID 标头值的字符串(格式为“req-<UUID>”)。

  • deploysteps – 部署步骤,表示为部署步骤字典列表;每个字典应包含键“interface”、“step”、“priority”,以及可选键“args”。此项是可选的,并且仅在设置 provision-state 为“active”或“rebuild”时有效。

  • servicesteps – 服务步骤,表示为服务步骤字典列表;在将“active”节点设置为“service”时,每个字典应包含键“interface”、“step”,以及可选键“args”。

  • runbook – 用于置备的预定义 runbook 的标识符。

  • disable_ramdisk – 如果设置为 true,则在清理时不会启动 ironic-python-agent。仅在设置 state 为“clean”或“service”时有效,并且只有明确标记为不需要 ironic-python-agent 的步骤才能使用此选项。

引发:

如果清理步骤或部署步骤存在错误,则抛出 InvalidAttribute。

返回值:

请求的状态

set_secure_boot(node_id, state, os_ironic_api_version=None, global_request_id=None)[源代码]

设置节点的安全启动状态。

参数:
  • node_id – 节点的 UUID。

  • state – 安全启动状态;布尔值或布尔值的字符串表示形式(例如,“true”、“on”、“false”、“off”)。True 表示开启安全启动;False 表示关闭安全启动。

  • os_ironic_api_version – 用于请求的字符串版本(例如,“1.76”)。如果未指定,则使用客户端的默认版本。

  • global_request_id – 用于请求的全局请求 ID 标头值的字符串(格式为“req-<UUID>”)。

引发:

如果 state 是无效字符串(不表示布尔值),则抛出 InvalidAttribute。

set_target_raid_config(node_ident, target_raid_config, os_ironic_api_version=None, global_request_id=None)[源代码]

设置节点的 target_raid_config。

参数:
  • node_ident – 节点标识符

  • target_raid_config – 一个包含目标 RAID 配置的字典;可以为空。

  • os_ironic_api_version – 用于请求的版本字符串(例如“1.35”)。如果未指定,则使用客户端的默认值。

  • global_request_id – 用于请求的全局请求 ID 标头值的字符串(格式为“req-<UUID>”)。

返回值:

请求的状态

set_traits(node_ident, traits, os_ironic_api_version=None, global_request_id=None)[源代码]

设置节点的 traits。

移除任何现有的 traits,并添加通过此方法传递的 traits。

参数:
  • node_ident – 节点的 UUID 或名称。

  • traits – 要添加到节点的 traits 列表。

  • os_ironic_api_version – 用于请求的版本字符串(例如“1.35”)。如果未指定,则使用客户端的默认值。

  • global_request_id – 用于请求的全局请求 ID 标头值的字符串(格式为“req-<UUID>”)。

states(node_uuid, os_ironic_api_version=None, global_request_id=None)[源代码]
update(node_id, patch, http_method='PATCH', os_ironic_api_version=None, reset_interfaces=None, global_request_id=None)[源代码]
validate(node_uuid, os_ironic_api_version=None, global_request_id=None)[源代码]
vendor_passthru(node_id, method, args=None, http_method=None, os_ironic_api_version=None, global_request_id=None)[源代码]

对给定节点发出特定于供应商的操作请求。

参数:
  • node_id – 节点的 UUID。

  • method – 供应商方法的名称。

  • args – 可选。要传递给方法的参数。

  • http_method – 请求使用的 HTTP 方法。默认为 POST。

  • os_ironic_api_version – 用于请求的版本字符串(例如“1.35”)。如果未指定,则使用客户端的默认值。

  • global_request_id – 用于请求的全局请求 ID 标头值的字符串(格式为“req-<UUID>”)。

vif_attach(node_ident, vif_id, os_ironic_api_version=None, global_request_id=None, **kwargs)[源代码]

将 VIF 附加到给定的节点。

参数:
  • node_ident – 节点的 UUID 或名称。

  • vif_id – 要附加的 VIF 的 UUID 或名称。

  • os_ironic_api_version – 用于请求的版本字符串(例如“1.35”)。如果未指定,则使用客户端的默认值。

  • global_request_id – 用于请求的全局请求 ID 标头值的字符串(格式为“req-<UUID>”)。

  • kwargs – 一个包含将要创建的资源的属性的字典。

vif_detach(node_ident, vif_id, os_ironic_api_version=None, global_request_id=None)[源代码]

从给定的节点分离 VIF。

参数:
  • node_ident – 节点的 UUID 或名称。

  • vif_id – 要分离的 VIF 的 UUID 或名称。

  • os_ironic_api_version – 用于请求的版本字符串(例如“1.35”)。如果未指定,则使用客户端的默认值。

  • global_request_id – 用于请求的全局请求 ID 标头值的字符串(格式为“req-<UUID>”)。

vif_list(node_ident, os_ironic_api_version=None, global_request_id=None)[源代码]

列出已附加到给定节点的 VIF。

参数:
  • node_ident – 节点的 UUID 或名称。

  • os_ironic_api_version – 用于请求的版本字符串(例如“1.35”)。如果未指定,则使用客户端的默认值。

  • global_request_id – 用于请求的全局请求 ID 标头值的字符串(格式为“req-<UUID>”)。

wait_for_provision_state(node_ident, expected_state, timeout=0, poll_interval=2, poll_delay_function=None, fail_on_unexpected_state=True, os_ironic_api_version=None, global_request_id=None)[源代码]

等待节点达到给定状态的辅助函数。

循环轮询 Ironic API,直到节点达到请求的状态。

在以下情况下失败:* 超时(如果提供)达到* 节点的 last_error 被设置为非空值* 意外的稳定状态被达到且 fail_on_unexpected_state 为 true* 达到错误状态(如果它不等于 expected_state)

参数:
  • node_ident – 节点 UUID 或名称(单个或列表)

  • expected_state – 期望的最终置备状态

  • timeout – 超时(以秒为单位),0 表示无超时

  • poll_interval – 两次轮询之间的间隔(以秒为单位)

  • poll_delay_function – 用于在轮询之间等待的函数(默认为 time.sleep)。它应该接受一个参数——延迟时间(以秒为单位)。在此函数内引发的任何异常都将中止等待。

  • fail_on_unexpected_state – 如果节点达到不同的稳定状态,是否失败。

  • os_ironic_api_version – 用于请求的版本字符串(例如“1.35”)。如果未指定,则使用客户端的默认值。

  • global_request_id – 用于请求的全局请求 ID 标头值的字符串(格式为“req-<UUID>”)。

引发:

如果节点达到错误状态,则抛出 StateTransitionFailed

引发:

超时时抛出 StateTransitionTimeout