第 17 章 裸机恢复服务命令行客户端


ironic 客户端是 Bare Metal 服务 API 及其扩展命令行界面(CLI)。本章记录了 ironic 版本 0.8.1
有关特定 ironic 命令的帮助信息,请输入:
$ ironic help COMMAND

17.1. Ironic 用法

usage: ironic [--insecure] [--os-cacert <ca-certificate>] [--os-cert <certificate>] [--os-key <key>] [--timeout <seconds>] [--os-user-domain-id OS_USER_DOMAIN_ID] [--os-user-domain-name OS_USER_DOMAIN_NAME] [--os-project-id OS_PROJECT_ID] [--os-project-name OS_PROJECT_NAME] [--os-project-domain-id OS_PROJECT_DOMAIN_ID] [--os-project-domain-name OS_PROJECT_DOMAIN_NAME] [--version] [--debug] [-v] [--cert-file OS_CERT] [--key-file OS_KEY] [--ca-file OS_CACERT] [--os-username OS_USERNAME] [--os-password OS_PASSWORD] [--os-tenant-id OS_TENANT_ID] [--os-tenant-name OS_TENANT_NAME] [--os-auth-url OS_AUTH_URL] [--os-region-name OS_REGION_NAME] [--os-auth-token OS_AUTH_TOKEN] [--ironic-url IRONIC_URL] [--ironic-api-version IRONIC_API_VERSION] [--os-service-type OS_SERVICE_TYPE] [--os-endpoint OS_ENDPOINT] [--os-endpoint-type OS_ENDPOINT_TYPE] [--max-retries MAX_RETRIES] [--retry-interval RETRY_INTERVAL] <subcommand> ...

子命令

chassis-create
创建新的机箱。
chassis-delete
删除机箱。
chassis-list
列出机箱。
chassis-node-list
列出机箱中包含的节点。
chassis-show
显示有关机箱的详细信息。
chassis-update
更新有关机箱的信息。
node-create
使用 Ironic 服务注册新节点。
node-delete
从 Ironic 服务取消节点注册。
node-get-boot-device
获取节点的当前引导设备。
node-get-console
如果启用,获取节点控制台的连接信息。
node-get-supported-boot-devices
获取节点支持的引导设备。
node-list
列出使用 Ironic 服务注册的节点。
node-port-list
列出与节点关联的端口。
node-set-boot-device
为节点设置引导设备。
node-set-console-mode
为节点启用或禁用串行控制台访问。
node-set-maintenance
为节点启用或禁用维护模式。
node-set-power-state
打开或关闭节点或重新引导。
node-set-provision-state
置备、重建、删除、检查、提供或管理实例。
node-show
显示节点的详细信息。
node-show-states
显示有关节点状态的信息。
node-update
更新有关注册节点的信息。
node-validate
验证节点的驱动程序接口。
node-vendor-passthru
为节点调用 vendor-passthru 扩展。
port-create
创建新端口。
port-delete
删除端口。
port-list
列出端口。
port-show
显示端口的详细信息。
port-update
更新有关端口的信息。
driver-list
列出已启用的驱动程序。
driver-properties
获取驱动程序的属性。
driver-show
显示驱动程序的相关信息。
driver-vendor-passthru
为驱动程序打电话 vendor-passthru 扩展。
bash-completion
打印 bash 补全的所有命令和选项。
帮助
显示有关该程序或其其中一个子命令的帮助。

17.2. ironic 可选参数

--insecure
明确允许客户端执行"不安全"TLS (https)请求。服务器的证书不会针对任何证书颁发机构进行验证。这个选项应谨慎使用。
--os-cacert <ca-certificate>
指定用于验证 TLS (https)服务器证书中使用的 CA 捆绑包文件。默认为 env[OS_CACERT]
--os-cert <certificate>
默认为 env[OS_CERT]
--os-key <key>
默认为 env[OS_KEY]
--timeout <seconds>
设置请求超时(以秒为单位)。
--os-user-domain-id OS_USER_DOMAIN_ID
默认为 env[OS_USER_DOMAIN_ID]
--os-user-domain-name OS_USER_DOMAIN_NAME
默认为 env[OS_USER_DOMAIN_NAME]
--os-project-id OS_PROJECT_ID
指定租户 ID 的另一种方式。这个选项与 --os-tenant-id 相互排斥。默认为 env[OS_PROJECT_ID]
--os-project-name OS_PROJECT_NAME
指定租户名称的另一种方法。这个选项与 --os-tenant-name 相互排斥。默认为 env[OS_PROJECT_NAME]
--os-project-domain-id OS_PROJECT_DOMAIN_ID
默认为 env[OS_PROJECT_DOMAIN_ID]
--os-project-domain-name OS_PROJECT_DOMAIN_NAME
默认为 env[OS_PROJECT_DOMAIN_NAME]
--version
显示程序的版本号并退出
--debug
默认为 env[IRONICCLIENT_DEBUG]
-v, --verbose
打印更详细的输出
--cert-file OS_CERT
弃用!使用 --os-cert。
--key-file OS_KEY
弃用!使用 --os-key。
--ca-file OS_CACERT
弃用!使用 --os-cacert。
--os-username OS_USERNAME
默认为 env[OS_USERNAME]
--os-password OS_PASSWORD
默认为 env[OS_PASSWORD]
--os-tenant-id OS_TENANT_ID
默认为 env[OS_TENANT_ID]
--os-tenant-name OS_TENANT_NAME
默认为 env[OS_TENANT_NAME]
--os-auth-url OS_AUTH_URL
默认为 env[OS_AUTH_URL]
--os-region-name OS_REGION_NAME
默认为 env[OS_REGION_NAME]
--os-auth-token OS_AUTH_TOKEN
默认为 env[OS_AUTH_TOKEN]
--ironic-url IRONIC_URL
默认为 env[IRONIC_URL]
--ironic-api-version IRONIC_API_VERSION
接受 1.x (其中 "x" 是微版本)或 "latest",默认为 env[IRONIC_API_VERSION] 或 1
--os-service-type OS_SERVICE_TYPE
默认为 env[OS_SERVICE_TYPE] 或 "baremetal"
--os-endpoint OS_ENDPOINT
指定要使用的端点,而不是从服务目录检索端点(通过身份验证)。默认为 env[OS_SERVICE_ENDPOINT]
--os-endpoint-type OS_ENDPOINT_TYPE
默认为 env[OS_ENDPOINT_TYPE] 或 "publicURL"
--max-retries MAX_RETRIES
冲突错误时的最大重试次数(HTTP 409)。默认为 env[IRONIC_MAX_RETRIES] 或 5。使用 0 禁用重试。
--retry-interval RETRY_INTERVAL
冲突错误时重试间隔时间(以秒为单位)(HTTP 409)。默认为 env[IRONIC_RETRY_INTERVAL] 或 2。

17.3. ironic chassis-create

usage: ironic chassis-create [-d <description>] [-e <key=value>]
创建新的机箱。

可选参数

-d <description>, --description <description>
机箱的描述。
-e <key=value>, --extra <key=value>
记录任意键/值元数据。可多次指定。

17.4. ironic chassis-delete

usage: ironic chassis-delete <chassis> [<chassis> ...]
删除机箱。

positional 参数

<chassis>
机箱的 UUID。

17.5. Ironic chassis-list

usage: ironic chassis-list [--detail] [--limit <limit>] [--marker <chassis>] [--sort-key <field>] [--sort-dir <direction>] [--fields <field> [<field> ...]]
列出机箱。

可选参数

--detail
显示有关机箱的详细信息。
--limit <limit>
每个请求返回的最大机箱数,0 代表没有限制。default 是 Ironic API 服务使用的最大数量。
--marker <chassis>
机箱 UUID (例如,上一个请求列表中最后一个机箱)。在此 UUID 后返回机箱列表。
--sort-key <field>
用于排序的 chassis 字段。
--sort-dir <direction>
排序方向:"asc" (默认)或"desc"。
--fields <field> [<field> ...]
一个或多个机箱字段。只有这些字段才会从服务器获取。当指定 '-- detail' 时,无法使用。

17.6. ironic chassis-node-list

usage: ironic chassis-node-list [--detail] [--limit <limit>] [--marker <node>] [--sort-key <field>] [--sort-dir <direction>] [--fields <field> [<field> ...]] <chassis>
列出机箱中包含的节点。

positional 参数

<chassis>
机箱的 UUID。

可选参数

--detail
显示节点的详细信息。
--limit <limit>
每个请求返回的最大节点数,0 代表没有限制。default 是 Ironic API 服务使用的最大数量。
--marker <node>
节点 UUID (例如,上一个请求列表中的最后一个节点)。在此 UUID 后返回节点列表。
--sort-key <field>
用于排序的节点字段。
--sort-dir <direction>
排序方向:"asc" (默认)或"desc"。
--fields <field> [<field> ...]
一个或多个节点字段。只有这些字段才会从服务器获取。当指定 '-- detail' 时,无法使用。

17.7. Ironic chassis-show

usage: ironic chassis-show [--fields <field> [<field> ...]] <chassis>
显示有关机箱的详细信息。

positional 参数

<chassis>
机箱的 UUID。

可选参数

--fields <field> [<field> ...]
一个或多个机箱字段。只有这些字段才会从服务器获取。

17.8. ironic chassis-update

usage: ironic chassis-update <chassis> <op> <path=value> [<path=value> ...]
更新有关机箱的信息。

positional 参数

<chassis>
机箱的 UUID。
<op>
操作:'add'、'replace' 或 'remove'。
<path=value>
要添加、替换或删除的属性。可多次指定。对于 'remove',只需要 <path>。

17.9. ironic driver-list

usage: ironic driver-list
列出已启用的驱动程序。

17.10. ironic driver-properties

usage: ironic driver-properties <driver>
获取驱动程序的属性。

positional 参数

<driver>
驱动程序的名称。

17.11. ironic driver-show

usage: ironic driver-show <driver>
显示驱动程序的相关信息。

positional 参数

<driver>
驱动程序的名称。

17.12. ironic driver-vendor-passthru

usage: ironic driver-vendor-passthru [--http-method <http-method>] <driver> <method> [<arg=value> [<arg=value> ...]]
为驱动程序打电话 vendor-passthru 扩展。

positional 参数

<driver>
驱动程序的名称。
<method>
要调用的 vendor-passthru 方法。
<arg=value>
传递给 vendor-passthru 方法的参数。可多次指定。

可选参数

--http-method <http-method>
请求中使用的 HTTP 方法。有效的 HTTP 方法有: 'POST'、'PUT'、'GET'、'DELETE' 和 'PATCH'。默认为 'POST'。

17.13. ironic node-create

usage: ironic node-create [-c <chassis>] -d <driver> [-i <key=value>] [-p <key=value>] [-e <key=value>] [-u <uuid>] [-n <name>]
使用 Ironic 服务注册新节点。

可选参数

-c <chassis>, --chassis <chassis>
此节点所属的机箱的 UUID。
-d <driver>, --driver <driver>
用于控制节点的驱动程序 [REQUIRED]。
-i <key=value>, --driver-info <key=value>
驱动程序使用的键/值对,如带外管理凭证。可多次指定。
-p <key=value>, --properties <key=value>
键/值对描述节点的物理特性。这会导出到 Nova,并由调度程序使用。可多次指定。
-e <key=value>, --extra <key=value>
记录任意键/值元数据。可多次指定。
-u <uuid>, --uuid <uuid>
节点的唯一 UUID。
-n <name>, --name <name>
节点的唯一名称。

17.14. Ironic node-delete

usage: ironic node-delete <node> [<node> ...]
从 Ironic 服务取消节点注册。

positional 参数

<node>
节点的名称或 UUID。

17.15. ironic node-get-boot-device

usage: ironic node-get-boot-device <node>
获取节点的当前引导设备。

positional 参数

<node>
节点的名称或 UUID。

17.16. ironic node-get-console

usage: ironic node-get-console <node>
如果启用,获取节点控制台的连接信息。

positional 参数

<node>
节点的名称或 UUID。

17.17. ironic node-get-supported-boot-devices

usage: ironic node-get-supported-boot-devices <node>
获取节点支持的引导设备。

positional 参数

<node>
节点的名称或 UUID。

17.18. Ironic node-list

usage: ironic node-list [--limit <limit>] [--marker <node>] [--sort-key <field>] [--sort-dir <direction>] [--maintenance <boolean>] [--associated <boolean>] [--provision-state <provision-state>] [--detail] [--fields <field> [<field> ...]]
列出使用 Ironic 服务注册的节点。

可选参数

--limit <limit>
每个请求返回的最大节点数,0 代表没有限制。default 是 Ironic API 服务使用的最大数量。
--marker <node>
节点 UUID (例如,上一个请求列表中的最后一个节点)。在此 UUID 后返回节点列表。
--sort-key <field>
用于排序的节点字段。
--sort-dir <direction>
排序方向:"asc" (默认)或"desc"。
--maintenance <boolean>
以维护模式列出节点:'true' 或 'false'。
--associated <boolean>
按实例关联列出节点: 'true' 或 'false'。
--provision-state <provision-state>
列出处于指定置备状态的节点。
--detail
显示节点的详细信息。
--fields <field> [<field> ...]
一个或多个节点字段。只有这些字段才会从服务器获取。当指定 '-- detail' 时,无法使用。

17.19. ironic node-port-list

usage: ironic node-port-list [--detail] [--limit <limit>] [--marker <port>] [--sort-key <field>] [--sort-dir <direction>] [--fields <field> [<field> ...]] <node>
列出与节点关联的端口。

positional 参数

<node>
节点的 UUID。

可选参数

--detail
显示有关端口的详细信息。
--limit <limit>
每个请求返回的最大端口数,0 代表没有限制。default 是 Ironic API 服务使用的最大数量。
--marker <port>
端口 UUID (例如,上一个请求列表中的最后一个端口)。返回此 UUID 后端口列表。
--sort-key <field>
用于排序的端口字段。
--sort-dir <direction>
排序方向:"asc" (默认)或"desc"。
--fields <field> [<field> ...]
一个或多个端口字段。只有这些字段才会从服务器获取。当指定 '-- detail' 时,无法使用。

17.20. ironic node-set-boot-device

usage: ironic node-set-boot-device [--persistent] <node> <boot-device>
为节点设置引导设备。

positional 参数

<node>
节点的名称或 UUID。
<boot-device>
'pxe', 'disk', 'cdrom', 'bios', 或 'safe'。

可选参数

--persistent
使更改在将来的所有启动都会保留。

17.21. ironic node-set-console-mode

usage: ironic node-set-console-mode <node> <enabled>
为节点启用或禁用串行控制台访问。

positional 参数

<node>
节点的名称或 UUID。
<enabled>
为节点启用或禁用控制台访问:'true' 或 'false'。

17.22. ironic node-set-maintenance

usage: ironic node-set-maintenance [--reason <reason>] <node> <maintenance-mode>
为节点启用或禁用维护模式。

positional 参数

<node>
节点的名称或 UUID。
<maintenance-mode>
'true' 或 'false'; 'on' 或 'off'。

可选参数

--reason <reason>
将维护模式设置为 'true' 或 'on' 的原因; 当设置为 'false' 或 'off' 时无效。

17.23. ironic node-set-power-state

usage: ironic node-set-power-state <node> <power-state>
打开或关闭节点或重新引导。

positional 参数

<node>
节点的名称或 UUID。
<power-state>
'on', 'off', 或 'reboot'。

17.24. ironic node-set-provision-state

usage: ironic node-set-provision-state [--config-drive <config-drive>] <node> <provision-state>
置备、重建、删除、检查、提供或管理实例。

positional 参数

<node>
节点的名称或 UUID。
<provision-state>
支持状态: 'active', 'deleted', 'rebuild', 'inspect', 'provide' 或 'manage'

可选参数

--config-drive <config-drive>
gzipped, base64 编码的配置驱动器驱动器字符串,或配置驱动器文件的路径或包含配置驱动器文件的目录的路径。如果是目录,则会从其中生成配置驱动器。这个参数仅在将 provision 状态设置为 'active' 时才有效。

17.25. ironic node-show

usage: ironic node-show [--instance] [--fields <field> [<field> ...]] <id>
显示节点的详细信息。

positional 参数

<id>
节点的名称或 UUID (如果指定了 --instance,则为实例 UUID)。

可选参数

--instance <id>
是实例 UUID。
--fields <field> [<field> ...]
一个或多个节点字段。只有这些字段才会从服务器获取。

17.26. ironic node-show-states

usage: ironic node-show-states <node>
显示有关节点状态的信息。

positional 参数

<node>
节点的名称或 UUID。

17.27. ironic node-update

usage: ironic node-update <node> <op> <path=value> [<path=value> ...]
更新有关注册节点的信息。

positional 参数

<node>
节点的名称或 UUID。
<op>
操作:'add'、'replace' 或 'remove'。
<path=value>
要添加、替换或删除的属性。可多次指定。对于 'remove',只需要 <path>。

17.28. ironic node-validate

usage: ironic node-validate <node>
验证节点的驱动程序接口。

positional 参数

<node>
节点的名称或 UUID。

17.29. ironic node-vendor-passthru

usage: ironic node-vendor-passthru [--http-method <http-method>] <node> <method> [<arg=value> [<arg=value> ...]]
为节点调用 vendor-passthru 扩展。

positional 参数

<node>
节点的名称或 UUID。
<method>
要调用的 vendor-passthru 方法。
<arg=value>
传递给 vendor-passthru 方法的参数。可以指定 mutiple。

可选参数

--http-method <http-method>
请求中使用的 HTTP 方法。有效的 HTTP 方法有: 'POST'、'PUT'、'GET'、'DELETE' 和 'PATCH'。默认为 'POST'。

17.30. ironic port-create

usage: ironic port-create -a <address> -n <node> [-e <key=value>]
创建新端口。

可选参数

-a <address>, --address <address>
此端口的 MAC 地址。
-n <node>, --node <node>, --node_uuid <node>
此端口所属节点的 UUID。
-e <key=value>, --extra <key=value>
记录任意键/值元数据。可多次指定。

17.31. ironic port-delete

usage: ironic port-delete <port> [<port> ...]
删除端口。

positional 参数

<port>
端口的 UUID。

17.32. ironic port-list

usage: ironic port-list [--detail] [--address <mac-address>] [--limit <limit>] [--marker <port>] [--sort-key <field>] [--sort-dir <direction>] [--fields <field> [<field> ...]]
列出端口。

可选参数

--detail
显示有关端口的详细信息。
--address <mac-address>
仅显示具有此 MAC 地址的端口的信息。
--limit <limit>
每个请求返回的最大端口数,0 代表没有限制。default 是 Ironic API 服务使用的最大数量。
--marker <port>
端口 UUID (例如,上一个请求列表中的最后一个端口)。返回此 UUID 后端口列表。
--sort-key <field>
用于排序的端口字段。
--sort-dir <direction>
排序方向:"asc" (默认)或"desc"。
--fields <field> [<field> ...]
一个或多个端口字段。只有这些字段才会从服务器获取。当指定 '-- detail' 时,无法使用。

17.33. ironic port-show

usage: ironic port-show [--address] [--fields <field> [<field> ...]] <id>
显示端口的详细信息。

positional 参数

<id>
端口的 UUID (或者指定 --address )。

可选参数

--address <id>
是端口的 MAC 地址(而不是 UUID)。
--fields <field> [<field> ...]
一个或多个端口字段。只有这些字段才会从服务器获取。

17.34. ironic port-update

usage: ironic port-update <port> <op> <path=value> [<path=value> ...]
更新有关端口的信息。

positional 参数

<port>
端口的 UUID。
<op>
操作:'add'、'replace' 或 'remove'。
<path=value>
要添加、替换或删除的属性。可多次指定。对于 'remove',只需要 <path>。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部