第 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>。