Baremetal API¶
有关如何使用 baremetal 的详细信息,请参阅 使用 OpenStack Baremetal
Baremetal 类¶
baremetal 高级接口可通过 Connection 对象的 baremetal 成员访问。只有检测到该服务时,才会添加 baremetal 成员。
节点操作¶
- class openstack.baremetal.v1._proxy.Proxy(session, *, service_type=None, service_name=None, interface=None, region_name=None, endpoint_override=None, version=None, auth=None, user_agent=None, connect_retries=None, logger=None, allow=None, additional_headers=None, client_name=None, client_version=None, allow_version_hack=None, global_request_id=None, min_version=None, max_version=None, default_microversion=None, status_code_retries=None, retriable_status_codes=None, raise_exc=None, rate_limit=None, concurrency=None, connect_retry_delay=None, status_code_retry_delay=None, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None)
- nodes(details=False, **query)
检索节点生成器。
- 参数:
details – 一个布尔值,指示是否应返回每个节点的详细信息。
query (dict) –
可选查询参数,用于限制返回的节点。可用的参数包括
associated:仅返回与instance_id关联或不关联的节点。conductor_group:仅返回指定conductor_group中的节点。driver:仅返回具有指定driver的节点。fault:仅返回具有指定故障类型的节点。fields:一个列表,包含要在响应中返回的一个或多个字段。这可能会带来一些性能提升,因为资源的其它字段不会被刷新。instance_id:仅返回具有此特定实例 UUID 的节点,或者如果未找到则返回一个空集。is_maintenance:仅返回maintenance设置为True或False的节点。limit:请求从查询返回的最大指定节点数。marker:指定上次看到的节点的 ID。使用limit参数进行初始有限请求,并在后续有限请求中使用响应中上次看到的节点的 ID 作为marker值。provision_state:仅返回具有指定provision_state的节点。resource_class:仅返回具有指定resource_class的节点。shard:仅返回与提供的 shard 密钥匹配的节点。sort_dir:按请求的排序方向对响应进行排序。有效值为asc(升序)或desc(降序)。默认值为asc。您可以指定多个排序键和排序方向查询参数。如果在配对中省略了排序方向,则 API 将使用服务器提供的属性的自然排序方向作为sort_key。sort_key:按此属性值对响应进行排序。默认值为id。您可以指定多个排序键和排序方向查询参数。如果在配对中省略了排序方向,则 API 将使用服务器提供的属性的自然排序方向作为sort_key。
- 返回值:
一个
Node生成器
- create_node(**attrs)
从属性创建新节点。
请参阅
create(),了解初始配置状态的说明。
- find_node(name_or_id, ignore_missing=True, **, details=True)
查找单个节点。
- 参数:
name_or_id (str) – 节点的名称或 ID。
ignore_missing (bool) – 当设置为
False时,如果节点不存在,将引发NotFoundException异常。当设置为 True` 时,尝试查找不存在的节点时将返回 None。details – 一个布尔值,指示是否应返回节点的详细信息。
- 返回值:
一个
Node对象或 None。
- get_node(node, fields=None)
获取特定节点。
- 参数:
node – 该值可以是节点的名称或 ID,也可以是
Node实例。fields – 限制要获取的资源字段。
- 返回值:
一个
Node- 引发:
NotFoundException,当找不到匹配名称或 ID 的节点时。
- update_node(node, retry_on_conflict=True, **attrs)
更新节点。
- patch_node(node, patch, reset_interfaces=None, retry_on_conflict=True)
将 JSON 补丁应用于节点。
- set_node_provision_state(node, target, config_drive=None, clean_steps=None, rescue_password=None, wait=False, timeout=None, deploy_steps=None)
运行一个操作,修改节点的配置状态。
此调用是异步的,一旦 Bare Metal 服务确认请求,它将返回成功。
- 参数:
node – 该值可以是节点的名称或 ID,也可以是
Node实例。target – 配置操作,例如
active、provide。请参阅 Bare Metal 服务文档了解可用的操作。config_drive – 要传递给节点的配置驱动器,仅对
active` 和 ``rebuild目标有效。您可以使用openstack.baremetal.configdrive中的函数来构建它。clean_steps – 要执行的清理步骤,仅对
clean目标有效。rescue_password – 救援操作的密码,仅对
rescue目标有效。wait – 是否等待节点进入预期状态。预期状态由当前配置状态和
target的组合确定。timeout – 如果
wait设置为True,则指定等待达到预期状态的时间(以秒为单位)。None(默认值)表示没有客户端超时。deploy_steps – 要执行的部署步骤,仅对
active和rebuild目标有效。
- 返回值:
更新的
Node- 引发:
如果提供无效的
target,则会引发 ValueError,例如config_drive、clean_steps、deploy_steps或rescue_password。
- get_node_boot_device(node)
获取节点启动设备
- 参数:
node – 该值可以是节点的名称或 ID,也可以是
Node实例。- 返回值:
节点的启动设备
- set_node_boot_device(node, boot_device, persistent=False)
设置节点启动设备
- get_node_supported_boot_devices(node)
获取节点支持的启动设备
- 参数:
node – 该值可以是节点的名称或 ID,也可以是
Node实例。- 返回值:
节点的启动设备
- set_node_boot_mode(node, target)
发出请求以更改节点的启动模式
- 参数:
node – 该值可以是节点的名称或 ID,也可以是
Node实例。target – 要设置为节点的启动模式,可以是 ‘uefi’/’bios’ 中的一个。
- set_node_secure_boot(node, target)
发出请求以更改节点的安全启动状态
- 参数:
node – 该值可以是节点的名称或 ID,也可以是
Node实例。target – 布尔值,指示要设置的安全启动状态。True/False 分别对应于 ‘on’/’off’。
- inject_nmi_to_node(node)
向节点注入 NMI。
注入不可屏蔽中断 (NMI) 消息到节点。当响应时间至关重要时使用,例如在无法恢复的硬件错误期间。此外,virsh inject-nmi 对于在 Windows 来宾中触发崩溃转储也很有用。
- 参数:
node – 该值可以是节点的名称或 ID,也可以是
Node实例。- 返回值:
无
- wait_for_nodes_provision_state(nodes, expected_state, timeout=None, abort_on_failed_state=True, fail=True)
等待节点达到预期状态。
- 参数:
nodes – 节点列表 - 名称、ID 或
Node实例。expected_state – 期望的配置状态。
timeout – 如果
wait设置为True,则指定等待达到预期状态的时间(以秒为单位)。None(默认值)表示没有客户端超时。abort_on_failed_state – 如果为
True(默认值),如果任何节点达到与预期状态不匹配的失败状态,则中止等待。请注意,enroll->manageable转换的失败状态是enroll。fail – 如果设置为
False,则此调用不会在超时和配置失败时引发异常。
- 返回值:
如果 fail 为
True(默认值),则返回达到请求状态的Node实例列表。如果 fail 为False,则返回一个WaitResult命名元组。- 引发:
ResourceFailure如果节点达到错误状态并且abort_on_failed_state为True。- 引发:
ResourceTimeout超时时。
- set_node_power_state(node, target, wait=False, timeout=None)
运行一个修改节点电源状态的操作。
此调用是异步的,一旦 Bare Metal 服务确认请求,它将返回成功。
- 参数:
node – 该值可以是节点的名称或 ID,也可以是
Node实例。target – 目标电源状态,可以是
PowerAction或一个字符串。wait – 是否等待节点进入预期状态。
timeout – 如果
wait设置为True,则指定等待达到预期状态的时间(以秒为单位)。None(默认值)表示没有客户端超时。
- wait_for_node_power_state(node, expected_state, timeout=None)
等待节点达到电源状态。
- wait_for_node_reservation(node, timeout=None)
等待节点上的锁被释放。
Ironic 中的裸机节点具有一个预留锁,用于表示一个 conductor 已经锁定了节点,以便执行某些操作,例如作为机器状态更改的结果更改配置。
此锁可能发生在电源同步期间,并防止更新附加到节点的对象,例如端口。
请注意,在本次调用返回后,一个 conductor 仍然可以重新获取锁,因此应将其视为尽力而为。
如果节点上没有预留,则立即返回。
- validate_node(node, required=('boot', 'deploy', 'power'))
验证节点上的必要信息。
- 参数:
node – 该值可以是节点的名称或 ID,也可以是
Node实例。required – 必须通过验证的接口列表。默认值为配置所需的最小接口列表。
- 返回值:
将接口名称映射到
ValidationResult对象的字典。- 引发:
ValidationException如果必需接口的验证失败。
- set_node_maintenance(node, reason=None)
启用节点的维护模式。
- 参数:
node – 该值可以是节点的名称或 ID,也可以是
Node实例。reason – 可选的维护原因。
- 返回值:
此
Node实例。
- unset_node_maintenance(node)
禁用节点的维护模式。
- 参数:
node – 该值可以是节点的名称或 ID,也可以是
Node实例。- 返回值:
此
Node实例。
- delete_node(node, ignore_missing=True)
删除一个节点。
- 参数:
node – 该值可以是节点的名称或 ID,也可以是
Node实例。ignore_missing (bool) – 当设置为
False时,如果找不到节点,将引发异常NotFoundException。当设置为True时,尝试删除不存在的节点不会引发异常。
- 返回值:
被删除的节点实例。
- 返回类型:
Node.
- delete_node(node, ignore_missing=True)
删除一个节点。
- 参数:
node – 该值可以是节点的名称或 ID,也可以是
Node实例。ignore_missing (bool) – 当设置为
False时,如果找不到节点,将引发异常NotFoundException。当设置为True时,尝试删除不存在的节点不会引发异常。
- 返回值:
被删除的节点实例。
- 返回类型:
Node.
- list_node_vendor_passthru(node)
列出节点的 vendor_passthru。
- 参数:
node – 该值可以是节点的名称或 ID,也可以是
Node实例。- 返回值:
节点的 vendor_passthru 方法列表。
- get_node_console(node)
获取节点的控制台。
- 参数:
node – 该值可以是节点的名称或 ID,也可以是
Node实例。- 返回值:
控制台连接信息。
- enable_node_console(node)
启用节点的控制台。
- 参数:
node – 该值可以是节点的名称或 ID,也可以是
Node实例。- 返回值:
无
- disable_node_console(node)
禁用节点的控制台。
- 参数:
node – 该值可以是节点的名称或 ID,也可以是
Node实例。- 返回值:
无
节点 Trait 操作¶
- class openstack.baremetal.v1._proxy.Proxy(session, *, service_type=None, service_name=None, interface=None, region_name=None, endpoint_override=None, version=None, auth=None, user_agent=None, connect_retries=None, logger=None, allow=None, additional_headers=None, client_name=None, client_version=None, allow_version_hack=None, global_request_id=None, min_version=None, max_version=None, default_microversion=None, status_code_retries=None, retriable_status_codes=None, raise_exc=None, rate_limit=None, concurrency=None, connect_retry_delay=None, status_code_retry_delay=None, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None)
- add_node_trait(node, trait)
向节点添加一个 trait。
- 参数:
node – 该值可以是节点的名称或 ID,也可以是
Node实例。trait – 要从节点移除的 trait。
- 返回值:
更新后的节点
- remove_node_trait(node, trait, ignore_missing=True)
从节点移除一个 trait。
- 参数:
node – 该值可以是节点的名称或 ID,也可以是
Node实例。trait – 要从节点移除的 trait。
ignore_missing (bool) – 当设置为
False时,如果找不到 trait,将引发异常NotFoundException。当设置为True时,尝试删除不存在的 trait 不会引发异常。
- 返回值:
更新的
Node
端口操作¶
- class openstack.baremetal.v1._proxy.Proxy(session, *, service_type=None, service_name=None, interface=None, region_name=None, endpoint_override=None, version=None, auth=None, user_agent=None, connect_retries=None, logger=None, allow=None, additional_headers=None, client_name=None, client_version=None, allow_version_hack=None, global_request_id=None, min_version=None, max_version=None, default_microversion=None, status_code_retries=None, retriable_status_codes=None, raise_exc=None, rate_limit=None, concurrency=None, connect_retry_delay=None, status_code_retry_delay=None, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None)
- ports(details=False, **query)
检索端口生成器。
- 参数:
details – 一个布尔值,指示是否应返回每个端口的详细信息。
query (dict) –
可选的查询参数,用于限制返回的端口。可用的参数包括
address:仅返回具有指定物理硬件地址(通常是 MAC 地址)的端口。driver:仅返回具有指定driver的节点。fields:一个列表,包含要在响应中返回的一个或多个字段。这可能会带来一些性能提升,因为资源的其它字段不会被刷新。limit:请求从查询返回的最大端口数。marker:指定上次看到的端口的 ID。使用limit参数进行初始限制请求,并在后续限制请求中使用响应中上次看到的端口的 ID 作为marker值。node:仅返回与此特定节点(名称或 UUID)关联的端口,或者如果未找到则返回一个空集。node_id:仅返回与此特定节点 UUID 关联的端口,或者如果未找到则返回一个空集。portgroup:仅返回与此特定 Portgroup(名称或 UUID)关联的端口,或者如果未找到则返回一个空集。在 API 微版本 1.24 中添加。sort_dir:按请求的排序方向对响应进行排序。有效值为asc(升序)或desc(降序)。默认值为asc。您可以指定多个排序键和排序方向查询参数。如果在配对中省略了排序方向,则 API 将使用服务器提供的属性的自然排序方向作为sort_key。sort_key:按此属性值对响应进行排序。默认值为id。您可以指定多个排序键和排序方向查询参数。如果您在配对中省略排序方向,则 API 将使用提供的服务器属性的自然排序方向作为sort_key。
- 返回值:
端口实例生成器。
- find_port(name_or_id, ignore_missing=True, *, details=True)
查找单个端口。
- 参数:
name_or_id (str) – 端口的 ID。
ignore_missing (bool) – 如果设置为
False,当端口不存在时将引发NotFoundException异常。如果设置为 True`,尝试查找不存在的端口时将返回 None。details – 一个布尔值,指示是否应返回每个端口的详细信息。
- 返回值:
一个
Port对象或 None。
- get_port(port, fields=None)
获取特定的端口。
- 参数:
port – 该值可以是端口的 ID 或一个
Port实例。fields – 限制要获取的资源字段。
- 返回值:
一个
Port- 引发:
NotFoundException,当找不到匹配名称或 ID 的端口时。
- update_port(port, **attrs)
更新一个端口。
- patch_port(port, patch)
将 JSON 补丁应用于端口。
- delete_port(port, ignore_missing=True)
删除一个端口。
- 参数:
port – 该值可以是端口的 ID 或一个
Port实例。ignore_missing (bool) – 如果设置为
False,当找不到端口时将引发NotFoundException异常。如果设置为True,尝试删除不存在的端口时将不会引发异常。
- 返回值:
被删除的端口实例。
- 返回类型:
端口.
端口组操作¶
- class openstack.baremetal.v1._proxy.Proxy(session, *, service_type=None, service_name=None, interface=None, region_name=None, endpoint_override=None, version=None, auth=None, user_agent=None, connect_retries=None, logger=None, allow=None, additional_headers=None, client_name=None, client_version=None, allow_version_hack=None, global_request_id=None, min_version=None, max_version=None, default_microversion=None, status_code_retries=None, retriable_status_codes=None, raise_exc=None, rate_limit=None, concurrency=None, connect_retry_delay=None, status_code_retry_delay=None, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None)
- port_groups(details=False, **query)
检索端口组的生成器。
- 参数:
details – 一个布尔值,指示是否应返回每个端口组的详细信息。
query (dict) –
可选的查询参数,用于限制返回的端口组。可用的参数包括
address:仅返回具有指定物理硬件地址(通常是 MAC 地址)的端口组。fields:一个列表,包含要在响应中返回的一个或多个字段。这可能会带来一些性能提升,因为资源的其它字段不会被刷新。limit:请求从查询返回的最大指定数量的端口组。marker:指定上次看到的端口组的 ID。使用limit参数进行初始的有限请求,并将响应中上次看到的端口组的 ID 作为marker值用于后续的有限请求。node:仅返回与此特定节点(名称或 UUID)关联的端口,或者如果未找到则返回一个空集。sort_dir:按请求的排序方向对响应进行排序。有效值为asc(升序)或desc(降序)。默认值为asc。您可以指定多个排序键和排序方向查询参数。如果在配对中省略了排序方向,则 API 将使用服务器提供的属性的自然排序方向作为sort_key。sort_key:按此属性值对响应进行排序。默认值为id。您可以指定多个排序键和排序方向查询参数。如果您在配对中省略排序方向,则 API 将使用提供的服务器属性的自然排序方向作为sort_key。
- 返回值:
端口组实例的生成器。
- create_port_group(**attrs)
从属性创建新的端口组。
- find_port_group(name_or_id, ignore_missing=True, *, details=True)
查找单个端口组。
- 参数:
name_or_id (str) – 端口组的名称或 ID。
ignore_missing (bool) – 如果设置为
False,当端口组不存在时将引发NotFoundException异常。如果设置为 True`,尝试查找不存在的端口组时将返回 None。details – 一个布尔值,指示是否应返回端口组的详细信息。
- 返回值:
一个
PortGroup对象或 None。
- get_port_group(port_group, fields=None)
获取特定的端口组。
- 参数:
port_group – 该值可以是 chassis 的名称或 ID,也可以是
PortGroup实例。fields – 限制要获取的资源字段。
- 返回值:
一个
PortGroup- 引发:
NotFoundException,当找不到匹配名称或 ID 的端口组时。
- update_port_group(port_group, **attrs)
更新一个端口组。
- patch_port_group(port_group, patch)
将 JSON 补丁应用于 port_group。
- delete_port_group(port_group, ignore_missing=True)
删除一个端口组。
- 参数:
port_group – 该值可以是端口组的名称或 ID,也可以是
PortGroup的一个实例。ignore_missing (bool) – 如果设置为
False,当找不到端口组时将引发NotFoundException异常。如果设置为True,尝试删除不存在的端口组时将不会引发异常。
- 返回值:
被删除的端口组实例。
- 返回类型:
驱动程序操作¶
- class openstack.baremetal.v1._proxy.Proxy(session, *, service_type=None, service_name=None, interface=None, region_name=None, endpoint_override=None, version=None, auth=None, user_agent=None, connect_retries=None, logger=None, allow=None, additional_headers=None, client_name=None, client_version=None, allow_version_hack=None, global_request_id=None, min_version=None, max_version=None, default_microversion=None, status_code_retries=None, retriable_status_codes=None, raise_exc=None, rate_limit=None, concurrency=None, connect_retry_delay=None, status_code_retry_delay=None, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None)
- drivers(details=False, **query)
检索驱动程序的生成器。
- 参数:
details (bool) – 一个布尔值,指示是否应返回每个驱动程序的详细信息。
query (kwargs) – 可选的查询参数,用于限制返回的资源。
- 返回值:
驱动程序实例的生成器。
- get_driver(driver)
获取特定的驱动程序。
- 参数:
driver – 该值可以是驱动程序的名称或一个
Driver实例。- 返回值:
一个
Driver- 引发:
NotFoundException,当找不到匹配名称的驱动程序时。
机箱操作¶
- class openstack.baremetal.v1._proxy.Proxy(session, *, service_type=None, service_name=None, interface=None, region_name=None, endpoint_override=None, version=None, auth=None, user_agent=None, connect_retries=None, logger=None, allow=None, additional_headers=None, client_name=None, client_version=None, allow_version_hack=None, global_request_id=None, min_version=None, max_version=None, default_microversion=None, status_code_retries=None, retriable_status_codes=None, raise_exc=None, rate_limit=None, concurrency=None, connect_retry_delay=None, status_code_retry_delay=None, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None)
- chassis(details=False, **query)
检索机箱的生成器。
- 参数:
details – 一个布尔值,指示是否应返回每个机箱的详细信息。
query (dict) –
可选的查询参数,用于限制返回的机箱。可用的参数包括
fields:一个列表,包含要在响应中返回的一个或多个字段。这可能会带来一些性能提升,因为资源的其它字段不会被刷新。limit:请求从查询返回的最大指定数量的项目。marker:指定上次看到的机箱的 ID。使用limit参数进行初始的有限请求,并将响应中上次看到的机箱的 ID 作为marker值用于后续的有限请求。sort_dir:按请求的排序方向对响应进行排序。有效值为asc(升序)或desc(降序)。默认值为asc。您可以指定多个排序键和排序方向查询参数。如果在配对中省略了排序方向,则 API 将使用服务器提供的属性的自然排序方向作为sort_key。sort_key:按此属性值对响应进行排序。默认值为id。您可以指定多个排序键和排序方向查询参数。如果您在配对中省略排序方向,则 API 将使用提供的服务器属性的自然排序方向作为sort_key。
- 返回值:
机箱实例的生成器。
- find_chassis(name_or_id, ignore_missing=True, *, details=True)
查找单个机箱。
- 参数:
name_or_id (str) – 机箱的 ID。
ignore_missing (bool) – 如果设置为
False,当机箱不存在时将引发NotFoundException异常。如果设置为 True`,尝试查找不存在的机箱时将返回 None。details – 一个布尔值,指示是否应返回机箱的详细信息。
- 返回值:
一个
Chassis对象或 None。
- get_chassis(chassis, fields=None)
获取特定的机箱。
- 参数:
chassis – 该值可以是机箱的 ID,或者是一个
Chassis实例。fields – 限制要获取的资源字段。
- 返回值:
一个
Chassis- 引发:
NotFoundException当找不到匹配名称或 ID 的机箱时。
- update_chassis(chassis, **attrs)
更新一个机箱。
- patch_chassis(chassis, patch)
将 JSON 补丁应用于机箱。
- delete_chassis(chassis, ignore_missing=True)
删除一个机箱。
- 参数:
chassis – 该值可以是机箱的 ID,或者是一个
Chassis实例。ignore_missing (bool) – 当设置为
False时,如果找不到机箱,将引发NotFoundException异常。当设置为True时,尝试删除不存在的机箱时不会引发任何异常。
- 返回值:
被删除的机箱实例。
- 返回类型:
底盘.
虚拟介质操作¶
- class openstack.baremetal.v1._proxy.Proxy(session, *, service_type=None, service_name=None, interface=None, region_name=None, endpoint_override=None, version=None, auth=None, user_agent=None, connect_retries=None, logger=None, allow=None, additional_headers=None, client_name=None, client_version=None, allow_version_hack=None, global_request_id=None, min_version=None, max_version=None, default_microversion=None, status_code_retries=None, retriable_status_codes=None, raise_exc=None, rate_limit=None, concurrency=None, connect_retry_delay=None, status_code_retry_delay=None, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None)
- attach_vmedia_to_node(node, device_type, image_url, image_download_source=None, retry_on_conflict=True)
将虚拟介质设备附加到节点。
- 参数:
node – 该值可以是节点的名称或 ID,也可以是
Node实例。device_type – 虚拟介质设备的类型。
image_url – 要附加的镜像的 URL。
image_download_source – 镜像下载的来源。
retry_on_conflict – 是否重试 HTTP CONFLICT 错误。当虚拟介质已经在节点上使用,或者节点被锁定时,可能会发生这种情况。由于后者更常见,因此默认值为 True。
- 返回值:
无- 引发:
NotSupported如果服务器不支持 VMEDIA API。
- detach_vmedia_from_node(node, device_types=None)
从节点分离虚拟介质。
- 参数:
node – 该值可以是节点的名称或 ID,也可以是
Node实例。device_types – 要分离的虚拟介质设备类型的列表。
- 返回值:
True如果虚拟介质被分离,否则False。- 引发:
NotSupported如果服务器不支持 VMEDIA API。
VIF 操作¶
- class openstack.baremetal.v1._proxy.Proxy(session, *, service_type=None, service_name=None, interface=None, region_name=None, endpoint_override=None, version=None, auth=None, user_agent=None, connect_retries=None, logger=None, allow=None, additional_headers=None, client_name=None, client_version=None, allow_version_hack=None, global_request_id=None, min_version=None, max_version=None, default_microversion=None, status_code_retries=None, retriable_status_codes=None, raise_exc=None, rate_limit=None, concurrency=None, connect_retry_delay=None, status_code_retry_delay=None, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None)
- attach_vif_to_node(node, vif_id, retry_on_conflict=True, **, port_id=None, port_group_id=None)
将 VIF 附加到节点。
VIF ID 的确切形式取决于节点使用的网络接口。在最常见的情况下,它是网络服务端口(而不是裸机端口)ID。VIF 只能附加到一个节点。
- 参数:
node – 该值可以是节点的名称或 ID,也可以是
Node实例。vif_id – 后端特定的 VIF ID。
retry_on_conflict – 是否重试 HTTP CONFLICT 错误。当 VIF 已经在节点上使用,或者节点被锁定时,可能会发生这种情况。由于后者更常见,因此默认值为 True。
port_id – 要附加 VIF 的端口的 UUID。port_id 或 port_group_id 只能提供一个。
port_group_id – 要附加到的端口组的 UUID。port_group_id 或 port_id 只能提供一个。
- 返回值:
无
- 引发:
NotSupported如果服务器不支持 VIF API。- 引发:
InvalidRequest如果同时提供了 port_id 和 port_group_id。
- detach_vif_from_node(node, vif_id, ignore_missing=True)
从节点分离 VIF。
VIF ID 的确切形式取决于节点使用的网络接口。在最常见的情况下,它是网络服务端口(而不是裸机端口)ID。
- 参数:
node – 该值可以是节点的名称或 ID,也可以是
Node实例。vif_id (string) – 后端特定的 VIF ID。
ignore_missing (bool) – 当设置为
False时,如果 VIF 不存在,将引发NotFoundException异常。否则,尝试删除不存在的 VIF 时将返回False。
- 返回值:
True如果 VIF 被分离,否则False。- 引发:
NotSupported如果服务器不支持 VIF API。
- list_node_vifs(node)
列出附加到节点的 VIF ID。
VIF ID 的确切形式取决于节点使用的网络接口。在最常见的情况下,它是网络服务端口(而不是裸机端口)ID。
- 参数:
node – 该值可以是节点的名称或 ID,也可以是
Node实例。- 返回值:
VIF ID 列表,以字符串形式表示。
- 引发:
NotSupported如果服务器不支持 VIF API。
分配操作¶
- class openstack.baremetal.v1._proxy.Proxy(session, *, service_type=None, service_name=None, interface=None, region_name=None, endpoint_override=None, version=None, auth=None, user_agent=None, connect_retries=None, logger=None, allow=None, additional_headers=None, client_name=None, client_version=None, allow_version_hack=None, global_request_id=None, min_version=None, max_version=None, default_microversion=None, status_code_retries=None, retriable_status_codes=None, raise_exc=None, rate_limit=None, concurrency=None, connect_retry_delay=None, status_code_retry_delay=None, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None)
- allocations(**query)
检索分配的生成器。
- 参数:
query (dict) –
可选的查询参数,用于限制返回的分配。可用的参数包括
fields:一个列表,包含要在响应中返回的一个或多个字段。这可能会带来一些性能提升,因为资源的其它字段不会被刷新。limit:请求从查询返回的最大指定数量的项目。marker:指定上次看到的分配的 ID。使用limit参数进行初始的有限请求,并将响应中上次看到的分配的 ID 作为marker值用于后续的有限请求。sort_dir:按请求的排序方向对响应进行排序。有效值为asc(升序)或desc(降序)。默认值为asc。您可以指定多个排序键和排序方向查询参数。如果在配对中省略了排序方向,则 API 将使用服务器提供的属性的自然排序方向作为sort_key。sort_key:按此属性值对响应进行排序。默认值为id。您可以指定多个排序键和排序方向查询参数。如果您在配对中省略排序方向,则 API 将使用提供的服务器属性的自然排序方向作为sort_key。
- 返回值:
分配实例的生成器。
- create_allocation(**attrs)
从属性创建新的分配。
- 参数:
attrs (dict) – 将用于创建
Allocation的关键字参数。- 返回值:
分配创建的结果。
- 返回类型:
分配.
- get_allocation(allocation, fields=None)
获取特定的分配。
- 参数:
allocation – 该值可以是分配的名称或 ID,或者是一个
Allocation实例。fields – 限制要获取的资源字段。
- 返回值:
一个
Allocation- 引发:
NotFoundException当找不到匹配名称或 ID 的分配时。
- update_allocation(allocation, **attrs)
更新一个分配。
- 参数:
allocation – 该值可以是分配的名称或 ID,或者是一个
Allocation实例。attrs (dict) – 要更新到由
allocation参数表示的分配上的属性。
- 返回值:
更新后的分配。
- 返回类型:
- patch_allocation(allocation, patch)
将 JSON 补丁应用于分配。
- 参数:
allocation – 该值可以是分配的名称或 ID,或者是一个
Allocation实例。patch – 要应用的 JSON 补丁。
- 返回值:
更新后的分配。
- 返回类型:
- delete_allocation(allocation, ignore_missing=True)
删除一个分配。
- 参数:
allocation – 该值可以是分配的名称或 ID,或者是一个
Allocation实例。ignore_missing (bool) – 当设置为
False时,如果找不到分配,将引发NotFoundException异常。当设置为True时,尝试删除不存在的分配时不会引发任何异常。
- 返回值:
被删除的分配实例。
- 返回类型:
分配.
- wait_for_allocation(allocation, timeout=None, ignore_error=False)
等待分配变为活动状态。
- 参数:
allocation – 该值可以是分配的名称或 ID,或者是一个
Allocation实例。timeout – 等待分配的时间(以秒为单位)。
None(默认值)表示没有客户端超时。ignore_error – 如果为
True,则当分配达到error状态时,此调用将引发异常。否则,错误状态被视为成功,并且调用返回。
- 返回值:
分配实例。
- 返回类型:
分配.- 引发:
ResourceFailure如果分配失败且ignore_error为False。- 引发:
ResourceTimeout超时时。
Volume Connector 操作¶
- class openstack.baremetal.v1._proxy.Proxy(session, *, service_type=None, service_name=None, interface=None, region_name=None, endpoint_override=None, version=None, auth=None, user_agent=None, connect_retries=None, logger=None, allow=None, additional_headers=None, client_name=None, client_version=None, allow_version_hack=None, global_request_id=None, min_version=None, max_version=None, default_microversion=None, status_code_retries=None, retriable_status_codes=None, raise_exc=None, rate_limit=None, concurrency=None, connect_retry_delay=None, status_code_retry_delay=None, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None)
- volume_connectors(details=False, **query)
检索 volume_connector 的生成器。
- 参数:
details – 一个布尔值,指示是否应返回每个 volume_connector 的详细信息。
query (dict) –
可选查询参数,用于限制返回的 volume_connector。可用的参数包括
fields:一个列表,包含要在响应中返回的一个或多个字段。这可能会带来一些性能提升,因为资源的其它字段不会被刷新。limit:请求从查询返回最多指定数量的 volume_connector。marker:指定最后一个 volume_connector 的 ID。使用limit参数进行初始有限请求,并将响应中最后一个 volume_connector 的 ID 作为marker值用于后续有限请求。node:仅返回与此特定节点(名称或 UUID)关联的端口,或者如果未找到则返回一个空集。sort_dir:按请求的排序方向对响应进行排序。有效值为asc(升序)或desc(降序)。默认值为asc。您可以指定多个排序键和排序方向查询参数。如果在配对中省略了排序方向,则 API 将使用服务器属性的自然排序方向作为提供的sort_key。sort_key:按此属性值对响应进行排序。默认值为id。您可以指定多个排序键和排序方向查询参数。如果您在配对中省略排序方向,则 API 将使用提供的服务器属性的自然排序方向作为sort_key。
- 返回值:
volume_connector 实例的生成器。
- create_volume_connector(**attrs)
从属性创建新的 volume_connector。
- 参数:
attrs (dict) – 关键字参数,将用于创建一个
VolumeConnector。- 返回值:
volume_connector 创建的结果。
- 返回类型:
- find_volume_connector(vc_id, ignore_missing=True, *, details=True)
查找单个 volume connector。
- 参数:
vc_id (str) – volume connector 的 ID。
ignore_missing (bool) – 当设置为
False时,如果 volume connector 不存在,将引发NotFoundException异常。当设置为 True` 时,尝试查找不存在的 volume connector 时将返回 None。details – 一个布尔值,指示是否应返回 volume connector 的详细信息。
- 返回值:
一个
VolumeConnector对象或 None。
- get_volume_connector(volume_connector, fields=None)
获取特定的 volume_connector。
- 参数:
volume_connector – 该值可以是 volume_connector 的 ID 或
VolumeConnector实例。fields – 限制要获取的资源字段。
- 返回值:
一个 :class: ~openstack.baremetal.v1.volume_connector.VolumeConnector
- 引发:
NotFoundException当找不到匹配名称或 ID 的 volume_connector 时。
- update_volume_connector(volume_connector, **attrs)
更新 volume_connector。
- 参数:
volume_connector – volume_connector 的 ID 或
VolumeConnector的实例。attrs (dict) – 要更新到由
volume_connector参数表示的 volume_connector 上的属性。
- 返回值:
更新后的 volume_connector。
- 返回类型:
- patch_volume_connector(volume_connector, patch)
将 JSON 补丁应用于 volume_connector。
- 参数:
volume_connector – 该值可以是 volume_connector 的 ID 或
VolumeConnector实例。patch – 要应用的 JSON 补丁。
- 返回值:
更新后的 volume_connector。
- 返回类型:
- delete_volume_connector(volume_connector, ignore_missing=True)
删除 volume_connector。
- 参数:
volume_connector – 该值可以是 volume_connector.VolumeConnector 的 ID 或
VolumeConnector实例。ignore_missing (bool) – 当设置为
False时,如果找不到 volume_connector,将引发NotFoundException异常。当设置为True时,尝试删除不存在的 volume_connector 时不会引发异常。
- 返回值:
被删除的 volume_connector 实例。
- 返回类型:
Volume Target 操作¶
- class openstack.baremetal.v1._proxy.Proxy(session, *, service_type=None, service_name=None, interface=None, region_name=None, endpoint_override=None, version=None, auth=None, user_agent=None, connect_retries=None, logger=None, allow=None, additional_headers=None, client_name=None, client_version=None, allow_version_hack=None, global_request_id=None, min_version=None, max_version=None, default_microversion=None, status_code_retries=None, retriable_status_codes=None, raise_exc=None, rate_limit=None, concurrency=None, connect_retry_delay=None, status_code_retry_delay=None, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None)
- volume_targets(details=False, **query)
检索 volume_target 的生成器。
- 参数:
details – 一个布尔值,指示是否应返回每个 volume_target 的详细信息。
query (dict) –
可选查询参数,用于限制返回的 volume_targets。可用的参数包括
fields:一个列表,包含要在响应中返回的一个或多个字段。这可能会带来一些性能提升,因为资源的其它字段不会被刷新。limit:请求从查询返回最多指定数量的 volume_connector。marker:指定最后一个 volume_target 的 ID。使用limit参数进行初始有限请求,并将响应中最后一个 volume_target 的 ID 作为marker值用于后续有限请求。node:仅返回与此特定节点(名称或 UUID)关联的端口,或者如果未找到则返回一个空集。sort_dir:按请求的排序方向对响应进行排序。有效值为asc(升序)或desc(降序)。默认值为asc。您可以指定多个排序键和排序方向查询参数。如果在配对中省略了排序方向,则 API 将使用服务器属性的自然排序方向作为提供的sort_key。sort_key:按此属性值对响应进行排序。默认值为id。您可以指定多个排序键和排序方向查询参数。如果您在配对中省略排序方向,则 API 将使用提供的服务器属性的自然排序方向作为sort_key。
- 返回值:
volume_target 实例的生成器。
- create_volume_target(**attrs)
从属性创建新的 volume_target。
- 参数:
attrs (dict) – 关键字参数,将用于创建一个
VolumeTarget。- 返回值:
volume_target 创建的结果。
- 返回类型:
- find_volume_target(vt_id, ignore_missing=True, *, details=True)
查找单个 volume target。
- 参数:
vt_id (str) – volume target 的 ID。
ignore_missing (bool) – 当设置为
False时,如果 volume connector 不存在,将引发NotFoundException异常。当设置为 True` 时,尝试查找不存在的 volume target 时将返回 None。details – 一个布尔值,指示是否应返回 volume target 的详细信息。
- 返回值:
一个
VolumeTarget对象或 None。
- get_volume_target(volume_target, fields=None)
获取特定的 volume_target。
- 参数:
volume_target – 该值可以是 volume_target 的 ID 或
VolumeTarget实例。fields – 限制要获取的资源字段。
- 返回值:
一个
VolumeTarget- 引发:
NotFoundException当找不到匹配名称或 ID 的 volume_target 时。
- update_volume_target(volume_target, **attrs)
更新 volume_target。
- 参数:
volume_target – volume_target 的 ID 或
VolumeTarget的实例。attrs (dict) – 要更新到由
volume_target参数表示的 volume_target 上的属性。
- 返回值:
更新后的 volume_target。
- 返回类型:
- patch_volume_target(volume_target, patch)
将 JSON 补丁应用于 volume_target。
- 参数:
volume_target – 该值可以是 volume_target 的 ID 或
VolumeTarget实例。patch – 要应用的 JSON 补丁。
- 返回值:
更新后的 volume_target。
- 返回类型:
- delete_volume_target(volume_target, ignore_missing=True)
删除 volume_target。
- 参数:
volume_target – 该值可以是 volume_target.VolumeTarget 的 ID 或
VolumeTarget实例。ignore_missing (bool) – 当设置为
False时,如果找不到 volume_target,将引发NotFoundException异常。当设置为True时,尝试删除不存在的 volume_target 时不会引发异常。
- 返回值:
被删除的 volume_target 实例。
- 返回类型:
Deploy Template 操作¶
- class openstack.baremetal.v1._proxy.Proxy(session, *, service_type=None, service_name=None, interface=None, region_name=None, endpoint_override=None, version=None, auth=None, user_agent=None, connect_retries=None, logger=None, allow=None, additional_headers=None, client_name=None, client_version=None, allow_version_hack=None, global_request_id=None, min_version=None, max_version=None, default_microversion=None, status_code_retries=None, retriable_status_codes=None, raise_exc=None, rate_limit=None, concurrency=None, connect_retry_delay=None, status_code_retry_delay=None, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None)
- deploy_templates(details=False, **query)
检索 deploy_templates 的生成器。
- 参数:
details – 一个布尔值,指示是否应返回每个 deploy_templates 的详细信息。
query (dict) – 可选查询参数,用于限制返回的 deploy_templates。
- 返回值:
Deploy 模板实例的生成器。
- create_deploy_template(**attrs)
从属性创建新的 deploy_template。
- 参数:
attrs (dict) – 关键字参数,将用于创建一个
DeployTemplate。- 返回值:
deploy_template 创建的结果。
- 返回类型:
- update_deploy_template(deploy_template, **attrs)
更新 deploy_template。
- 参数:
deploy_template – deploy_template 的 ID 或
DeployTemplate的实例。attrs (dict) – 要更新到由
deploy_template参数表示的 deploy_template 上的属性。
- 返回值:
更新后的 deploy_template。
- 返回类型:
- delete_deploy_template(deploy_template, ignore_missing=True)
删除 deploy_template。
- :param deploy_template:该值可以是
可以是 deploy_template 的 ID,或者一个
DeployTemplate实例。
- 参数:
ignore_missing (bool) – 如果设置为
False,当找不到 deploy_template 时,将引发一个 :class:~openstack.exceptions.NotFoundException 异常。如果设置为True,尝试删除一个不存在的 deploy_template 时将不会引发异常。- 返回值:
被删除的 deploy_template 实例。
- 返回类型:
- get_deploy_template(deploy_template, fields=None)
获取特定的部署模板。
- 参数:
deploy_template – 该值可以是部署模板的名称或 ID,或者一个
DeployTemplate实例。fields – 限制要获取的资源字段。
- 返回值:
- 引发:
NotFoundException当找不到匹配名称或 ID 的部署模板时。
- patch_deploy_template(deploy_template, patch)
将 JSON 补丁应用于 deploy_templates。
- 参数:
deploy_templates – 该值可以是 deploy_template 的 ID,或者一个
DeployTemplate实例。patch – 要应用的 JSON 补丁。
- 返回值:
更新后的 deploy_template。
- 返回类型:
Runbook 操作¶
- class openstack.baremetal.v1._proxy.Proxy(session, *, service_type=None, service_name=None, interface=None, region_name=None, endpoint_override=None, version=None, auth=None, user_agent=None, connect_retries=None, logger=None, allow=None, additional_headers=None, client_name=None, client_version=None, allow_version_hack=None, global_request_id=None, min_version=None, max_version=None, default_microversion=None, status_code_retries=None, retriable_status_codes=None, raise_exc=None, rate_limit=None, concurrency=None, connect_retry_delay=None, status_code_retry_delay=None, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None)
- runbooks(details=False, **query)
检索 runbook 的生成器。
- 参数:
details – 一个布尔值,指示是否应返回每个 runbook 的详细信息。
query (dict) – 可选的查询参数,用于限制要返回的 runbook。
- 返回值:
Runbook 实例的生成器。
- create_runbook(**attrs)
从属性创建新的 runbook。
- update_runbook(runbook, **attrs)
更新 runbook。
- delete_runbook(runbook, ignore_missing=True)
删除 runbook。
- :param runbook:该值可以是
runbook 的 ID,或者一个
Runbook实例。
- 参数:
ignore_missing (bool) – 如果设置为
False,当找不到 runbook 时,将引发一个 :class:~openstack.exceptions.NotFoundException 异常。如果设置为True,尝试删除一个不存在的 runbook 时将不会引发异常。- 返回值:
被删除的 runbook 实例。
- 返回类型:
- get_runbook(runbook, fields=None)
获取特定的 runbook。
- 参数:
runbook – 该值可以是 runbook 的名称或 ID,或者一个
Runbook实例。fields – 限制要获取的资源字段。
- 返回值:
一个
Runbook- 引发:
NotFoundException当找不到匹配名称或 ID 的 runbook 时。
检查规则操作¶
- class openstack.baremetal.v1._proxy.Proxy(session, *, service_type=None, service_name=None, interface=None, region_name=None, endpoint_override=None, version=None, auth=None, user_agent=None, connect_retries=None, logger=None, allow=None, additional_headers=None, client_name=None, client_version=None, allow_version_hack=None, global_request_id=None, min_version=None, max_version=None, default_microversion=None, status_code_retries=None, retriable_status_codes=None, raise_exc=None, rate_limit=None, concurrency=None, connect_retry_delay=None, status_code_retry_delay=None, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None)
- inspection_rules(details=False, **query)
检索检查规则的生成器。
- 参数:
query (dict) – 可选的查询参数,用于限制要返回的检查规则。
- 返回值:
InspectionRule 实例的生成器。
- create_inspection_rule(**attrs)
从属性创建新的检查规则。
- 参数:
attrs (dict) – 将用于创建
InspectionRule的关键字参数。- 返回值:
检查规则创建的结果。
- 返回类型:
- get_inspection_rule(inspection_rule, fields=None)
获取特定的检查规则。
- 参数:
inspection_rule – 检查规则的 ID
InspectionRule实例。fields – 限制要获取的资源字段。
- 返回值:
- 引发:
NotFoundException当找不到匹配 ID 的检查规则时。
- update_inspection_rule(inspection_rule, **attrs)
更新检查规则。
- 参数:
inspection_rule – 可以是检查规则的 ID,或者
InspectionRule的实例。attrs (dict) – 要更新由
inspection_rule参数表示的检查规则的属性。
- 返回值:
更新后的检查规则。
- 返回类型:
- delete_inspection_rule(inspection_rule, ignore_missing=True)
删除检查规则。
- 参数:
inspection_rule – 该值可以是 inspection_rule 的 ID,或者一个
InspectionRule实例。ignore_missing (bool) – 如果设置为
False,当找不到检查规则时,将引发一个NotFoundException异常。如果设置为True,尝试删除一个不存在的检查规则时将不会引发异常。
- 返回值:
被删除的检查规则实例。
- 返回类型:
- patch_inspection_rule(inspection_rule, patch)
将 JSON 补丁应用于检查规则。
- 参数:
inspection_rule – 该值可以是 inspection_rule 的 ID,或者一个
InspectionRule实例。patch – 要应用的 JSON 补丁。
- 返回值:
更新后的检查规则。
- 返回类型:
实用工具¶
构建 config drive¶
用于构建与 Bare Metal 服务兼容的 configdrive 的助手。