Bare Metal Introspection API¶
默认情况下,ironic-inspector 监听 [::]:5050,主机和端口可以在配置文件中更改。协议是基于 HTTP 的 JSON。
警告
ironic-inspector 项目处于维护模式,其 API 参考仅供参考。新的应用程序应使用 baremetal API 代替。
API 版本¶
概念¶
为了随着时间的推移为用户带来新功能,Ironic Inspector API 支持版本控制。存在两种类型的版本
主要 版本,它们具有专用的 URL。微版本,可以通过使用X-OpenStack-Ironic-Inspector-API-Version头部或新的标准单数头部OpenStack-API-Version: baremetal-introspection <version>来请求。
版本 API 的工作方式与其他 API 不同,因为它们不需要身份验证。
所有 API 请求都支持新的标准单数头部 OpenStack-API-Version: baremetal-introspection <version> 和旧版 X-OpenStack-Ironic-Inspector-API-Version 头部。
这两个头部中的任何一个都应该包含在每个请求中;如果没有这两个头部,服务器将默认使用所有响应中当前支持的版本。
这将获取部署中所有已知主要 API 版本的所有信息。将为每个主要 API 版本提供指向更具体信息的链接,以及有关支持的最小和最大微版本的信息。
正常响应代码:200
请求¶
响应示例¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
versions |
body |
数组 |
当前支持的版本信息的数组。 |
id |
body |
字符串 |
API 微版本,例如“1.12”。 |
links |
body |
数组 |
一个相对链接列表。包括 self 和 bookmark 链接。 |
status |
body |
字符串 |
此 API 版本的状态。它可以是以下之一:
|
x-openstack-ironic-inspector-api-min-version |
标头 |
字符串 |
此端点支持的最小 API 微版本,例如“1.1”。 |
x-openstack-ironic-inspector-api-max-version |
标头 |
字符串 |
此端点支持的最大 API 微版本,例如“1.10”。 |
{
"versions": [
{
"id": "1.12",
"links": [
{
"href": "http://127.0.0.1:5050/v1",
"rel": "self"
}
],
"status": "CURRENT"
}
]
}
显示 Ironic Inspector v1 API 中的所有资源。
正常响应代码:200
请求¶
响应示例¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
resources |
body |
数组 |
一个可用的 API 资源列表。 |
links |
body |
数组 |
一个相对链接列表。包括 self 和 bookmark 链接。 |
href |
body |
字符串 |
指向资源对象的书签链接。 |
rel |
body |
字符串 |
版本与 href 之间的关系。 |
name |
body |
字符串 |
资源名称,例如 introspection、rules。 |
x-openstack-ironic-inspector-api-min-version |
标头 |
字符串 |
此端点支持的最小 API 微版本,例如“1.1”。 |
x-openstack-ironic-inspector-api-max-version |
标头 |
字符串 |
此端点支持的最大 API 微版本,例如“1.10”。 |
{
"resources": [
{
"links": [
{
"href": "http://127.0.0.1:5050/v1/introspection",
"rel": "self"
}
],
"name": "introspection"
},
{
"links": [
{
"href": "http://127.0.0.1:5050/v1/continue",
"rel": "self"
}
],
"name": "continue"
},
{
"links": [
{
"href": "http://127.0.0.1:5050/v1/rules",
"rel": "self"
}
],
"name": "rules"
}
]
}
版本历史记录¶
1.0 引入版本控制时的 API 版本。
1.1 添加了检索存储的内省数据的端点。
1.2 用于操作内省规则的端点。
1.3 用于取消正在运行的内省的端点。
1.4 用于重新应用存储数据的内省的端点。
1.5 支持 Ironic 节点名称。
1.6 规则创建端点在成功时返回 201 而不是 200。
1.7 UUID、
started_at、finished_at在内省状态 API 中。1.8 支持列出所有内省状态。
1.9 禁用设置 IPMI 凭据,如果请求 IPMI 凭据,API 将返回 HTTP 400 响应。
1.10 将节点状态添加到
GET /v1/introspection/<node>和GET /v1/introspectionAPI 响应数据中。1.11 将
invert和多个字段添加到规则响应数据中。1.12 此版本表示已完全从 API 中删除设置 IPMI 凭据的支持(所有版本)。
1.13 为内省 API 添加了
manage_boot参数。1.14 允许将格式应用于内省规则的操作中嵌套在字典和列表中的字符串。
1.15 允许使用请求中提供的内省数据重新应用。
1.16 将
scope字段添加到内省规则中。1.17 添加了
GET /v1/introspection/<node>/data/unprocessed。1.18 添加了状态选择器
GET /v1/introspection?state=starting,...。
节点内省 (introspection)¶
通过 /v1/introspection 资源启动内省、获取内省状态。 还有几个子资源,允许对内省执行进一步的操作。
启动节点 {node_id} 的硬件内省。 在调用此端点之前,需要完成此节点的任何电源管理配置。
如果缺少或身份验证无效,响应代码将分别为 401 和 403。 如果 Inspector 未找到节点 {node_id},它将返回 404。
正常响应代码:202
错误代码:400、401、403、404
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
node_id |
路径 |
字符串 |
Ironic 节点的 UUID。 |
manage_boot (可选) |
查询 |
字符串 |
当前 ironic-inspector 的安装是否可以管理节点的 PXE 启动。 |
返回的状态列表按 started_at, uuid 属性对排序,较新的项目优先。
如果缺少或身份验证无效,响应代码将为 401 和 403。
正常响应代码:200
错误代码:400、401、403
请求¶
状态列表可以使用以下查询字符串字段进行分页
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
marker (可选) |
查询 |
字符串 |
使用 |
limit (可选) |
查询 |
整数 |
请求一页的项目大小。 返回最多 limit 值数量的项目。 使用 |
state |
body |
字符串 |
当前内省状态,可能的值: |
响应¶
响应将包含状态对象列表
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
error |
body |
字符串 |
错误描述字符串或 |
finished |
body |
布尔值 |
此节点的内省是否完成。 |
finished_at |
body |
字符串 |
内省完成的 UTC ISO8601 时间戳或 |
links |
body |
数组 |
一个相对链接列表。包括 self 和 bookmark 链接。 |
started_at |
body |
字符串 |
内省开始的 UTC ISO8601 时间戳。 |
state |
body |
字符串 |
当前内省状态,可能的值: |
uuid |
路径 |
字符串 |
Ironic 节点的 UUID。 |
内省的示例 JSON 表示形式
{
"introspection": [
{
"error": null,
"finished": true,
"finished_at": "2017-08-17T11:36:16",
"links": [
{
"href": "http://127.0.0.1:5050/v1/introspection/05ccda19-581b-49bf-8f5a-6ded99701d87",
"rel": "self"
}
],
"started_at": "2017-08-17T11:33:43",
"state": "finished",
"uuid": "05ccda19-581b-49bf-8f5a-6ded99701d87"
},
{
"error": null,
"finished": true,
"finished_at": "2017-08-16T12:24:30",
"links": [
{
"href": "http://127.0.0.1:5050/v1/introspection/c244557e-899f-46fa-a1ff-5b2c6718616b",
"rel": "self"
}
],
"started_at": "2017-08-16T12:22:01",
"state": "finished",
"uuid": "c244557e-899f-46fa-a1ff-5b2c6718616b"
}
]
}
显示节点内省状态。
如果缺少或身份验证无效,响应代码将为 401 和 403。 如果 Inspector 未找到节点 {node_id},它将返回 404。
正常响应代码:200
错误代码:400、401、403、404
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
node_id |
路径 |
字符串 |
Ironic 节点的 UUID。 |
响应¶
响应将包含完整的内省信息,例如开始时间、结束时间、内省状态、任何错误。
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
error |
body |
字符串 |
错误描述字符串或 |
finished |
body |
布尔值 |
此节点的内省是否完成。 |
finished_at |
body |
字符串 |
内省完成的 UTC ISO8601 时间戳或 |
links |
body |
数组 |
一个相对链接列表。包括 self 和 bookmark 链接。 |
started_at |
body |
字符串 |
内省开始的 UTC ISO8601 时间戳。 |
state |
body |
字符串 |
当前内省状态,可能的值: |
uuid |
路径 |
字符串 |
Ironic 节点的 UUID。 |
内省的示例 JSON 表示形式
{
"error": null,
"finished": true,
"finished_at": "2017-08-16T12:24:30",
"links": [
{
"href": "http://127.0.0.1:5050/v1/introspection/c244557e-899f-46fa-a1ff-5b2c6718616b",
"rel": "self"
}
],
"started_at": "2017-08-16T12:22:01",
"state": "finished",
"uuid": "c244557e-899f-46fa-a1ff-5b2c6718616b"
}
内省管理 (introspection)¶
可以通过内省子资源中止内省、获取内省数据和重新应用内省。
中止正在运行的内省。
正常响应代码:202
错误代码
400 - 请求错误
401、403 - 缺少或身份验证无效
404 - 找不到节点
409 - inspector 已锁定此节点进行处理
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
node_id |
路径 |
字符串 |
Ironic 节点的 UUID。 |
返回成功内省的存储数据。
注意
我们不提供有关存储数据格式和内容的任何向后兼容性保证。 特别是,它取决于使用的 ramdisk 和 ramdisk 本身以及 inspector 中启用的插件。
正常响应代码:200
错误代码
400 - 请求错误
401、403 - 缺少或身份验证无效
404 - 找不到数据或未配置数据存储
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
node_id |
路径 |
字符串 |
Ironic 节点的 UUID。 |
响应¶
响应将包含 JSON 字符串形式的内省数据。
内省数据的示例 JSON 表示形式
{
"cpu_arch":"x86_64",
"macs":[
"52:54:00:4e:3d:30"
],
"root_disk":{
"rotational":true,
"vendor":"0x1af4",
"name":"/dev/vda",
"hctl":null,
"wwn_vendor_extension":null,
"wwn_with_extension":null,
"model":"",
"wwn":null,
"serial":null,
"size":13958643712
},
"interfaces":{
"eth0":{
"ip":"172.24.42.100",
"mac":"52:54:00:4e:3d:30",
"pxe":true,
"client_id":null
}
},
"cpus":2,
"boot_interface":"52:54:00:4e:3d:30",
"memory_mb":2048,
"ipmi_address":"192.167.2.134",
"inventory":{
"bmc_address":"192.167.2.134",
"interfaces":[
{
"lldp":null,
"product":"0x0001",
"vendor":"0x1af4",
"name":"eth1",
"has_carrier":true,
"ipv4_address":"172.24.42.101",
"client_id":null,
"mac_address":"52:54:00:47:20:4d"
},
{
"lldp":null,
"product":"0x0001",
"vendor":"0x1af4",
"name":"eth0",
"has_carrier":true,
"ipv4_address":"172.24.42.100",
"client_id":null,
"mac_address":"52:54:00:4e:3d:30"
}
],
"disks":[
{
"rotational":true,
"vendor":"0x1af4",
"name":"/dev/vda",
"hctl":null,
"wwn_vendor_extension":null,
"wwn_with_extension":null,
"model":"",
"wwn":null,
"serial":null,
"size":13958643712
}
],
"boot":{
"current_boot_mode":"bios",
"pxe_interface":"52:54:00:4e:3d:30"
},
"system_vendor":{
"serial_number":"Not Specified",
"product_name":"Bochs",
"manufacturer":"Bochs"
},
"memory":{
"physical_mb":2048,
"total":2105864192
},
"cpu":{
"count":2,
"frequency":"2100.084",
"flags": [
"fpu",
"mmx",
"fxsr",
"sse",
"sse2"
],
"architecture":"x86_64"
}
},
"error":null,
"local_gb":12,
"all_interfaces":{
"eth1":{
"ip":"172.24.42.101",
"mac":"52:54:00:47:20:4d",
"pxe":false,
"client_id":null
},
"eth0":{
"ip":"172.24.42.100",
"mac":"52:54:00:4e:3d:30",
"pxe":true,
"client_id":null
}
}
}
返回内省的存储原始(未处理)数据。
版本 1.17 中添加:现在可以检索未处理的内省数据。
注意
我们不提供有关存储数据格式和内容的任何向后兼容性保证。 特别是,它取决于使用的 ramdisk 和 ramdisk 本身以及 inspector 中启用的插件。
正常响应代码:200
错误代码
400 - 请求错误
401、403 - 缺少或身份验证无效
404 - 找不到数据或未配置数据存储
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
node_id |
路径 |
字符串 |
Ironic 节点的 UUID。 |
响应¶
响应将包含 JSON 字符串形式的内省数据。
内省数据的示例 JSON 表示形式
{
"cpu_arch":"x86_64",
"macs":[
"52:54:00:4e:3d:30"
],
"root_disk":{
"rotational":true,
"vendor":"0x1af4",
"name":"/dev/vda",
"hctl":null,
"wwn_vendor_extension":null,
"wwn_with_extension":null,
"model":"",
"wwn":null,
"serial":null,
"size":13958643712
},
"interfaces":{
"eth0":{
"ip":"172.24.42.100",
"mac":"52:54:00:4e:3d:30",
"pxe":true,
"client_id":null
}
},
"cpus":2,
"boot_interface":"52:54:00:4e:3d:30",
"memory_mb":2048,
"ipmi_address":"192.167.2.134",
"inventory":{
"bmc_address":"192.167.2.134",
"interfaces":[
{
"lldp":null,
"product":"0x0001",
"vendor":"0x1af4",
"name":"eth1",
"has_carrier":true,
"ipv4_address":"172.24.42.101",
"client_id":null,
"mac_address":"52:54:00:47:20:4d"
},
{
"lldp":null,
"product":"0x0001",
"vendor":"0x1af4",
"name":"eth0",
"has_carrier":true,
"ipv4_address":"172.24.42.100",
"client_id":null,
"mac_address":"52:54:00:4e:3d:30"
}
],
"disks":[
{
"rotational":true,
"vendor":"0x1af4",
"name":"/dev/vda",
"hctl":null,
"wwn_vendor_extension":null,
"wwn_with_extension":null,
"model":"",
"wwn":null,
"serial":null,
"size":13958643712
}
],
"boot":{
"current_boot_mode":"bios",
"pxe_interface":"52:54:00:4e:3d:30"
},
"system_vendor":{
"serial_number":"Not Specified",
"product_name":"Bochs",
"manufacturer":"Bochs"
},
"memory":{
"physical_mb":2048,
"total":2105864192
},
"cpu":{
"count":2,
"frequency":"2100.084",
"flags": [
"fpu",
"mmx",
"fxsr",
"sse",
"sse2"
],
"architecture":"x86_64"
}
},
"error":null,
"local_gb":12,
"all_interfaces":{
"eth1":{
"ip":"172.24.42.101",
"mac":"52:54:00:47:20:4d",
"pxe":false,
"client_id":null
},
"eth0":{
"ip":"172.24.42.100",
"mac":"52:54:00:4e:3d:30",
"pxe":true,
"client_id":null
}
}
}
此方法在存储的内省数据或请求中提供的原始内省数据上触发内省。 如果内省数据在请求主体中提供,则应是类似于 ramdisk 回调请求的有效 JSON。
版本 1.15 中添加:可以通过请求主体发送未处理的内省数据。
注意
只有通过 [processing]store_data 启用存储后端时,才能重新应用存储数据上的内省。
正常响应代码:202
错误代码
400 - 请求错误,未配置存储或请求主体中的数据格式错误
401、403 - 缺少或身份验证无效
404 - 节点 ID 找不到节点
409 - inspector 锁定节点进行处理
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
node_id |
路径 |
字符串 |
Ironic 节点的 UUID。 |
处理内省数据¶
在 ramdisk 从裸机节点收集所需信息后,它应该通过 POST /v1/continue API 将其发布回 Inspector。
警告
提醒操作员不要将 Ironic Inspector API 暴露给不安全和不受信任的网络。 以下 API 可供未经验证的客户端使用,因为 ironic-python-agent ramdisk 无法访问 keystone 凭据。
这是 ramdisk 发布所有发现的数据的 API。 不应由 ramdisk 以外的客户端使用。
完整的硬件清单键列表可以在 ironic-python-agent 文档中找到:硬件清单。
正常响应代码:201
错误代码:400
请求¶
强制硬件键列表
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
inventory |
body |
对象 |
包含硬件清单键的字典。 |
memory |
body |
字符串 |
内存信息,至少包含 |
cpu |
body |
字符串 |
CPU 信息,至少包含 |
interfaces |
body |
数组 |
接口信息字典列表,包含以下键
|
disks |
body |
数组 |
磁盘块设备列表,至少包含 |
root_disk |
body |
字符串 |
由 ironic-python-agent 算法计算的默认部署根磁盘。 注意 默认处理挂钩 |
bmc_address (可选) |
body |
字符串 |
节点的 BMC 的 IP 地址 |
boot_interface (可选) |
body |
字符串 |
通过 PXE 启动的 NIC 的 MAC 地址 |
错误 (可选) |
body |
字符串 |
在 ramdisk 运行时发生的一个错误,由 |
日志 (可选) |
body |
字符串 |
来自 ramdisk 的 Base64 编码日志。 |
示例节点内省继续请求
{
"root_disk": {
"rotational": true,
"vendor": "0x1af4",
"name": "/dev/vda",
"hctl": null,
"wwn_vendor_extension": null,
"wwn_with_extension": null,
"model": "",
"wwn": null,
"serial": null,
"size": 13958643712
},
"boot_interface": "52:54:00:4e:3d:30",
"inventory": {
"bmc_address": "192.167.2.134",
"interfaces": [
{
"lldp": null,
"product": "0x0001",
"vendor": "0x1af4",
"name": "eth1",
"has_carrier": true,
"ipv4_address": "172.24.42.101",
"client_id": null,
"mac_address": "52:54:00:47:20:4d"
},
{
"lldp": null,
"product": "0x0001",
"vendor": "0x1af4",
"name": "eth0",
"has_carrier": true,
"ipv4_address": "172.24.42.100",
"client_id": null,
"mac_address": "52:54:00:4e:3d:30"
}
],
"disks": [
{
"rotational": true,
"vendor": "0x1af4",
"name": "/dev/vda",
"hctl": null,
"wwn_vendor_extension": null,
"wwn_with_extension": null,
"model": "",
"wwn": null,
"serial": null,
"size": 13958643712
}
],
"memory": {
"physical_mb": 2048,
"total": 2105864192
},
"cpu": {
"count": 2,
"frequency": "2100.084",
"flags": [
"fpu",
"mmx",
"fxsr",
"sse",
"sse2",
],
"architecture": "x86_64"
}
},
"logs": "<hidden>"
}
响应¶
响应将包含 Ironic 节点 uuid 记录。
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
uuid |
body |
字符串 |
Ironic 节点 UUID。 |
示例 JSON 表示
{
"uuid": "c244557e-899f-46fa-a1ff-5b2c6718616b"
}
内省规则¶
用于定义规则的简单基于 JSON 的 DSL,这些规则在内省期间运行。有关规则的更多信息,请参阅 https://docs.openstack.org/ironic-inspector/2025.2/user/usage.html#introspection-rules。
创建一个新的内省规则。
正常响应代码
200 - API 版本 < 1.6 的 OK
201 - API 版本 1.6 及更高版本的 OK
错误代码
400 - 规则格式错误
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
uuid |
路径 |
字符串 |
Ironic Inspector 规则的 UUID。 |
条件 (可选) |
body |
数组 |
规则中逻辑语句或操作的列表,可以评估为 True 或 False。 |
动作 |
body |
数组 |
如果此规则的 |
description (可选) |
body |
字符串 |
规则的人类可读描述。 |
scope (可选) |
body |
字符串 |
内省规则的范围。如果设置,则该规则仅应用于具有匹配 |
示例创建规则请求
{
"uuid":"7459bf7c-9ff9-43a8-ba9f-48542ecda66c",
"description":"Set deploy info if not already set on node",
"actions":[
{
"action":"set-attribute",
"path":"driver_info/deploy_kernel",
"value":"8fd65-c97b-4d00-aa8b-7ed166a60971"
},
{
"action":"set-attribute",
"path":"driver_info/deploy_ramdisk",
"value":"09e5420c-6932-4199-996e-9485c56b3394"
}
],
"conditions":[
{
"op":"is-empty",
"field":"node://driver_info.deploy_ramdisk"
},
{
"op":"is-empty",
"field":"node://driver_info.deploy_kernel"
}
],
"scope":"Delivery_1"
}
Response¶
响应将包含完整的规则对象,此外 condition 部分可能包含额外的默认字段,例如 invert、multiple 和 field,请参阅 `条件 https://docs.openstack.org/ironic-inspector/2025.2/user/usage.html#conditions>`_
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
uuid |
路径 |
字符串 |
Ironic Inspector 规则的 UUID。 |
条件 (可选) |
body |
数组 |
规则中逻辑语句或操作的列表,可以评估为 True 或 False。 |
动作 |
body |
数组 |
如果此规则的 |
description (可选) |
body |
字符串 |
规则的人类可读描述。 |
scope (可选) |
body |
字符串 |
内省规则的范围。如果设置,则该规则仅应用于具有匹配 |
示例 JSON 表示
{
"actions": [
{
"action": "set-attribute",
"path": "driver_info/deploy_kernel",
"value": "8fd65-c97b-4d00-aa8b-7ed166a60971"
},
{
"action": "set-attribute",
"path": "driver_info/deploy_ramdisk",
"value": "09e5420c-6932-4199-996e-9485c56b3394"
}
],
"conditions": [
{
"field": "node://driver_info.deploy_ramdisk",
"invert": false,
"multiple": "any",
"op": "is-empty"
},
{
"field": "node://driver_info.deploy_kernel",
"invert": false,
"multiple": "any",
"op": "is-empty"
}
],
"description": "Set deploy info if not already set on node",
"links": [
{
"href": "/v1/rules/7459bf7c-9ff9-43a8-ba9f-48542ecda66c",
"rel": "self"
}
],
"uuid": "7459bf7c-9ff9-43a8-ba9f-48542ecda66c",
"scope": ""
}
列出所有内省规则
正常响应代码:200
响应¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
uuid |
路径 |
字符串 |
Ironic Inspector 规则的 UUID。 |
description (可选) |
body |
字符串 |
规则的人类可读描述。 |
scope (可选) |
body |
字符串 |
内省规则的范围。如果设置,则该规则仅应用于具有匹配 |
links |
body |
数组 |
一个相对链接列表。包括 self 和 bookmark 链接。 |
示例 JSON 表示
{
"rules": [
{
"description": "Set deploy info if not already set on node",
"links": [
{
"href": "/v1/rules/7459bf7c-9ff9-43a8-ba9f-48542ecda66c",
"rel": "self"
}
],
"uuid": "7459bf7c-9ff9-43a8-ba9f-48542ecda66c"
},
{
"description": "Set IPMI driver_info if no credentials",
"links": [
{
"href": "/v1/rules/b0ea6361-03cd-467c-859c-7230547dcb9a",
"rel": "self"
}
],
"uuid": "b0ea6361-03cd-467c-859c-7230547dcb9a"
}
]
}
通过其 uuid 获取一个内省规则
正常响应代码:200
错误代码
404 - 未找到规则
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
uuid |
路径 |
字符串 |
Ironic Inspector 规则的 UUID。 |
响应¶
响应将包含完整的规则对象
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
uuid |
路径 |
字符串 |
Ironic Inspector 规则的 UUID。 |
条件 (可选) |
body |
数组 |
规则中逻辑语句或操作的列表,可以评估为 True 或 False。 |
动作 |
body |
数组 |
如果此规则的 |
description (可选) |
body |
字符串 |
规则的人类可读描述。 |
scope (可选) |
body |
字符串 |
内省规则的范围。如果设置,则该规则仅应用于具有匹配 |
示例 JSON 表示
{
"actions": [
{
"action": "set-attribute",
"path": "driver",
"value": "agent_ipmitool"
},
{
"action": "set-attribute",
"path": "driver_info/ipmi_username",
"value": "username"
},
{
"action": "set-attribute",
"path": "driver_info/ipmi_password",
"value": "password"
}
],
"conditions": [
{
"field": "node://driver_info.ipmi_password",
"invert": false,
"multiple": "any",
"op": "is-empty"
},
{
"field": "node://driver_info.ipmi_username",
"invert": false,
"multiple": "any",
"op": "is-empty"
}
],
"description": "Set IPMI driver_info if no credentials",
"links": [
{
"href": "/v1/rules/b0ea6361-03cd-467c-859c-7230547dcb9a",
"rel": "self"
}
],
"uuid": "b0ea6361-03cd-467c-859c-7230547dcb9a"
}
删除所有内省规则
正常响应代码:204
通过 uuid 删除内省规则。
正常响应代码:204
错误代码
404 - 未找到规则
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
uuid |
路径 |
字符串 |
Ironic Inspector 规则的 UUID。 |