第 5 章 ironic


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

5.1. ironic.conf

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

5.1.1. DEFAULT

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

.

配置选项 = 默认值类型Description

auth_strategy = keystone

字符串值

ironic-api. "noauth" 使用的身份验证策略不应在生产环境中使用,因为所有身份验证都会被禁用。

backdoor_port = None

字符串值

启用 eventlet backdoor。可接受值为 0、<port> 和 <start>:<end>,其中 0 会导致侦听一个随机的 tcp 端口号;<port> 会导致侦听指定的端口号(如果该端口正在使用),并且 <start>:<end> 会导致在指定端口号范围内侦听最小未使用的端口号。所选端口显示在服务的日志文件中。

backdoor_socket = None

字符串值

启用 eventlet backdoor,使用提供的路径作为可接收连接的 unix 套接字。这个选项与 backdoor_port 相互排斥,其中只能提供一个。如果同时提供了这两个选项,则此选项存在会覆盖该选项的使用。在路径 {pid} 中,路径将被当前进程的 PID 替换。

bindir = $pybasedir/bin

字符串值

安装了 ironic 二进制文件的目录。

conn_pool_min_size = 2

整数值

连接过期策略的池大小限制

conn_pool_ttl = 1200

整数值

池中闲置连接的生存时间

control_exchange = openstack

字符串值

主题范围的默认交换。可以被 transport_url 选项中指定的交换名称覆盖。

debug = False

布尔值

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

debug_tracebacks_in_api = False

布尔值

在 API 响应中返回任何错误响应的服务器回溯。警告:这是不安全的,不应在生产环境中使用。

default_bios_interface = None

字符串值

用于没有设置 bios_interface 字段的节点的默认 bios 接口。通过枚举 "ironic.hardware.interfaces.bios" 入口点,可以在您的系统中找到完整的 bios 接口列表。

default_boot_interface = None

字符串值

用于没有设置 boot_interface 字段的节点的默认引导接口。通过枚举 "ironic.hardware.interfaces.boot" 入口点,可以找到系统上存在的完整引导接口列表。

default_console_interface = None

字符串值

用于没有设置 console_interface 字段的节点的默认控制台接口。通过枚举 "ironic.hardware.interfaces.console" 入口点,可以在您的系统中找到完整的控制台接口列表。

default_deploy_interface = None

字符串值

用于没有设置 deploy_interface 字段的节点的默认部署接口。通过枚举 "ironic.hardware.interfaces.deploy" 入口点,可以在您的系统中找到完整的部署接口列表。

default_inspect_interface = None

字符串值

用于没有设置 inspect_interface 字段的节点的默认检查接口。通过枚举 "ironic.hardware.interfaces.inspect" 入口点,可以找到您系统上存在的检查接口的完整列表。

default_log_levels = ['amqp=WARNING', 'amqplib=WARNING', 'qpid.messaging=INFO', 'oslo.messaging=INFO', 'oslo_messaging=INFO', 'sqlalchemy=WARNING', 'stevedore=INFO', 'eventlet.wsgi.server=INFO', 'iso8601=WARNING', 'requests=WARNING', 'glanceclient=WARNING', 'urllib3.connectionpool=WARNING', 'keystonemiddleware.auth_token=INFO', 'keystoneauth.session=INFO', 'openstack=WARNING', 'oslo_policy=WARNING', 'oslo_concurrency.lockutils=WARNING']

列出值

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

default_management_interface = None

字符串值

用于没有设置 management_interface 字段的节点的默认管理接口。通过枚举 "ironic.hardware.interfaces.interfaces.management" 入口点,可以在您的系统中找到完整的管理接口列表。

default_network_interface = None

字符串值

用于没有设置 network_interface 字段的节点的默认网络接口。通过枚举 "ironic.hardware.interfaces.network" 入口点,可以找到您系统上存在的网络接口的完整列表。

default_portgroup_mode = active-backup

字符串值

portgroups 的默认模式。允许的值可在 linux 内核文档中的绑定: https://www.kernel.org/doc/Documentation/networking/bonding.txt.

default_power_interface = None

字符串值

用于没有设置 power_interface 字段的节点的默认电源接口。通过枚举 "ironic.hardware.interfaces.interfaces.power" 入口点,可以在您的系统中的电源接口列表找到。

default_raid_interface = None

字符串值

用于没有设置 raid_interface 字段的节点的默认 raid 接口。通过枚举 "ironic.hardware.interfaces.raid" 入口点,可以在您的系统中显示 raid 接口的完整列表。

default_rescue_interface = None

字符串值

用于没有设置 rescue_interface 字段的节点的默认救援接口。通过枚举 "ironic.hardware.interfaces.rescue" 入口点,可以找到您系统上存在的救援接口的完整列表。

default_resource_class = None

字符串值

在创建请求中没有提供资源类时,用于新节点的资源类。

default_storage_interface = noop

字符串值

用于没有设置 storage_interface 字段的节点的默认存储接口。通过枚举 "ironic.hardware.interfaces.storage" 入口点,可以在您的系统中找到完整的存储接口列表。

default_vendor_interface = None

字符串值

用于没有设置 vendor_interface 字段的节点的默认供应商接口。通过枚举 "ironic.hardware.interfaces.vendor" 入口点,可以在您的系统中找到完整的供应商接口列表。

enabled_bios_interfaces = ['no-bios', 'redfish']

列出值

指定要在服务初始化过程中载入的 bios 接口列表。缺少 bios 接口或无法初始化的 bios 接口将阻止 ironic-conductor 服务启动。这里必须启用每个启用硬件类型支持的至少一个 bios 接口,否则 ironic-conductor 服务将不会启动。不能是一个空列表。默认值是一组推荐的面向生产的 bios 接口。通过枚举 "ironic.hardware.interfaces.bios" 入口点,可以在您的系统中找到完整的 bios 接口列表。在设置这个值时,请确保每个启用的硬件类型在每个 ironic-conductor 服务上都有相同的启用的 bios 接口。

enabled_boot_interfaces = ['ipxe', 'pxe', 'redfish-virtual-media']

列出值

指定要在服务初始化过程中载入的引导接口列表。缺少引导接口或引导无法初始化的接口,将导致 ironic-conductor 服务启动。此处必须启用每个启用硬件类型支持的引导接口,否则 ironic-conductor 服务将不会启动。不能是一个空列表。默认值是一组推荐的面向生产的引导接口。通过枚举 "ironic.hardware.interfaces.boot" 入口点,可以找到系统上存在的完整引导接口列表。当设置这个值时,请确保每个启用的硬件类型在每个 ironic-conductor 服务上都有相同的启用引导接口。

enabled_console_interfaces = ['no-console']

列出值

指定要在服务初始化过程中载入的控制台接口列表。缺少控制台接口或无法初始化的控制台接口,将导致 ironic-conductor 服务启动。至少一个由每个启用的硬件类型支持的控制台接口必须在此处启用,否则 ironic-conductor 服务将不会启动。不能是一个空列表。默认值是一组推荐的面向生产环境的控制台接口。通过枚举 "ironic.hardware.interfaces.console" 入口点,可以在您的系统中找到完整的控制台接口列表。在设置这个值时,请确保每个启用的硬件类型在每个 ironic-conductor 服务上都有相同的启用的控制台接口。

enabled_deploy_interfaces = ['direct', 'ramdisk']

列出值

指定要在服务初始化过程中载入的接口的列表。缺少部署接口或部署无法初始化的接口,将导致 ironic-conductor 服务启动。至少一个启用的硬件类型支持的部署接口必须在此处启用,否则 ironic-conductor 服务将不会启动。不能是一个空列表。默认值是一组推荐的面向生产的部署接口。通过枚举 "ironic.hardware.interfaces.deploy" 入口点,可以在您的系统中找到完整的部署接口列表。在设置这个值时,请确保每个启用的硬件类型在每个 ironic-conductor 服务上都有相同的启用部署接口。

enabled_hardware_types = ['ipmi', 'redfish']

列出值

指定要在服务初始化过程中载入的硬件类型列表。缺少硬件类型或无法初始化的硬件类型,将导致编排器服务启动。这个选项默认为推荐的基于生产环境的硬件类型。通过枚举 "ironic.hardware.types" 入口点,可以在您的系统中显示硬件类型的完整列表。

enabled_inspect_interfaces = ['no-inspect', 'redfish']

列出值

指定要在服务初始化过程中载入的接口的列表。缺少检查接口,或检查无法初始化的接口,将导致 ironic-conductor 服务启动。至少一个由每个启用的硬件类型支持的检查接口必须在此处启用,否则 ironic-conductor 服务将不会启动。不能是一个空列表。默认值是一组推荐的面向生产的检查接口。通过枚举 "ironic.hardware.interfaces.inspect" 入口点,可以找到您系统上存在的检查接口的完整列表。在设置这个值时,请确保每个启用的硬件类型在每个 ironic-conductor 服务上都启用了相同的检查接口。

enabled_management_interfaces = None

列出值

指定要在服务初始化过程中载入的管理接口列表。缺少管理接口或无法初始化的管理界面将阻止 ironic-conductor 服务启动。至少一个由每个启用的硬件类型支持的管理界面必须在此处启用,否则 ironic-conductor 服务将不会启动。不能是一个空列表。默认值是一组推荐的面向生产的管理界面。通过枚举 "ironic.hardware.interfaces.interfaces.management" 入口点,可以在您的系统中找到完整的管理接口列表。在设置这个值时,请确保每个启用的硬件类型在每个 ironic-conductor 服务上都有相同的启用的管理接口。

enabled_network_interfaces = ['flat', 'noop']

列出值

指定要在服务初始化过程中载入的网络接口列表。缺少无法初始化的网络接口或网络接口,将导致 ironic-conductor 服务启动。至少一个由每个启用的硬件类型支持的网络接口必须在此处启用,否则 ironic-conductor 服务将不会启动。不能是一个空列表。默认值是一组推荐的面向生产的网络接口。通过枚举 "ironic.hardware.interfaces.network" 入口点,可以找到您系统上存在的网络接口的完整列表。在设置这个值时,请确保每个启用的硬件类型在每个 ironic-conductor 服务上都有相同的启用的网络接口。

enabled_power_interfaces = None

列出值

指定要在服务初始化过程中载入的电源接口列表。缺少电源接口或无法初始化的电源接口,将导致 ironic-conductor 服务启动。至少需要启用每个启用硬件类型支持的电源接口,否则 ironic-conductor 服务将不会启动。不能是一个空列表。默认值是一组推荐的适用于生产环境的电源接口。通过枚举 "ironic.hardware.interfaces.interfaces.power" 入口点,可以在您的系统中的电源接口列表找到。在设置这个值时,请确保每个启用的硬件类型在每个 ironic-conductor 服务上都有相同的启用电源接口。

enabled_raid_interfaces = ['agent', 'no-raid', 'redfish']

列出值

指定要在服务初始化过程中载入的 raid 接口列表。缺少 raid 接口或 raid 接口无法初始化,将导致 ironic-conductor 服务启动。至少需要启用每个启用硬件类型支持的 raid 接口,否则 ironic-conductor 服务将不会启动。不能是一个空列表。默认值是一组推荐的适用于生产环境的 raid 接口。通过枚举 "ironic.hardware.interfaces.raid" 入口点,可以在您的系统中显示 raid 接口的完整列表。当设置这个值时,请确保每个启用的硬件类型在每个 ironic-conductor 服务上都启用了相同的 raid 接口。

enabled_rescue_interfaces = ['no-rescue']

列出值

指定要在服务初始化过程中载入的救援接口列表。缺少无法初始化的救援接口或救援接口,将导致 ironic-conductor 服务启动。至少需要启用每个启用硬件类型支持的救援接口,否则 ironic-conductor 服务将不会启动。不能是一个空列表。默认值是一组推荐的面向生产环境的救援接口。通过枚举 "ironic.hardware.interfaces.rescue" 入口点,可以找到您系统上存在的救援接口的完整列表。在设置这个值时,请确保每个启用的硬件类型在每个 ironic-conductor 服务上都启用了相同的救援接口。

enabled_storage_interfaces = ['cinder', 'noop']

列出值

指定要在服务初始化过程中载入的存储接口列表。缺少存储接口或无法初始化的存储接口将阻止 ironic-conductor 服务启动。每个启用的硬件类型支持至少一个存储接口必须启用,否则 ironic-conductor 服务将不会启动。不能是一个空列表。默认值是一组推荐的面向生产的存储接口。通过枚举 "ironic.hardware.interfaces.storage" 入口点,可以在您的系统中找到完整的存储接口列表。在设置这个值时,请确保每个启用的硬件类型在每个 ironic-conductor 服务上都有相同的启用的存储接口。

enabled_vendor_interfaces = ['ipmitool', 'redfish', 'no-vendor']

列出值

指定要在服务初始化过程中载入的供应商接口列表。缺少无法初始化的供应商接口或供应商接口,将导致 ironic-conductor 服务启动。至少有一个由每个启用的硬件类型支持的供应商接口必须在此处启用,否则 ironic-conductor 服务将不会启动。不能是一个空列表。默认值是一组推荐的面向生产的供应商接口。通过枚举 "ironic.hardware.interfaces.vendor" 入口点,可以在您的系统中找到完整的供应商接口列表。在设置这个值时,请确保每个启用的硬件类型在每个 ironic-conductor 服务上都有相同的启用的供应商接口。

esp_image = None

字符串值

EFI 系统分区镜像文件的路径。建议您高效地创建 UEFI 可引导 ISO 镜像。ESP 镜像应包含包含 EFI 引导装载程序的 FAT12/16/32 格式的文件系统(如 GRUB2),每个硬件架构 ironic 需要引导。只有在将 ESP 和 ISO 部署镜像都配置为被部署的节点时,才会使用这个选项,在这种情况下,ironic 会尝试从配置的位置获取 ESP 镜像,或者从 UEFI 启动的部署 ISO 镜像中提取 ESP 镜像。

executor_thread_pool_size = 64

整数值

当 executor 为 threading 或 eventle 时,executor 线程池的大小。

fatal_deprecations = False

布尔值

启用或禁用弃用的严重状态。

force_raw_images = True

布尔值

如果为 True,将后备镜像转换为 "raw" 磁盘镜像格式。

graceful_shutdown_timeout = 60

整数值

指定一个超时,之后安全关闭服务器将退出。零值表示无限等待。

grub_config_path = EFI/BOOT/grub.cfg

字符串值

由 ironic 生成的 UEFI ISO 镜像上的 GRUB2 配置文件位置。默认值为不正确的,不应依赖。如果您使用特定发行版本中的 GRUB2 镜像,请在此处使用特定于发行版的路径,例如 EFI/ubuntu/grub.cfg

grub_config_template = $pybasedir/common/grub_conf.template

字符串值

grub 配置文件的模板文件。

hash_partition_exponent = 5

整数值

允许在编排器间分布负载时确定要使用的哈希分区数量。在重新平衡环时,较大的值会导致负载的分布更小,但会增加内存用量。每个编排器的分区数为(2^hash_partition_exponent)。这决定了重新平衡的粒度:给定的 10 个主机以及 2 的扩展,环中有 40 个分区。大多数情况下,几个分区应该可以平稳进行重新平衡。默认值适用于几百个编排器。为太多分区配置对 CPU 用量有负面影响。

hash_ring_algorithm = md5

字符串值

构建哈希环时使用的哈希函数。如果在 FIPS 系统上运行,请不要使用 md5。警告:集群中的所有 ironic 服务必须始终使用相同的算法。更改算法需要离线更新。

hash_ring_reset_interval = 15

整数值

哈希环被视为过时并在下次访问时刷新的时间(以秒为单位)。

host = <based on operating system>

字符串值

此节点的名称。这可以是不透明标识符。它不一定是主机名、FQDN 或 IP 地址。但是,节点名称必须在 AMQP 键内有效,如果使用 ZeroMQ (将在 Stein 发行版本中删除)、有效的主机名、FQDN 或 IP 地址。

http_basic_auth_user_file = /etc/ironic/htpasswd

字符串值

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

image_download_concurrency = 20

整数值

要并行运行的镜像下载和原始格式转换数量。只影响镜像缓存。

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

字符串值

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

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

字符串值

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

isolinux_bin = /usr/lib/syslinux/isolinux.bin

字符串值

isolinux 二进制文件的路径。

isolinux_config_template = $pybasedir/common/isolinux_config.template

字符串值

isolinux 配置文件的模板文件。

ldlinux_c32 = None

字符串值

ldlinux.c32 文件的路径。syslinux 5.0 或更高版本需要此文件。如果未指定,则会在"/usr/lib/syslinux/modules/bios/ldlinux.c32"和"/usr/share/syslinux/ldlinux.c32"中查找该文件。

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_in_db_max_size = 4096

整数值

推送到数据库的任何节点的最大字符数: last_error/maintenance_reason。

log_options = True

布尔值

启动服务( DEBUG 级别)时,启用或禁用所有注册选项的日志记录值。

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 [%(global_request_id) 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 %(project) s %(system_scope) s %(user_domain) s %(project_domain) s

字符串值

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

max_logfile_count = 30

整数值

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

max_logfile_size_mb = 200

整数值

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

minimum_memory_wait_retries = 6

整数值

如果编排器可以自动重试,则在失败或将线程返回到池前,重试次数。

minimum_memory_wait_time = 15

整数值

在启动进程前在重试可用内存之间等待的秒数。这与 memory_wait_retries 相结合,编排器可以确定我们应尝试直接重试的时长。

minimum_memory_warning_only = False

布尔值

如果 Ironic 应该只警告而不是尝试保存请求,以防止系统内存耗尽,则设置为监管。

minimum_required_memory = 1024

整数值

在启动一个内存密集型进程之前,系统的最小内存(以 MiB 为单位)。

my_ip = <based on operating system>

字符串值

此主机的 IPv4 地址。如果未设置,将以编程方式确定 IP。如果无法这样做,将使用"127.0.0.1"。注意:此字段接受 IPv6 地址作为模板和 URL 的覆盖,但建议 [DEFAULT]my_ipv6 与双栈环境的服务 URL 的 DNS 名称一起使用。

my_ipv6 = None

字符串值

此主机的 IP 地址使用 IPv6。这个值必须通过配置提供,且不能以编程方式确定,如 IPv4 的 [DEFAULT]my_ip 参数。

notification_level = None

字符串值

指定发送通知的最低级别。如果没有设置,则不会发送通知。该选项的默认值是未设置的选项。

parallel_image_downloads = True

布尔值

并行运行镜像下载和原始格式转换。

pecan_debug = False

布尔值

启用独特的调试模式。警告:这是不安全的,不应在生产环境中使用。

pin_release_version = None

字符串值

用于滚动升级。设置此选项会降级(或固定) Bare Metal API、内部 ironic RPC 通信和数据库对象到其相应的版本,以便它们与较旧的服务兼容。在进行从 N 版本到 N+1 的滚动升级时,将这个设置(固定)为 N。要取消固定(默认),请取消设置,这会使用最新版本。

publish_errors = False

布尔值

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

pybasedir = /usr/lib/python3.9/site-packages/ironic

字符串值

安装了 ironic python 模块的目录。

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

整数值

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

raw_image_growth_factor = 2.0

浮点值

用于估算从紧凑镜像格式(如 QCOW2)转换的原始镜像的规模因子。默认值为 2.0,必须大于 1.0。

rbac_service_project_name = service

字符串值

用于基于角色的访问控制的项目名称检查保留 服务 项目。此项目供服务用于拥有跨服务通信的帐户。通常,这些帐户需要更高的访问权限级别,并且实际上,这允许服务的帐户不受项目的限制。例如,具有 服务角色的服务 项目用户将能够查看所有项目中的节点,这类似于系统范围的访问。如果没有设置值,并且所有服务角色访问都将过滤与 拥有者 或更短 的匹配(如果适用)。如果一个 Operator 希望使所有服务角色用户可见,则必须使用自定义策略来覆盖默认的 "service_role" 规则。应该注意的是,"service"值是 OpenStack 部署的默认约定,但如果他们手动执行 OpenStack 部署,则几乎是最终配置常见的访问和详细信息。

rbac_service_role_elevated_access = False

布尔值

在使用默认策略时,为拥有 rbac_service_project_name 项目的服务角色启用升级访问权限。禁用的默认设置会导致所有服务角色请求范围到服务帐户所属的项目。

rootwrap_config = /etc/ironic/rootwrap.conf

字符串值

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

rpc_conn_pool_size = 30

整数值

RPC 连接池的大小。

rpc_ping_enabled = False

布尔值

添加端点以回答 ping 调用。端点名为 oslo_rpc_server_ping

rpc_response_timeout = 60

整数值

等待来自调用的响应的秒数。

rpc_transport = oslo

字符串值

在编排器和 API 服务之间使用哪些 RPC 传输实现

run_external_periodic_tasks = True

布尔值

某些定期任务可以在单独的进程中运行。我们是否应该在此处运行?

state_path = $pybasedir

字符串值

用于维护 ironic 状态的顶级目录。

syslog-log-facility = LOG_USER

字符串值

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

tempdir = /tmp

字符串值

临时工作目录,默认为 Python temp dir。

transport_url = rabbit://

字符串值

用于连接到消息传递后端的网络地址和可选用户凭证,采用 URL 格式。预期的格式是:

driver://[user:pass@]host:port[,[userN:passN@]hostN:portN]/virtual_host?query

示例:rabbit://rabbitmq:password@127.0.0.1:5672//

有关 URL 中字段的详情,请查看 oslo_messaging.TransportURL 文档 https://docs.openstack.org/oslo.messaging/latest/reference/transport.html

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_stderr = False

布尔值

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

versioned_notifications_topics = ['ironic_versioned_notifications']

列出值

指定 Ironic 发布的版本化通知的主题。

对于大多数部署来说,默认值是正常的,很少需要更改。但是,如果您有一个使用版本通知的第三方服务,这可能值得获得该服务的主题。Ironic 将向此列表中的每个主题队列发送包含版本通知有效负载的消息。

版本通知列表在 https://docs.openstack.org/ironic/latest/admin/notifications.html中可见

watch-log-file = False

布尔值

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

webserver_connection_timeout = 60

整数值

使用镜像访问远程 Web 服务器时的连接超时。

webserver_verify_ca = True

字符串值

用于证书验证的 CA 证书。这可以是布尔值或 CA_BUNDLE 文件的路径。如果设为 True,则使用标准路径中存在的证书来验证主机证书。如果设为 False,则编排器将忽略验证主机提供的 SSL 证书。如果设为 True,则编排器将使用指定的证书进行 SSL 验证。如果路径不存在,则行为与这个值被设置为 True 时的行为相同,即标准路径中的证书用于 SSL 验证。默认设置为 True。

5.1.2. agent

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

表 5.1. agent
配置选项 = 默认值类型Description

agent_api_version = v1

字符串值

用于与 ramdisk 代理通信的 API 版本。

api_ca_file = None

字符串值

用于启动裸机 API 的 TLS CA 的路径。在某些引导方法中,此文件可以传递到 ramdisk。

certificates_path = /var/lib/ironic/certificates

字符串值

用于存储自动生成的 TLS 证书的路径,用于验证到 ramdisk 的连接。

command_timeout = 60

整数值

IPA 命令的超时(以秒为单位)。

command_wait_attempts = 100

整数值

在超时前,尝试检查异步命令完成的次数。

command_wait_interval = 6

整数值

异步命令完成检查之间等待的秒数。

deploy_logs_collect = on_failure

字符串值

Ironic 是否应该收集部署失败时的部署日志(on_failure),始终或永不。

deploy_logs_local_path = /var/log/ironic/deploy

字符串值

应存储日志的目录的路径,当 deploy_logs_storage_backend 配置为 "local" 时使用。

deploy_logs_storage_backend = local

字符串值

存储日志的存储后端的名称。

deploy_logs_swift_container = ironic_deploy_logs_container

字符串值

用于存储日志的 Swift 容器的名称,当 deploy_logs_storage_backend 配置为 "swift" 时使用。

deploy_logs_swift_days_to_expire = 30

整数值

日志对象在 Swift 中标记为过期前的天数。如果为 None,日志将永久保留,或直到手动删除为止。当 deploy_logs_storage_backend 配置为 "swift" 时使用。

image_download_source = http

字符串值

指定直接部署接口是否应该尝试直接使用镜像源,或者 ironic 是否应该将镜像缓存到编排器上,并从 ironic 自己的 http 服务器提供服务。

manage_agent_boot = True

布尔值

Ironic 是否管理代理 ramdisk 的启动。如果设置为 False,则需要配置您的机制以允许引导代理 ramdisk。

max_command_attempts = 3

整数值

这是因为网络问题导致 IPA 命令完成的最大尝试次数。

memory_consumed_by_agent = 0

整数值

代理在裸机节点引导时消耗的内存大小(以 MiB 为单位)。这用于检查在引导代理 ramdisk 后是否可以下载并部署到裸机节点上。这可以根据代理 ramdisk 镜像消耗的内存来设置。

neutron_agent_max_attempts = 100

整数值

死代理网络错误前验证 Neutron 代理状态的最大尝试数。

neutron_agent_poll_interval = 2

整数值

Neutron 代理在轮询设备更改之间等待的秒数。这个值应该在 Neutron 配置中与 CONF.AGENT.polling_interval 相同。

neutron_agent_status_retry_interval = 10

整数值

在尝试验证 Neutron 代理状态之间等待时间(以秒为单位)。

post_deploy_get_power_state_retries = 6

整数值

重试获取电源状态的次数,以检查裸机节点是否在软关闭后关闭。

post_deploy_get_power_state_retry_interval = 5

整数值

触发软关闭后在轮询电源状态之间等待的时间(以秒为单位)。

require_tls = False

布尔值

如果设置为 True,则编排器将拒绝没有 https:// 的回调 URL。

stream_raw_images = True

布尔值

代理 ramdisk 是否应该直接将原始镜像流传输到磁盘上。通过将原始镜像直接流传输到磁盘上,代理 ramdisk 在将镜像复制到 tmpfs 分区(这会消耗较少的内存),然后再将其写入磁盘。除非复制镜像真正慢的磁盘中,否则此选项应设置为 True。默认值为 True。

verify_ca = True

字符串值

验证连接到 ramdisk 的 TLS CA 的路径。设置为 True 以使用系统默认 CA 存储。设置为 False 以禁用验证。使用自动 TLS 设置时会被忽略。

5.1.3. anaconda

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

表 5.2. anaconda
配置选项 = 默认值类型描述

default_ks_template = $pybasedir/drivers/modules/ks.cfg.template

字符串值

在 instance_info 或 glance OS 镜像中没有指定 kickstart 模板时要使用的 Kickstart 模板。

insecure_heartbeat = False

布尔值

如果应强制执行 SSL/TLS 证书,则允许告知 kickstart 配置的选项。此选项主要存在,便于轻松测试和使用 anaconda 部署界面。当设置这个选项时,根据使用的 kickstart 模板的内容,心跳操作可能无法实现 TLS 证书验证。

5.1.4. ansible

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

表 5.3. ansible
配置选项 = 默认值类型Description

ansible_extra_args = None

字符串值

在每次调用 Ansible 时要传递的额外参数。

ansible_playbook_script = ansible-playbook

字符串值

"ansible-playbook"脚本的路径。默认将搜索为运行 ironic-conductor 进程的用户配置的 $PATH。当 ansible-playbook 不在 $PATH 或非默认位置安装时,提供完整路径。

config_file_path = $pybasedir/drivers/modules/ansible/playbooks/ansible.cfg

字符串值

ansible 配置文件的路径。如果设置为空,则使用系统默认。

default_clean_playbook = clean.yaml

字符串值

将路径(相对于 $playbooks_path 或 absolute)指向用于节点清理的默认 playbook。它可以被节点的 driver_info 字段中每个节点的 ansible_clean_playbook 选项覆盖。

default_clean_steps_config = clean_steps.yaml

字符串值

将路径(相对于 $playbooks_path 或 absolute)指向默认辅助清理在节点清理过程中使用的步骤文件。在节点的 driver_info 字段中,可以被每个节点的 ansible_clean_steps_config 选项覆盖。

default_deploy_playbook = deploy.yaml

字符串值

将路径(相对于 $playbooks_path 或 absolute)指向用于部署的默认 playbook。它可以被节点的 driver_info 字段中每个节点的 ansible_deploy_playbook 选项覆盖。

default_key_file = None

字符串值

通过 SSH 连接到 ramdisk 时,默认为 Ansible 使用的专用 SSH 密钥文件的绝对路径。默认为使用为运行 ironic-conductor 服务的用户配置的默认 SSH 密钥。私钥(密码为 )必须预先加载到 ssh-agent 中。它可以被节点的 driver_info 字段中每个节点的 ansible_key_file 选项覆盖。

default_python_interpreter = None

字符串值

受管机器上 python 解释器的绝对路径。它可以被节点的 driver_info 字段中每个节点的 ansible_python_interpreter 选项覆盖。默认情况下,ansible 使用 /usr/bin/python

default_shutdown_playbook = shutdown.yaml

字符串值

将路径(相对于 $playbooks_path 或 absolute)指向用于正常关闭节点的默认 playbook。它可以被节点的 driver_info 字段中每个节点的 ansible_shutdown_playbook 选项覆盖。

default_username = ansible

字符串值

通过 SSH 连接到 ramdisk 时用于 Ansible 的用户的名称。它可以被节点的 driver_info 字段中每个节点的 ansible_username 选项覆盖。

extra_memory = 10

整数值

预期要被节点上的与 Ansible 相关的进程消耗的额外内存量(以 MiB 为单位)。影响镜像是否适合 RAM。

image_store_cafile = None

字符串值

用于验证到镜像存储的 SSL 连接的特定 CA 捆绑包。如果没有指定,则将使用 ramdisk 中可用的 CA。不被驱动程序包括的默认 playbook 使用。适用于使用自签名证书的环境。

image_store_certfile = None

字符串值

用于到镜像存储的 SSL 连接的客户端证书。不被驱动程序包括的默认 playbook 使用。

image_store_insecure = False

布尔值

下载镜像时跳过验证到镜像存储的 SSL 连接。只有在测试使用自签名证书的环境时,才建议使用 "True"。

image_store_keyfile = None

字符串值

用于 SSL 连接到镜像存储的客户端密钥。不被驱动程序包括的默认 playbook 使用。

playbooks_path = $pybasedir/drivers/modules/ansible/playbooks

字符串值

带有 playbook、角色和本地清单的目录路径。

post_deploy_get_power_state_retries = 6

整数值

重试获取电源状态的次数,以检查裸机节点是否在软关闭后关闭。0 表示在失败时不重试。

post_deploy_get_power_state_retry_interval = 5

整数值

触发软关闭后在轮询电源状态之间等待的时间(以秒为单位)。

verbosity = None

整数值

在调用 "ansible-playbook" 命令时,设置请求的 ansible 详细程度。4 包括详细的 SSH 会话日志记录。当启用了全局 debug 且否则为 0 时,默认为 4。

5.1.5. api

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

表 5.4. api
配置选项 = 默认值类型Description

api_workers = None

整数值

OpenStack Ironic API 服务的 worker 数量。默认值等于可用的 CPU 数量,但不等于 4 个。如果无法检测到 CPU 号,则使用一个 worker。

enable_ssl_api = False

布尔值

启用集成的独立 API,以通过 HTTPS 而不是 HTTP 服务请求。如果有一个前端服务从服务执行 HTTPS 卸载,则此选项应为 False。请注意,您需要使用 [oslo_middleware]enable_proxy_headers_parsing 选项启用代理标头解析,或者配置 [api]public_endpoint 选项,以设置对 SSL 终止一的响应中的 URL。

host_ip = 0.0.0.0

主机地址值

ironic-api 侦听的 IP 地址或主机名。

max_limit = 1000

整数值

来自集合资源的单一响应中返回的最大项目数。

network_data_schema = $pybasedir/api/controllers/v1/network-data-schema.json

字符串值

此部署所使用的网络数据的 schema。

port = 6385

端口值

ironic-api 侦听的 TCP 端口。

project_admin_can_manage_own_nodes = True

布尔值

如果项目范围管理用户在其项目中创建/delte baremetal 节点。

public_endpoint = None

字符串值

构建 API 资源链接时使用的公共 URL (如 "https://ironic.rocks:6384")。如果没有,将使用请求的主机 URL 构建链接。如果 API 在代理后面操作,您需要将其更改为代表代理的 URL。默认值为 None。当通过 [oslo_middleware]enable_proxy_headers_parsing 选项启用代理标头解析时,忽略。

ramdisk_heartbeat_timeout = 300

整数值

代理心跳的最大间隔(以秒为单位)。

restrict_lookup = True

布尔值

是否仅将查找 API 限制为处于特定状态的节点。

unix_socket = None

字符串值

要侦听的 UNIX 套接字。禁用 host_ip 和 port。

unix_socket_mode = None

整数值

unix 套接字要侦听的文件模式(八进制数)。如果没有设置 unix_socket,则忽略。

5.1.6. audit

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

表 5.5. audit
配置选项 = 默认值类型Description

audit_map_file = /etc/ironic/api_audit_map.conf

字符串值

ironic-api 服务的审计映射文件的路径。仅在启用 API Audit 时使用。

enabled = False

布尔值

启用 API 请求审核(用于 ironic-api 服务)。

`ignore_req_list = `

字符串值

在审计日志记录过程中,可以忽略以逗号分隔的 Ironic REST API HTTP 方法列表。例如:如果将其设置为 "GET,POST",则不会对任何 GET 或 POST 请求进行审计。它仅在启用 API 审计时使用。

5.1.7. cinder

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

表 5.6. cinder
配置选项 = 默认值类型Description

action_retries = 3

整数值

失败的操作时重试次数(当前仅在分离卷时使用)。

action_retry_interval = 5

整数值

当操作失败(只重试特定操作)时,重试间隔(以秒为单位)。

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。

retries = 3

整数值

当请求失败时重试客户端。

service-name = None

字符串值

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

service-type = volumev3

字符串值

端点 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

字符串值

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

5.1.8. conductor

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

表 5.7. conductor
配置选项 = 默认值类型Description

allow_deleting_available_nodes = True

布尔值

允许删除处于 available 状态的节点。默认值为 True。

allow_provisioning_in_maintenance = True

布尔值

在处于维护模式时,是否允许节点进入或持续部署或清理。如果此选项设为 False,并且节点在部署或清理过程中输入维护,则进程将在下一个心跳后中止。自动清理或使节点可用也会失败。如果为 True (默认),该过程将在节点启动心跳后开始并暂停。将其从维护中移出将使流程继续进行。

automated_clean = True

布尔值

启用或禁用自动清理。自动清理(自动清理)是一组可配置的步骤,如擦除磁盘驱动器,其在节点上执行,以确保它处于基准状态并准备好部署到其中。这是在实例删除后完成,也可从"管理"状态变为"可用"状态。启用后,对节点执行的特定步骤取决于该节点由哪个驱动程序管理;有关详细信息,请参阅各个驱动程序的文档。注意:引入清理操作会导致实例删除需要更长的时间。在所有租户都被信任的环境中(例如,因为只有一个租户),可以安全地禁用此选项。

automatic_lessee = False

布尔值

如果编排器应该为请求的部署记录 Keystone 指示的项目 ID。允许授予在 RBAC 安全模型中作为 lessee 直接访问部署的节点的权限。否则,conductor 不会记录 这个值,此信息不会在之前部署的实例中回填。

bootloader = None

字符串值

包含 EFI 引导装载程序的 EFI 系统分区镜像的 Glance ID、http:// 或 file://。在从内核和 ramdisk 构建 UEFI 可启动的 ISO 时,该映像将供 ironic 使用。UEFI 从分区镜像引导是必需的。

cache_clean_up_interval = 3600

整数值

清理镜像缓存之间的间隔(以秒为单位)。设置为 0 以禁用定期清理。

check_allocations_interval = 60

整数值

检查孤立分配之间的间隔(以秒为单位)。设置为 0 以禁用检查。

check_provision_state_interval = 60

整数值

检查置备超时的时间间隔(以秒为单位)。设置为 0 以禁用检查。

check_rescue_state_interval = 60

整数值

救援超时检查间隔(秒)。

clean_callback_timeout = 1800

整数值

等待来自 ramdisk 的回调进行清理的超时(秒)。如果达到超时,节点将处于"干净失败"调配状态。设置为 0 以禁用超时。

clean_step_priority_override = {}

字典值

为 in-band 和 out band clean 步骤运行自动清理步骤的优先级,以 interface.step_name:priority 格式提供,如 deploy.erase_devices_metadata:123。可多次指定选项,为多个步骤定义优先级。如果设置为 0,则此特定步骤不会在清理过程中运行。如果为 inband clean 步骤取消设置,将使用 ramdisk 中设置的优先级。

`conductor_group = `

字符串值

要加入的编排器组的名称。可以最多 255 个字符,并且不区分大小写。此编排器将仅管理节点上设置了匹配的 "conductor_group" 字段的节点。

configdrive_swift_container = ironic_configdrive_container

字符串值

用于存储配置驱动器数据的 Swift 容器的名称。当 configdrive_use_object_store 为 True 时使用。

configdrive_swift_temp_url_duration = None

整数值

configdrive 临时 URL 无效后的超时时间(以秒为单位)。如果设置了 deploy_callback_timeout,则默认为 deploy_callback_timeout,否则默认为 1800 秒。当 configdrive_use_object_store 为 True 时使用。

deploy_callback_timeout = 1800

整数值

从部署 ramdisk 等待回调的超时(秒)。设置为 0 以禁用超时。

deploy_kernel = None

字符串值

默认部署镜像的内核的 Glance ID、http:// 或 file:// URL。

deploy_ramdisk = None

字符串值

默认部署镜像的 initramfs 的 Glance ID、http:// 或 file:// URL。

enable_mdns = False

布尔值

是否启用通过多播 DNS 发布 baremetal API 端点。

force_power_state_during_sync = True

布尔值

在 sync_power_state 期间,硬件电源状态应设置为在数据库中记录的状态(True),或者应该根据硬件状态(False)更新数据库。

heartbeat_interval = 10

整数值

编排器核心之间的秒数。

heartbeat_timeout = 60

整数值

自编排器最后一次检查以来的最大时间(以秒为单位)。超过这个时间时,编排器被视为不活跃。

inspect_wait_timeout = 1800

整数值

等待节点检查的超时(秒)。0 - 无限。

max_concurrent_clean = 50

整数值

清理此 Ironic 系统中允许的最大并发节点数量。如果达到这个限制,则新请求将被拒绝,直到清理的节点数量低于这个最大值。由于这是一个安全机制请求,因此此设置是应用到此编排器接收的所有请求的全局设置,无论访问权限是什么。无法禁用并发清理限制。

max_concurrent_deploy = 250

整数值

此 Ironic 系统中允许的最大并发节点数量。如果达到这个限制,新的请求将被拒绝,直到正在进行中的部署数量低于这个最大值。由于这是一个安全机制请求,因此此设置是应用到此编排器接收的所有请求的全局设置,无论访问权限是什么。无法禁用并发部署限制。

node_history = True

布尔值

如果记录节点事件历史记录,则布尔值默认为 True。与节点相关的错误和其他值得注意的事件中会记录到数据库表中,该表会产生一些额外的负载。周期性任务定期从数据库中删除条目。请注意,如果禁用此设置,则编排器将继续清除条目,只要 [conductor]node_history_cleanup_batch_count 不是 0。

node_history_cleanup_batch_count = 1000

整数值

执行清理时要从数据库中清除的节点历史记录记录的目标数量。删除由节点执行,具有过量节点的记录的节点仍会删除。默认值为 1000。查找节点历史记录构建的 Operator 可能希望降低这个阈值,并减少使用 node_history_cleanup_interval 设置清理操作之间的时间。

node_history_cleanup_interval = 86400

整数值

在数据库中清理节点历史记录条目的间隔(以秒为单位)。设置为 0 可禁用定期任务。默认为一天或 86400 秒。

node_history_max_entries = 300

整数值

每个节点存储在数据库中的最大历史记录条目数。默认值为 300。此设置排除使用 [conductor]node_history_minimum_days 设置保留的最小天数。

node_history_minimum_days = 0

整数值

在节点的数据库历史记录条目中显式保留的最小天数。这与 [conductor]node_history_max_entries 设置独占使用,因为此设置的用户预计需要根据策略保留历史记录。

node_locked_retry_attempts = 3

整数值

获取节点锁定的尝试次数。

node_locked_retry_interval = 1

整数值

节点锁定尝试之间休眠的秒数。

periodic_max_workers = 8

整数值

定期任务可以同时启动的最大 worker 线程数量。RPC 线程池大小应小于 RPC 线程池大小。

power_failure_recovery_interval = 300

整数值

检查之前因为电源同步失败而将节点进入维护模式之间的间隔(以秒为单位)。在成功检索电源状态后,节点会自动从维护模式移出。设置为 0 以禁用此检查。

power_state_change_timeout = 60

整数值

等待电源操作完成的秒数,即 baremetal 节点处于所需的电源状态。如果超时,电源操作被视为失败。

power_state_sync_max_retries = 3

整数值

在 sync_power_state 失败时,限制 Ironic 应该尝试将硬件节点电源状态与 DB 中的节点电源状态同步的次数

require_rescue_password_hashed = False

布尔值

选项会导致编排器不会回退到救援密码的未哈希版本,允许使用旧的 ironic-python-agent ramdisks 进行救援。

rescue_callback_timeout = 1800

整数值

从救援 ramdisk 中等待回调的超时(秒)。如果达到超时,节点将处于"rescue failed"置备状态。设置为 0 以禁用超时。

rescue_kernel = None

字符串值

默认救援镜像的内核的 Glance ID、http:// 或 file:// URL。

rescue_password_hash_algorithm = sha256

字符串值

用于救援密码的密码哈希算法。

rescue_ramdisk = None

字符串值

默认救援镜像的 initramfs 的 Glance ID、http:// 或 file:// URL。

soft_power_off_timeout = 600

整数值

软重启和软电源关闭操作的超时(以秒为单位)。这个值始终必须为正状态。

sync_local_state_interval = 180

整数值

当编排器加入或离开集群时,现有编排器可能需要更新任何持久的本地状态,因为节点会在集群中移动。这个选项控制每个编排器应"要接管"的节点的频率(以秒为单位)。将它设置为 0 (或负值)可完全禁用检查。

sync_power_state_interval = 60

整数值

将节点电源状态同步到数据库(以秒为单位)。设置为 0 以禁用同步。

sync_power_state_workers = 8

整数值

可同时启动的最大 worker 线程数,以从定期任务同步节点电源状态。

verify_step_priority_override = {}

字典值

运行 interface.step_name:priority 格式提供的自动验证步骤的优先级,如 management.clear_job_queue:123。可多次指定选项,为多个步骤定义优先级。如果设置为 0,则这个特定步骤不会在验证过程中运行。

workers_pool_size = 100

整数值

worker greenthread 池的大小。请注意,双线程将由编排器本身保留,用于处理核心情况和定期任务。在此之上,sync_power_state_workers 将最多使用 7 个绿色线程,默认值为 8。

5.1.9. 控制台

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

表 5.8. 控制台
配置选项 = 默认值类型Description

kill_timeout = 1

整数值

在发送 SIGKILL 信号前等待控制台子进程退出的时间(以秒为单位)。

port_range = None

字符串值

可用于在 ironic conductor 主机上运行的控制台代理服务的一组端口,格式为 <start>:<stop>。Shellinabox 和 Socat 控制台都使用此选项

socat_address = $my_ip

IP 地址值

在一个 ironic conductor 主机上运行的 Socat 服务的 IP 地址。仅供 Socat 控制台使用。

subprocess_checking_interval = 1

整数值

用于检查控制台子进程状态的时间间隔(以秒为单位)。

subprocess_timeout = 10

整数值

等待控制台子进程启动的时间(以秒为单位)。

terminal = shellinaboxd

字符串值

串行控制台终端程序的路径。仅供 Shell In A Box 控制台使用。

terminal_cert_dir = None

字符串值

包含用于串行控制台访问的终端 SSL 证书(PEM)的目录。仅供 Shell In A Box 控制台使用。

terminal_pid_dir = None

字符串值

用于保存终端 pid 文件的目录。如果未指定,则使用临时目录。

terminal_timeout = 600

整数值

在不活跃时关闭终端会话的超时(以秒为单位)。设置为 0 以禁用超时。仅供 Socat 控制台使用。

5.1.10. CORS

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

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

allow_credentials = True

布尔值

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

allow_headers = []

列出值

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

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

列出值

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

allowed_origin = None

列出值

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

expose_headers = []

列出值

指明向 API 公开哪些标头是安全的。默认为 HTTP Simple Headers。

max_age = 3600

整数值

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

5.1.11. database

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

表 5.10. 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)的支持。弃用自: 12.1.0

适用于 MySQL NDB 集群存储引擎的reason:*Support 已弃用,并将在以后的版本中删除。

mysql_engine = InnoDB

字符串值

要使用的 MySQL 引擎。

mysql_sql_mode = TRADITIONAL

字符串值

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

mysql_wsrep_sync_wait = None

整数值

对于 Galera,对新连接配置 wsrep_sync_wait 导致性检查。默认为 None,表示不配置任何设置。

pool_timeout = None

整数值

如果设置,请对带有 SQLAlchemy 的 pool_timeout 使用这个值。

retry_interval = 10

整数值

打开 SQL 连接之间的间隔。

slave_connection = None

字符串值

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

sqlite_synchronous = True

布尔值

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

use_db_reconnect = False

布尔值

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

5.1.12. deploy

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

表 5.11. deploy
配置选项 = 默认值类型Description

configdrive_use_object_store = False

布尔值

是否将配置驱动器上传到对象存储。将这个选项设置为 True 以将配置驱动器存储在 swift 端点中。

continue_if_disk_secure_erase_fails = False

布尔值

定义在 Ironic Python Agent 中清理过程中安全擦除操作(NVMe 或 ATA)失败的情况。如果为 False,清理操作将失败,节点将处于 干净的失败状态。如果为 True,则调用 shred 并继续清理。

create_configuration_priority = None

整数值

运行带外清理步骤的优先级,通过 Ironic Python Agent ramdisk 从设备创建 RAID 配置。如果未设置,将使用 ramdisk 中设置的优先级(对于 GenericHardwareManager,默认为 0)。如果设置为 0,则在清理过程中不会运行。

default_boot_mode = uefi

字符串值

在节点的 driver_info、capabilities 或 instance_info 配置中没有请求引导模式时,要使用的默认引导模式。目前,默认的引导模式为"uefi",但它之前在 Ironic 中是"bios"。建议为这个选项设置显式值,如果设置或默认值与节点不同,以确保为所需的引导模式配置了节点。

delete_configuration_priority = None

整数值

运行带外清理步骤的优先级,通过 Ironic Python Agent ramdisk 从设备中删除 RAID 配置。如果未设置,将使用 ramdisk 中设置的优先级(对于 GenericHardwareManager,默认为 0)。如果设置为 0,则在清理过程中不会运行。

disk_erasure_concurrency = 4

整数值

定义 Ironic Python Agent ramdisk 用于擦除磁盘设备的目标池大小。为擦除磁盘创建的线程数量不会超过这个值或要擦除的磁盘数量。

enable_ata_secure_erase = True

布尔值

是否在清理过程中支持使用 ATA 安全 Erase。默认值为 True。

enable_nvme_secure_erase = True

布尔值

是否在清理过程中支持使用 NVMe 安全 Erase。目前,根据设备 capabilities.Defaults 到 True,user-data 和 crypto 模式支持 nvme-cli format 命令。

erase_devices_metadata_priority = None

整数值

运行带外清理步骤的优先级,通过 Ironic Python Agent ramdisk 从设备中删除元数据。如果未设置,将使用 ramdisk 中设置的优先级(对于 GenericHardwareManager,默认为 99)。如果设置为 0,则在清理过程中不会运行。

erase_devices_priority = None

整数值

通过 Ironic Python Agent ramdisk 运行带内擦除设备的优先级。如果未设置,将使用 ramdisk 中设置的优先级(对于 GenericHardwareManager,默认为 10)。如果设置为 0,则在清理过程中不会运行。

erase_skip_read_only = False

布尔值

如果在运行"erase_devices"清理步骤时,如果 ironic-python-agent 应该跳过只读设备,其中块设备为零。这要求 ironic-python-agent 6.0.0 或更高版本。默认情况下,只读设备会导致基于非元数据的清理操作失败,因为在裸机节点部署之间保留数据的操作安全风险。

external_callback_url = None

字符串值

用于引导方法(如虚拟介质)的裸机 API 的代理回调 URL,其中镜像可以在 provisioning 网络之外提供。默认为 [service_catalog] 的配置。

external_http_url = None

字符串值

用于引导方法的 ironic-conductor 节点的 HTTP 服务器的 URL,如虚拟介质,镜像可在置备网络之外提供。使用 Swift 时不适用。默认为 http_url。

fast_track = False

布尔值

是否允许部署代理在机器生命周期的初始状态期间执行查找、心跳操作,以及传递 ramdisk 的常规设置过程。此功能还启用了作为部署流程一部分的电源操作,如果 ramdisk 使用 fast_track_timeout 设置执行 heartbeat 操作。

fast_track_timeout = 300

整数值

最后一次心跳事件在快速跟踪序列的目的有效的秒数。此设置通常应小于"Power-On Self Test"和典型的 ramdisk 启动的秒数。这个值不应超过 [api]ramdisk_heartbeat_timeout 设置。

http_image_subdir = agent_images

字符串值

当包含本地 HTTP 服务以提供实例镜像时,ironic-conductor 节点的 HTTP root 路径下的子目录名称用于为直接部署接口放置实例镜像。

http_root = /httpboot

字符串值

ironic-conductor 节点的 HTTP 根路径。

http_url = None

字符串值

ironic-conductor 节点的 HTTP 服务器 URL。示例 :http://192.1.2.3:8080

iso_cache_size = 20480

整数值

主 ISO 镜像缓存的最大大小(以 MiB 为单位),包括正在使用的缓存。

iso_cache_ttl = 10080

整数值

缓存中的旧主 ISO 镜像的最大 TTL (以分钟为单位)。

iso_master_path = /var/lib/ironic/master_iso_images

字符串值

在 ironic-conductor 节点上,将主 ISO 镜像存储在磁盘上的目录。设置为空字符串可禁用镜像缓存。

power_off_after_deploy_failure = True

布尔值

部署失败后是否关闭节点。默认值为 True。

ramdisk_image_download_source = local

字符串值

指定引导 iso 镜像是否应直接使用镜像源 URL 从自己的原始位置提供,或者 ironic 是否应该缓存编排器上的镜像,并从 ironic 自己的 http 服务器提供服务。

shred_final_overwrite_with_zeros = True

布尔值

在写入随机数据后,是否要将零写入节点的块设备。即使 deploy.shred_random_overwrite_iterations 为 0。只有在设备无法被 ATA 安全提升时,才会使用这个选项。默认值为 True。

shred_random_overwrite_iterations = 1

整数值

在 shred 过程中,使用随机数据覆盖所有块设备 N 次。这只有在设备不能 ATA 安全 Erased 时使用。默认为 1。

5.1.13. dhcp

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

表 5.12. dhcp
配置选项 = 默认值类型Description

dhcp_provider = neutron

字符串值

要使用的 DHCP 提供程序。"neutron" 使用 Neutron,"dnsmasq"使用 Dnsmasq 提供程序,"none"使用 no-op 提供程序。

5.1.14. disk_partitioner

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

表 5.13. disk_partitioner
配置选项 = 默认值类型Description

check_device_interval = 1

整数值

Ironic 完成分区表创建后,它将继续在此时间段内检查附加 iSCSI 设备状态的活动,然后再将镜像复制到节点(以秒为单位)

check_device_max_retries = 20

整数值

检查设备是否没有被另一个进程访问的次数上限。如果该设备在这之后仍然忙碌,则磁盘分区将被视为已失败。

5.1.15. disk_utils

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

表 5.14. disk_utils
配置选项 = 默认值类型Description

bios_boot_partition_size = 1

整数值

在为 BIOS 中的本地引导配置 GPT 分区系统时,以 MiB 为单位的 BIOS 引导分区大小。

dd_block_size = 1M

字符串值

写入节点磁盘时要使用的块大小。

efi_system_partition_size = 200

整数值

为本地引导配置 UEFI 系统时,以 MiB 为单位的 EFI 系统分区大小。

image_convert_attempts = 3

整数值

转换镜像的尝试次数。

image_convert_memory_limit = 2048

整数值

MiB 中"qemu-img 转换的内存限值"。通过地址空间资源限制实施。

partition_detection_attempts = 3

整数值

检测新创建的分区的最大尝试。

partprobe_attempts = 10

整数值

尝试读取分区的最大尝试次数。

5.1.16. DRAC

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

表 5.15. DRAC
配置选项 = 默认值类型描述

bios_factory_reset_timeout = 600

整数值

等待工厂重置 BIOS 设置完成的最长时间(以秒为单位)。

boot_device_job_status_timeout = 30

整数值

等待引导设备配置作业转换为正确状态的最长时间(以秒为单位),以允许重新启动或开机完成。

config_job_max_retries = 240

整数值

配置作业成功完成的最大重试次数。

query_import_config_job_status_interval = 60

整数值

检查完成导入配置任务之间等待的秒数

query_raid_config_job_status_interval = 120

整数值

定期 RAID 作业状态检查之间的间隔(以秒为单位),以确定异步 RAID 配置是否已成功完成。

raid_job_timeout = 300

整数值

等待 RAID 作业完成的最长时间(以秒为单位)

5.1.17. Glance

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

表 5.16. Glance
配置选项 = 默认值类型Description

allowed_direct_url_schemes = []

列出值

URL 方案列表,可以直接通过 direct_url 下载。目前支持的方案:[file]。

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

num_retries = 0

整数值

从 glance 下载镜像时重试次数。

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 = image

字符串值

端点 URL 发现的默认 service_type。

split-loggers = False

布尔值

记录对多个日志记录器的请求。

status-code-retries = None

整数值

应该为可重试 HTTP 状态代码尝试的最大重试次数。

status-code-retry-delay = None

浮点值

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

swift_account = None

字符串值

Glance 用来与 Swift 通信的帐户。格式为 "AUTH_uuid"。"uuid" 是 glance-api.conf 中配置的帐户的 UUID。例如:"AUTH_a422b2-91f3-2f46-74b7-d7c9e8958f5d30"。如果没有设置,则根据用于访问 Swift 的项目 ID (如 [swift] 部分中设置)计算默认值。Swift temporary URL format: "endpoint_url/api_version/account/container/object_id"

swift_account_prefix = AUTH

字符串值

添加到项目 uuid 的前缀,以确定 swift 帐户。

swift_api_version = v1

字符串值

用于为以下目的创建临时 URL 的 Swift API 版本。默认为 "v1"。Swift temporary URL format: "endpoint_url/api_version/account/container/object_id"

swift_container = glance

字符串值

Swift 容器 Glance 被配置为将其镜像存储在其中。默认为 "glance",这是 glance-api.conf 中的默认设置。Swift temporary URL format: "endpoint_url/api_version/account/container/object_id"

swift_endpoint_url = None

字符串值

Swift URL 的 "endpoint" (scheme, hostname, optional port),格式为 "endpoint_url/api_version/account/container/object_id"。不要包括结尾的"/"。例如,使用 "https://swift.example.com"。如果使用 RADOS 网关,端点也可以包含 /swift 路径;如果没有,则会附加该路径。用于临时 URL,如果未提供,将从服务目录获取。

swift_store_multiple_containers_seed = 0

整数值

这应该与 Glance 配置文件中同名的配置匹配。当设置为 0 时,单租户存储将仅使用一个容器来存储所有镜像。当设置为 1 到 32 之间的整数值时,单租户存储将使用多个容器来存储镜像,这个值将决定创建多少个容器。

swift_temp_url_cache_enabled = False

布尔值

是否缓存生成的 Swift 临时 URL。只有在使用镜像缓存代理时,将其设置为 true 才有用。默认值为 False。

swift_temp_url_duration = 1200

整数值

临时 URL 有效的时间长度(以秒为单位)。默认值为 20 分钟。如果某些部署在尝试从临时 URL 下载时获得 401 响应代码,请尝试缩短此持续时间。这个值必须大于或等于 swift_temp_url_expected_download_start_delay 的值

swift_temp_url_expected_download_start_delay = 0

整数值

这是从部署请求(生成 Swift 临时 URL)到 IPA ramdisk 启动并且 URL 用于镜像下载的时间(以秒为单位)的延迟(以秒为单位)。这个值用于检查 Swift 临时 URL 持续时间是否足够大,以便下载镜像。另外,如果启用了临时 URL 缓存,这将确定在下载启动时缓存的条目仍然有效。swift_temp_url_duration 值必须大于或等于此选项的值。默认值为 0。

swift_temp_url_key = None

字符串值

提供给 Swift 的 secret 令牌,以允许临时 URL 下载。临时 URL 需要。对于 Swift 后端,默认使用服务项目上的密钥(如 [swift] 部分中设置)。

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

字符串值

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

5.1.18. healthcheck

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

表 5.17. healthcheck
配置选项 = 默认值类型Description

backends = []

列出值

可以执行健康检查的额外后端,并报告信息作为请求的一部分。

detailed = False

布尔值

作为响应的一部分,显示更详细的信息。安全备注:启用此选项可能会公开有关被监控服务的敏感详情。务必验证它是否不会违反您的安全策略。

disable_by_file_path = None

字符串值

检查是否存在文件,以确定应用程序是否在端口上运行。由 DisableByFileHealthcheck 插件使用。

disable_by_file_paths = []

列出值

根据端口检查是否存在文件,以确定应用程序是否在端口上运行。需要一个字符串的 "port:path" 列表。由 DisableByFilesPortsHealthcheck 插件使用。

enabled = False

布尔值

在 /healthcheck 中启用健康检查端点。请注意,这是未经身份验证的。有关更多信息,请参见 https://docs.openstack.org/oslo.middleware/latest/reference/healthcheck_plugins.html

path = /healthcheck

字符串值

响应 healtcheck 请求的路径。

5.1.19. ilo

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

表 5.18. ilo
配置选项 = 默认值类型Description

ca_file = None

字符串值

用于验证 iLO 的 CA 证书文件。

cert_path = /var/lib/ironic/ilo/

字符串值

在 ironic-conductor 节点上,ilo 驱动程序存储 CSR 和证书的目录。

clean_priority_clear_secure_boot_keys = 0

整数值

clear_secure_boot_keys 清理步骤的优先级。默认情况下不启用此步骤。可以启用它来清除使用 iLO 注册的所有安全引导密钥。

clean_priority_reset_bios_to_default = 10

整数值

reset_bios_to_default 清理步骤的优先级。

clean_priority_reset_ilo = 0

整数值

reset_ilo clean 步骤的优先级。

clean_priority_reset_ilo_credential = 30

整数值

reset_ilo_credential 清理步骤的优先级。此步骤需要在节点的 driver_info 中使用新密码更新 "ilo_change_password" 参数。

clean_priority_reset_secure_boot_keys_to_default = 20

整数值

reset_secure_boot_keys 清理步骤的优先级。此步骤将安全引导密钥重置为 manufacturing 默认值。

client_port = 443

端口值

用于 iLO 操作的端口

client_timeout = 60

整数值

iLO 操作的超时(以秒为单位)

default_boot_mode = auto

字符串值

当节点的"properties/capabilities"中未提供"boot_mode"功能时,需要置备的默认引导模式。对于向后兼容,默认为 "auto"。指定"auto"后,将基于系统上的引导模式设置选择默认引导模式。

file_permission = 420

整数值

使用文件权限的八进制权限表示快速无数镜像托管文件权限。此设置默认为 644,或是 Python 中的八进制数字 0o644。此设置必须设置为八进制数字表示,即以 0o 开始。

kernel_append_params = nofb nomodeset vga=normal

字符串值

传递给实例内核的其他内核参数。这些参数可由内核使用,或通过应用程序读取 /proc/cmdline。请记住,严重的 cmdline 大小限制!可以被 instance_info/kernel_append_params 属性覆盖。

oob_erase_devices_job_status_interval = 300

整数值

定期清除设备状态检查之间的间隔(以秒为单位),以确定异步的带外擦除设备是否已成功完成。平均而言,具有默认模式"overwrite"的 300GB HDD 可能需要大约 9 小时,300GB SSD (默认模式为"block")需要 approx. 30 秒才能完成清理磁盘清除。

power_wait = 2

整数值

电源操作之间等待的时间(以秒为单位)

swift_ilo_container = ironic_ilo_container

字符串值

用于存储数据的 Swift iLO 容器。

swift_object_expiry_timeout = 900

整数值

Swift 对象自动过期的时间(以秒为单位)。

use_web_server_for_images = False

布尔值

把它设置为 True,以使用 http web 服务器托管软盘镜像和生成的引导 ISO。这要求在配置文件的 [deploy] 部分中配置 http_root 和 http_url。如果此值设为 False,则 Ironic 将使用 Swift 托管软盘镜像和生成的 boot_iso。

verify_ca = True

字符串值

用于验证 iLO 的 CA 证书。这可以是布尔值,可以是 CA_BUNDLE 文件的路径,也可以是带有可信 CA 证书的目录。如果设置为 True,则驱动程序将验证主机证书;如果 False,驱动程序将忽略验证 SSL 证书。如果是一个路径,驱动程序将使用指定的证书或目录中的一个证书。默认值为 True。

5.1.20. 检查器

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

表 5.19. 检查器
配置选项 = 默认值类型Description

auth-url = None

字符串值

身份验证 URL

auth_type = None

字符串值

要载入的身份验证类型

cafile = None

字符串值

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

callback_endpoint_override = None

字符串值

当引导由 ironic 管理时,用作回调以回内省数据的回调。默认使用标准 keystoneauth 选项。

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 选项。

`extra_kernel_params = `

字符串值

引导时传递给检查 ramdisk 的额外内核参数由 ironic 管理(而不是 ironic-inspector)。pair key=value 用空格分开。

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

字符串值

用户密码

power_off = True

布尔值

检查完成后是否关闭节点。对于启用了快速跟踪模式的节点,忽略了。

project-domain-id = None

字符串值

包含项目的域 ID

project-domain-name = None

字符串值

包含项目的域名

project-id = None

字符串值

项目 ID 到范围

project-name = None

字符串值

项目名称到范围

region-name = None

字符串值

端点 URL 发现的默认 region_name。

require_managed_boot = False

布尔值

要求带外检查引导完全由 ironic 管理。如果您的 ironic-inspector 安装没有单独的 PXE 引导环境,则将其设置为 True。

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

status_check_period = 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

字符串值

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

5.1.21. 清单(inventory)

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

表 5.20. 清单(inventory)
配置选项 = 默认值类型描述

data_backend = database

字符串值

用于存储内省数据的存储后端。

swift_data_container = introspection_data_container

字符串值

Swift 内省数据容器来存储清单数据。

5.1.22. ipmi

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

表 5.21. ipmi
配置选项 = 默认值类型Description

additional_retryable_ipmi_errors = []

多值

ipmitool 可能会出现其他错误,特定于其在其中运行的环境。

cipher_suite_versions = []

列出值

如果没有为节点设置字段 cipher_suite,则硬件支持的可能密码套件版本列表。

command_retry_timeout = 60

整数值

重试 IPMI 操作的最大时间(以秒为单位)。(例如,如果请求的操作因为 BMC 忙碌而失败,则操作可以被重试。)当出现缓慢或无响应的 BMC 时,设置太高可能会导致同步电源状态定期任务挂起。

debug = False

布尔值

启用所有 ipmi 命令,以使用额外的调试输出来执行。这是一个单独的选项,因为 ipmitool 可以在这个模式中记录大量误导文本。

disable_boot_timeout = True

布尔值

ironic 发送原始 IPMI 命令的默认超时行为,以禁用引导的 60 秒超时。将这个选项设置为 False 将不会发送该命令,默认值为 True。在节点的 driver_info 字段中,可以被每个节点的 ipmi_disable_boot_timeout 选项覆盖。

kill_on_timeout = True

布尔值

如果 ipmitool 进程在 command_retry_timeout 超时到期后没有退出,则终止由 ironic 调用的 ipmitool 进程来读取节点电源状态。推荐的设置为 True

min_command_interval = 5

整数值

发送到服务器的 IPMI 操作之间的最短时间(以秒为单位)。有些硬件设置太低的风险可能会导致 BMC 崩溃。推荐的设置是 5 秒。

use_ipmitool_retries = False

布尔值

当设置为 True 且 ipmitool 支持参数时,重试次数和重试间隔会作为参数传递给 ipmitool,ipmitool 将进行重试。当设置为 False 时,ironic 将重试 ipmitool 命令。推荐的设置是 False

5.1.23. irmc

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

表 5.22. irmc
配置选项 = 默认值类型Description

auth_method = basic

字符串值

用于 iRMC 操作的验证方法

clean_priority_restore_irmc_bios_config = 0

整数值

restore_irmc_bios_config 清理步骤的优先级。

client_timeout = 60

整数值

iRMC 操作的超时(以秒为单位)

fpga_ids = []

列出值

要检查 CPU FPGA 的厂商 ID 和设备 ID 列表。列表项格式为 vendorID/deviceID,用逗号分开。CPU 检查将使用此值在节点中查找是否存在 CPU FPGA。如果没有定义这个选项,则在节点特征中保留 CUSTOM_CPU_FPGA。示例 fpga_ids 值: 0x1000/0x0079,0x2100/0x0080

gpu_ids = []

列出值

要检查的 GPU 设备的厂商 ID 和设备 ID 列表。列表项格式为 vendorID/deviceID,用逗号分开。GPU 检查将使用此值来计算节点中 GPU 设备的数量。如果没有定义这个选项,则在 capabilities 属性中保留 pci_gpu_devices。示例 gpu_ids 值: 0x1000/0x0079,0x2100/0x0080

kernel_append_params = None

字符串值

传递给实例内核的其他内核参数。这些参数可由内核使用,或通过应用程序读取 /proc/cmdline。请记住,严重的 cmdline 大小限制!可以被 instance_info/kernel_append_params 属性覆盖。

port = 443

端口值

iRMC 操作使用的端口

query_raid_config_fgi_status_interval = 300

整数值

定期 RAID 状态检查之间的间隔(以秒为单位),以确定异步 RAID 配置是否已成功完成。创建虚拟驱动器后,前台初始化(FGI)将启动 5 分钟。

remote_image_server = None

字符串值

远程镜像服务器的 IP

remote_image_share_name = share

字符串值

share name of remote_image_server

remote_image_share_root = /remote_image_share_root

字符串值

Ironic 编排器节点的"NFS"或"CIFS"根路径

remote_image_share_type = CIFS

字符串值

虚拟介质的共享类型

`remote_image_user_domain = `

字符串值

remote_image_user_name 的域名

remote_image_user_name = None

字符串值

remote_image_server 的用户名

remote_image_user_password = None

字符串值

remote_image_user_name 的密码

sensor_method = ipmitool

字符串值

获得感应器数据的方法。

snmp_auth_proto = sha

字符串值

SNMPv3 消息身份验证协议 ID。版本 v3 是必需的。有效选项为 sha , sha256,sha384sha512,而 sha 是 iRMC S4 和 S5 中唯一支持的协议,而 iRMC S6、sha256sha384sha512 受到支持,但 sha 不支持任何其他支持。

snmp_community = public

字符串值

SNMP 社区.版本 "v1" 和 "v2c" 需要

snmp_polling_interval = 10

整数值

SNMP 轮询间隔(以秒为单位)

snmp_port = 161

端口值

SNMP port

snmp_priv_proto = aes

字符串值

SNMPv3 消息隐私(加密)协议 ID。版本 v3 是必需的。支持 AES。

snmp_security = None

字符串值

SNMP 安全性名称。版本 v3 是必需的。

snmp_version = v2c

字符串值

SNMP 协议版本

5.1.24. ironic_lib

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

表 5.23. ironic_lib
配置选项 = 默认值类型Description

fatal_exception_format_errors = False

布尔值

如果在生成异常消息时出现格式化错误(编程错误),则使用。如果为 True,则引发异常;如果 False,则使用未格式化的消息。

root_helper = sudo ironic-rootwrap /etc/ironic/rootwrap.conf

字符串值

以 root 身份运行的命令作为前缀。如果没有指定,则不会以 root 用户身份运行任何命令。

5.1.25. json_rpc

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

表 5.24. json_rpc
配置选项 = 默认值类型描述

allowed_roles = ['admin']

列出值

允许使用 JSON RPC 的角色列表

auth-url = None

字符串值

身份验证 URL

auth_strategy = None

字符串值

JSON RPC 使用的身份验证策略。默认为全局 auth_strategy 设置。

auth_type = None

字符串值

要载入的身份验证类型

cafile = None

字符串值

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

certfile = None

字符串值

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

collect-timing = False

布尔值

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

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

字符串值

域名范围为

host_ip = ::

主机地址值

JSON RPC 将侦听的 IP 地址或主机名。

http_basic_auth_user_file = /etc/ironic/htpasswd-json-rpc

字符串值

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

http_basic_password = None

字符串值

用于 HTTP 基本身份验证客户端请求的密码。

http_basic_username = None

字符串值

用于 HTTP 基本身份验证客户端请求的用户名称。

insecure = False

布尔值

验证 HTTPS 连接。

keyfile = None

字符串值

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

password = None

字符串值

用户密码

port = 8089

端口值

JSON RPC 使用的端口

project-domain-id = None

字符串值

包含项目的域 ID

project-domain-name = None

字符串值

包含项目的域名

project-id = None

字符串值

项目 ID 到范围

project-name = None

字符串值

项目名称到范围

split-loggers = False

布尔值

记录对多个日志记录器的请求。

system-scope = None

字符串值

系统操作范围

tenant-id = None

字符串值

租户 ID

tenant-name = None

字符串值

租户名称

timeout = None

整数值

http 请求的超时值

trust-id = None

字符串值

用作信任者使用的信任 ID

use_ssl = False

布尔值

是否对 JSON RPC 使用 TLS

user-domain-id = None

字符串值

用户的域 ID

user-domain-name = None

字符串值

用户的域名

user-id = None

字符串值

用户 ID

username = None

字符串值

用户名

5.1.26. keystone_authtoken

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

表 5.25. 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" (默认)无法验证绑定信息,如果不是,则忽略它。如"permissive",但如果绑定类型未知,令牌将被拒绝。"必需"格式的任何令牌绑定格式是允许的。最后,令牌中必须存在的绑定方法的名称。

http_connect_timeout = None

整数值

请求超时值与 Identity 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 服务器再次尝试前,memcached 服务器被视为死服务器的秒数。

memcache_pool_maxsize = 10

整数值

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

memcache_pool_socket_timeout = 3

整数值

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

memcache_pool_unused_timeout = 60

整数值

(可选)在关闭到 memcached 前,与 memcached 的连接数的秒数。

memcache_secret_key = None

字符串值

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

memcache_security_strategy = None

字符串值

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

memcache_use_advanced_pool = True

布尔值

(可选)使用 advanced (eventlet 安全) memcached 客户端池。

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 端点,则不 应该与服务用户用来验证令牌的端点相同,因为普通的最终用户可能无法到达该端点。

5.1.27. mdns

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

表 5.26. mdns
配置选项 = 默认值类型Description

interfaces = None

列出值

用于 mDNS 的接口的 IP 地址列表。默认为系统中的所有接口。

lookup_attempts = 3

整数值

查找服务的尝试次数。

params = {}

字典值

为注册的服务传递的其他参数。

registration_attempts = 5

整数值

注册服务的尝试次数。由于 zeroconf 库中的竞争条件,目前必须大于 1。

5.1.28. metrics

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

表 5.27. metrics
配置选项 = 默认值类型Description

agent_backend = noop

字符串值

用于指标的代理 ramdisk 的后端。默认可能的后端为 "noop" 和 "statsd"。

agent_global_prefix = None

字符串值

使用这个值为代理 ramdisk 发送的所有指标名称的前缀。指标名称的格式为 [global_prefix.][uuid.][host_name.]prefix.metric_name。

agent_prepend_host = False

布尔值

将主机名添加到代理 ramdisk 发送的所有指标名称。指标名称的格式为 [global_prefix.][uuid.][host_name.]prefix.metric_name。

agent_prepend_host_reverse = True

布尔值

按 "." 分割前置主机值,并撤销代理 ramdisk 发送的指标(以更好地匹配域名的反向分级形式)。

agent_prepend_uuid = False

布尔值

将节点的 Ironic uuid 添加到代理 ramdisk 发送的所有指标名称。指标名称的格式为 [global_prefix.][uuid.][host_name.]prefix.metric_name。

backend = noop

字符串值

用于 metrics 系统的后端。

global_prefix = None

字符串值

使用此值为所有指标名称加上前缀。默认情况下,没有全局前缀。指标名称的格式为 [global_prefix.][host_name.]prefix.metric_name。

prepend_host = False

布尔值

在所有指标名称前添加主机名。指标名称的格式为 [global_prefix.][host_name.]prefix.metric_name。

prepend_host_reverse = True

布尔值

按 "." 分割前置主机值,并将其反转(与域名的反向分级格式匹配)。

5.1.29. metrics_statsd

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

表 5.28. metrics_statsd
配置选项 = 默认值类型Description

agent_statsd_host = localhost

字符串值

用于 statsd 后端的代理 ramdisk 主机。这必须可从启动代理的网络进行访问。

agent_statsd_port = 8125

端口值

用于 statsd 后端的代理 ramdisk 端口。

statsd_host = localhost

字符串值

用于 statsd 后端的主机。

statsd_port = 8125

端口值

与 statsd 后端一起使用的端口。

5.1.30. molds

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

表 5.29. molds
配置选项 = 默认值类型描述

password = None

字符串值

"http"基本身份验证的密码。默认情况下,设置为空。

retry_attempts = 3

整数值

重试尝试保存或获取配置 molds。

retry_interval = 3

整数值

用于保存或获取配置 mold 的重试间隔。

storage = swift

字符串值

配置冷存储位置。支持 "swift" 和 "http"。默认情况下,"swift"。

user = None

字符串值

用于 "http" 基本身份验证的用户。默认情况下,设置为空。

5.1.31. neutron

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

表 5.30. neutron
配置选项 = 默认值类型Description

add_all_ports = False

布尔值

选项,可在创建用于调配、清理或救援的端口时将所有端口传输到 neutron。这在没有分配给端口的 IP 地址的情况下完成,在某些绑定的网络配置中可能很有用。

auth-url = None

字符串值

身份验证 URL

auth_type = None

字符串值

要载入的身份验证类型

cafile = None

字符串值

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

certfile = None

字符串值

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

cleaning_network = None

字符串值

用于引导用于清理节点的 ramdisk 的 Neutron 网络 UUID 或名称。"neutron"网络接口需要。当使用 "flat" 网络接口或 "neutron" DHCP 供应商时,还需要清理节点。如果提供了名称,则必须在所有网络之间必须是唯一的,否则清理将失败。

cleaning_network_security_groups = []

列出值

在清理节点的过程中要应用的 Neutron 安全组 UUID 列表。可选用于 "neutron" 网络接口,它不适用于 "flat" 或 "noop" 网络接口。如果未指定,则使用默认安全组。

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 身份验证中忽略。

dhcpv6_stateful_address_count = 4

整数值

为在 DHCPv6-stateful 网络上创建的用于置备、清理、救援或检查的端口分配的 IPv6 地址数量。链加载过程的不同阶段将请求具有不同 CLID/IAID 的地址。由于主机必须保留非识别标识符多个地址,以确保引导过程的每个步骤都可以成功租期地址。

domain-id = None

字符串值

域 ID 范围

domain-name = None

字符串值

域名范围为

endpoint-override = None

字符串值

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

insecure = False

布尔值

验证 HTTPS 连接。

inspection_network = None

字符串值

要引导 ramdisk 的 Neutron 网络 UUID 或名称,用于取消检查节点。如果提供了名称,则所有网络或检查都必须是唯一的。

inspection_network_security_groups = []

列出值

在节点检查过程中应用的 Neutron 安全组 UUID 列表。可选用于 "neutron" 网络接口,它不适用于 "flat" 或 "noop" 网络接口。如果未指定,则使用默认安全组。

keyfile = None

字符串值

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

max-version = None

字符串值

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

min-version = None

字符串值

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

password = None

字符串值

用户密码

port_setup_delay = 0

整数值

等待 Neutron 代理为端口设置足够的 DHCP 配置的延迟值。

project-domain-id = None

字符串值

包含项目的域 ID

project-domain-name = None

字符串值

包含项目的域名

project-id = None

字符串值

项目 ID 到范围

project-name = None

字符串值

项目名称到范围

provisioning_network = None

字符串值

要引导用于置备节点的 ramdisk 的 Neutron 网络 UUID 或名称。"neutron"网络接口需要。如果提供了名称,则在所有网络或部署都必须是唯一的。

provisioning_network_security_groups = []

列出值

在置备节点的过程中应用的 Neutron 安全组 UUID 列表。可选用于 "neutron" 网络接口,它不适用于 "flat" 或 "noop" 网络接口。如果未指定,则使用默认安全组。

region-name = None

字符串值

端点 URL 发现的默认 region_name。

request_timeout = 45

整数值

与 Neutron 交互时请求处理的超时。如果发现 neutron 端口操作超时,则应增加这个值,因为 neutron 在返回到 API 客户端之前执行预提交验证,这比正常的客户端/服务器交互要长。

rescuing_network = None

字符串值

用于为救援模式引导 ramdisk 的 Neutron 网络 UUID 或名称。这不是救援 ramdisk 将使用 post-boot to the 租户网络用于该网络的网络。"neutron"网络接口是必需的,如果使用救援模式。它不适用于 "flat" 或 "noop" 网络接口。如果提供了名称,则所有网络或者救援都必须是唯一的。

rescuing_network_security_groups = []

列出值

在节点救援过程中应用的 Neutron 安全组 UUID 列表。可选用于 "neutron" 网络接口,它不适用于 "flat" 或 "noop" 网络接口。如果未指定,则使用默认安全组。

retries = 3

整数值

DEPRECATED :在请求失败时客户端重试。

service-name = None

字符串值

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

service-type = network

字符串值

端点 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

字符串值

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

5.1.32. nova

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

表 5.31. nova
配置选项 = 默认值类型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。

send_power_notifications = True

布尔值

当设置为 True 时,它将启用电源状态将回调更改为 nova 的支持。此选项应该在没有 openstack compute 服务的部署中设置为 False。

service-name = None

字符串值

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

service-type = compute

字符串值

端点 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

字符串值

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

5.1.33. oslo_concurrency

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

表 5.32. oslo_concurrency
配置选项 = 默认值类型Description

disable_process_locking = False

布尔值

启用或禁用进程间的锁定。

lock_path = None

字符串值

用于锁定文件的目录。为安全起见,指定的目录应该只对运行需要锁定的进程的用户写入。默认为环境变量 OSLO_LOCK_PATH。如果使用外部锁定,则必须设置锁定路径。

5.1.34. oslo_messaging_amqp

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

表 5.33. oslo_messaging_amqp
配置选项 = 默认值类型Description

addressing_mode = dynamic

字符串值

表示驱动程序使用的寻址模式。允许的值: legacy - 使用旧的不可路由寻址;routable - 使用可路由地址;dynamic - 如果消息总线不支持路由,使用 legacy,如果支持,使用 routable。

anycast_address = anycast

字符串值

在发送到一组消费者时,附加到地址前缀中。由消息总线使用来识别应以轮循方式传送的消息。

broadcast_prefix = broadcast

字符串值

广播到所有服务器时使用的地址前缀

connection_retry_backoff = 2

整数值

在每次失败故障转移尝试失败后,增加 connection_retry_interval。

connection_retry_interval = 1

整数值

在尝试重新连接前需要暂停的秒数。

connection_retry_interval_max = 30

整数值

connection_retry_interval + connection_retry_backoff 的最大限制

container_name = None

字符串值

AMQP 容器的名称。必须全局唯一。默认为生成的 UUID

default_notification_exchange = None

字符串值

通知地址中使用的交换名称。Exchange name resolution priority: Target.exchange if set else default_notification_exchange if set else control_exchange if set else notify

default_notify_timeout = 30

整数值

发送通知消息发送的截止时间。仅在调用者不提供超时到期时使用。

default_reply_retry = 0

整数值

因可恢复错误而重新发送失败的回复消息的最大尝试次数。

default_reply_timeout = 30

整数值

rpc 回复消息发送的截止时间。

default_rpc_exchange = None

字符串值

RPC 地址中使用的交换名称。Exchange name resolution priority: Target.exchange if set else default_rpc_exchange if set else control_exchange if set else rpc

default_send_timeout = 30

整数值

rpc cast 或调用消息发送的截止时间。仅在调用者不提供超时到期时使用。

default_sender_link_timeout = 600

整数值

调度闲置发送方链接的清除持续时间。在到期后分离链接。

group_request_prefix = unicast

字符串值

发送到组中任何服务器的地址前缀

idle_timeout = 0

整数值

不活跃连接的超时时间(以秒为单位)

link_retry_delay = 10

整数值

重新连接因为可恢复的错误而失败的 AMQP 1.0 链接之间暂停的时间。

multicast_address = multicast

字符串值

在发送 fanout 消息时附加到地址前缀中。由消息总线用来识别 fanout 消息。

notify_address_prefix = openstack.org/om/notify

字符串值

所有生成的通知地址的地址前缀

notify_server_credit = 100

整数值

传入通知消息的窗口大小

pre_settled = ['rpc-cast', 'rpc-reply']

多值

发送此类类型的消息。预先修改的消息将不会接收来自对等点的确认。注意:如果发送失败,则预先修改的消息可能会静默丢弃。允许的值: rpc-call - send RPC Calls pre-settled rpc-reply- send RPC Replies pre-settled rpc-cast - Send RPC Casts pre-settled notify - Send Notifications pre-settled

pseudo_vhost = True

布尔值

为那些不支持原生支持虚拟主机(如 qpidd)的消息总线启用虚拟主机支持。当设置为 true 时,虚拟主机名将添加到所有消息总线地址中,从而有效地为每个虚拟主机 创建专用子网。如果消息总线使用 AMQP 1.0 Open performative 作为虚拟主机名称中的 hostname 字段,则设置为 False。

reply_link_credit = 200

整数值

传入 RPC Reply 消息的窗口大小。

rpc_address_prefix = openstack.org/om/rpc

字符串值

所有生成的 RPC 地址的地址前缀

rpc_server_credit = 100

整数值

传入 RPC 请求消息的窗口大小

`sasl_config_dir = `

字符串值

包含 SASL 配置的目录路径

`sasl_config_name = `

字符串值

配置文件的名称(不带 .conf 后缀)

`sasl_default_realm = `

字符串值

如果用户名中没有域,则将使用 SASL 域

`sasl_mechanisms = `

字符串值

可接受的 SASL 机制的空格分隔列表

server_request_prefix = exclusive

字符串值

发送到特定服务器时使用的地址前缀

ssl = False

布尔值

尝试通过 SSL 连接。如果没有指定其他与 ssl 相关的参数,它将使用系统的 CA-bundle 来验证服务器证书。

`ssl_ca_file = `

字符串值

用于验证服务器证书的 CA 证书 PEM 文件

`ssl_cert_file = `

字符串值

自我识别用于客户端身份验证的证书 PEM 文件

`ssl_key_file = `

字符串值

用于为 ssl_cert_file 证书签名的私钥 PEM 文件(可选)

ssl_key_password = None

字符串值

用于解密 ssl_key_file 的密码(如果加密)

ssl_verify_vhost = False

布尔值

默认情况下,SSL 检查服务器证书中的名称是否与 transport_url 中的主机名匹配。在某些配置中,可能最好使用虚拟主机名,例如,如果服务器使用 Server Name Indication TLS 扩展(rfc6066)为每个虚拟主机提供证书。如果服务器的 SSL 证书使用虚拟主机名称而不是 DNS 名称,则将 ssl_verify_vhost 设置为 True。

trace = False

布尔值

debug:将 AMQP 帧转储到 stdout

unicast_address = unicast

字符串值

在发送到特定的 RPC/Notification 服务器时,附加到地址前缀中。由消息总线用来识别发送到单个目的地的消息。

5.1.35. oslo_messaging_kafka

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

表 5.34. oslo_messaging_kafka
配置选项 = 默认值类型Description

compression_codec = none

字符串值

生成者生成的所有数据的压缩码c。如果没有设置,则不会使用压缩。请注意,这允许的值取决于 kafka 版本

conn_pool_min_size = 2

整数值

连接过期策略的池大小限制

conn_pool_ttl = 1200

整数值

池中闲置连接的生存时间

consumer_group = oslo_messaging_consumer

字符串值

Kafka 消费者的组 ID。一个组中的消费者将协调消息消耗

enable_auto_commit = False

布尔值

启用异步消费者提交

kafka_consumer_timeout = 1.0

浮点值

Kafka 用户的默认超时

kafka_max_fetch_bytes = 1048576

整数值

Kafka 使用者的最大获取字节数

max_poll_records = 500

整数值

轮询调用中返回的最大记录数

pool_size = 10

整数值

Kafka Consumers 的池大小

producer_batch_size = 16384

整数值

producer async 发送的批处理大小

producer_batch_timeout = 0.0

浮点值

KafkaProducer batching 的延迟上限(以秒为单位)

sasl_mechanism = PLAIN

字符串值

安全协议是 SASL 的机制

security_protocol = PLAINTEXT

字符串值

用于与代理通信的协议

`ssl_cafile = `

字符串值

用于验证服务器证书的 CA 证书 PEM 文件

`ssl_client_cert_file = `

字符串值

用于身份验证的客户端证书 PEM 文件。

`ssl_client_key_file = `

字符串值

用于身份验证的客户端密钥 PEM 文件。

`ssl_client_key_password = `

字符串值

用于身份验证的客户端密钥密码文件。

5.1.36. oslo_messaging_notifications

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

表 5.35. oslo_messaging_notifications
配置选项 = 默认值类型Description

driver = []

多值

处理发送通知的驱动程序。可能的值有 messaging, messagingv2, routing, log, test, noop

retry = -1

整数值

因可恢复的错误而发送失败的通知消息的最大尝试次数。0 - no retry, -1 - indefinite

topics = ['notifications']

列出值

用于 OpenStack 通知的 AMQP 主题。

transport_url = None

字符串值

代表用于通知的消息传递驱动程序的 URL。如果没有设置,我们回退到用于 RPC 的同一配置。

5.1.37. oslo_messaging_rabbit

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

表 5.36. oslo_messaging_rabbit
配置选项 = 默认值类型Description

amqp_auto_delete = False

布尔值

AMQP 中的自动删除队列。

amqp_durable_queues = False

布尔值

在 AMQP 中使用持久队列。如果启用了 rabbit_quorum_queue,则队列将具有持久性,并且此值将被忽略。

direct_mandatory_flag = True

布尔值

(DEPRECATED)为直接发送启用/禁用 RabbitMQ 强制标记。直接发送用作回复,因此当客户端队列不存在时,会引发 MessageUndeliverable 异常。MessageUndeliverable 异常将用于对超时进行循环,以便发送者有机会恢复该标志,且无法停用此功能。

enable_cancel_on_failover = False

布尔值

启用 x-cancel-on-ha-failover 标志,rabbitmq 服务器将取消和通知消费者何时队列停机

heartbeat_in_pthread = False

布尔值

默认情况下,通过原生 python 线程运行健康检查心跳线程。如果此选项等于 False,则健康检查心跳将从父进程继承执行模型。例如,如果父进程使用 eventlet/greenlet 对 stdlib 进行补丁,则 heartbeat 将通过绿色线程运行。这个选项应只针对 wsgi 服务设置为 True。

heartbeat_rate = 2

整数值

heartbeat_timeout_threshold 中检查心跳的频率。

heartbeat_timeout_threshold = 60

整数值

如果 heartbeat 的 keep-alive 失败(0 禁用心跳)失败,则 Rabbit 代理被视为 down 的秒数。

kombu_compression = None

字符串值

EXPERIMENTAL:可能的值为 gzip, bz2。如果没有设置压缩,则不会使用。这个选项可能在以后的版本中不可用。

kombu_failover_strategy = round-robin

字符串值

确定在当前连接到的 RabbitMQ 节点不可用时如何选择下一个 RabbitMQ 节点。只有在配置中提供了多个 RabbitMQ 节点时,才会生效。

kombu_missing_consumer_retry_timeout = 60

整数值

在放弃向其回复发送之前,等待缺少客户端的时间。这个值不应超过 rpc_response_timeout。

kombu_reconnect_delay = 1.0

浮点值

在响应 AMQP 消费者取消通知前等待(以秒为单位)等待(以秒为单位)。

rabbit_ha_queues = False

布尔值

尝试在 RabbitMQ 中使用 HA 队列(x-ha-policy: all)。如果更改这个选项,您必须擦除 RabbitMQ 数据库。在 RabbitMQ 3.0 中,在声明队列时,x-ha-policy 参数不再控制队列镜像。如果您只想确保所有队列(除自动生成的名称除外)都已镜像到所有节点,请运行:"rabbitmqctl set_policy HA ^(?!amq\.) commands {"ha-mode": "all"} "

rabbit_interval_max = 30

整数值

RabbitMQ 连接重试的最大间隔。默认值为 30 秒。

rabbit_login_method = AMQPLAIN

字符串值

RabbitMQ 登录方法。

rabbit_qos_prefetch_count = 0

整数值

指定要预先抓取的消息数量。将 设为零可允许无限消息。

rabbit_quorum_delivery_limit = 0

整数值

每次消息被重新设计为消费者时,计数器都会递增。当重新传送计数超过交付限制后,消息将被丢弃或死信(如果配置了 DLX 交换)仅在启用 rabbit_quorum_queue 时使用,默认 0 代表没有设置限制。

rabbit_quorum_max_memory_bytes = 0

整数值

默认情况下,如果仲裁队列增加,则所有消息都会在内存中维护,这会给集群造成内存压力。这个选项可以限制仲裁队列使用的内存字节数。仅在启用 rabbit_quorum_queue 时使用,默认 0 代表 dont 设置限制。

rabbit_quorum_max_memory_length = 0

整数值

默认情况下,如果仲裁队列增加,则所有消息都会在内存中维护,这会给集群造成内存压力。这个选项可以限制仲裁队列中的消息数量。仅在启用 rabbit_quorum_queue 时使用,默认 0 代表 dont 设置限制。

rabbit_quorum_queue = False

布尔值

在 RabbitMQ 中使用仲裁队列(x-queue-type: quorum)。仲裁队列是基于 Raft 共识算法的 RabbitMQ 实施持久复制 FIFO 队列的现代队列类型。它从 RabbitMQ 3.8.0 开始提供。如果设置此选项将与 HA 队列(rabbit_ha_queues) aka 镜像队列冲突,换句话说,应该禁用 HA 队列,因此启用此选项时会忽略 amqp_durable_queues opion。

rabbit_retry_backoff = 2

整数值

连接到 RabbitMQ 时,在重试之间会多长时间进行 backoff。

rabbit_retry_interval = 1

整数值

使用 RabbitMQ 重试连接的频率。

rabbit_transient_queues_ttl = 1800

整数值

正整数,代表队列 TTL (x-expires)的持续时间(以秒为单位)。TTL 期间未使用的队列将自动删除。参数仅影响回复和 fanout 队列。

ssl = False

布尔值

通过 SSL 连接。

`ssl_ca_file = `

字符串值

SSL 证书颁发机构文件(仅在启用 SSL 时才评估)。

`ssl_cert_file = `

字符串值

SSL 证书文件(仅在启用 SSL 时才评估)。

ssl_enforce_fips_mode = False

布尔值

强制 OpenSSL FIPS 模式的全局切换。此功能需要 Python 支持。这在所有环境中的 Python 3.9 中都可用,并可能已向后移植到所选环境中的旧的 Python 版本。如果使用的 Python 可执行文件不支持 OpenSSL FIPS 模式,则会引发异常。

`ssl_key_file = `

字符串值

SSL 密钥文件(仅在启用 SSL 时才评估)。

`ssl_version = `

字符串值

要使用的 SSL 版本(仅在启用 SSL 时验证)。有效值为 TLSv1 和 SSLv23。在某些发行版中可能会提供 SSLv2、SSLv3、TLSv1_1 和 TLSv1_2。

5.1.38. oslo_middleware

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

表 5.37. oslo_middleware
配置选项 = 默认值类型Description

enable_proxy_headers_parsing = False

布尔值

应用程序是否位于代理后面。这决定了中间件是否应该解析标头。

5.1.39. oslo_policy

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

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

enforce_new_defaults = False

布尔值

这个选项控制在评估策略时是否使用旧的已弃用默认值。如果为 True,则不会评估旧的已弃用默认值。这意味着,如果旧默认值允许任何现有令牌,但不允许使用新默认值。建议启用此标志以及 enforce_scope 标志,以便您可以将新默认值和 scope_type 的好处结合在一起。如果为 False,弃用的策略检查字符串在逻辑上或带有新策略检查字符串,允许在带有新策略的发行版本间进行安全升级体验,这是默认行为。

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 证书文件的绝对路径

remote_ssl_client_crt_file = None

字符串值

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

remote_ssl_client_key_file = None

字符串值

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

remote_ssl_verify_server_crt = False

布尔值

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

5.1.40. oslo_reports

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

表 5.39. oslo_reports
配置选项 = 默认值类型Description

file_event_handler = None

字符串值

监视触发报告的更改的文件路径,而不是信号。设置此选项将禁用报告的信号触发器。如果应用程序作为 WSGI 应用程序运行,建议使用此应用程序而不是信号。

file_event_handler_interval = 1

整数值

设置 file_event_handler 时轮询之间等待的秒数

log_dir = None

字符串值

创建文件的日志目录的路径

5.1.41. profiler

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

表 5.40. profiler
配置选项 = 默认值类型Description

connection_string = messaging://

字符串值

通知程序后端的连接字符串。

默认值为 messaging://,它将通知程序设置为 oslo_messaging。

可能的值示例:

  • messaging:// - 使用 oslo_messaging 驱动程序来发送范围。
  • redis://127.0.0.1:6379 - 使用 redis 驱动程序来发送 span。
  • MongoDB://127.0.0.1:27017 - 使用 mongodb 驱动程序发送 span。
  • Elasticsearch://127.0.0.1:9200 - 使用 elasticsearch 驱动程序发送 span。
  • Jaeger://127.0.0.1:6831 - 使用 jaeger tracing 作为发送 span 的驱动程序。

enabled = False

布尔值

启用此节点上所有服务的性能分析。

默认值为 False (完全禁用性能分析功能)。

可能的值:

  • true :启用该功能
  • false :禁用该功能。该配置集无法通过此项目操作启动。如果分析由另一个项目触发,则此项目部分将为空。

es_doc_type = notification

字符串值

elasticsearch 中通知索引的文档类型。

es_scroll_size = 10000

整数值

Elasticsearch 批量分割大型请求。此参数定义每个批处理的最大大小(例如: es_scroll_size=10000)。

es_scroll_time = 2m

字符串值

此参数是一个时间值参数(例如: es_scroll_time=2m),指定参与搜索的节点将保持相关资源的时间长度,以便继续和支持它。

filter_error_trace = False

布尔值

启用包含 error/exception 到分开的位置的过滤器追踪。

默认值为 False。

可能的值:

  • true :启用包含 error/exception 的过滤器追踪。
  • false :禁用过滤器。

hmac_keys = SECRET_KEY

字符串值

用于加密性能分析上下文数据的 secret 密钥。

这个字符串值应该具有以下格式: <key1>[,<key2>,…​<keyn>],其中每个键是一些随机字符串。通过 REST API 触发性能分析的用户必须在 REST API 调用的标头中设置其中一个密钥,以包含此特定项目的此节点的性能分析结果。

"enabled"标志和"hmac_keys"配置选项都应设置为启用性能分析。此外,要在所有服务中生成正确的性能分析信息,至少需要在 OpenStack 项目之间保持一致。这样可确保可以从客户端使用它来生成 trace,其中包含来自所有可能的资源的信息。

sentinel_service_name = mymaster

字符串值

Redissentinel 使用服务名称来识别 master redis 服务。此参数定义名称(例如: send inal_service_name=mymaster)。

socket_timeout = 0.1

浮点值

Redissentinel 在连接上提供了一个 timeout 选项。此参数定义该超时(例如: socket_timeout=0.1)。

trace_sqlalchemy = False

布尔值

在服务中启用 SQL 请求性能分析。

默认值为 False (SQL 请求不会被追踪)。

可能的值:

  • true :启用 SQL 请求配置集。每个 SQL 查询都将是 trace 的一部分,可以通过花费多少时间进行分析。
  • false :禁用 SQL 请求配置集。花费的时间仅显示在更高级别的操作上。无法以这种方式分析单个 SQL 查询。

5.1.42. pxe

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

表 5.41. pxe
配置选项 = 默认值类型Description

boot_retry_check_interval = 90

整数值

PXE 引导重试时定期检查之间的间隔(以秒为单位)。如果没有设置 boot_retry_timeout,则无效。

boot_retry_timeout = None

整数值

应该重试 PXE 引导的超时(以秒为单位)。必须小于 [conductor]deploy_callback_timeout。默认禁用此选项。

default_ephemeral_format = ext4

字符串值

临时分区的默认文件系统格式(如果创建了)。

dir_permission = None

整数值

创建时将应用到 TFTP 文件夹的权限。这应该设置为权限,以便 tftpserver 能够访问配置的 TFTP 文件夹的内容。只有在操作系统的 umask 被限制时,才需要此设置,以便 ironic-conductor 创建不能被 TFTP 服务器读取的文件。设置为 <None> 将导致操作系统的 umask 用于创建新的 tftp 文件夹。系统默认 umask 在指定的值上被屏蔽。必须指定八进制表示。例如: 0o755

enable_netboot_fallback = False

布尔值

如果为 True,则即使为使用本地引导的节点生成 PXE 环境。当驱动程序无法将节点切换到本地引导时,这很有用,例如,在无法进行持久引导的机器上使用 SNMP 或 Redfish。主要用于独立 ironic,因为 Neutron 会阻止不正确的 PXE 引导。

file_permission = 420

整数值

权限,用于作为配置文件配置的一部分并为基于 PXE 的操作设置文件资产设置的权限。默认值为 0o644。这个值必须以八进制表示形式指定。例如: 0o644

image_cache_size = 20480

整数值

主镜像的最大缓存大小(以 MiB 为单位),包括正在使用的缓存。

image_cache_ttl = 10080

整数值

缓存中的旧 master 镜像的最大 TTL (以分钟为单位)。

images_path = /var/lib/ironic/images/

字符串值

在 ironic-conductor 节点上,镜像存储在磁盘上的目录。

initial_grub_template = $pybasedir/drivers/modules/initial_grub_cfg.template

字符串值

在 ironic-conductor 节点上,grub 网络引导的初始 grubconfiguration 模板的路径。

instance_master_path = /var/lib/ironic/master_images

字符串值

在 ironic-conductor 节点上,主实例镜像存储在磁盘上的目录。设置为空字符串可禁用镜像缓存。

ip_version = 4

字符串值

用于 PXE 引导的 IP 版本。默认值为 4。从 Ussuri 开发周期起,此选项对于 in-treedrivers 的一个 no-op。

ipxe_boot_script = $pybasedir/drivers/modules/boot.ipxe

字符串值

在 ironic-conductor 节点上,主 iPXE 脚本文件的路径。

ipxe_bootfile_name = undionly.kpxe

字符串值

Bootfile DHCP 参数。

ipxe_bootfile_name_by_arch = {}

字典值

每个节点的 Bootfile DHCP 参数。例如: aarch64:ipxe_aa64.efi

ipxe_config_template = $pybasedir/drivers/modules/ipxe_config.template

字符串值

在 ironic-conductor 节点上,用于 iPXE 操作的模板文件。

ipxe_fallback_script = None

字符串值

当引导至特定 MAC 脚本失败时,ipxe 脚本的文件名(如 inspector.ipxe)无法回退到。如果没有设置,则引导将失败。

ipxe_timeout = 0

整数值

通过 iPXE 下载镜像的超时值(以秒为单位)。默认为 0 (无超时)

ipxe_use_swift = False

布尔值

使用临时 URL 直接从 swift 下载部署和救援镜像。如果设置为 false (默认),则镜像将下载到 ironic-conductor 节点,并通过其本地 HTTP 服务器提供。仅在使用 ipxe 兼容引导接口时才适用。

kernel_append_params = nofb nomodeset vga=normal

字符串值

为 baremetal PXE 引导附加参数。

loader_file_paths = {}

字典值

描述引导装载程序来加载到主机操作系统中的编排器 PXE/iPXE 引导文件夹值的字典。格式化为目标文件名的键,以及要复制文件的完整路径的值。如果设置,文件资产将应用 [pxe]file_permission。如果使用,文件名应与引导装载程序的既定引导装载程序配置设置匹配。使用 example: ipxe.efi:/usr/share/ipxe/ipxe-snponly-x86_64.efi,undionly.kpxe:/usr/share/ipxe/undionly.kpxe

pxe_bootfile_name = pxelinux.0

字符串值

Bootfile DHCP 参数。

pxe_bootfile_name_by_arch = {}

字典值

每个节点的 Bootfile DHCP 参数。例如: aarch64:grubaa64.efi

pxe_config_subdir = pxelinux.cfg

字符串值

创建代表节点上端口 MAC 或 IP 地址的符号链接的目录,并允许引导装载程序为节点加载 PXE 文件。此目录名称相对于 PXE 或 iPXE 文件夹。

pxe_config_template = $pybasedir/drivers/modules/pxe_config.template

字符串值

在 ironic-conductor 节点上,用于 PXE 加载程序配置的模板文件。

pxe_config_template_by_arch = {}

字典值

在 ironic-conductor 节点上,每个节点架构用于 PXE 配置的模板文件。例如: aarch64:/opt/share/grubaa64_pxe_config.template

tftp_master_path = /tftpboot/master_images

字符串值

在 ironic-conductor 节点上,主 TFTP 镜像存储在磁盘上的目录。设置为空字符串可禁用镜像缓存。

tftp_root = /tftpboot

字符串值

ironic-conductor 节点的 TFTP root 路径。ironic-conductor 必须对此路径具有读/写权限。

tftp_server = $my_ip

字符串值

ironic-conductor 节点的 TFTP 服务器的 IP 地址。

uefi_ipxe_bootfile_name = snponly.efi

字符串值

UEFI 引导模式的 Bootfile DHCP 参数。如果您在使用引导时遇到问题,请尝试 ipxe.efi。

uefi_pxe_bootfile_name = bootx64.efi

字符串值

UEFI 引导模式的 Bootfile DHCP 参数。

uefi_pxe_config_template = $pybasedir/drivers/modules/pxe_grub_config.template

字符串值

在 ironic-conductor 节点上,用于 UEFI 引导装载程序的 PXE 配置的模板文件。这通常用于 GRUB 特定模板。

5.1.43. Redfish

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

表 5.42. Redfish
配置选项 = 默认值类型描述

auth_type = auto

字符串值

Redfish HTTP 客户端验证方法。

connection_attempts = 5

整数值

尝试连接到 Redfish 的最大尝试数

connection_cache_size = 1000

整数值

最大 Redfish 客户端连接缓存大小。Redfish 驱动程序会努力重复使用经过身份验证的 BMC 连接(通过 Redfish Session Service 获得)。这个选项带有要维护的最大连接数。0 的值完全禁用客户端连接缓存。

connection_retry_interval = 4

整数值

尝试连接到 Redfish 之间等待的秒数

file_permission = 420

整数值

使用文件权限的八进制权限表示快速无数镜像托管文件权限。此设置默认为 644,或是 Python 中的八进制数字 0o644。此设置必须设置为八进制数字表示,即以 0o 开始。

firmware_source = http

字符串值

指定如何提供固件镜像。无论是直接从其原始使用固件源 URL 的位置,还是应该通过 ironic 的 Swift 或 HTTP 服务器提供服务。

firmware_update_fail_interval = 60

整数值

检查失败的固件更新任务之间等待的秒数

firmware_update_status_interval = 60

整数值

检查完成固件更新任务之间等待的秒数

kernel_append_params = nofb nomodeset vga=normal

字符串值

传递给实例内核的其他内核参数。这些参数可由内核使用,或通过应用程序读取 /proc/cmdline。请记住,严重的 cmdline 大小限制!可以被 instance_info/kernel_append_params 属性覆盖。

raid_config_fail_interval = 60

整数值

检查失败的 raid 配置任务之间等待的秒数

raid_config_status_interval = 60

整数值

检查已完成的 raid 配置任务之间等待的秒数

swift_container = ironic_redfish_container

字符串值

用于存储 Redfish 驱动程序数据的 Swift 容器。仅在启用 use_swift 时应用。

swift_object_expiry_timeout = 900

整数值

Swift 对象自动过期的时间(以秒为单位)。仅在启用 use_swift 时应用。

use_swift = True

布尔值

将生成的虚拟介质引导的 ISO 镜像上传到 Swift,然后将临时 URL 传递给 BMC 以引导节点。如果设置为 false,则镜像放置在 ironic-conductor 节点上,并通过其本地 HTTP 服务器提供。

5.1.44. sensor_data

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

表 5.43. sensor_data
配置选项 = 默认值类型描述

data_types = ['ALL']

列出值

需要发送到 Ceilometer 的以逗号分隔的量表类型列表。默认值 "ALL" 是一个特殊值,表示发送所有传感器数据。此设置仅适用于通过编排器处理的 baremetal 传感器数据。

enable_for_conductor = True

布尔值

如果要将 Conductor 进程自身包含在传感器数据的消息有效负载中包含传感器指标数据,以便操作员收集操作数和状态以更好地管理部署。

enable_for_nodes = True

布尔值

如果要传输此编排器管理下任何节点的传感器数据。这个选项监管 send_sensor_data_for_undeployed_nodes 设置。

enable_for_undeployed_nodes = False

布尔值

传感器数据收集的默认值是仅收集所部署机器的数据,但操作员可能需要知道在没有使用的硬件中是否有故障。当设置为 true 时,当通过 send_sensor_data 设置启用传感器数据收集时,编排器将从所有节点收集传感器信息。

interval = 600

整数值

编排器通过通知总线发送传感器数据消息之间的秒数。这最初通过 ceilometer 使用,但数据也可通过 ironic-prometheus-exporter 等插件或任何其他消息总线数据收集器使用。

send_sensor_data = False

布尔值

通过通知总线启用发送传感器数据消息。

wait_timeout = 300

整数值

在允许定期调用再次进行前,等待发送传感器数据定期任务的时间(以秒为单位)。应该小于 send_sensor_data_interval 值。

Worker = 4

整数值

可以从传感器定期任务同时启动的最大 worker 数量。

5.1.45. service_catalog

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

表 5.44. 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

字符串值

端点 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

字符串值

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

5.1.46. SNMP

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

表 5.45. SNMP
配置选项 = 默认值类型描述

power_action_delay = 0

整数值

打开电源前和关闭后休眠的时间(以秒为单位)。一些 PDU 可能需要,因为它们可能无法在不延迟的情况下快速成功切换特定的电源端口。如果连接的物理机器具有大量电源,则此选项可能很有用。

power_timeout = 10

整数值

等待电源操作完成的秒数

reboot_delay = 0

整数值

重启(以秒为单位)之间休眠的时间(以秒为单位)

udp_transport_retries = 5

整数值

UDP 请求重试的最大数量,0 表示没有重试。

udp_transport_timeout = 1.0

浮点值

用于 UDP 传输的响应超时(以秒为单位)。超时应该是 0.5 秒的倍数,并适用于每个重试。

5.1.47. ssl

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

表 5.46. ssl
配置选项 = 默认值类型Description

ca_file = None

字符串值

用于验证连接的客户端的 CA 证书文件。

cert_file = None

字符串值

安全启动服务器时要使用的证书文件。

ciphers = None

字符串值

设置可用密码列表。值应该是 OpenSSL 密码列表格式的字符串。

key_file = None

字符串值

安全启动服务器时要使用的私钥文件。

version = None

字符串值

要使用的 SSL 版本(仅在启用 SSL 时验证)。有效值为 TLSv1 和 SSLv23。在某些发行版中可能会提供 SSLv2、SSLv3、TLSv1_1 和 TLSv1_2。

5.1.48. swift

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

表 5.47. 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 秒。

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 = object-store

字符串值

端点 URL 发现的默认 service_type。

split-loggers = False

布尔值

记录对多个日志记录器的请求。

status-code-retries = None

整数值

应该为可重试 HTTP 状态代码尝试的最大重试次数。

status-code-retry-delay = None

浮点值

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

swift_max_retries = 2

整数值

失败前重试 Swift 请求的次数上限。

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

字符串值

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

5.1.49. xclarity

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

表 5.48. xclarity
配置选项 = 默认值类型Description

manager_ip = None

字符串值

XClarity Controller 的 IP 地址。此处的配置已弃用,并将在 Stein 发行版本中删除。请更新 driver_info 字段以使用 "xclarity_manager_ip" 替代

password = None

字符串值

XClarity Controller 用户名的密码。此处的配置已弃用,并将在 Stein 发行版本中删除。请更新 driver_info 字段以使用 "xclarity_password" 替代

port = 443

端口值

用于 XClarity Controller 连接的端口。

username = None

字符串值

XClarity Controller 的用户名。此处的配置已弃用,并将在 Stein 发行版本中删除。请更新 driver_info 字段以使用 "xclarity_username" 替代

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.