ironicclient.v1.node 模块¶
- 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>”)。
- 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_by_instance_uuid(instance_uuid, fields=None, 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_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>”)。
- 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,返回操作的最大数量。
limit > 0,要返回的最大节点数。
limit == 0,返回所有节点。
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,返回操作的最大数量。
limit > 0,返回的最大端口数。
limit == 0,返回整个端口列表。
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,返回操作的最大数量。
limit > 0,要返回的最大卷连接器数量。
limit == 0,返回所有卷连接器。
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,返回操作的最大数量。
limit > 0,要返回的最大卷目标数量。
limit == 0,返回所有卷目标。
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>”)。
- 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>”)。
- update(node_id, patch, http_method='PATCH', os_ironic_api_version=None, reset_interfaces=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