搜索

第 6 章 ironic-inspector

download PDF

下面的章节包含有关 ironic-inspector 服务中的配置选项的信息。

6.1. inspector.conf

本节包含 /etc/ironic-inspector/inspector.conf 文件的选项。

6.1.1. DEFAULT

下表概述了 /etc/ironic-inspector/inspector.conf 文件中的 [DEFAULT] 组下可用的选项。

.

配置选项 = 默认值类型Description

api_max_limit = 1000

整数值

限制 API list-call 返回的元素数量

auth_strategy = keystone

字符串值

ironic-inspector API 上使用的身份验证方法。"noauth"、"keystone" 或 "http_basic" 是有效的选项。"noauth" 将禁用所有身份验证。

can_manage_boot = True

布尔值

ironic-inspector 的当前安装是否可以管理节点的 PXE 引导。如果设置为 False,API 将拒绝缺少 manage_boot 的内省请求或设置为 True。

clean_up_period = 60

整数值

重复清理节点和旧节点状态信息的时间(以秒为单位)。警告:如果设为 0,则定期任务被禁用,并且检查器不会与 ironic 同步以完成内部清理过程。如果部署使用了 PXE 过滤器,并不建议导致 ironic-inspector 到期定期清理活动。

debug = False

布尔值

如果设置为 true,则日志级别将设置为 DEBUG,而不是默认的 INFO 级别。

default_log_levels = ['sqlalchemy=WARNING', 'iso8601=WARNING', 'requests=WARNING', 'urllib3.connectionpool=WARNING', 'keystonemiddleware=WARNING', 'keystoneauth=WARNING', 'ironicclient=WARNING', 'amqp=WARNING', 'amqplib=WARNING', 'oslo.messaging=WARNING', 'oslo_messaging=WARNING'

列表值

以 logger=LEVEL 的形式列出软件包日志级别列表。如果设置了 log_config_append,则忽略此选项。

enable_mdns = False

布尔值

是否启用通过多播 DNS 发布 ironic-inspector API 端点。

fatal_deprecations = False

布尔值

启用或禁用弃用的致命状态。

Host = <based on operating system>

字符串值

此节点的名称。这可以是不透明标识符。它不一定是主机名、FQDN 或 IP 地址。但是,节点名称必须在 AMQP 密钥内有效,如果使用 ZeroMQ、有效的主机名、FQDN 或 IP 地址。

http_basic_auth_user_file = /etc/ironic-inspector/htpasswd

字符串值

auth_strategy=http_basic 时使用的 Apache 格式用户身份验证文件的路径

`instance_format = [instance: %(uuid)s] `

字符串值

通过日志消息传递的实例格式。

`instance_uuid_format = [instance: %(uuid)s] `

字符串值

通过日志消息传递的实例 UUID 的格式。

introspection_delay = 5

整数值

两个内省之间的延迟(以秒为单位)。仅在引导由 ironic-inspector (例如 manage_boot==True)管理时才适用。

ipmi_address_fields = ['redfish_address', 'ilo_address', 'drac_host', 'drac_address', 'ibmc_address']

列表值

等同于 ipmi_address 的 ironic driver_info 字段。

leader_election_interval = 10

整数值

领导选举机制之间的间隔(以秒为单位)。

listen_address = ::

字符串值

要侦听的 IP。

listen_port = 5050

端口值

要侦听的端口。

log-config-append = None

字符串值

日志记录配置文件的名称。此文件附加到任何现有日志记录配置文件中。有关日志记录配置文件的详情,请查看 Python 日志记录模块文档。请注意,当使用日志记录配置文件时,所有日志记录配置都会在配置文件中设置,其他日志记录配置选项将被忽略(如 log-date-format)。

log-date-format = %Y-%m-%d %H:%M:%S

字符串值

在日志记录中定义 %%(asctime) s 的格式字符串。默认:%(default) s。如果设置了 log_config_append,则忽略此选项。

log-dir = None

字符串值

(可选)用于相对 log_file 路径的基础目录。如果设置了 log_config_append,则忽略此选项。

log-file = None

字符串值

(可选)要将日志输出发送到的日志文件名称。如果没有设置默认值,日志记录将进入由 use_stderr 定义的 stderr。如果设置了 log_config_append,则忽略此选项。

log_rotate_interval = 1

整数值

轮转日志文件前的时间长度。除非将 log_rotation_type 设置为 "interval",否则此选项将被忽略。

log_rotate_interval_type = days

字符串值

轮转间隔类型。在调度下一个轮转时,将使用上次文件更改的时间(或服务启动的时间)。

log_rotation_type = none

字符串值

日志轮转类型。

logging_context_format_string = %(asctime) s.%(msecs) 03d %(process) d %(levelname) s %(name) s [%(request_id) s %(user_identity) s] %(instance) s%(message) s

字符串值

使用上下文格式化用于日志消息的字符串。oslo_log.formatters.ContextFormatter 使用

logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d

字符串值

当消息的日志记录级别为 DEBUG 时,要附加到日志消息的其他数据。oslo_log.formatters.ContextFormatter 使用

logging_default_format_string = %(asctime) s.%(msecs) 03d %(process) d %(levelname) s %(name) s [-] %(instance) s%(message) s

字符串值

上下文未定义时用于日志消息的字符串。oslo_log.formatters.ContextFormatter 使用

logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s

字符串值

用以下格式为每一行加前缀 异常输出。oslo_log.formatters.ContextFormatter 使用

logging_user_identity_format = %(user) s %(tenant) s %(domain) s %(user_domain) s %(project_domain) s

字符串值

定义 logging_context_format_string 中使用的 %(user_identity) s 的格式字符串。oslo_log.formatters.ContextFormatter 使用

max_concurrency = 1000

整数值

绿色线程池大小。

max_logfile_count = 30

整数值

轮转日志文件的最大数量。

max_logfile_size_mb = 200

整数值

日志文件最大大小(以 MB 为单位)。如果 "log_rotation_type" 没有设置为 "size",则忽略这个选项。

publish_errors = False

布尔值

启用或禁用错误事件的发布。

rate_limit_burst = 0

整数值

每个 rate_limit_interval 的最大日志信息数。

rate_limit_except_level = CRITICAL

字符串值

速率限制使用的日志级别名称:CRITICAL、ERROR、INFO、WARNING、DEBUG 或空字符串。大于或等于 rate_limit_except_level 的日志不会被过滤。空字符串表示过滤所有级别。

rate_limit_interval = 0

整数值

日志速率限制的间隔、秒数。

rootwrap_config = /etc/ironic-inspector/rootwrap.conf

字符串值

用于以 root 用户身份运行命令的 rootwrap 配置文件的路径

standalone = True

布尔值

是否作为独立服务运行 ironic-inspector。它是 EXPERIMENTAL,设置为 False。

syslog-log-facility = LOG_USER

字符串值

syslog 工具接收日志行。如果设置了 log_config_append,则忽略此选项。

timeout = 3600

整数值

内省被视为失败的超时,设置为 0 以禁用。

use-journal = False

布尔值

为日志记录启用 journald。如果在 systemd 环境中运行,您可能需要启用日志支持。这样做将使用日志原生协议,该协议除日志消息之外还包含结构化元数据。如果设置了 log_config_append,此选项将被忽略。

use-json = False

布尔值

使用 JSON 格式进行日志记录。如果设置了 log_config_append,则忽略此选项。

use-syslog = False

布尔值

使用 syslog 进行日志记录。现有的 syslog 格式是 DEPRECATED,稍后将更改为遵循 RFC5424。如果设置了 log_config_append,则忽略此选项。

use_eventlog = False

布尔值

日志输出到 Windows 事件日志.

use_ssl = False

布尔值

SSL Enabled/Disabled

use_stderr = False

布尔值

将输出输出到标准错误。如果设置了 log_config_append,则忽略此选项。

watch-log-file = False

布尔值

使用旨在监视文件系统的日志记录处理程序。移动或移除日志文件时,此处理程序将立即打开具有指定路径的新日志文件。只有在指定了 log_file 选项并使用 Linux 平台时,才有意义。如果设置了 log_config_append,则忽略此选项。

6.1.2. 功能

下表概述了 /etc/ironic-inspector/inspector.conf 文件中的 [capabilities] 组下可用的选项。

表 6.1. 功能
配置选项 = 默认值类型Description

boot_mode = False

布尔值

是否存储引导模式(BIOS 或 UEFI)。

cpu_flags = {'aes': 'cpu_aes', 'pdpe1gb': 'cpu_hugepages_1g', 'pse': 'cpu_hugepages', 'smx': 'cpu_txt', 'svm': 'cpu_vt', 'vmx': 'cpu_vt'}

dict 值

如果存在此标志,在 CPU 标记和能力之间进行映射。

6.1.3. 协调

下表概述了 /etc/ironic-inspector/inspector.conf 文件中的 [coordination] 组下可用的选项。

表 6.2. 协调
配置选项 = 默认值类型Description

backend_url = memcached://localhost:11211

字符串值

用于分布式协调的后端 URL。实验性。

6.1.4. CORS

下表概述了 /etc/ironic-inspector/inspector.conf 文件中的 [cors] 组下可用的选项。

表 6.3. CORS
配置选项 = 默认值类型Description

allow_credentials = True

布尔值

指明实际请求可以包含用户凭证

allow_headers = ['X-Auth-Token', 'X-OpenStack-Ironic-Inspector-API-Minimum-Version', 'X-OpenStack-Ironic-Inspector-API-Maximum-Version', 'X-OpenStack-Ironic-Inspector-API-Version']

列表值

指定在实际请求过程中可以使用哪些标头字段名称。

allow_methods = ['GET', 'POST', 'PUT', 'HEAD', 'PATCH', 'DELETE', 'OPTIONS']

列表值

指明在实际请求期间可以使用哪些方法。

allowed_origin = None

列表值

指明此资源是否可以与请求"origin"标头中收到的域共享。格式:"<protocol>://<host>[:<port>]",没有尾部斜杠。示例 :https://horizon.example.com

expose_headers = []

列表值

指明哪些标头可以安全地公开给 API。默认为 HTTP Simple Headers。

max_age = 3600

整数值

CORS preflight 请求的最大缓存期限。

6.1.5. database

下表概述了 /etc/ironic-inspector/inspector.conf 文件中的 [database] 组下可用的选项。

表 6.4. database
配置选项 = 默认值类型Description

backend = sqlalchemy

字符串值

用于数据库的后端。

connection = None

字符串值

用于连接到数据库的 SQLAlchemy 连接字符串。

connection_debug = 0

整数值

SQL 调试信息的详细程度: 0=None, 100=Everything。

`connection_parameters = `

字符串值

用于连接时附加到连接 URL 的可选 URL 参数;指定 param1=value1&param2=value2&…​

connection_recycle_time = 3600

整数值

连接池中存在的连接的时间超过这个秒数,下一次从池中签出它们的时间将替换为新的连接。

connection_trace = False

布尔值

将 Python 堆栈跟踪作为注释字符串添加到 SQL。

db_inc_retry_interval = True

布尔值

如果为 True,将数据库操作的重试间隔增加到 db_max_retry_interval。

db_max_retries = 20

整数值

在引发错误前出现连接错误或死锁错误时的最大重试次数。设置为 -1 以指定无限重试计数。

db_max_retry_interval = 10

整数值

如果设置了 db_inc_retry_interval,则数据库操作重试之间的最大秒数。

db_retry_interval = 1

整数值

数据库事务重试之间的秒数。

max_overflow = 50

整数值

如果设置,请将这个值用于 SQLAlchemy 的 max_overflow。

max_pool_size = 5

整数值

在池中保留的最大 SQL 连接数。将值设为 0 表示没有限制。

max_retries = 10

整数值

启动期间数据库连接重试的最大数量。设置为 -1 以指定无限重试计数。

mysql_enable_ndb = False

布尔值

如果为 True,则透明地启用对处理 MySQL 集群(NDB)的支持。

mysql_sql_mode = TRADITIONAL

字符串值

用于 MySQL 会话的 SQL 模式。这个选项(包括默认选项)会覆盖任何 server-set SQL 模式。要使用服务器配置设置的任何 SQL 模式,请将其设置为 no 值。示例:mysql_sql_mode=

pool_timeout = None

整数值

如果设置,请将这个值用于 SQLAlchemy 的 pool_timeout。

retry_interval = 10

整数值

重新尝试打开 SQL 连接之间的间隔。

slave_connection = None

字符串值

用于连接到从数据库的 SQLAlchemy 连接字符串。

sqlite_synchronous = True

布尔值

如果为 True,则 SQLite 使用同步模式。

use_db_reconnect = False

布尔值

启用在连接丢失时进行数据库重新连接的实验性使用。

6.1.6. discovery

下表概述了 /etc/ironic-inspector/inspector.conf 文件中的 [discovery] 组下可用的选项。

表 6.5. discovery
配置选项 = 默认值类型Description

enabled_bmc_address_version = ['4', '6']

列表值

在 Ironic 中注册新节点时使用的 BMC 地址的 IP 版本。默认为 "4,6"。可以是"4" (仅限使用 v4 地址)、"4,6" (v4 地址具有更高的优先级,如果两者都存在,则会忽略 v6"),"6,4" (v6 有更高的优先级,对于使用 v4 地址的 BMC 则会使用 v4 地址,这与"4,6"相反)、"6" (仅使用 v6 地址并忽略 v4 版本)。

enroll_node_driver = fake-hardware

字符串值

在 Ironic 中创建新节点时注册 hook 使用的 Ironic 驱动程序名称。

enroll_node_fields = {}

dict 值

在新发现的节点上要设置的其他字段。

6.1.7. dnsmasq_pxe_filter

下表概述了 /etc/ironic-inspector/inspector.conf 文件中的 [dnsmasq_pxe_filter] 组下可用的选项。

表 6.6. dnsmasq_pxe_filter
配置选项 = 默认值类型Description

dhcp_hostsdir = /var/lib/ironic-inspector/dhcp-hostsdir

字符串值

公开给 dnsmasq 的 MAC 地址缓存目录。该目录应该完全完全控制驱动程序。

`dnsmasq_start_command = `

字符串值

在过滤初始化时启动 dnsmasq 服务(shell)命令行。默认: 不启动。

`dnsmasq_stop_command = `

字符串值

在检查器(错误)退出时,用于停止 dnsmasq 服务的(shell)命令行。默认: 不停止。

purge_dhcp_hostsdir = True

布尔值

在驱动程序初始化后清除 hostsdir。只有在部署检查器时,才会执行设置为 false,以便在同一主机和命名空间中执行多个进程。在这种情况下,Operator 负责设置自定义清理功能。

6.1.8. extra_hardware

下表概述了 /etc/ironic-inspector/inspector.conf 文件中的 [extra_hardware] 组下可用的选项。

表 6.7. extra_hardware
配置选项 = 默认值类型描述

strict = False

布尔值

如果为 True,如果至少有一个记录太短,则拒绝解析额外的数据。另外,即使解析失败,删除传入的 "data"。

6.1.9. iptables

下表概述了 /etc/ironic-inspector/inspector.conf 文件中的 [iptables] 组下可用的选项。

表 6.8. iptables
配置选项 = 默认值类型Description

dnsmasq_interface = br-ctlplane

字符串值

dnsmasq 侦听的接口,默认为虚拟机的。

ethoib_interfaces = []

列表值

用于物理访问 DHCP 网络的 Inspector 主机上的以太网 Over InfiniBand 接口列表。多个接口将附加到 dnsmasq_interface 中指定的绑定或网桥。根据这些接口上邻居 MAC 列表,InfiniBand 节点的 MAC 会列入黑名单。

firewall_chain = ironic-inspector

字符串值

要使用的 iptables 链名称。

ip_version = 4

字符串值

用于 iptables 过滤器的 IP 版本。默认值为 4。

6.1.10. ironic

下表概述了 /etc/ironic-inspector/inspector.conf 文件中的 [ironic] 组下可用的选项。

表 6.9. ironic
配置选项 = 默认值类型Description

auth-url = None

字符串值

身份验证 URL

auth_type = None

字符串值

要加载的身份验证类型

cafile = None

字符串值

验证 HTTP 连接时要使用的 PEM 编码证书颁发机构。

certFile = None

字符串值

PEM 编码的客户端证书证书文件

collect-timing = False

布尔值

收集每个 API 调用计时信息。

connect-retries = None

整数值

应该尝试连接错误的最大重试次数。

connect-retry-delay = None

浮点值

两次重试之间延迟(以秒为单位)用于连接错误。如果没有设置,则以 0.5 秒开始的指数重试,最多使用 60 秒。

default-domain-id = None

字符串值

用于 v3 和 v2 参数的可选域 ID。它将用于 v3 中的用户和项目域,并在 v2 身份验证中忽略。

default-domain-name = None

字符串值

用于 v3 API 和 v2 参数的可选域名。它将用于 v3 中的用户和项目域,并在 v2 身份验证中忽略。

domain-id = None

字符串值

范围的域 ID

domain-name = None

字符串值

范围为的域名

endpoint-override = None

字符串值

始终将此端点 URL 用于此客户端的请求。注意:应在此处指定未版本化的端点;若要请求特定的 API 版本,使用 version, min-version, 和/或 max-version 选项。

insecure = False

布尔值

验证 HTTPS 连接。

keyfile = None

字符串值

PEM 编码的客户端证书密钥文件

max-version = None

字符串值

给定 API 的最大主要版本,旨在作为带有 min_version 的范围的上限。与版本相互排斥。

max_retries = 30

整数值

冲突错误(HTTP 409)时的最大重试次数。

min-version = None

字符串值

给定 API 的最低主要版本,旨在作为 max_version 的范围低限。与版本相互排斥。如果给出了 min_version,且没有 max_version,它就如同 max version 为 "latest"。

password = None

字符串值

用户的密码

project-domain-id = None

字符串值

包含项目的域 ID

project-domain-name = None

字符串值

包含项目的域名

project-id = None

字符串值

项目 ID 的范围

project-name = None

字符串值

范围的项目名称

region-name = None

字符串值

用于端点 URL 发现的默认 region_name。

retry_interval = 2

整数值

冲突错误(HTTP 409)的重试间隔。

service-name = None

字符串值

用于端点 URL 发现的默认 service_name。

service-type = baremetal

字符串值

端点 URL 发现的默认 service_type。

split-loggers = False

布尔值

将请求记录到多个日志记录器。

status-code-retries = None

整数值

应该尝试重新分配 HTTP 状态代码的最大重试次数。

status-code-retry-delay = None

浮点值

在两次重试之间延迟(以秒为单位)用于可重新分配状态代码。如果没有设置,则以 0.5 秒开始的指数重试,最多使用 60 秒。

system-scope = None

字符串值

系统操作的范围

tenant-id = None

字符串值

租户 ID

tenant-name = None

字符串值

租户名称

timeout = None

整数值

http 请求的超时值

trust-id = None

字符串值

信任 ID

user-domain-id = None

字符串值

用户的域 ID

user-domain-name = None

字符串值

用户的域名

user-id = None

字符串值

用户 ID

username = None

字符串值

用户名

valid-interfaces = ['internal', 'public']

列表值

首选接口列表,用于端点 URL。

version = None

字符串值

给定主版本 API 版本内用于端点 URL 发现的最低 Major API 版本。与 min_version 和 max_version 相互排斥

6.1.11. keystone_authtoken

下表概述了 /etc/ironic-inspector/inspector.conf 文件中的 [keystone_authtoken] 组下可用的选项。

表 6.10. keystone_authtoken
配置选项 = 默认值类型Description

auth_section = None

字符串值

从中加载插件特定选项的配置部分

auth_type = None

字符串值

要加载的身份验证类型

auth_uri = None

字符串值

完整的"公共"身份 API 端点。此端点不应是一个 "admin" 端点,因为它应该可以被所有最终用户访问。未经身份验证的客户端重定向到此端点以进行身份验证。虽然理想情况下,这个端点应该被未指定版本,但通配符中的客户端支持会有所不同。如果您在这里使用版本化的 v2 端点,则该服务用户不应该用于验证令牌的端点,因为普通用户可能无法访问该端点。这个选项已弃用,现在使用 www_authenticate_uri,并将在 S 发行版本中删除。弃用自: Queens

*reason:* auth_uri 选项已弃用,现在使用 www_authenticate_uri,并将在 S 发行版本中删除。

auth_version = None

字符串值

Identity API 端点的 API 版本。

cache = None

字符串值

存储 Swift 缓存对象的请求环境密钥。当使用 Swift 缓存部署 auth_token 中间件时,请使用此选项使中间件共享具有 swift 的缓存后端。否则,使用 memcached_servers 选项。

cafile = None

字符串值

验证 HTTP 连接时要使用的 PEM 编码证书颁发机构。默认为系统 CA。

certFile = None

字符串值

如果身份服务器需要客户端证书,则需要此项

delay_auth_decision = False

布尔值

不要在中间件内处理授权请求,而是将授权决策委派给下游 WSGI 组件。

enforce_token_bind = permissive

字符串值

用于控制令牌绑定的使用和类型。可以设置为 "disabled" 以不检查令牌绑定。如果绑定类型是已知服务器的绑定类型,则验证绑定信息,并忽略它(如 "permissive" ),但如果绑定类型未知,则令牌将被拒绝。"必需"令牌绑定需要允许任何形式的令牌绑定。最后,令牌中必须存在的绑定方法名称。

http_connect_timeout = None

整数值

请求超时值与身份 API 服务器通信。

http_request_max_retries = 3

整数值

与身份 API 服务器通信时,我们尝试重新连接的次数。

include_service_catalog = True

布尔值

(可选)指示是否设置 X-Service-Catalog 标头。如果为 False,则中间件不会要求在令牌验证时请求服务目录,且不会设置 X-Service-Catalog 标头。

insecure = False

布尔值

验证 HTTPS 连接。

interface = internal

字符串值

用于 Identity API 端点的接口。有效值为 "public", "internal" (默认)或 "admin"。

keyfile = None

字符串值

如果身份服务器需要客户端证书,则需要此项

memcache_pool_conn_get_timeout = 10

整数值

(可选)操作等待从池中获取 memcached 客户端连接的秒数。

memcache_pool_dead_retry = 300

整数值

(可选)在再次尝试前 memcached 服务器被视为 dead 的秒数。

memcache_pool_maxsize = 10

整数值

(可选)到每个 memcached 服务器的最大打开连接数。

memcache_pool_socket_timeout = 3

整数值

(可选)与 memcached 服务器通信的套接字超时(以秒为单位)。

memcache_pool_unused_timeout = 60

整数值

(可选)与 memcached 的连接在池关闭前未使用的秒数。

memcache_secret_key = None

字符串值

(可选,如果定义了 memcache_security_strategy )此字符串用于密钥派生。

memcache_security_strategy = None

字符串值

(可选)如果定义,则指示令牌数据是否应进行身份验证或加密。如果 MAC,令牌数据在缓存中进行身份验证(使用 HMAC)。如果 ENCRYPT,令牌数据会在缓存中加密并进行身份验证。如果该值不是这些选项之一或为空,则 auth_token 会在初始化时引发异常。

memcache_use_advanced_pool = False

布尔值

(可选)使用 advanced (事件安全)memcached 客户端池。高级池只能在 python 2.x 下工作。

memcached_servers = None

列表值

(可选)指定要用于缓存的 memcached 服务器列表。如果未定义,令牌将会被缓存在进程中。

region_name = None

字符串值

找到身份服务器的区域。

service_token_roles = ['service']

列表值

需要出现在服务令牌中的角色。服务令牌可以请求可以使用过期的令牌,因此此检查应严格控制只有实际服务应发送此令牌。此处的角色作为 ANY 检查应用,因此此列表中的任何角色都必须存在。为了向后兼容的原因,这目前只会影响 allow_expired 检查。

service_token_roles_required = False

布尔值

为了向后兼容的原因,我们必须允许有效的服务令牌传递,但不允许将 service_token_roles 检查视为有效。在以后的发行版本中设置此 true 将成为默认设置,并应启用(如果可能)。

service_type = None

字符串值

服务的名称或类型(在服务目录中出现)。这用于验证具有受限访问规则的令牌。

token_cache_time = 300

整数值

为了防止过度努力验证令牌,中间件会缓存之前可预见的令牌(以秒为单位)。设置为 -1 可完全禁用缓存。

www_authenticate_uri = None

字符串值

完整的"公共"身份 API 端点。此端点不应是一个 "admin" 端点,因为它应该可以被所有最终用户访问。未经身份验证的客户端重定向到此端点以进行身份验证。虽然理想情况下,这个端点应该被未指定版本,但通配符中的客户端支持会有所不同。如果您在这里使用版本化的 v2 端点,则该服务用户不应该用于验证令牌的端点,因为普通用户可能无法访问该端点。

6.1.12. oslo_policy

下表概述了 /etc/ironic-inspector/inspector.conf 文件中的 [oslo_policy] 组下可用的选项。

表 6.11. oslo_policy
配置选项 = 默认值类型描述

enforce_new_defaults = False

布尔值

这个选项控制在评估策略时是否使用旧的弃用默认值。如果为 True,则不会评估旧的已弃用的默认值。这意味着,如果旧默认值允许任何现有令牌,但不允许使用新默认值,它将被禁止。我们鼓励启用此标志以及 enforce_scope 标志,以便您可以同时获得新默认值和 scope_type 的好处

enforce_scope = False

布尔值

此选项控制在评估策略时是否强制执行范围。如果为 True,则请求中使用的令牌范围将与被强制执行策略的 scope_types 进行比较。如果范围不匹配,则引发 InvalidScope 异常。如果为 False,则会记录一条信息,告知操作员使用了不匹配的范围调用策略。

policy_default_rule = default

字符串值

默认规则。未找到请求的规则时强制执行。

policy_dirs = ['policy.d']

多值

存储策略配置文件的目录。它们可以相对于 config_dir 选项或绝对路径定义的搜索路径中的任何目录。由 policy_file 定义的文件必须存在,才能搜索这些目录。缺少或空目录将被忽略。

policy_file = policy.json

字符串值

将角色映射到给定服务权限的文件的相对或绝对路径。必须使用与配置文件设置相关的相对路径。

remote_content_type = application/x-www-form-urlencoded

字符串值

用于发送和接收基于 REST 策略检查的数据的内容类型

remote_ssl_ca_crt_file = None

字符串值

基于 REST 的策略检查的 ca cert 文件的绝对路径

remote_ssl_client_crt_file = None

字符串值

基于 REST 的策略检查的客户端证书的绝对路径

remote_ssl_client_key_file = None

字符串值

绝对路径客户端密钥文件 REST 基于策略检查

remote_ssl_verify_server_crt = False

布尔值

基于 REST 的策略检查的服务器身份验证

6.1.13. pci_devices

下表概述了 /etc/ironic-inspector/inspector.conf 文件中的 [pci_devices] 组下可用的选项。

表 6.12. pci_devices
配置选项 = 默认值类型Description

alias = []

多值

vendor_idproduct_id 字段标识的 PCI 设备的别名。Format: {"vendor_id": "1234", "product_id": "5678", "name": "pci_dev1"}

6.1.14. port_physnet

下表概述了 /etc/ironic-inspector/inspector.conf 文件中的 [port_physnet] 组下可用的选项。

表 6.13. port_physnet
配置选项 = 默认值类型描述

cidr_map = []

列表值

IP 子网 CIDR 到物理网络的映射。当启用了 physnet_cidr_map 处理 hook 时,baremetal 端口的 physical_network 属性会根据这个映射填充。

6.1.15. processing

下表概述了 /etc/ironic-inspector/inspector.conf 文件中的 [processing] 组下可用的选项。

表 6.14. processing
配置选项 = 默认值类型Description

add_ports = pxe

字符串值

在内省期间作为端口添加的 MAC 地址。可能的值: all (所有 MAC 地址)、Active (带有 IP 地址的 NIC 的 MAC 地址)、pxe (仅 NIC 节点 PXE 引导的 MAC 地址,如果 ramdisk 没有提供 PXE MAC,则回退到"主动")。

always_store_ramdisk_logs = False

布尔值

是否存储 ramdisk 日志,即使它没有返回错误消息(取决于所设置的"ramdisk_logs_dir"选项)。

default_processing_hooks = ramdisk_error,root_disk_selection,scheduler,validate_interfaces,capabilities,pci_devices

字符串值

用于处理管道的默认 hook 的逗号分隔列表。hook 调度程序使用 Nova 调度程序 所需的最小属性更新节点。hook validate_interfaces 确保 ramdisk 提供有效的 NIC 数据。除非真正知道您的操作,否则请不要排除这两个操作。

disk_partitioning_spacing = True

布尔值

对于分区,是否保留 1 GiB 的磁盘大小。只有在与 IPA 用作 ramdisk 时,只有在 ramdisk 端计算旧的 ramdisk local_gb 时生效。

keep_ports = all

字符串值

在内省后保留哪些端口(已在节点上就绪)。可能的值:所有(请勿删除任何内容)、存在(保持内省数据中存在 MAC 的端口),添加(只维护内省期间添加的 MAC)。

node_not_found_hook = None

字符串值

当检查器从尚未了解的节点接收检查信息时,要运行的 hook 名称。默认会忽略此 hook。

overwrite_existing = True

布尔值

是否覆盖节点数据库中的现有值。禁用此选项以使内省非破坏性操作。

permit_active_introspection = False

布尔值

是否处理处于 running 状态的节点。

power_off = True

布尔值

如果通过 permit_active_introspection 配置选项启用了该功能,则是否在 active.Nodes 或 rescue 状态后关闭节点。

processing_hooks = $default_processing_hooks

字符串值

以逗号分隔的用于处理管道的 hook 列表。这样做的默认值为 $default_processing_hooks,可以在默认值之前或之后添加 hook,如 "prehook,$default_processing_hooks,posthook"。

ramdisk_logs_dir = None

字符串值

如果设置,来自 ramdisk 的日志将存储在这个目录中。

ramdisk_logs_filename_format = {uuid}_{dt:%Y%m%d-%H%M%S.%f}.tar.gz

字符串值

用于存储 ramdisk 日志的文件名模板。可以使用以下替换: {uuid} - 节点 UUID 或 "unknown", {bmc} - 节点 BMC 地址或 "unknown", {dt} - 当前 UTC 日期和时间 {mac} - PXE 引导 MAC 或 "unknown"。

store_data = none

字符串值

用于存储内省数据的存储后端。可能的值有: nonedatabaseswift。如果设置为 none,则不会存储内省数据。

update_pxe_enabled = True

布尔值

是否根据内省数据更新 pxe_enabled 值。如果 [processing]overwrite_existing 设为 False,则此选项无效

6.1.16. pxe_filter

下表概述了 /etc/ironic-inspector/inspector.conf 文件中的 [pxe_filter] 组下可用的选项。

表 6.15. pxe_filter
配置选项 = 默认值类型描述

deny_unknown_macs = False

布尔值

默认情况下,检查器将在内省处于活动状态时为任何节点打开 DHCP 服务器。当内省处于活跃状态时,为未知 MAC 地址打开 DHCP,供用户添加没有端口的节点到 ironic,并且具有基于节点内省结果的 ironic-inspector 注册端口。注意:如果此选项为 True,则节点在内省前必须至少有一个注册的端口。

driver = iptables

字符串值

要使用的 PXE 引导过滤器驱动程序,可能过滤器有:"iptables"、"dnsmasq"和"noop"。设置 "noop " 可禁用防火墙过滤。

sync_period = 15

整数值

重复过滤器定期更新的时间(以秒为单位)。

6.1.17. service_catalog

下表概述了 /etc/ironic-inspector/inspector.conf 文件中的 [service_catalog] 组下可用的选项。

表 6.16. service_catalog
配置选项 = 默认值类型Description

auth-url = None

字符串值

身份验证 URL

auth_type = None

字符串值

要加载的身份验证类型

cafile = None

字符串值

验证 HTTP 连接时要使用的 PEM 编码证书颁发机构。

certFile = None

字符串值

PEM 编码的客户端证书证书文件

collect-timing = False

布尔值

收集每个 API 调用计时信息。

connect-retries = None

整数值

应该尝试连接错误的最大重试次数。

connect-retry-delay = None

浮点值

两次重试之间延迟(以秒为单位)用于连接错误。如果没有设置,则以 0.5 秒开始的指数重试,最多使用 60 秒。

default-domain-id = None

字符串值

用于 v3 和 v2 参数的可选域 ID。它将用于 v3 中的用户和项目域,并在 v2 身份验证中忽略。

default-domain-name = None

字符串值

用于 v3 API 和 v2 参数的可选域名。它将用于 v3 中的用户和项目域,并在 v2 身份验证中忽略。

domain-id = None

字符串值

范围的域 ID

domain-name = None

字符串值

范围为的域名

endpoint-override = None

字符串值

始终将此端点 URL 用于此客户端的请求。注意:应在此处指定未版本化的端点;若要请求特定的 API 版本,使用 version, min-version, 和/或 max-version 选项。

insecure = False

布尔值

验证 HTTPS 连接。

keyfile = None

字符串值

PEM 编码的客户端证书密钥文件

max-version = None

字符串值

给定 API 的最大主要版本,旨在作为带有 min_version 的范围的上限。与版本相互排斥。

min-version = None

字符串值

给定 API 的最低主要版本,旨在作为 max_version 的范围低限。与版本相互排斥。如果给出了 min_version,且没有 max_version,它就如同 max version 为 "latest"。

password = None

字符串值

用户的密码

project-domain-id = None

字符串值

包含项目的域 ID

project-domain-name = None

字符串值

包含项目的域名

project-id = None

字符串值

项目 ID 的范围

project-name = None

字符串值

范围的项目名称

region-name = None

字符串值

用于端点 URL 发现的默认 region_name。

service-name = None

字符串值

用于端点 URL 发现的默认 service_name。

service-type = baremetal-introspection

字符串值

端点 URL 发现的默认 service_type。

split-loggers = False

布尔值

将请求记录到多个日志记录器。

status-code-retries = None

整数值

应该尝试重新分配 HTTP 状态代码的最大重试次数。

status-code-retry-delay = None

浮点值

在两次重试之间延迟(以秒为单位)用于可重新分配状态代码。如果没有设置,则以 0.5 秒开始的指数重试,最多使用 60 秒。

system-scope = None

字符串值

系统操作的范围

tenant-id = None

字符串值

租户 ID

tenant-name = None

字符串值

租户名称

timeout = None

整数值

http 请求的超时值

trust-id = None

字符串值

信任 ID

user-domain-id = None

字符串值

用户的域 ID

user-domain-name = None

字符串值

用户的域名

user-id = None

字符串值

用户 ID

username = None

字符串值

用户名

valid-interfaces = ['internal', 'public']

列表值

首选接口列表,用于端点 URL。

version = None

字符串值

给定主版本 API 版本内用于端点 URL 发现的最低 Major API 版本。与 min_version 和 max_version 相互排斥

6.1.18. swift

下表概述了 /etc/ironic-inspector/inspector.conf 文件中的 [swift] 组下可用的选项。

表 6.17. swift
配置选项 = 默认值类型Description

auth-url = None

字符串值

身份验证 URL

auth_type = None

字符串值

要加载的身份验证类型

cafile = None

字符串值

验证 HTTP 连接时要使用的 PEM 编码证书颁发机构。

certFile = None

字符串值

PEM 编码的客户端证书证书文件

collect-timing = False

布尔值

收集每个 API 调用计时信息。

connect-retries = None

整数值

应该尝试连接错误的最大重试次数。

connect-retry-delay = None

浮点值

两次重试之间延迟(以秒为单位)用于连接错误。如果没有设置,则以 0.5 秒开始的指数重试,最多使用 60 秒。

container = ironic-inspector

字符串值

创建对象时要使用的默认 Swift 容器。

default-domain-id = None

字符串值

用于 v3 和 v2 参数的可选域 ID。它将用于 v3 中的用户和项目域,并在 v2 身份验证中忽略。

default-domain-name = None

字符串值

用于 v3 API 和 v2 参数的可选域名。它将用于 v3 中的用户和项目域,并在 v2 身份验证中忽略。

delete_after = 0

整数值

Swift 对象在删除前持续的秒数。(设置为 0,永远不会删除对象)。

domain-id = None

字符串值

范围的域 ID

domain-name = None

字符串值

范围为的域名

endpoint-override = None

字符串值

始终将此端点 URL 用于此客户端的请求。注意:应在此处指定未版本化的端点;若要请求特定的 API 版本,使用 version, min-version, 和/或 max-version 选项。

insecure = False

布尔值

验证 HTTPS 连接。

keyfile = None

字符串值

PEM 编码的客户端证书密钥文件

max-version = None

字符串值

给定 API 的最大主要版本,旨在作为带有 min_version 的范围的上限。与版本相互排斥。

min-version = None

字符串值

给定 API 的最低主要版本,旨在作为 max_version 的范围低限。与版本相互排斥。如果给出了 min_version,且没有 max_version,它就如同 max version 为 "latest"。

password = None

字符串值

用户的密码

project-domain-id = None

字符串值

包含项目的域 ID

project-domain-name = None

字符串值

包含项目的域名

project-id = None

字符串值

项目 ID 的范围

project-name = None

字符串值

范围的项目名称

region-name = None

字符串值

用于端点 URL 发现的默认 region_name。

service-name = None

字符串值

用于端点 URL 发现的默认 service_name。

service-type = object-store

字符串值

端点 URL 发现的默认 service_type。

split-loggers = False

布尔值

将请求记录到多个日志记录器。

status-code-retries = None

整数值

应该尝试重新分配 HTTP 状态代码的最大重试次数。

status-code-retry-delay = None

浮点值

在两次重试之间延迟(以秒为单位)用于可重新分配状态代码。如果没有设置,则以 0.5 秒开始的指数重试,最多使用 60 秒。

system-scope = None

字符串值

系统操作的范围

tenant-id = None

字符串值

租户 ID

tenant-name = None

字符串值

租户名称

timeout = None

整数值

http 请求的超时值

trust-id = None

字符串值

信任 ID

user-domain-id = None

字符串值

用户的域 ID

user-domain-name = None

字符串值

用户的域名

user-id = None

字符串值

用户 ID

username = None

字符串值

用户名

valid-interfaces = ['internal', 'public']

列表值

首选接口列表,用于端点 URL。

version = None

字符串值

给定主版本 API 版本内用于端点 URL 发现的最低 Major API 版本。与 min_version 和 max_version 相互排斥

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.