配置参考


Red Hat OpenStack Platform 17.1

配置 Red Hat OpenStack Platform 环境

OpenStack Documentation Team

摘要

本文档适用于想要查找配置选项的系统管理员。它包含 OpenStack 可用的配置选项列表,并使用 auto-generation 生成选项以及每个项目代码的描述。

前言

本文档描述了 Red Hat OpenStack Platform 中每个主要服务的配置文件中提供的选项。内容会根据配置文件本身中的值自动生成,仅提供用于参考目的。

警告

不支持手动编辑配置文件。所有配置更改都必须通过 Director 进行。红帽仅作为技术参考提供本指南。

对红帽文档提供反馈

我们感谢您对文档提供反馈信息。与我们分享您的成功秘诀。

在 JIRA 中提供文档反馈

使用 Create Issue 表单在 OpenShift (RHOSO)或更早版本的 {osp_long}({osp_acro})上提供有关 Red Hat OpenStack Services 文档的反馈。当您为 RHOSO 或 {osp_acro} 文档创建问题时,此问题会在 RHOSO Jira 项目中记录,您可以跟踪您的反馈的进度。

要完成 Create Issue 表单,请确保您已登录到 JIRA。如果您没有红帽 JIRA 帐户,您可以在 https://issues.redhat.com 创建一个帐户。

  1. 点击以下链接打开 Create Issue 页面: Create Issue
  2. 完成 SummaryDescription 字段。在 Description 字段中,包含文档 URL、章节号以及问题的详细描述。不要修改表单中的任何其他字段。
  3. Create

第 1 章 barbican

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

1.1. barbican.conf

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

1.1.1. DEFAULT

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

.

Expand
配置选项 = 默认值类型Description

admin_role = admin

字符串值

用于识别经过身份验证的用户的角色。

allow_anonymous_access = False

布尔值

允许未经身份验证的用户访问具有只读权限的 API。这只适用于使用 ContextMiddleware。

api_paste_config = api-paste.ini

字符串值

api 服务的 paste.deploy 配置的文件名

backdoor_port = None

字符串值

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

backdoor_socket = None

字符串值

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

client_socket_timeout = 900

整数值

客户端连接套接字操作的超时。如果传入的连接闲置了这个秒数,它将被关闭。值 0 表示等待(ever)。

conn_pool_min_size = 2

整数值

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

conn_pool_ttl = 1200

整数值

池中闲置连接的生存时间

control_exchange = openstack

字符串值

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

db_auto_create = False

布尔值

在服务启动时创建 Barbican 数据库。

debug = False

布尔值

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

default_limit_paging = 10

整数值

限制 分页 URL 参数的默认页面大小。

default_log_levels = ['amqp=WARN', 'amqplib=WARN', 'boto=WARN', 'qpid=WARN', 'sqlalchemy=WARN', 'suds=INFO', 'oslo.messaging=INFO', 'oslo_messaging=INFO', 'iso8601=WARN', 'requests.packages.urllib3.connectionpool=WARN', 'urllib3.connectionpool=WARN', 'websocket=WARN', 'requests.packages.urllib3.util.retry=WARN', 'urllib3.util.retry=WARN', 'keystonemiddleware=WARN', 'routes.middleware=WARN', 'stevedore=WARN', 'taskflow=WARN', 'keystoneauth=WARN', 'oslo.cache=INFO', 'oslo_policy=INFO', 'dogpile.core.dogpile=INFO']

列出值

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

executor_thread_pool_size = 64

整数值

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

fatal_deprecations = False

布尔值

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

host_href = http://localhost:9311

字符串值

主机名,用于 HATEOAS 风格参考 注意:这通常是客户端用来与该服务通信的负载平衡端点。如果部署希望从 wsgi 请求中获取主机,请将此留空。需要空白来覆盖默认配置值 http://localhost:9311

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

字符串值

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

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

字符串值

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

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_allowed_request_size_in_bytes = 25000

整数值

针对 barbican-api 允许的最大 http 请求大小。

max_allowed_secret_in_bytes = 20000

整数值

允许的最大 secret 大小(以字节为单位)。

max_header_line = 16384

整数值

要接受的最大消息标头大小。在使用大型令牌时,可能需要增加 max_header_line (通常在 keystone 被配置为将 PKI 令牌配置为将 PKI 令牌与大型服务目录搭配使用时生成的)。

max_limit_paging = 100

整数值

限制 分页 URL 参数的最大页面大小。

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

整数值

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

rpc_conn_pool_size = 30

整数值

RPC 连接池的大小。

rpc_ping_enabled = False

布尔值

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

rpc_response_timeout = 60

整数值

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

run_external_periodic_tasks = True

布尔值

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

sql_connection = sqlite:///barbican.sqlite

字符串值

用于引用实施 registry 服务器的 sqlalchemy 连接字符串。任何有效的 SQLAlchemy 连接字符串都是正常的。请参阅 :http://www.sqlalchemy.org/docs/05/reference/sqlalchemy/connections.html#sqlalchemy.create_engine。注意:对于绝对地址,请在 sqlite 后使用 //// 斜杠:

sql_idle_timeout = 3600

整数值

SQLAlchemy 应该重新建立与数据库的连接的时间(以秒为单位)。MySQL 使用默认的 wait_timeout 为 8 小时,之后它会丢弃闲置连接。这可能导致 MySQL Gone Away 例外。如果您注意到这个值,您可以降低这个值以确保 SQLAlchemy 重新连接,然后 MySQL 可以丢弃连接。

sql_max_retries = 60

整数值

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

sql_pool_class = QueuePool

字符串值

接受从 sqlalchemy.pool 模块导入的类,并处理为您构建池的详细信息。如果注释掉,SQLAlchemy 将根据数据库分离进行选择。其他选项有 QueuePool (用于 SQLAlchemy 管理的连接)和 NullPool (用于禁用连接的 SQLAlchemy 管理)。详情请查看 http://docs.sqlalchemy.org/en/latest/core/pooling.html

sql_pool_logging = False

布尔值

如果指定,在日志中显示 SQLAlchemy 池相关的调试输出(设置 DEBUG 日志级别输出)。

sql_pool_max_overflow = 10

整数值

SQLAlchemy 使用的池的最大溢出大小。当检查的连接数量达到 sql_pool_size 中设置的大小时,额外的连接将返回到这个限制。然后,池允许的连接总数为 sql_pool_size + sql_pool_max_overflow。可以设置为 -1 来指示没有溢出限制,因此不会将限制放在并发连接总数中。注释掉以允许 SQLAlchemy 选择默认值。

sql_pool_size = 5

整数值

SQLAlchemy 使用的池大小。这是池中永久保留的最大连接数。可以设置为 0 以指示没有大小限制。要禁用池,请使用带有 sql_pool_class 的 NullPool。注释掉以允许 SQLAlchemy 选择默认值。

sql_retry_interval = 1

整数值

打开 SQL 连接之间的间隔。

syslog-log-facility = LOG_USER

字符串值

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

tcp_keepidle = 600

整数值

设置每个服务器套接字的 TCP_KEEPIDLE 的值(以秒为单位)。OS X 不支持。

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,则忽略这个选项。

watch-log-file = False

布尔值

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

wsgi_default_pool_size = 100

整数值

wsgi 使用的 greenthreads 池的大小

wsgi_keep_alive = True

布尔值

如果为 False,请明确关闭客户端套接字连接。

wsgi_log_format = %(client_ip) s "%(request_line) s" status: %(status_code) s len: %(body_length) s time: %(wall_seconds).7f

字符串值

用作模板的 python 格式字符串,用于生成日志行。以下值可以格式化到其中: client_ip, date_time, request_line, status_code, body_length, wall_seconds。

wsgi_server_debug = False

布尔值

如果服务器应在 500 错误时向客户端发送异常回溯,则为 true。如果 False,服务器将以空正文来响应。

1.1.2. certificate

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

Expand
表 1.1. certificate
配置选项 = 默认值类型Description

enabled_certificate_plugins = ['simple_certificate']

多值

要载入的证书插件列表。

namespace = barbican.certificate.plugin

字符串值

扩展命名空间以搜索插件。

1.1.3. certificate_event

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

Expand
表 1.2. certificate_event
配置选项 = 默认值类型Description

enabled_certificate_event_plugins = ['simple_certificate_event']

多值

要载入的证书插件列表。

namespace = barbican.certificate.event.plugin

字符串值

扩展命名空间以搜索事件插件。

1.1.4. CORS

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

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

allow_credentials = True

布尔值

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

allow_headers = ['X-Auth-Token', 'X-Openstack-Request-Id', 'X-Project-Id', 'X-Identity-Status', 'X-User-Id', 'X-Storage-Token', 'X-Domain-Id', 'X-User-Domain-Id', 'X-Project-Domain-Id', 'X-Roles']

列出值

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

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

列出值

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

allowed_origin = None

列出值

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

expose_headers = ['X-Auth-Token', 'X-Openstack-Request-Id', 'X-Project-Id', 'X-Identity-Status', 'X-User-Id', 'X-Storage-Token', 'X-Domain-Id', 'X-User-Domain-Id', 'X-Project-Domain-Id', 'X-Roles']

列出值

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

max_age = 3600

整数值

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

1.1.5. crypto

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

Expand
表 1.4. crypto
配置选项 = 默认值类型Description

enabled_crypto_plugins = ['simple_crypto']

多值

要载入的加密插件列表。

namespace = barbican.crypto.plugin

字符串值

扩展命名空间以搜索插件。

1.1.6. dogtag_plugin

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

Expand
表 1.5. dogtag_plugin
配置选项 = 默认值类型Description

auto_approved_profiles = caServerCert

字符串值

自动批准的注册配置集列表

ca_expiration_time = 1

整数值

CA 条目过期的时间(以天为单位)

dogtag_host = localhost

字符串值

Dogtag 实例的主机名

dogtag_port = 8443

端口值

Dogtag 实例的端口

nss_db_path = /etc/barbican/alias

字符串值

NSS 证书数据库的路径

nss_password = None

字符串值

NSS 证书数据库的密码

pem_path = /etc/barbican/kra_admin_cert.pem

字符串值

用于身份验证的 PEM 文件的路径

plugin_name = Dogtag KRA

字符串值

用户友好插件名称

plugin_working_dir = /etc/barbican/dogtag

字符串值

Dogtag 插件的工作目录

retries = 3

整数值

在存储或生成 secret 时重试

simple_cmc_profile = caOtherCert

字符串值

简单 CMC 请求的配置文件

1.1.7. keystone_authtoken

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

Expand
表 1.6. 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 = False

布尔值

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

1.1.8. keystone_notifications

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

Expand
表 1.7. keystone_notifications
配置选项 = 默认值类型Description

allow_requeue = False

布尔值

true 在通知处理错误时启用 requeue 功能。仅在底层传输支持此功能时启用此功能。

control_exchange = keystone

字符串值

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

enable = False

布尔值

true 启用 keystone 通知监听程序功能。

pool_name = None

字符串值

通知监听器的池名称。把它设置为不同的值,允许 barbican 通知监听程序从主题接收自己的所有消息副本,而无需干扰侦听同一主题的其他服务。只有某些 oslo.messaging 后端(在 rabbitmq 的一部分)支持此功能,而对于这些功能,最好使用它,而不是 barbican 单独通知主题。

thread_pool_size = 10

整数值

定义用于通知服务器处理功能的最大线程数。

topic = notifications

字符串值

Keystone 通知队列主题名称。此名称需要匹配 Keystone 部署的 notification_topics 配置中提到的值之一,如 notification_topics=notifications, barbican_notificationsMultiple 服务器可能会侦听一个主题,消息将以 round-robin 方法分配给其中一个服务器。这就是 Barbican 服务应具有自己的专用通知队列的原因,以便它接收所有 Keystone 通知。或者,如果所选的 oslo.messaging 后端支持侦听器池(如 rabbitmq),则应首选设置非默认 pool_name 选项。

version = 1.0

字符串值

通过通知调用的任务版本

1.1.9. kmip_plugin

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

Expand
表 1.8. kmip_plugin
配置选项 = 默认值类型Description

ca_certs = None

字符串值

连接"认证机构"证书的文件路径

certFile = None

字符串值

本地客户端证书的文件路径

host = localhost

字符串值

KMIP 服务器的地址

keyfile = None

字符串值

本地客户端证书 keyfile 的文件路径

password = None

字符串值

用于通过 KMIP 服务器进行身份验证的密码

pkcs1_only = False

布尔值

仅支持非对称密钥的 PKCS81 编码

plugin_name = KMIP HSM

字符串值

用户友好插件名称

port = 5696

端口值

KMIP 服务器的端口

ssl_version = PROTOCOL_TLSv1_2

字符串值

SSL 版本,映射到模块 ssl 的常量

username = None

字符串值

用于通过 KMIP 服务器进行身份验证的用户名

1.1.10. oslo_messaging_amqp

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

Expand
表 1.9. 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 服务器时,附加到地址前缀中。由消息总线用来识别发送到单个目的地的消息。

1.1.11. oslo_messaging_kafka

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

Expand
表 1.10. 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 = `

字符串值

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

1.1.12. oslo_messaging_notifications

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

Expand
表 1.11. 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 的同一配置。

1.1.13. oslo_messaging_rabbit

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

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

amqp_auto_delete = False

布尔值

AMQP 中的自动删除队列。

amqp_durable_queues = False

布尔值

在 AMQP 中使用持久队列。

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_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_key_file = `

字符串值

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

`ssl_version = `

字符串值

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

1.1.14. oslo_middleware

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

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

enable_proxy_headers_parsing = False

布尔值

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

1.1.15. oslo_policy

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

Expand
表 1.14. 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.yaml

字符串值

文件相对或绝对路径,用于将角色映射到给定服务的权限。必须根据配置文件设置此选项指定相对路径。

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 策略检查的服务器身份验证

1.1.16. p11_crypto_plugin

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

Expand
表 1.15. p11_crypto_plugin
配置选项 = 默认值类型Description

aes_gcm_generate_iv = True

布尔值

为 CKM_AES_GCM 机制生成 IV。

always_set_cka_sensitive = True

布尔值

始终设置 CKA_SENSITIVE=CK_TRUE,包括 CKA_EXTRACTABLE=CK_TRUE 密钥。

encryption_mechanism = CKM_AES_CBC

字符串值

Secret 加密机制

hmac_key_type = CKK_AES

字符串值

HMAC 密钥类型

hmac_keygen_mechanism = CKM_AES_KEY_GEN

字符串值

HMAC 密钥生成算法

hmac_keywrap_mechanism = CKM_SHA256_HMAC

字符串值

HMAC 键 wrap 机制

hmac_label = None

字符串值

Master HMAC Key 标签(存储在 HSM 中)

library_path = None

字符串值

vendor PKCS11 库的路径

login = None

字符串值

登录到 PKCS11 会话的密码

mkek_label = None

字符串值

Master KEK 标签(存储在 HSM 中)

mkek_length = None

整数值

Master KEK 长度(以字节为单位)。

os_locking_ok = False

布尔值

在初始化 PKCSredfish 客户端库时启用 CKF_OS_LOCKING_OK 标志。

pkek_cache_limit = 100

整数值

项目 KEK Cache Item 限制

pkek_cache_ttl = 900

整数值

项目 KEK 缓存时间到 Live,以秒为单位

pkek_length = 32

整数值

项目 KEK 长度(以字节为单位)。

plugin_name = PKCS11 HSM

字符串值

用户友好插件名称

rw_session = True

布尔值

读取/写会话的标记

`seed_file = `

字符串值

用于拉取有关 seeding RNG 的熵的文件

seed_length = 32

整数值

从文件中读取的数据量

slot_id = 1

整数值

(可选)包含要使用的令牌设备的 HSM Slot ID。

token_label = None

字符串值

DEPRECATED: 使用 token_labels 替代。用于识别要使用的令牌的令牌标签。

token_labels = None

列出值

要使用的一个或多个令牌的标签列表。通常,这是一个标签,但有些 HSM 设备可能需要多个标签进行负载平衡或高可用性配置。

token_serial_number = None

字符串值

用于识别要使用的令牌的令牌序列号。

1.1.17. queue

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

Expand
表 1.16. queue
配置选项 = 默认值类型Description

asynchronous_workers = 1

整数值

异步 worker 进程数量

enable = False

布尔值

true 启用排队,False 会同步调用 worker

namespace = barbican

字符串值

队列命名空间

server_name = barbican.queue

字符串值

RPC 任务处理服务器的服务器名称

topic = barbican.workers

字符串值

队列主题名称

version = 1.1

字符串值

通过队列调用的任务版本

1.1.18. 配额

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

Expand
表 1.17. 配额
配置选项 = 默认值类型Description

quota_cas = -1

整数值

每个项目允许的 CA 数量

quota_consumers = -1

整数值

每个项目允许的消费者数

quota_containers = -1

整数值

每个项目允许的容器数量

quota_orders = -1

整数值

每个项目允许的顺序数

quota_secrets = -1

整数值

每个项目允许的 secret 数量

1.1.19. retry_scheduler

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

Expand
表 1.18. retry_scheduler
配置选项 = 默认值类型Description

initial_delay_seconds = 10.0

浮点值

在开始重试调度程序前等待的秒数(浮点)

periodic_interval_max_seconds = 10.0

浮点值

在定期调度事件之间等待的秒数

1.1.20. secret 存储

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

Expand
表 1.19. secret 存储
配置选项 = 默认值类型Description

enable_multiple_secret_stores = False

布尔值

启用多个 secret 存储插件后端的标志。默认为 False

enabled_secretstore_plugins = ['store_crypto']

多值

要加载的 secret 存储插件列表。

namespace = barbican.secretstore.plugin

字符串值

扩展命名空间以搜索插件。

stores_lookup_suffix = None

列出值

用于查找多个后端支持的插件的后缀列表。

1.1.21. simple_crypto_plugin

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

Expand
表 1.20. simple_crypto_plugin
配置选项 = 默认值类型Description

kek = dGhpcnR5X3R3b19ieXRlX2tleWJsYWhibGFoYmxhaGg=

字符串值

Simple Crypto 插件使用的密钥加密密钥

plugin_name = Software Only Crypto

字符串值

用户友好插件名称

1.1.22. snakeoil_ca_plugin

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

Expand
表 1.21. snakeoil_ca_plugin
配置选项 = 默认值类型Description

ca_cert_chain_path = None

字符串值

CA 证书链文件的路径

ca_cert_key_path = None

字符串值

CA 证书密钥文件的路径

ca_cert_path = None

字符串值

CA 证书文件的路径

ca_cert_pkcs7_path = None

字符串值

CA chain pkcs7 文件的路径

subca_cert_key_directory = /etc/barbican/snakeoil-cas

字符串值

为 subcas 保存证书/密钥的目录

1.1.23. ssl

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

Expand
表 1.22. 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。

第 2 章 cinder

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

2.1. cinder.conf

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

2.1.1. DEFAULT

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

.

Expand
配置选项 = 默认值类型描述

acs5000_copy_interval = 5

整数值

当卷复制任务进入时,刷新卷状态间隔

acs5000_volpool_name = ['pool01']

列出值

以逗号分隔的卷存储系统存储池列表。

allocated_capacity_weight_multiplier = -1.0

浮点值

用于权衡分配的容量的倍数。正数意味着堆栈与分散。

allow_availability_zone_fallback = False

布尔值

如果请求的 Cinder 可用性区域不可用,请回退到 default_availability_zone 的值,然后 storage_availability_zone,而不是失败。

allow_compression_on_image_upload = False

布尔值

上传时用于镜像压缩的策略。默认为不压缩。

allowed_direct_url_schemes = []

列出值

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

api_paste_config = api-paste.ini

字符串值

api 服务的 paste.deploy 配置的文件名

api_rate_limit = True

布尔值

启用或禁用 API 的速率限制。

as13000_ipsan_pools = ['Pool0']

列出值

存储池 Cinder 应该使用逗号分隔的列表。

as13000_meta_pool = None

字符串值

创建卷时用作 meta 池的池,它应是存在的复制池。如果没有设置,则驱动程序将从值 as13000_ipsan_pools 中选择一个复制池。

as13000_token_available_time = 3300

整数值

令牌有效时间(以秒为单位)。

auth_strategy = keystone

字符串值

用于 auth 的策略。支持 noauth 或 keystone。

az_cache_duration = 3600

整数值

在内存中缓存卷可用区(以秒为单位)

backdoor_port = None

字符串值

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

backdoor_socket = None

字符串值

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

backend_availability_zone = None

字符串值

此卷后端的可用区。如果没有设置,则 storage_availability_zone 选项值将用作所有后端的默认值。

backend_stats_polling_interval = 60

整数值

来自后端的用量统计请求之间的时间(以秒为单位)。请注意,为某些后端生成用量统计的成本比较昂贵,因此设置这个值太低可能会给性能造成负面影响。

backup_api_class = cinder.backup.api.API

字符串值

卷备份 API 类的完整类名称

backup_ceph_chunk_size = 134217728

整数值

块大小(以字节为单位),备份在传输到 Ceph 对象存储之前被分为。

backup_ceph_conf = /etc/ceph/ceph.conf

字符串值

要使用的 Ceph 配置文件。

backup_ceph_image_journals = False

布尔值

如果为 True,请将 JOURNALING 和 EXCLUSIVE_LOCK 功能位应用到备份 RBD 对象以允许镜像(mirror)

backup_ceph_pool = backups

字符串值

存储卷备份的 Ceph 池。

backup_ceph_stripe_count = 0

整数值

创建备份镜像时要使用的 RBD 条带数。

backup_ceph_stripe_unit = 0

整数值

创建备份镜像时使用的 RBD 条带单元。

backup_ceph_user = cinder

字符串值

要连接的 Ceph 用户。此处的默认值是使用与 Cinder 卷相同的用户。如果不使用 cephx,这应设置为 None。

backup_compression_algorithm = zlib

字符串值

压缩算法("none"可禁用)

backup_container = None

字符串值

用于备份的自定义目录。

backup_driver = cinder.backup.drivers.swift.SwiftBackupDriver

字符串值

用于备份的驱动程序。

backup_driver_init_check_interval = 60

整数值

检查备份驱动程序是否已成功初始化之间的时间(以秒为单位)。

backup_driver_stats_polling_interval = 60

整数值

备份驱动程序状态检查之间的时间(以秒为单位)。如果没有报告工作,则会重启。

backup_enable_progress_timer = True

布尔值

在将卷备份到后端存储时,启用或禁用计时器以将定期进度通知发送到 Ceilometer。默认值为 True,以启用计时器。

backup_file_size = 1999994880

整数值

用于存放备份的文件的最大大小,以字节为单位。如果备份的卷超过这个大小,则会将其备份到多个 files.backup_file_size 必须是 backup_sha_block_size_bytes 的倍数。

backup_manager = cinder.backup.manager.BackupManager

字符串值

卷备份的 Manager 的完整类名称

backup_max_operations = 15

整数值

最大并发内存重量操作数:备份和恢复。0 代表没有限制

backup_metadata_version = 2

整数值

备份卷元数据时要使用的元数据版本。如果这个数字被禁止,请确保执行恢复的服务支持新版本。

backup_mount_attempts = 3

整数值

在引发错误前尝试挂载 NFS 共享的数量。

backup_mount_options = None

字符串值

传递给 NFS 客户端的挂载选项。详情请查看 NFS 手册页。

backup_mount_point_base = $state_path/backup_mount

字符串值

包含 NFS 共享的挂载点的基本目录。

backup_name_template = backup-%s

字符串值

用于生成备份名称的模板字符串

backup_native_threads_pool_size = 60

整数值

备份原生线程池的大小。大多数备份驱动都会大量依赖于这个设置,一些特定的驱动则对它的依赖不大。

backup_object_number_per_notification = 10

整数值

发送一个 Ceilometer 通知的块或对象数量

backup_posix_path = $state_path/backup

字符串值

指定存储备份的位置的路径。

backup_s3_block_size = 32768

整数值

为增量备份跟踪更改的大小(以字节为单位)。backup_s3_object_size 必须是 backup_s3_block_size 的倍数。

backup_s3_ca_cert_file = None

字符串值

path/to/cert/bundle.pem - 要使用的 CA 证书捆绑包的文件名。

backup_s3_enable_progress_timer = True

布尔值

在备份卷到 S3 后端存储时,启用或禁用计时器以将定期进度通知发送到 Ceilometer。默认值为 True,以启用计时器。

backup_s3_endpoint_url = None

字符串值

S3 服务器侦听的 url。

`backup_s3_http_proxy = `

字符串值

http 代理服务器的地址或主机。

`backup_s3_https_proxy = `

字符串值

https 代理服务器的地址或主机。

backup_s3_max_pool_connections = 10

整数值

连接池中要保留的最大连接数。

backup_s3_md5_validation = True

布尔值

在 s3 后端中启用或禁用 md5 验证。

backup_s3_object_size = 52428800

整数值

S3 备份对象的大小(以字节为单位)

backup_s3_retry_max_attempts = 4

整数值

代表在单个请求上进行的最大重试尝试数的整数。

backup_s3_retry_mode = legacy

字符串值

代表重试模式类型的字符串。例如: legacy、standard、adaptive

backup_s3_sse_customer_algorithm = None

字符串值

SSECustomerAlgorithm. backup_s3_sse_customer_key 必须同时设置才能启用 SSE。

backup_s3_sse_customer_key = None

字符串值

SSECustomerKey. backup_s3_sse_customer_algorithm 必须同时设置才能启用 SSE。

backup_s3_store_access_key = None

字符串值

S3 查询令牌访问密钥。

backup_s3_store_bucket = volumebackups

字符串值

用于存储 Cinder 备份数据的 S3 存储桶。

backup_s3_store_secret_key = None

字符串值

S3 查询令牌 secret 密钥。

backup_s3_timeout = 60

浮点值

抛出超时异常的时间(以秒为单位)。

backup_s3_verify_ssl = True

布尔值

启用或禁用 ssl 验证。

backup_service_inithost_offload = True

布尔值

在备份服务启动过程中卸载待处理的备份删除。如果为 false,备份服务将保持关闭,直到所有待处理的备份都被删除。

backup_sha_block_size_bytes = 32768

整数值

为增量备份跟踪更改的大小(以字节为单位)。backup_file_size 必须是 backup_sha_block_size_bytes 的倍数。

backup_share = None

字符串值

以 hostname:path、ipv4addr:path 或 "[ipv6addr]:path" 格式的 NFS 共享。

backup_swift_auth = per_user

字符串值

Swift 身份验证机制 (per_user 或 single_user)。

backup_swift_auth_insecure = False

布尔值

在进行 SSL 连接到 Swift 时,绕过服务器证书验证。

backup_swift_auth_url = None

URI 值

Keystone 端点的 URL

backup_swift_auth_version = 1

字符串值

Swift 身份验证版本。为 auth 1.0 指定 "1",为 auth 2.0 指定 "2",为 auth 3.0 指定 "3"

backup_swift_block_size = 32768

整数值

为增量备份跟踪更改的大小(以字节为单位)。backup_swift_object_size 必须是 backup_swift_block_size 的倍数。

backup_swift_ca_cert_file = None

字符串值

用于 swift 客户端请求的 CA 证书文件的位置。

backup_swift_container = volumebackups

字符串值

要使用的默认 Swift 容器

backup_swift_enable_progress_timer = True

布尔值

在备份卷到 Swift 后端存储时,启用或禁用计时器以将定期进度通知发送到 Ceilometer。默认值为 True,以启用计时器。

backup_swift_key = None

字符串值

用于身份验证的 Swift 密钥

backup_swift_object_size = 52428800

整数值

Swift 备份对象的大小(以字节为单位)

backup_swift_project = None

字符串值

Swift 项目/帐户名称.连接到 auth 3.0 系统时需要

backup_swift_project_domain = None

字符串值

Swift 项目域名。连接到 auth 3.0 系统时需要

backup_swift_retry_attempts = 3

整数值

Swift 操作的重试次数

backup_swift_retry_backoff = 2

整数值

Swift 重试之间 backoff 时间(以秒为单位)

backup_swift_tenant = None

字符串值

Swift 租户/帐户名称。连接到 auth 2.0 系统时需要

backup_swift_url = None

URI 值

Swift 端点的 URL

backup_swift_user = None

字符串值

Swift 用户名

backup_swift_user_domain = None

字符串值

Swift 用户域名。连接到 auth 3.0 系统时需要

backup_timer_interval = 120

整数值

两个进度通知报告备份状态之间的间隔(以秒为单位)

backup_use_same_host = False

布尔值

备份服务使用相同的后端。

backup_use_temp_snapshot = False

布尔值

如果设为 True,则会创建一个临时快照来执行非破坏性备份。否则,将克隆临时卷来执行备份。

backup_workers = 1

整数值

启动的备份进程数。通过并发备份提高性能。

capacity_weight_multiplier = 1.0

浮点值

用于权衡空闲容量的倍数。负数意味着堆栈与分散。

`chap_password = `

字符串值

指定 CHAP 帐户名称的密码。

chap_password_len = 12

整数值

CHAP 密码的随机字符串长度。

`chap_username = `

字符串值

CHAP 用户名。

chiscsi_conf = /etc/chelsio-iscsi/chiscsi.conf

字符串值

chiscsi (CXT)全局默认配置文件

cinder_internal_tenant_project_id = None

字符串值

将用作 Cinder 内部租户的项目 ID。

cinder_internal_tenant_user_id = None

字符串值

卷操作中用作 Cinder 内部租户的用户 ID。

client_socket_timeout = 900

整数值

客户端连接套接字操作的超时。如果传入的连接闲置了这个秒数,它将被关闭。值 0 表示等待(ever)。

clone_volume_timeout = 680

整数值

创建克隆卷超时 自:14.0.0

*reason:*FusionStorage cinder 驱动程序使用 Restful 方法重构代码,旧的 CLI 模式已被取消。因此,不再使用这些配置项。

cloned_volume_same_az = True

布尔值

确保新卷与快照或源卷相同

cluster = None

字符串值

此集群的名称。用于将共享相同后端配置的卷主机分组到 HA Active-Active 模式中工作。

compression_format = gzip

字符串值

镜像上传上的镜像压缩格式

compute_api_class = cinder.compute.nova.API

字符串值

要使用的计算 API 类的完整类名称

config-dir = ['~/.project/project.conf.d/', '~/project.conf.d/', '/etc/project/project.conf.d/', '/etc/project.conf.d/']

列出值

从中拉取.< conf 文件的 config 目录的路径。此文件集是排序的,因此如果单个选项过高,提供可预测的解析顺序。这个集合会在之前 --config-file 指定的文件后面解析,因此目录中的过量选项具有优先权。必须从命令行设置这个选项。

config-file = ['~/.project/project.conf', '~/project.conf', '/etc/project/project.conf', '/etc/project.conf']

未知值

要使用的配置文件的路径。可以指定多个配置文件,并将值放在后续文件中具有优先权。默认为 %(default) s。必须从命令行设置这个选项。

config_source = []

列出值

列出配置组,提供从本地文件以外的位置访问配置设置的更多详细信息。

conn_pool_min_size = 2

整数值

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

conn_pool_ttl = 1200

整数值

池中闲置连接的生存时间

consistencygroup_api_class = cinder.consistencygroup.api.API

字符串值

consistencygroup API 类的完整类名称

control_exchange = openstack

字符串值

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

datera_503_interval = 5

整数值

503 重试间隔

datera_503_timeout = 120

整数值

HTTP 503 重试消息的超时

datera_api_port = 7717

字符串值

Datera API 端口。

datera_api_version = 2.2

字符串值

Datera API 版本。

datera_debug = False

布尔值

true 设置功能 arg 和返回日志记录

datera_debug_replica_count_override = False

布尔值

仅限 FOR DEBUG/TESTING PURPOSES True 将 replica_count 设置为 1

datera_disable_extended_metadata = False

布尔值

设置为 True 以禁用向 Datera 后端发送额外元数据

datera_disable_profiler = False

布尔值

设置为 True,以禁用 Datera 驱动程序中的性能分析

datera_disable_template_override = False

布尔值

设置为 True,在从模板创建时禁用 size 属性的自动模板覆盖

datera_enable_image_cache = False

布尔值

设置为 True 以启用 Datera 后端镜像缓存

datera_image_cache_volume_type_id = None

字符串值

用于缓存卷的 Cinder 卷类型 id

datera_ldap_server = None

字符串值

LDAP 身份验证服务器

datera_tenant_id = None

字符串值

如果设置为 Map -→ OpenStack 项目 ID,则会隐式映射到 Datera 租户 ID (如果设置为 None -→ Datera 租户 ID),则在卷置备过程中不会使用,如果设置为其它 -→ Datera 租户 ID,则会作为提供的值。

datera_volume_type_defaults = {}

字典值

如果没有提供 volume-type 设置,则此处的设置将用作卷类型默认值。例如,如果 volume-type 中没有指定 none,则这可用于设置非常低的 total_iops_max 值,以防止意外使用。通过以下格式来指定选项:WITHOUT ANY DF: PREFIX: datera_volume_type_defaults=iops_per_gb:100,bandwidth_per_gb:200…​etc

db_driver = cinder.db

字符串值

用于数据库访问的驱动程序

debug = False

布尔值

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

default_availability_zone = None

字符串值

新卷的默认可用区。如果没有设置,则 storage_availability_zone 选项值将用作新卷的默认值。

default_group_type = None

字符串值

要使用的默认组类型

default_log_levels = ['amqp=WARN', 'amqplib=WARN', 'boto=WARN', 'qpid=WARN', 'sqlalchemy=WARN', 'suds=INFO', 'oslo.messaging=INFO', 'oslo_messaging=INFO', 'iso8601=WARN', 'requests.packages.urllib3.connectionpool=WARN', 'urllib3.connectionpool=WARN', 'websocket=WARN', 'requests.packages.urllib3.util.retry=WARN', 'urllib3.util.retry=WARN', 'keystonemiddleware=WARN', 'routes.middleware=WARN', 'stevedore=WARN', 'taskflow=WARN', 'keystoneauth=WARN', 'oslo.cache=INFO', 'oslo_policy=INFO', 'dogpile.core.dogpile=INFO']

列出值

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

default_sandstone_target_ips = []

列出值

SandStone 默认目标 ip.

default_volume_type = __DEFAULT__

字符串值

要使用的默认卷类型

driver_client_cert = None

字符串值

如果驱动程序支持,客户端证书进行验证的路径。

driver_client_cert_key = None

字符串值

如果驱动程序支持,客户端证书密钥进行验证的路径。

driver_data_namespace = None

字符串值

要保存的驱动程序私有数据值的命名空间。

driver_ssl_cert_path = None

字符串值

可以用来指定到带有可信 CA 证书的 CA_BUNDLE 文件或目录的非默认路径,它们将用于验证后端

driver_ssl_cert_verify = False

布尔值

如果设置为 True,http 客户端将验证后端端点的 SSL 证书。

driver_use_ssl = False

布尔值

如果驱动程序支持,请告诉驱动程序使用 SSL 连接到后端存储。

dsware_isthin = False

布尔值

精简存储分配的标记。弃用自:14.0.0

*reason:*FusionStorage cinder 驱动程序使用 Restful 方法重构代码,旧的 CLI 模式已被取消。因此,不再使用这些配置项。

`dsware_manager = `

字符串值

Fusionstorage 管理器 ip addr for cinder-volume.弃用自:14.0.0

*reason:*FusionStorage cinder 驱动程序使用 Restful 方法重构代码,旧的 CLI 模式已被取消。因此,不再使用这些配置项。

`dsware_rest_url = `

字符串值

FusionStorage 数组的地址。例如:"dsware_rest_url=xxx"

`dsware_storage_pools = `

字符串值

FusionStorage 数组上的池列表(;)用于分割存储池,"dsware_storage_pools = xxx1; xxx2; xxx3"

enable_force_upload = False

布尔值

在 upload_to_image 上启用 Force 选项。这可让在正在使用的卷上运行 upload_volume 用于支持它的后端。

enable_new_services = True

布尔值

要在创建时添加到可用池的服务

enable_unsupported_driver = False

布尔值

当您要允许不支持的驱动程序启动时,将此设置为 True。没有维护正常工作的 CI 系统和测试的驱动程序被标记为不被支持,直到 CI 再次工作为止。这也会将驱动程序标记为已弃用,并可能在以后的版本中删除。

enable_v2_api = True

布尔值

DEPRECATED:部署 Cinder API 的 v2。

enable_v3_api = True

布尔值

部署 Cinder API 的 v3。

enabled_backends = None

列出值

要使用的后端名称列表。这些后端名称应该由唯一的 [CONFIG] 组及其选项来支持

enforce_multipath_for_image_xfer = False

布尔值

如果设为 True,则当 multipathd 未运行时,镜像传输的附加卷将中止。否则,它将回退到单一路径。需要为每个 backend 部分或 [backend_defaults] 部分配置此参数作为所有后端的通用配置。

executor_thread_pool_size = 64

整数值

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

fatal_deprecations = False

布尔值

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

filter_function = None

字符串值

将用于过滤主机的模拟字符串。仅在将驱动程序过滤器设置为供 Cinder 调度程序使用时才使用。

`fusionstorageagent = `

字符串值

Fusionstorage 代理 ip addr 范围 已弃用,自:14.0.0

*reason:*FusionStorage cinder 驱动程序使用 Restful 方法重构代码,旧的 CLI 模式已被取消。因此,不再使用这些配置项。

glance_api_insecure = False

布尔值

允许对 glance 执行不安全的 SSL (https)请求(但不会执行验证)。

glance_api_servers = None

列出值

cinder 可用的 glance API 服务器的 URL 列表([http[s]://][hostname|ip]:port)。如果没有指定协议,则默认为 http。

glance_api_ssl_compression = False

布尔值

启用或禁用 SSL 层压缩的协商。在某些情况下,禁用压缩可以提高数据吞吐量,如高网络带宽可用时,您可以使用压缩镜像格式(如 qcow2)。

glance_ca_certificates_file = None

字符串值

ca 证书文件的位置,用于 glance 客户端请求。

glance_catalog_info = image:glance:publicURL

字符串值

在服务目录中查找 glance 时,要匹配 info。格式为:以 <service_type>:<service_name>:<endpoint_type> 的形式分隔的值 - 仅在未提供 glance_api_servers 时使用。

glance_certfile = None

字符串值

用于 glance 客户端请求的证书文件的位置。

glance_core_properties = ['checksum', 'container_format', 'disk_format', 'image_name', 'image_id', 'min_disk', 'min_ram', 'name', 'size']

列出值

镜像的默认核心属性

glance_keyfile = None

字符串值

用于 glance 客户端请求的证书密钥文件的位置。

glance_num_retries = 3

整数值

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

glance_request_timeout = None

整数值

glance 操作的 HTTP/https 超时值。如果没有提供值(无),则使用 glanceclient 默认值。

glusterfs_backup_mount_point = $state_path/backup_mount

字符串值

包含 gluster 共享的挂载点的基本目录。

glusterfs_backup_share = None

字符串值

<hostname|ipv4addr|ipv6addr>: 格式的 GlusterFS 共享。eg: 1.2.3.4:backup_vol

goodness_function = None

字符串值

用于确定主机正常性的模拟字符串表示。仅在使用良好性 weigher 时使用,供 Cinder 调度程序使用。

graceful_shutdown_timeout = 60

整数值

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

group_api_class = cinder.group.api.API

字符串值

组 API 类的完整类名称

hitachi_mirror_auth_password = None

字符串值

iSCSI 身份验证密码

hitachi_mirror_auth_user = None

字符串值

iSCSI 身份验证用户名

hitachi_mirror_compute_target_ports = []

列出值

主机组或 iSCSI 目标的计算节点的目标端口名称

hitachi_mirror_ldev_range = None

字符串值

二级存储系统的逻辑设备范围

hitachi_mirror_pair_target_number = 0

整数值

主机组或 iSCSI 目标的目标名称

hitachi_mirror_pool = None

字符串值

二级存储系统的池

hitachi_mirror_rest_api_ip = None

字符串值

REST API 服务器的 IP 地址

hitachi_mirror_rest_api_port = 443

端口值

REST API 服务器的端口号

hitachi_mirror_rest_pair_target_ports = []

列出值

主机组或 iSCSI 目标对的目标端口名称

hitachi_mirror_rest_password = None

字符串值

REST API 的辅助存储系统密码

hitachi_mirror_rest_user = None

字符串值

REST API 的二级存储系统的用户名

hitachi_mirror_snap_pool = None

字符串值

二级存储系统的精简池

hitachi_mirror_ssl_cert_path = None

字符串值

可以用来指定到带有可信 CA 证书的 CA_BUNDLE 文件或目录的非默认路径,它们将用于验证后端

hitachi_mirror_ssl_cert_verify = False

布尔值

如果设置为 True,http 客户端将验证后端端点的 SSL 证书。

hitachi_mirror_storage_id = None

字符串值

二级存储系统的 ID

hitachi_mirror_target_ports = []

列出值

主机组或 iSCSI 目标的目标端口名称

hitachi_mirror_use_chap_auth = False

布尔值

是否要使用 iSCSI 身份验证

hitachi_path_group_id = 0

整数值

分配给远程复制的远程连接的路径组 ID

hitachi_quorum_disk_id = None

整数值

用于全局主动设备的 Quorum 磁盘的 ID

hitachi_replication_copy_speed = 3

整数值

存储系统的远程复制速度。1 或 2 表示低速度,3 表示中速度,4 到 15 之间的值表示高速度。

hitachi_replication_number = 0

整数值

REST API 的实例类型

hitachi_replication_status_check_long_interval = 600

整数值

检查远程复制对状态的时间间隔。如果在此参数指示的时间后状态没有更改为预期的状态,则会应用此参数。

hitachi_replication_status_check_short_interval = 5

整数值

检查远程复制对状态的初始间隔

hitachi_replication_status_check_timeout = 86400

整数值

远程复制对状态更改为预期状态前的最大等待时间

hitachi_set_mirror_reserve_attribute = True

布尔值

是否设置 mirror 保留属性

host = <based on operating system>

字符串值

此节点的名称。这可以是不透明标识符。它不一定是主机名、FQDN 或 IP 地址。

iet_conf = /etc/iet/ietd.conf

字符串值

DEPRECATED: IET 配置文件

image_compress_on_upload = True

布尔值

在可能的情况下,压缩上传到镜像服务的镜像

image_conversion_address_space_limit = 1

整数值

地址空间限制(以 GB 为单位)来转换镜像

image_conversion_cpu_limit = 60

整数值

转换镜像的 CPU 时间限制(以秒为单位)

image_conversion_dir = $state_path/conversion

字符串值

在镜像转换过程中用于临时存储的目录

image_upload_use_cinder_backend = False

布尔值

如果设置为 True,则使用原始格式的 upload-to-image 将创建一个克隆卷并将其位置注册到镜像服务,而不是上传卷内容。在镜像服务中必须启用 Cinder 后端和位置支持。

image_upload_use_internal_tenant = False

布尔值

如果设置为 True,由 upload-to-image 创建的镜像卷将放置在内部租户中。否则,在当前上下文的租户中创建镜像卷。

image_volume_cache_enabled = False

布尔值

为此后端启用镜像卷缓存。

image_volume_cache_max_count = 0

整数值

镜像卷缓存中允许的最大条目数。0 TOKEN 无限。

image_volume_cache_max_size_gb = 0

整数值

此后端的镜像卷缓存的最大大小(以 GB 为单位)。0 TOKEN 无限。

infortrend_cli_cache = False

布尔值

Infortrend CLI 缓存。设置 True 时,RAID 状态报告将使用存储在 CLI 中的缓存。除非 RAID 仅由 Openstack 管理,并且只启用一个内部 cinder-volume 后端,否则请不要启用此功能。否则,CLI 可能会向 cinder 报告过时的状态,因此所有后端/CLI 中都可能存在一些竞争条件。

infortrend_cli_max_retries = 5

整数值

如果命令失败,则最多重试次数。

infortrend_cli_path = /opt/bin/Infortrend/raidcmd_ESDS10.jar

字符串值

Infortrend CLI 绝对路径。

infortrend_cli_timeout = 60

整数值

CLI 的超时时间(以秒为单位)。

infortrend_iqn_prefix = iqn.2002-10.com.infortrend

字符串值

iSCSI 的 Infortrend iqn 前缀。

`infortrend_pools_name = `

列出值

Infortrend 逻辑卷名称列表。它用逗号分开。

`infortrend_slots_a_channels_id = `

列出值

Slot A 上的 Infortrend raid 频道 ID 列表用于 OpenStack 用途。它用逗号分开。

`infortrend_slots_b_channels_id = `

列出值

Slot B 上的 Infortrend raid 频道 ID 列表用于 OpenStack 用途。它用逗号分开。

init_host_max_objects_retrieval = 0

整数值

卷管理器主机初始化期间每个批处理检索的最大卷和快照数量。查询结果将从数据库中批量获取,而不是在一个 shot 中获得,以避免大量内存用量。将 0 设置为关闭此功能。

initiator_assign_sandstone_target_ip = {}

字典值

支持启动器使用分配 ip 来分配目标。

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

字符串值

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

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

字符串值

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

instorage_mcs_allow_tenant_qos = False

布尔值

允许租户在创建时指定 QOS

instorage_mcs_iscsi_chap_enabled = True

布尔值

为 iSCSI 连接配置 CHAP 身份验证(默认:启用)

instorage_mcs_localcopy_rate = 50

整数值

指定创建完整卷副本时要使用的 InStorage LocalCopy 复制率。默认速率为 50,有效率为 1 到 100。

instorage_mcs_localcopy_timeout = 120

整数值

等待 LocalCopy 准备好的最大秒数。

instorage_mcs_vol_autoexpand = True

布尔值

存储系统的卷的 autoexpand 参数(True/False)

instorage_mcs_vol_compression = False

布尔值

卷的存储系统压缩选项

instorage_mcs_vol_grainsize = 256

整数值

卷的存储系统 grain size 参数(32/64/128/256)

instorage_mcs_vol_intier = True

布尔值

为卷启用 InTier

instorage_mcs_vol_iogrp = 0

字符串值

分配卷的 I/O 组。它可以是一个用逗号分开的列表,在这种情况下,驱动程序将根据与 io_group 关联的最少数量选择 io_group。

instorage_mcs_vol_rsize = 2

整数值

卷的存储系统空间参数(百分比)

instorage_mcs_vol_warning = 0

整数值

卷容量警告的存储系统阈值(百分比)

instorage_mcs_volpool_name = ['volpool']

列出值

以逗号分隔的卷存储系统存储池列表。

instorage_san_secondary_ip = None

字符串值

如果 san_ip 无效或无法访问,则指定要使用的辅助管理 IP 或主机名。

iscsi_iotype = fileio

字符串值

将 iSCSI 目标的行为设置为执行 blockio 或 fileio (可选),可以设置 auto,Cinder 将自动检测支持的设备类型

`iscsi_target_flags = `

字符串值

为 iSCSI 目标设置特定于目标的标记。仅用于 tgtadm 使用 bsoflags 选项指定后备设备标志。指定的字符串作为 传递到底层工具。

iscsi_write_cache = on

字符串值

将 iSCSI 目标的行为设置为执行 write-back (on)或 write-through (off)。如果 target_helper 设为 tgtadm,则此参数有效。

iser_helper = tgtadm

字符串值

要使用的 iSER 目标用户工具的名称

iser_ip_address = $my_ip

字符串值

iSER 守护进程正在侦听的 IP 地址

iser_port = 3260

端口值

iSER 守护进程侦听的端口

iser_target_prefix = iqn.2010-10.org.openstack:

字符串值

iSER 卷的前缀

java_path = /usr/bin/java

字符串值

Java 绝对路径。

jovian_block_size = 64K

字符串值

块大小可以是:32K、64K、128K、256K、512K、1M

jovian_ignore_tpath = []

列出值

要忽略的多路径 ip 地址列表。

jovian_pool = Pool-0

字符串值

包含所有 cinder 卷的 JovianDSS 池

jovian_recovery_delay = 60

整数值

HA 集群故障前的时间。

keystone_catalog_info = identity:Identity Service:publicURL

字符串值

在服务目录中查找 keystone 时要匹配 info。格式为: <service_type>:<service_name>:<endpoint_type> 的分隔值 - 仅在 backup_swift_auth_url 未取消设置时使用

kioxia_block_size = 4096

整数值

以字节为单位的卷块大小 - 512 或 4096 (默认)。

kioxia_cafile = None

字符串值

置备程序 REST API SSL 的证书

kioxia_desired_bw_per_gb = 0

整数值

每 GB 的 B/s 所需的带宽。

kioxia_desired_iops_per_gb = 0

整数值

所需的 IOPS/GB.

kioxia_max_bw_per_gb = 0

整数值

每 GB B/s 的带宽上限。

kioxia_max_iops_per_gb = 0

整数值

IOPS/GB 的上限。

kioxia_max_replica_down_time = 0

整数值

复制卷最大停机时间(以分钟为单位)。

kioxia_num_replicas = 1

整数值

卷副本数量。

kioxia_provisioning_type = THICK

字符串值

精简或厚的卷,默认厚。

kioxia_same_rack_allowed = False

布尔值

可以将多个副本分配给同一机架。

kioxia_snap_reserved_space_percentage = 0

整数值

用于日志的父卷的百分比。

kioxia_snap_vol_reserved_space_percentage = 0

整数值

用于日志的父卷的可写快照百分比。

kioxia_snap_vol_span_allowed = True

布尔值

允许快照卷中的 span - 默认 True。

kioxia_span_allowed = True

布尔值

Allow span - 默认 True。

kioxia_token = None

字符串值

KumoScale Provisioner 身份验证令牌.

kioxia_url = None

字符串值

KumoScale 置备程序 REST API URL

kioxia_vol_reserved_space_percentage = 0

整数值

精简卷保留容量分配百分比。

kioxia_writable = False

布尔值

来自快照写入或不可写入的卷。

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_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 [%(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 使用

manager_ips = {}

字典值

这个选项支持 FSA 在不同的节点间挂载。这些参数采用标准的字典配置表单 manager_ips = host1:ip1, host2:ip2…​

max_age = 0

整数值

后续使用刷新间隔的秒数

max_header_line = 16384

整数值

要接受的最大消息标头大小。在使用大型令牌时,可能需要增加 max_header_line (通常在 keystone 被配置为将 PKI 令牌配置为将 PKI 令牌与大型服务目录搭配使用时生成的)。

max_logfile_count = 30

整数值

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

max_logfile_size_mb = 200

整数值

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

max_over_subscription_ratio = 20.0

字符串值

启用精简配置时,超额订阅比率的表示。默认比率为 20.0,这意味着置备的容量可以是总物理容量的 20 倍。如果比例是 10.5,这表示置备的容量可以是总物理容量的 10.5 倍。1.0 的比率表示调配的容量不能超过总物理容量。如果比率为 auto,Cinder 将根据调配的容量和已用空间自动计算比率。如果没有设置 auto,则比率必须至少为 1.0。

message_reap_interval = 86400

整数值

定期任务运行之间的间隔,以以秒为单位清理过期的信息。

message_ttl = 2592000

整数值

消息最小生命周期(以秒为单位)。

migration_create_volume_timeout_secs = 300

整数值

创建在执行卷迁移时迁移到的卷的超时(秒)

monkey_patch = False

布尔值

启用 monkey patching

monkey_patch_modules = []

列出值

到 monkey 补丁的模块/拒绝器列表

my_ip = <based on operating system>

主机地址值

此主机的 IP 地址

no_snapshot_gb_quota = False

布尔值

快照根据 GB 配额计数

num_iser_scan_tries = 3

整数值

重新扫描 iSER 目标来查找卷的次数上限

num_shell_tries = 3

整数值

尝试运行 flakey shell 命令的次数

num_volume_device_scan_tries = 3

整数值

重新扫描目标查找卷的次数上限

nvmeof_conn_info_version = 1

整数值

NVMe os-brick 连接器有 2 个不同的连接信息格式,这允许一些使用原始格式(版本 1)的 NVMe-oF 驱动程序(如 spdk 和 LVM-nvmet)发送较新的格式。

nvmet_ns_id = 10

整数值

在不共享目标时,LVM 卷的子系统的命名空间 ID。在 Linux 中为 share.Maximum supported 的值为 8192 时的最小 id 值

nvmet_port_id = 1

端口值

当没有共享目标时,NVMe 目标端口定义的 id。共享时的起始端口 id 值,每个次 IP 地址递增。

osapi_max_limit = 1000

整数值

集合资源在单个响应中返回的最大项目数

osapi_volume_ext_list = []

列出值

指定在 cinder.api.contrib.select_extensions 中使用 osapi_volume_extension 选项时载入的扩展列表

osapi_volume_extension = ['cinder.api.contrib.standard_extensions']

多值

要载入的 osapi 卷扩展

osapi_volume_listen = 0.0.0.0

字符串值

OpenStack Volume API 侦听的 IP 地址

osapi_volume_listen_port = 8776

端口值

OpenStack Volume API 侦听的端口

osapi_volume_use_ssl = False

布尔值

如果设置了 True,则将套接字嵌套在 SSL 上下文中。必须指定证书文件和密钥文件。

osapi_volume_workers = None

整数值

OpenStack 卷 API 服务的 worker 数量。默认值等于可用的 CPU 数量。

per_volume_size_limit = -1

整数值

每个卷允许的最大大小,以 GB 为单位

periodic_fuzzy_delay = 60

整数值

在启动定期任务调度程序以降低时间戳时,范围(以秒为单位)随机延迟。(通过设置为 0 来禁用)

periodic_interval = 60

整数值

运行定期任务之间的间隔(以秒为单位)

pool_id_filter = []

列出值

池 id 允许使用 已弃用,因为:14.0.0

*reason:*FusionStorage cinder 驱动程序使用 Restful 方法重构代码,旧的 CLI 模式已被取消。因此,不再使用这些配置项。

pool_type = default

字符串值

池类型,如 sata-2copy 已弃用,自:14.0.0

*reason:*FusionStorage cinder 驱动程序使用 Restful 方法重构代码,旧的 CLI 模式已被取消。因此,不再使用这些配置项。

public_endpoint = None

字符串值

用于版本端点的公共 URL。默认值为 None,它将使用请求的 host_url 属性来填充 URL 基础。如果 Cinder 在代理后面操作,您需要将其更改为代表代理的 URL。

publish_errors = False

布尔值

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

quota_backup_gigabytes = 1000

整数值

每个项目允许备份的存储总量(以 GB 为单位)

quota_backups = 10

整数值

每个项目允许的卷备份数量

quota_consistencygroups = 10

整数值

每个项目允许的一致性组数量

quota_driver = cinder.quota.DbQuotaDriver

字符串值

用于配额检查的默认驱动程序

quota_gigabytes = 1000

整数值

每个项目的卷和快照允许的总存储量(以 GB 为单位)

quota_groups = 10

整数值

每个项目允许的组数

quota_snapshots = 10

整数值

每个项目允许的卷快照数

quota_volumes = 10

整数值

每个项目允许的卷数

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

整数值

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

reinit_driver_count = 3

整数值

如果卷初始化失败,则恢复驱动程序的最长时间。重试间隔为 exponentially backoff,并将是 1s、2s、4s 等。

replication_device = None

字典值

多选择字典来代表复制目标设备。这个选项可以在单一配置部分中多次指定,以指定多个复制目标设备。每个条目都采用标准 dict 配置表单: replication_device = target_device_id:<required>,key1:value1,key2:value2…​

report_discard_supported = False

布尔值

报告后端支持丢弃的 Cinder 客户端(也称为 trim/unmap)。这实际上不会直接更改后端或客户端的行为,它只通知它可以使用。

report_interval = 10

整数值

节点报告状态到数据存储的时间间隔(以秒为单位)

reservation_clean_interval = $reservation_expire

整数值

定期任务运行之间的间隔,以清理过期的保留(以秒为单位)。

reservation_expire = 86400

整数值

保留过期前的秒数

reserved_percentage = 0

整数值

保留后端容量的百分比

resource_query_filters_file = /etc/cinder/resource_filters.json

字符串值

指示用户可见过滤参数用于列出查询的 JSON 文件。

restore_discard_excess_bytes = True

布尔值

如果为 True,在恢复卷时始终丢弃过量字节,例如使用零的 pad。

rootwrap_config = /etc/cinder/rootwrap.conf

字符串值

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

rpc_conn_pool_size = 30

整数值

RPC 连接池的大小。

rpc_ping_enabled = False

布尔值

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

rpc_response_timeout = 60

整数值

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

run_external_periodic_tasks = True

布尔值

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

`san_hosts = `

列出值

Open-E JovianDSS SA 的 IP 地址

`sandstone_pool = `

字符串值

SandStone 存储池资源名称。

scheduler_default_filters = ['AvailabilityZoneFilter', 'CapacityFilter', 'CapabilitiesFilter']

列出值

在请求中没有指定时过滤用于过滤主机的类名称。

scheduler_default_weighers = ['CapacityWeigher']

列出值

用于权衡主机的 weigher 类名称。

scheduler_driver = cinder.scheduler.filter_scheduler.FilterScheduler

字符串值

要使用的默认调度程序驱动程序

scheduler_driver_init_wait_time = 60

整数值

等待驱动程序报告为就绪的最大时间(以秒为单位)

scheduler_host_manager = cinder.scheduler.host_manager.HostManager

字符串值

要使用的调度程序主机管理器类

`scheduler_json_config_location = `

字符串值

调度程序配置 JSON 文件的绝对路径。

scheduler_manager = cinder.scheduler.manager.SchedulerManager

字符串值

调度程序管理器的完整类名称

scheduler_max_attempts = 3

整数值

调度卷的最大尝试次数

scheduler_weight_handler = cinder.scheduler.weights.OrderedHostWeightHandler

字符串值

用于在权衡后选择 host/pool 的处理程序

scst_target_driver = iscsi

字符串值

SCST 目标实施可以从多个 SCST 目标驱动程序中选择。

scst_target_iqn_name = None

字符串值

某些 ISCSI 目标具有预定义的目标名称,SCST 目标驱动程序使用此名称。

service_down_time = 60

整数值

自上次检查以服务被视为在线的最长时间

snapshot_name_template = snapshot-%s

字符串值

用于生成快照名称的模板字符串

snapshot_same_host = True

布尔值

从快照所在的主机的快照创建卷

split_loggers = False

布尔值

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

ssh_hosts_key_file = $state_path/ssh_known_hosts

字符串值

包含 Cinder 需要与之通信的系统的 SSH 主机密钥的文件。OPTIONAL: Default=$state_path/ssh_known_hosts

state_path = /var/lib/cinder

字符串值

用于维护 cinder 状态的顶级目录

storage_availability_zone = nova

字符串值

此节点的可用区。可以通过选项 "backend_availability_zone" 覆盖每个卷后端。

storage_protocol = iscsi

字符串值

用于在主机和存储后端之间传输数据的协议。

strict_ssh_host_key_policy = False

布尔值

选项,以启用严格的主机密钥检查。当设置为 "True" Cinder 将仅使用配置"ssh_hosts_key_file"中的主机密钥连接到系统。当设置为 "False" 时,主机密钥将在第一个连接后保存,并用于后续连接。Default=False

swift_catalog_info = object-store:swift:publicURL

字符串值

在服务目录中查找 swift 时,要匹配的信息。格式为: <service_type>:<service_name>:<endpoint_type> 的分隔值 - 仅在 backup_swift_url 未取消设置时使用

syslog-log-facility = LOG_USER

字符串值

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

target_helper = tgtadm

字符串值

要使用的目标用户固定工具。tgtadm 是默认的,对 LIO iSCSI 支持使用 lioadm,对 SCST 目标使用 scstadmin,ietadm for iSCSI Enterprise Target, iscsictl for Chelsio iSCSI Target, nvmet for NVMEoF support, spdk-nvmeof for SPDK NVMe-oF, 或 fake 用于测试。注意:IET 驱动程序已弃用,并将在 V 版本中删除。

target_ip_address = $my_ip

字符串值

iSCSI/NVMEoF 守护进程侦听的 IP 地址

target_port = 3260

端口值

iSCSI/NVMEoF 守护进程侦听的端口

target_prefix = iqn.2010-10.org.openstack:

字符串值

iSCSI/NVMEoF 卷的前缀

target_protocol = iscsi

字符串值

确定使用 tgtadm、lioadm 和 nvmet 目标帮助程序创建的新卷的目标协议。要启用 RDMA,应使用值 "iser" 设置此参数。支持的 iSCSI 协议值为 "iscsi" 和 "iser",如果 nvmet 目标设为 "nvmet_rdma" 或 "nvmet_tcp"。

target_secondary_ip_addresses = []

列出值

iSCSI/NVMEoF 守护进程的辅助 IP 地址列表

tcp_keepalive = True

布尔值

为每个服务器套接字设置 TCP_KEEPALIVE (True/False)的值。

tcp_keepalive_count = None

整数值

为每个服务器套接字设置 TCP_KEEPCNT 的值。OS X 不支持。

tcp_keepalive_interval = None

整数值

为每个服务器套接字设置 TCP_KEEPINTVL 的值(以秒为单位)。OS X 不支持。

tcp_keepidle = 600

整数值

设置每个服务器套接字的 TCP_KEEPIDLE 的值(以秒为单位)。OS X 不支持。

trace_flags = None

列出值

控制将追踪信息写入 DEBUG 日志级别以协助开发人员的选项列表。有效值为 method 和 api。

transfer_api_class = cinder.transfer.api.API

字符串值

卷传输 API 类的完整类名称

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

until_refresh = 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_chap_auth = False

布尔值

为目标启用/禁用 CHAP 验证的选项。

use_default_quota_class = True

布尔值

启用或禁用默认配额类的使用和默认配额。

use_eventlog = False

布尔值

日志输出到 Windows 事件日志。

use_forwarded_for = False

布尔值

将 X-Forwarded-For 视为规范远程地址。只有在您具有清理代理时才启用。

use_multipath_for_image_xfer = False

布尔值

是否在 cinder 中附加/分离卷,将卷用于镜像,并将镜像附加到卷传输?需要为每个 backend 部分或 [backend_defaults] 部分配置此参数作为所有后端的通用配置。

use_stderr = False

布尔值

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

verify_glance_signatures = enabled

字符串值

启用镜像签名验证。

Cinder 使用来自 Glance 的镜像签名元数据,并在下载该镜像时验证签名。这里有两个选项。

  1. 启用 :验证镜像何时有签名元数据。
  2. 禁用: 验证关闭。

如果无法验证镜像签名,或者在需要时无法验证镜像签名元数据,则 Cinder 不会创建卷并将其更新为错误状态。这为最终用户提供了对用于创建卷的镜像数据的完整性的更强的保证。

vmdk_allowed_types = ['streamOptimized', 'monolithicSparse']

列出值

描述允许的 VMDK createType 子格式的字符串列表。我们建议您只包括 single-file-with-sparse-header 变体,以避免在镜像转换为原始格式时处理命名扩展时的潜在主机文件暴露,因为它被写入卷。如果此列表为空,则不允许使用 VMDK 镜像。

volume_api_class = cinder.volume.api.API

字符串值

要使用的卷 API 类的完整类名称

volume_backend_name = None

字符串值

给定驱动程序实现的后端名称

volume_clear = zero

字符串值

用于擦除旧卷的方法

volume_clear_ionice = None

字符串值

标记用于更改在删除后用于 0 个卷的进程的 i/o 优先级,例如"-c3"只用于闲置优先级。

volume_clear_size = 0

整数值

以 MiB 为单位的大小,在旧卷开始时擦除。1024 MiB at max. 0 swig all

volume_copy_blkio_cgroup_name = cinder-volume-copy

字符串值

用于限制卷副本带宽的 blkio cgroup 名称

volume_copy_bps_limit = 0

整数值

卷副本带宽的上限。0 TOKEN 无限

volume_dd_blocksize = 1M

字符串值

复制/清理卷时使用的默认块大小

volume_manager = cinder.volume.manager.VolumeManager

字符串值

卷管理器的完整类名称

volume_name_template = volume-%s

字符串值

用于生成卷名称的模板字符串

volume_number_multiplier = -1.0

浮点值

用于权衡卷号的倍数。负数意味着分布与堆栈。

volume_service_inithost_offload = False

布尔值

在卷服务启动过程中卸载待处理的卷删除

volume_transfer_key_length = 16

整数值

自动生成的 auth 密钥中的字符数。

volume_transfer_salt_length = 8

整数值

salt 中的字符数。

volume_usage_audit_period = month

字符串值

生成卷使用的时间周期。选项为小时、天、月份或年。

volumes_dir = $state_path/volumes

字符串值

卷配置文件存储目录

vrts_lun_sparse = True

布尔值

创建稀疏 Lun。

vrts_target_config = /etc/cinder/vrts_target.xml

字符串值

VA 配置文件。

watch-log-file = False

布尔值

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

wsgi_default_pool_size = 100

整数值

wsgi 使用的 greenthreads 池的大小

wsgi_keep_alive = True

布尔值

如果为 False,请明确关闭客户端套接字连接。

wsgi_log_format = %(client_ip) s "%(request_line) s" status: %(status_code) s len: %(body_length) s time: %(wall_seconds).7f

字符串值

用作模板的 python 格式字符串,用于生成日志行。以下值可以格式化到其中: client_ip, date_time, request_line, status_code, body_length, wall_seconds。

wsgi_server_debug = False

布尔值

如果服务器应在 500 错误时向客户端发送异常回溯,则为 true。如果 False,服务器将以空正文来响应。

zoning_mode = None

字符串值

FC Zoning 模式配置,现在只支持 fabric

2.1.2. 后端

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

Expand
表 2.1. 后端
配置选项 = 默认值类型Description

backend_host = None

字符串值

主机值的后端覆盖。

2.1.3. backend_defaults

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

Expand
表 2.2. backend_defaults
配置选项 = 默认值类型Description

auto_calc_max_oversubscription_ratio = False

布尔值

K2 驱动程序将在将这个选项设置为 True 时计算 max_oversubscription_ratio。

backend_availability_zone = None

字符串值

此卷后端的可用区。如果没有设置,则 storage_availability_zone 选项值将用作所有后端的默认值。

backend_native_threads_pool_size = 20

整数值

后端原生线程池的大小。对于大量依赖此后端(如 RBD 驱动程序)的增加。

CHAP = disabled

字符串值

CHAP 验证模式,仅适用于 iscsi (禁用|启用)

`chap_password = `

字符串值

指定 CHAP 帐户名称的密码。

`chap_username = `

字符串值

CHAP 用户名。

check_max_pool_luns_threshold = False

布尔值

DEPRECATED: 当达到最大池 LUN 数量时,报告 free_capacity_gb 为 0。默认情况下,值为 False。

chiscsi_conf = /etc/chelsio-iscsi/chiscsi.conf

字符串值

chiscsi (CXT)全局默认配置文件

cinder_eternus_config_file = /etc/cinder/cinder_fujitsu_eternus_dx.xml

字符串值

cinder eternus_dx 卷驱动程序的配置文件。

cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf.xml

字符串值

Cinder Huawei 驱动程序的配置文件。

connection_type = iscsi

字符串值

到 IBM Storage Array 的连接类型

cycle_period_seconds = 300

整数值

这定义了一个可选周期,它适用于带有 multi 循环模式的全局镜像关系。使用多 cycling_mode 的全局镜像关系会在每次期间最多执行一个完整的循环。默认值为 300 秒,有效秒数为 60-86400。

datacore_api_timeout = 300

整数值

等待 DataCore API 调用的响应的秒数。

datacore_disk_failed_delay = 300

整数值

等待 DataCore 虚拟磁盘出去"Failed"状态的秒数。

datacore_disk_pools = []

列出值

卷驱动程序可以使用的 DataCore 磁盘池列表。

datacore_disk_type = single

字符串值

DataCore 虚拟磁盘类型(single/mirrored)。镜像的虚拟磁盘需要服务器组中的两个存储服务器。

datacore_fc_unallowed_targets = []

列出值

不能附加卷的 FC 目标列表。要防止 DataCore FibreChannel 卷驱动程序在卷附加中使用一些前端目标,请指定这个选项,并列出每个目标的 iqn 和 target machine 作为值,如 <wwpns:target name>, <wwpns:target name>, <wwpns:target name>。

datacore_iscsi_chap_storage = $state_path/.datacore_chap

字符串值

保存动态生成的 iSCSI CHAP secret 的完全限定文件名。

datacore_iscsi_unallowed_targets = []

列出值

无法附加卷的 iSCSI 目标列表。要防止 DataCore iSCSI 卷驱动程序在卷附加中使用一些前端目标,请指定这个选项,并将每个目标的 iqn 和 target machine 列为值,如 <iqn:target name>, <iqn:target name>, <iqn:target name>。

datacore_storage_profile = None

字符串值

DataCore 虚拟磁盘存储配置文件.

default_timeout = 31536000

整数值

CLI 操作的默认超时(以分钟为单位)。例如,LUN 迁移是典型的长时间运行操作,它依赖于 LUN 的大小和阵列的负载。可以设置特定部署中的上限,以避免不必要的长时间等待。默认情况下,它是 365 天。

deferred_deletion_delay = 0

整数值

在标记延迟删除后,卷有资格被永久移除前的时间延迟(以秒为单位)。

deferred_deletion_purge_interval = 60

整数值

定期任务运行之间的秒数,以清除标记要删除的卷。

dell_api_async_rest_timeout = 15

整数值

Dell SC API async 调用默认超时(以秒为单位)。

dell_api_sync_rest_timeout = 30

整数值

Dell SC API 同步调用默认超时(以秒为单位)。

dell_sc_api_port = 3033

端口值

Dell API 端口

dell_sc_server_folder = openstack

字符串值

在 Storage Center 上使用的服务器文件夹的名称

dell_sc_ssn = 64702

整数值

Storage Center 系统串行号

dell_sc_verify_cert = False

布尔值

启用 HTTPS SC 证书验证

dell_sc_volume_folder = openstack

字符串值

在 Storage Center 上使用的卷文件夹的名称

dell_server_os = Red Hat Linux 6.x

字符串值

在 Storage Center 上创建新服务器时要使用的服务器操作系统类型。

destroy_empty_storage_group = False

布尔值

要在最后一个 LUN 被删除时销毁存储组。默认情况下,值为 False。

disable_discovery = False

布尔值

为 K2 驱动程序上的多路径连接禁用 iSCSI 发现(发送目标)。

`dpl_pool = `

字符串值

存储 DPL 卷的 DPL 池 uuid。

dpl_port = 8357

端口值

DPL 端口号。

driver_client_cert = None

字符串值

如果驱动程序支持,客户端证书进行验证的路径。

driver_client_cert_key = None

字符串值

如果驱动程序支持,客户端证书密钥进行验证的路径。

driver_data_namespace = None

字符串值

要保存的驱动程序私有数据值的命名空间。

driver_ssl_cert_path = None

字符串值

可以用来指定到带有可信 CA 证书的 CA_BUNDLE 文件或目录的非默认路径,它们将用于验证后端

driver_ssl_cert_verify = False

布尔值

如果设置为 True,http 客户端将验证后端端点的 SSL 证书。

driver_use_ssl = False

布尔值

如果驱动程序支持,请告诉驱动程序使用 SSL 连接到后端存储。

`ds8k_devadd_unitadd_mapping = `

字符串值

IODevice 地址和单元地址之间的映射。

ds8k_host_type = auto

字符串值

如果您的 OpenStack 版本早于 Liberty,且您要连接到 zLinux 系统,则设置为 zLinux。否则设为 auto。这个参数的有效值为:auto, AMDLinuxRHEL, AMDLinuxSuse, AppleOSX, Fujitsu, Hp, HpTru64, HpVms, LinuxDT, LinuxRF, LinuxRHEL, LinuxSuse, Novell, SGI, SVC, SanFsAIX, SanFsLinux, Sun, VMWare, Win2000, Win2003, Win2008, Win2012, iLinux, nSeries, pLinux, pSeries, pSeriesPowerswap, zLinux, iSeries.

ds8k_ssid_prefix = FF

字符串值

设置 SSID 的前两位数字。

enable_deferred_deletion = False

布尔值

启用延迟删除。删除后,卷将标记为删除,但只会在以后异步删除。

enable_unsupported_driver = False

布尔值

当您要允许不支持的驱动程序启动时,将此设置为 True。没有维护正常工作的 CI 系统和测试的驱动程序被标记为不被支持,直到 CI 再次工作为止。这也会将驱动程序标记为已弃用,并可能在以后的版本中删除。

enforce_multipath_for_image_xfer = False

布尔值

如果设为 True,则当 multipathd 未运行时,镜像传输的附加卷将中止。否则,它将回退到单一路径。需要为每个 backend 部分或 [backend_defaults] 部分配置此参数作为所有后端的通用配置。

excluded_domain_ip = None

IP 地址值

DEPRECATED: Fault 域 IP 从 iSCSI 返回中排除。弃用自: Stein

*reason:*Replaced by excluded_domain_ips 选项

excluded_domain_ips = []

列出值

从 iSCSI 返回中排除逗号分隔的故障域 IP。

expiry_thres_minutes = 720

整数值

这个选项指定 NFS 镜像缓存中镜像最后一次访问时间的阈值。当缓存清理循环启动时,在最后 M 分钟内未访问的缓存中的镜像(其中 M 是此参数的值)将从缓存中删除,以在 NFS 共享上创建可用空间。

extra_capabilities = {}

字符串值

用户定义的功能,一种 JSON 格式的字符串,指定键/值对。CapabilitiesFilter 可以使用键/值对,在请求指定卷类型时在后端之间进行选择。例如,指定服务级别或后端的地理位置,然后创建一个卷类型来允许用户由这些不同属性选择。

filter_function = None

字符串值

将用于过滤主机的模拟字符串。仅在将驱动程序过滤器设置为供 Cinder 调度程序使用时才使用。

flashsystem_connection_protocol = FC

字符串值

连接协议应该是 FC。(默认为 FC。)

flashsystem_iscsi_portid = 0

整数值

FlashSystem 的默认 iSCSI 端口 ID。(默认端口为 0。)

flashsystem_multihostmap_enabled = True

布尔值

允许 vdisk 到多主机映射。(默认为 True)

force_delete_lun_in_storagegroup = True

布尔值

删除 LUN,即使它位于 Storage Groups 中。

goodness_function = None

字符串值

用于确定主机正常性的模拟字符串表示。仅在使用良好性 weigher 时使用,供 Cinder 调度程序使用。

gpfs_hosts = []

列出值

以逗号分隔的 IP 地址或 GPFS 节点的主机名列表。

gpfs_hosts_key_file = $state_path/ssh_known_hosts

字符串值

包含驱动程序需要通信的 gpfs 节点的 SSH 主机密钥的文件。Default=$state_path/ssh_known_hosts

gpfs_images_dir = None

字符串值

指定 GPFS 中镜像服务存储库的路径。如果没有将镜像存储在 GPFS 中,则保留未定义。

gpfs_images_share_mode = None

字符串值

指定要使用的镜像副本的类型。当镜像服务存储库也使用 GPFS 时设置此项,以便可以有效地将镜像文件从镜像服务传输到块存储服务。有两个有效值:"copy"指定已制作镜像的完整副本;"copy_on_write"指定使用 copy-on-write 优化策略,且镜像文件的块可以有效地共享。

gpfs_max_clone_depth = 0

整数值

指定因为快照或克隆而到达特定块所需的间接数上限。写时复制快照或克隆长度链可能会对性能造成负面影响,但提高了空间利用率。0 表示无限克隆深度。

gpfs_mount_point_base = None

字符串值

指定存储块存储卷和快照文件的 GPFS 目录的路径。

`gpfs_private_key = `

字符串值

用于 SSH 验证的私钥的文件名。

gpfs_sparse_volumes = True

布尔值

将创建卷指定为稀疏文件,这些文件最初不会消耗任何空间。如果设置为 False,则卷将创建为完全分配的文件,在这种情况下,创建可能需要更长的时间。

gpfs_ssh_port = 22

端口值

要使用的 SSH 端口。

gpfs_storage_pool = system

字符串值

指定卷分配到的存储池。默认情况下使用系统存储池。

gpfs_strict_host_key_policy = False

布尔值

在连接到 gpfs 节点时启用严格的 gpfs 主机密钥检查的选项。Default=False

gpfs_user_login = root

字符串值

GPFS 节点的用户名。

`gpfs_user_password = `

字符串值

GPFS 节点用户的密码。

hitachi_async_copy_check_interval = 10

整数值

在复制对删除或数据恢复过程中检查异步复制状态的时间间隔(以秒为单位)。

hitachi_compute_target_ports = []

列出值

用于将卷附加到计算节点的存储端口 ID。要指定多个端口,请使用逗号(如 CL1-A、CL2-A)进行连接。

hitachi_copy_check_interval = 3

整数值

在卷副本期间检查复制状态的时间间隔(以秒为单位)。

hitachi_copy_speed = 3

整数值

存储系统复制速度.1 或 2 表示低速度,3 表示中速度,4 到 15 之间的值表示高速度。

hitachi_discard_zero_page = True

布尔值

启用或禁用 DP-VOL 中的零页面回收。

hitachi_exec_retry_interval = 5

整数值

REST API 执行重试间隔(以秒为单位)。

hitachi_extend_timeout = 600

整数值

卷扩展完成的最大等待时间(以秒为单位)。

hitachi_group_create = False

布尔值

如果为 True,则驱动程序将在存储端口上创建主机组或 iSCSI 目标。

hitachi_group_delete = False

布尔值

如果为 True,则驱动程序将根据需要在存储端口上删除主机组或 iSCSI 目标。

hitachi_group_name_format = None

字符串值

主机组、iSCSI 目标和服务器对象的格式。

hitachi_host_mode_options = []

列出值

主机组或 iSCSI 目标的主机模式选项。

hitachi_ldev_range = None

字符串值

LDEV 编号格式的范围,格式为 xxxx-yyyy,可供驱动程序使用。值可以是十进制格式(如 1000),或以冒号分隔的十六进制格式(如 00:03:E8)。

hitachi_lock_timeout = 7200

整数值

要登录或解锁存储的最大等待时间(以秒为单位)。

hitachi_lun_retry_interval = 1

整数值

为 REST API 添加 LUN 映射到服务器的重试间隔(以秒为单位)。

hitachi_lun_timeout = 50

整数值

添加 LUN 映射到服务器的最大等待时间(以秒为单位)。

hitachi_pair_target_number = 0

整数值

主机组或 iSCSI 目标的目标名称

hitachi_pools = []

列出值

池号[s]或 DP 池的池名称[s]

hitachi_port_scheduler = False

布尔值

启用对配置的端口的端口调度 WWN,以便 WWN 以轮循方式注册到端口。

hitachi_rest_another_ldev_mapped_retry_timeout = 600

整数值

当新的 LUN 分配请求失败时,重试时间(以秒为单位)。

hitachi_rest_connect_timeout = 30

整数值

连接到 REST API 会话的最大等待时间(以秒为单位)。

hitachi_rest_disable_io_wait = True

布尔值

此选项将允许立即分离卷。如果设置 False,存储可能需要几分钟时间在 I/O 后分离卷。

hitachi_rest_get_api_response_timeout = 1800

整数值

针对同步方法的响应的最大等待时间(以秒为单位),例如 GET

hitachi_rest_job_api_response_timeout = 1800

整数值

针对来自 REST API 的 async 方法的响应的最大等待时间(以秒为单位),如 PUT 和 DELETE。

hitachi_rest_keep_session_loop_interval = 180

整数值

保留 REST API 会话的循环间隔(以秒为单位)。

hitachi_rest_pair_target_ports = []

列出值

主机组或 iSCSI 目标对的目标端口名称

hitachi_rest_server_busy_timeout = 7200

整数值

REST API 返回忙碌时的最大等待时间(以秒为单位)。

hitachi_rest_tcp_keepalive = True

布尔值

启用或禁用 REST API tcp keepalive 的使用

hitachi_rest_tcp_keepcnt = 4

整数值

TCP keepalive 数据包的最大传输数。

hitachi_rest_tcp_keepidle = 60

整数值

发送第一个 TCP keepalive 数据包的时间(以秒为单位)。

hitachi_rest_tcp_keepintvl = 15

整数值

TCP keepalive 数据包的传输间隔(以秒为单位)。

hitachi_rest_timeout = 30

整数值

每个 REST API 请求的最大等待时间(以秒为单位)。

hitachi_restore_timeout = 86400

整数值

恢复操作完成的最大等待时间(以秒为单位)。

hitachi_snap_pool = None

字符串值

快照池的池号或池名称。

hitachi_state_transition_timeout = 900

整数值

卷转换完成的最大等待时间(以秒为单位)。

hitachi_storage_id = None

字符串值

存储系统的产品号。

hitachi_target_ports = []

列出值

用于将卷附加到控制器节点的存储端口 ID。要指定多个端口,请使用逗号(如 CL1-A、CL2-A)进行连接。

hitachi_zoning_request = False

布尔值

如果为 True,则驱动程序将在服务器与启用了 FC zoning 管理器的存储系统之间配置 FC zoning。

`hpe3par_api_url = `

字符串值

WSAPI 服务器 URL.此设置适用于 3PAR 和 Primera。示例 1: for 3PAR, URL is: https://<3par ip>:8080/api/v1 Example 2: for Primera, URL is: https://<primera ip>:443/api/v1

hpe3par_cpg = ['OpenStack']

列出值

用于创建卷的 3PAR / Primera CPG 列表

`hpe3par_cpg_snap = `

字符串值

用于卷快照的 3PAR / Primera CPG。如果为空,将使用 userCPG。

hpe3par_debug = False

布尔值

启用到 3PAR / Primera 的 HTTP 调试

hpe3par_iscsi_chap_enabled = False

布尔值

为 iSCSI 连接启用 CHAP 身份验证。

hpe3par_iscsi_ips = []

列出值

要使用的目标 iSCSI 地址列表。

`hpe3par_password = `

字符串值

3PAR / Primera 密码在 hpe3par_username 中指定的用户

`hpe3par_snapshot_expiration = `

字符串值

快照过期并删除的时间(以小时为单位)。这必须大于过期

`hpe3par_snapshot_retention = `

字符串值

保留快照的时间(以小时为单位)。在此过期之前您无法删除它。

`hpe3par_target_nsp = `

字符串值

当 (1) cinder.conf 中未启用多路径时,要使用的 3PAR 后端的 nsp。(2)光纤通道区域管理器未使用。3PAR 后端只适用于这个特定的 nsp。例如,如果 nsp 是 2 1 2,则该选项的值的格式是 2:1:2

`hpe3par_username = `

字符串值

3PAR / Primera 用户名,带有 edit 角色

hpexp_async_copy_check_interval = 10

整数值

异步检查复制的时间间隔(以秒为单位)

hpexp_compute_target_ports = []

列出值

用于将卷附加到计算节点的存储端口 ID。要指定多个端口,请使用逗号(如 CL1-A、CL2-A)进行连接。

hpexp_copy_check_interval = 3

整数值

检查复制的时间间隔(以秒为单位)

hpexp_copy_speed = 3

整数值

存储系统复制速度.1 或 2 表示低速度,3 表示中速度,4 到 15 之间的值表示高速度。

hpexp_discard_zero_page = True

布尔值

在 THP V-VOL 中启用或禁用零页面回收。

hpexp_exec_retry_interval = 5

整数值

REST API 执行重试间隔(以秒为单位)。

hpexp_extend_timeout = 600

整数值

卷扩展完成的最大等待时间(以秒为单位)。

hpexp_group_create = False

布尔值

如果为 True,则驱动程序将在存储端口上创建主机组或 iSCSI 目标。

hpexp_group_delete = False

布尔值

如果为 True,则驱动程序将根据需要在存储端口上删除主机组或 iSCSI 目标。

hpexp_host_mode_options = []

列出值

主机组或 iSCSI 目标的主机模式选项。

hpexp_ldev_range = None

字符串值

LDEV 编号格式的范围,格式为 xxxx-yyyy,可供驱动程序使用。值可以是十进制格式(如 1000),或以冒号分隔的十六进制格式(如 00:03:E8)。

hpexp_lock_timeout = 7200

整数值

要解锁存储的最大等待时间(以秒为单位)。

hpexp_lun_retry_interval = 1

整数值

添加 LUN 的 REST API 重试间隔(以秒为单位)。

hpexp_lun_timeout = 50

整数值

添加 LUN 完成的最大等待时间(以秒为单位)。

hpexp_pools = []

列出值

THP 池的池号[s] 或池名称[s]

hpexp_rest_another_ldev_mapped_retry_timeout = 600

整数值

当新的 LUN 分配请求失败时,重试时间(以秒为单位)。

hpexp_rest_connect_timeout = 30

整数值

完成 REST API 连接的最大等待时间(以秒为单位)。

hpexp_rest_disable_io_wait = True

布尔值

可能需要过些时间,在 I/O 后分离卷。此选项将允许分离卷立即完成。

hpexp_rest_get_api_response_timeout = 1800

整数值

针对 REST API 的 GET 方法的响应的最大等待时间(以秒为单位)。

hpexp_rest_job_api_response_timeout = 1800

整数值

来自 REST API 的响应的最大等待时间(以秒为单位)。

hpexp_rest_keep_session_loop_interval = 180

整数值

保留 REST API 会话的循环间隔(以秒为单位)。

hpexp_rest_server_busy_timeout = 7200

整数值

REST API 返回忙碌时的最大等待时间(以秒为单位)。

hpexp_rest_tcp_keepalive = True

布尔值

启用或禁用 REST API tcp keepalive 的使用

hpexp_rest_tcp_keepcnt = 4

整数值

TCP keepalive 数据包的最大传输数。

hpexp_rest_tcp_keepidle = 60

整数值

发送第一个 TCP keepalive 数据包的时间(以秒为单位)。

hpexp_rest_tcp_keepintvl = 15

整数值

TCP keepalive 数据包的传输间隔(以秒为单位)。

hpexp_rest_timeout = 30

整数值

完成 REST API 执行的最大等待时间(以秒为单位)。

hpexp_restore_timeout = 86400

整数值

恢复操作完成的最大等待时间(以秒为单位)。

hpexp_snap_pool = None

字符串值

快照池的池号或池名称。

hpexp_state_transition_timeout = 900

整数值

卷转换完成的最大等待时间(以秒为单位)。

hpexp_storage_id = None

字符串值

存储系统的产品号。

hpexp_target_ports = []

列出值

用于将卷附加到控制器节点的存储端口 ID。要指定多个端口,请使用逗号(如 CL1-A、CL2-A)进行连接。

hpexp_zoning_request = False

布尔值

如果为 True,则驱动程序将在服务器与启用了 FC zoning 管理器的存储系统之间配置 FC zoning。

hpmsa_api_protocol = https

字符串值

HPMSA API 接口协议。

hpmsa_iscsi_ips = []

列出值

以逗号分隔的目标 iSCSI IP 地址列表。

hpmsa_pool_name = A

字符串值

创建卷的池或 Vdisk 名称。

hpmsa_pool_type = virtual

字符串值

线性(用于 Vdisk)或虚拟(用于池)。

hpmsa_verify_certificate = False

布尔值

是否验证 HPMSA 阵列 SSL 证书。

hpmsa_verify_certificate_path = None

字符串值

HPMSA 阵列 SSL 证书路径.

hypermetro_devices = None

字符串值

远程设备超大将使用。

iet_conf = /etc/iet/ietd.conf

字符串值

DEPRECATED: IET 配置文件

ignore_pool_full_threshold = False

布尔值

强制 LUN 创建,即使达到了池的完整阈值。默认情况下,值为 False。

image_upload_use_cinder_backend = False

布尔值

如果设置为 True,则使用原始格式的 upload-to-image 将创建一个克隆卷并将其位置注册到镜像服务,而不是上传卷内容。在镜像服务中必须启用 Cinder 后端和位置支持。

image_upload_use_internal_tenant = False

布尔值

如果设置为 True,由 upload-to-image 创建的镜像卷将放置在内部租户中。否则,在当前上下文的租户中创建镜像卷。

image_volume_cache_enabled = False

布尔值

为此后端启用镜像卷缓存。

image_volume_cache_max_count = 0

整数值

镜像卷缓存中允许的最大条目数。0 TOKEN 无限。

image_volume_cache_max_size_gb = 0

整数值

此后端的镜像卷缓存的最大大小(以 GB 为单位)。0 TOKEN 无限。

included_domain_ips = []

列出值

要从 iSCSI 返回中包含逗号分隔的故障域 IP。

infinidat_iscsi_netspaces = []

列出值

用于 iSCSI 连接的网络命名空间名称列表

infinidat_pool_name = None

字符串值

从中分配卷的池的名称

infinidat_storage_protocol = fc

字符串值

用于在主机和存储后端之间传输数据的协议。

infinidat_use_compression = False

布尔值

指定是否为新创建的卷打开压缩。

initiator_auto_deregistration = False

布尔值

在相关存储组销毁后自动取消注册启动器。默认情况下,值为 False。

initiator_auto_registration = False

布尔值

自动注册发起方。默认情况下,值为 False。

initiator_check = False

布尔值

使用这个值启用 initiator_check。

interval = 3

整数值

使用这个值指定间隔长度(以秒为单位)。

io_port_list = None

列出值

在 Nova 或 Cinder 中使用逗号分隔的 iSCSI 或 FC 端口。

iscsi_initiators = None

字符串值

在主机名及其 iSCSI 启动器 IP 地址之间映射。

iscsi_iotype = fileio

字符串值

将 iSCSI 目标的行为设置为执行 blockio 或 fileio (可选),可以设置 auto,Cinder 将自动检测支持的设备类型

`iscsi_target_flags = `

字符串值

为 iSCSI 目标设置特定于目标的标记。仅用于 tgtadm 使用 bsoflags 选项指定后备设备标志。指定的字符串作为 传递到底层工具。

iscsi_write_cache = on

字符串值

将 iSCSI 目标的行为设置为执行 write-back (on)或 write-through (off)。如果 target_helper 设为 tgtadm,则此参数有效。

iser_helper = tgtadm

字符串值

要使用的 iSER 目标用户工具的名称

iser_ip_address = $my_ip

字符串值

iSER 守护进程正在侦听的 IP 地址

iser_port = 3260

端口值

iSER 守护进程侦听的端口

iser_target_prefix = iqn.2010-10.org.openstack:

字符串值

iSER 卷的前缀

lenovo_api_protocol = https

字符串值

Lenovo api 接口协议。

lenovo_iscsi_ips = []

列出值

以逗号分隔的目标 iSCSI IP 地址列表。

lenovo_pool_name = A

字符串值

创建卷的池或 Vdisk 名称。

lenovo_pool_type = virtual

字符串值

线性(用于 VDisk)或虚拟(用于池)。

lenovo_verify_certificate = False

布尔值

是否验证 Lenovo 阵列 SSL 证书.

lenovo_verify_certificate_path = None

字符串值

Lenovo 数组 SSL 证书路径.

linstor_autoplace_count = 0

整数值

卷部署的 Autoplace 复制计数。0 = 没有自动替换的完整集群复制,1 = 单节点部署,无需复制,2 或更高 = 复制部署。

linstor_controller_diskless = True

布尔值

true 表示 Cinder 节点是无盘 LINSTOR 节点。

linstor_default_blocksize = 4096

整数值

镜像恢复的默认块大小。使用 iSCSI 传输时,此选项指定块大小。

linstor_default_storage_pool_name = DfltStorPool

字符串值

LINSTOR 的默认存储池名称。

linstor_default_uri = linstor://localhost

字符串值

LINSTOR 的默认存储 URI。

linstor_default_volume_group_name = drbd-vg

字符串值

LINSTOR 的默认卷组名称。不是 Cinder 卷。

linstor_volume_downsize_factor = 4096

浮点值

以 KiB 为单位的默认卷缩减的大小 = 4 MiB。

load_balance = False

布尔值

为 PowerMax 后端启用/禁用负载平衡。

load_balance_real_time = False

布尔值

为 PowerMax 后端启用/禁用端口级别负载均衡的实时性能指标。

load_data_format = Avg

字符串值

性能数据格式,不适用于实时指标。可用选项包括 "avg" 和 "max"。

load_look_back = 60

整数值

长时间(以分钟为单位)在负载计算中查找诊断性能指标,最少为 0 个最大 1440 (24 小时)。

load_look_back_real_time = 1

整数值

在数分钟内,在负载计算中查找实时性能指标的时长,最大为 1 个。

`lss_range_for_cg = `

字符串值

为一致性组保留 LSS。

lvm_conf_file = /etc/cinder/lvm.conf

字符串值

在 Cinder 中使用 LVM 驱动程序的 LVM conf 文件;如果指定的文件不存在,则忽略此设置(您也可以指定 None,即使存在 conf 文件也不存在)。

lvm_mirrors = 0

整数值

如果 >0,创建具有多个镜像的 LV。请注意,这需要 lvm_mirrors + 2 PV 带有可用空间

lvm_share_target = False

布尔值

是否为所有 LUN 共享同一目标(当前只支持 nvmet 支持)。

lvm_suppress_fd_warnings = False

布尔值

抑制 LVM 命令中泄漏文件描述符警告。

lvm_type = auto

字符串值

要部署的 LVM 卷类型 ; (默认、精简或 auto)。如果支持 thin,则 auto 默认为 thin。

macrosan_client = None

列出值

Macrosan iscsi_clients 列表.您可以配置多个客户端。您可以使用以下格式配置它:(host; client_name; sp1_iscsi_port; sp2_iscsi_port),(host; client_name; sp1_iscsi_port; sp2_iscsi_port)重要警告,Client_name 有以下要求: [a-zA-Z0-9.-__], 最大字符数为 31 E.g: (controller1; device1; eth-1:0; eth-2:0),(controller2; device2; eth-1:0/eth-1:1; eth-2:0/eth-2:1),

macrosan_client_default = None

字符串值

这是 iscsi 的默认连接端口的名称。当没有获取主机相关的信息时,会使用此默认配置:eth-1:0/eth-1:0/eth-1:1; eth-2:0/eth-2:1

macrosan_fc_keep_mapped_ports = True

布尔值

如果是 FC 连接,则会维护与端口关联的配置项。

macrosan_fc_use_sp_port_nr = 1

整数值

在交换机非传递模式下建立 FC 连接时,use_sp_port_nr 参数是单一内存使用的在线 FC 端口数量。最大值为 4

macrosan_force_unmap_itl = True

布尔值

在删除卷时强制断开连接

macrosan_log_timing = True

布尔值

是否启用日志时间

macrosan_pool = None

字符串值

用于卷创建的池

macrosan_replication_destination_ports = None

列出值

从设备

macrosan_replication_ipaddrs = None

列出值

MacroSAN 复制设备的 IP 地址

macrosan_replication_password = None

字符串值

MacroSAN 复制设备的密码

macrosan_replication_username = None

字符串值

MacroSAN 复制设备的用户名

macrosan_sdas_ipaddrs = None

列出值

MacroSAN sdas 设备的 IP 地址

macrosan_sdas_password = None

字符串值

MacroSAN sdas 设备的密码

macrosan_sdas_username = None

字符串值

MacroSAN sdas 设备的用户名

macrosan_snapshot_resource_ratio = 1.0

浮点值

设置快照的资源比率

macrosan_thin_lun_extent_size = 8

整数值

设置 thin lun 的扩展大小

macrosan_thin_lun_high_watermark = 20

整数值

设置 thin lun 的高水位线

macrosan_thin_lun_low_watermark = 5

整数值

设置 thin lun 的低水位线

`management_ips = `

字符串值

管理 IP 地址列表(用逗号分开)

max_luns_per_storage_group = 255

整数值

存储组中 LUN 的默认最大数目。默认情况下,值为 255。

max_over_subscription_ratio = 20.0

字符串值

启用精简配置时,超额订阅比率的表示。默认比率为 20.0,这意味着置备的容量可以是总物理容量的 20 倍。如果比例是 10.5,这表示置备的容量可以是总物理容量的 10.5 倍。1.0 的比率表示调配的容量不能超过总物理容量。如果比率为 auto,Cinder 将根据调配的容量和已用空间自动计算比率。如果没有设置 auto,则比率必须至少为 1.0。

metro_domain_name = None

字符串值

远程满足设备域名。

metro_san_address = None

字符串值

远程满足设备请求 url。

metro_san_password = None

字符串值

远程满足设备 san 密码。

metro_san_user = None

字符串值

远程满足设备 san 用户。

metro_storage_pools = None

字符串值

远程满足设备池名称。

`nas_host = `

字符串值

NAS 系统的 IP 地址或主机名。

nas_login = admin

字符串值

连接到 NAS 系统的用户名。

nas_mount_options = None

字符串值

用于挂载存储 Cinder 卷的存储后端文件系统的选项。

`nas_password = `

字符串值

连接到 NAS 系统的密码。

`nas_private_key = `

字符串值

用于 SSH 验证的私钥的文件名。

nas_secure_file_operations = auto

字符串值

允许网络附加存储系统在不允许 root 级别访问的安全环境中运行。如果设置为 False,则访问为 root 用户且不安全。如果设置为 True,则访问不是 root 用户。如果设置为 auto,则会进行检查来确定是否是新安装:如果使用 True,否则为 False。默认为 auto。

nas_secure_file_permissions = auto

字符串值

对网络附加存储卷文件设置更安全的文件权限,以限制其他/全局访问。如果设置为 False,则使用打开权限创建卷。如果设置为 True,则使用 cinder 用户和组(660)的权限来创建卷。如果设置为 auto,则会进行检查来确定是否是新安装:如果使用 True,否则为 False。默认为 auto。

`nas_share_path = `

字符串值

用于存储 Cinder 卷的共享的路径。例如:"/srv/export1"用于位于 10.0.5.10:/srv/export1 的 NFS 服务器导出。

nas_ssh_port = 22

端口值

用于连接到 NAS 系统的 SSH 端口。

nas_volume_prov_type = thin

字符串值

创建卷时使用的调配类型。

naviseccli_path = None

字符串值

Naviseccli 路径.

nec_v_async_copy_check_interval = 10

整数值

在复制对删除或数据恢复过程中检查异步复制状态的时间间隔(以秒为单位)。

nec_v_compute_target_ports = []

列出值

用于将卷附加到计算节点的存储端口 ID。要指定多个端口,请使用逗号(如 CL1-A、CL2-A)进行连接。

nec_v_copy_check_interval = 3

整数值

在卷副本期间检查复制状态的时间间隔(以秒为单位)。

nec_v_copy_speed = 3

整数值

存储系统复制速度.1 或 2 表示低速度,3 表示中速度,4 到 15 之间的值表示高速度。

nec_v_discard_zero_page = True

布尔值

启用或禁用 DP-VOL 中的零页面回收。

nec_v_exec_retry_interval = 5

整数值

REST API 执行重试间隔(以秒为单位)。

nec_v_extend_timeout = 600

整数值

卷扩展完成的最大等待时间(以秒为单位)。

nec_v_group_create = False

布尔值

如果为 True,则驱动程序将在存储端口上创建主机组或 iSCSI 目标。

nec_v_group_delete = False

布尔值

如果为 True,则驱动程序将根据需要在存储端口上删除主机组或 iSCSI 目标。

nec_v_host_mode_options = []

列出值

主机组或 iSCSI 目标的主机模式选项

nec_v_ldev_range = None

字符串值

LDEV 编号格式的范围,格式为 xxxx-yyyy,可供驱动程序使用。值可以是十进制格式(如 1000),或以冒号分隔的十六进制格式(如 00:03:E8)。

nec_v_lock_timeout = 7200

整数值

要解锁存储的最大等待时间(以秒为单位)。

nec_v_lun_retry_interval = 1

整数值

添加 LUN 的 REST API 重试间隔(以秒为单位)。

nec_v_lun_timeout = 50

整数值

添加 LUN 完成的最大等待时间(以秒为单位)。

nec_v_pools = []

列出值

池号[s]或 DP 池的池名称[s]

nec_v_rest_another_ldev_mapped_retry_timeout = 600

整数值

当新的 LUN 分配请求失败时,重试时间(以秒为单位)。

nec_v_rest_connect_timeout = 30

整数值

完成 REST API 连接的最大等待时间(以秒为单位)。

nec_v_rest_disable_io_wait = True

布尔值

可能需要过些时间,在 I/O 后分离卷。此选项将允许分离卷立即完成。

nec_v_rest_get_api_response_timeout = 1800

整数值

针对 REST API 的 GET 方法的响应的最大等待时间(以秒为单位)。

nec_v_rest_job_api_response_timeout = 1800

整数值

来自 REST API 的响应的最大等待时间(以秒为单位)。

nec_v_rest_keep_session_loop_interval = 180

整数值

保留 REST API 会话的循环间隔(以秒为单位)。

nec_v_rest_server_busy_timeout = 7200

整数值

REST API 返回忙碌时的最大等待时间(以秒为单位)。

nec_v_rest_tcp_keepalive = True

布尔值

启用或禁用 REST API tcp keepalive 的使用

nec_v_rest_tcp_keepcnt = 4

整数值

TCP keepalive 数据包的最大传输数。

nec_v_rest_tcp_keepidle = 60

整数值

发送第一个 TCP keepalive 数据包的时间(以秒为单位)。

nec_v_rest_tcp_keepintvl = 15

整数值

TCP keepalive 数据包的传输间隔(以秒为单位)。

nec_v_rest_timeout = 30

整数值

完成 REST API 执行的最大等待时间(以秒为单位)。

nec_v_restore_timeout = 86400

整数值

恢复操作完成的最大等待时间(以秒为单位)。

nec_v_snap_pool = None

字符串值

快照池的池号或池名称。

nec_v_state_transition_timeout = 900

整数值

卷转换完成的最大等待时间(以秒为单位)。

nec_v_storage_id = None

字符串值

存储系统的产品号。

nec_v_target_ports = []

列出值

用于将卷附加到控制器节点的存储端口 ID。要指定多个端口,请使用逗号(如 CL1-A、CL2-A)进行连接。

nec_v_zoning_request = False

布尔值

如果为 True,则驱动程序将在服务器与启用了 FC zoning 管理器的存储系统之间配置 FC zoning。

netapp_api_trace_pattern = (.*)

字符串值

用于限制 API 追踪的正则表达式。只有在使用 trace_flags 选项启用 api 追踪时,才会满足这个选项。默认情况下,所有 API 都会被追踪。

netapp_copyoffload_tool_path = None

字符串值

这个选项指定 NetApp copy offload 工具二进制的路径。确保二进制文件设置了执行权限,以允许 cinder-volume 进程的有效用户执行该文件。

netapp_host_type = None

字符串值

此选项为可以访问 LUN 的所有发起方定义操作系统类型。将 LUN 映射到单个主机或主机组时,会使用此信息。

netapp_login = None

字符串值

用于访问存储系统或代理服务器的管理用户帐户名称。

netapp_lun_ostype = None

字符串值

此选项定义将访问从 Data ONTAP 导出的 LUN 的操作系统类型;它在创建时分配给 LUN。

netapp_lun_space_reservation = enabled

字符串值

这个选项决定是否为 LUN 分配保留存储空间。如果启用,则置备 LUN。如果禁用了空间保留,则按需分配存储空间。

netapp_nfs_image_cache_cleanup_interval = 600

整数值

设置 NFS 镜像缓存清理任务之间的时间(以秒为单位)。

netapp_password = None

字符串值

netapp_login 选项中指定的管理用户帐户的密码。

netapp_pool_name_search_pattern = (.+)

字符串值

此选项用于限制置备到指定的池。将此选项的值指定为正则表达式,它将应用于代表 Cinder 中池的存储后端名称。只有在存储协议配置为使用 iSCSI 或 FC 时,才使用这个选项。

netapp_replication_aggregate_map = None

字典值

多选择字典,在使用整个后端复制时代表源和目标后端之间的聚合映射。对于与 cinder 池关联的每个源聚合(NetApp FlexVol/FlexGroup),您需要在复制目标设备上指定目标聚合。使用配置选项 replication_device 配置复制目标设备。如有复制设备,多次指定这个选项。每个条目都采用标准的字典配置表单:netapp_replication_aggregate_map = backend_id:<name_of_replication_device_section>,src_aggr_name1:dest_aggr_name1,src_aggr_name2:dest_aggr_name2,…​

netapp_replication_volume_online_timeout = 360

整数值

设置等待复制卷创建完成并上线的时间(以秒为单位)。

netapp_server_hostname = None

字符串值

存储系统或代理服务器的主机名(或 IP 地址)。

netapp_server_port = None

整数值

用于与存储系统或代理服务器通信的 TCP 端口。如果没有指定,Data ONTAP 驱动程序将为 HTTP 和 443 为 HTTPS 使用 80。

netapp_size_multiplier = 1.2

浮点值

要乘以请求的卷大小,以确保虚拟存储服务器(Vserver)上有足够的空间来满足卷创建请求。注: 这个选项已弃用,并将在 Mitaka 发行版本中删除 "reserved_percentage"。

netapp_snapmirror_quiesce_timeout = 3600

整数值

在故障转移期间中止前,等待现有 SnapMirror 传输完成的最长时间(以秒为单位)。

netapp_storage_family = ontap_cluster

字符串值

存储系统中使用的存储系列类型;唯一有效的值为 ontap_cluster,用于集群数据 ONTAP。

netapp_storage_protocol = None

字符串值

在存储系统的数据路径中使用的存储协议。

netapp_transport_type = http

字符串值

与存储系统或代理服务器通信时使用的传输协议。

netapp_vserver = None

字符串值

此选项指定存储集群上应发生块存储卷的虚拟存储服务器(Vserver)名称。

nexenta_blocksize = 4096

整数值

数据集的块大小

nexenta_chunksize = 32768

整数值

NexentaEdge iSCSI LUN 对象块大小

`nexenta_client_address = `

字符串值

非 VIP 服务的 NexentaEdge iSCSI 网关客户端地址

nexenta_dataset_compression = on

字符串值

新 ZFS 文件夹的压缩值。

nexenta_dataset_dedup = off

字符串值

新 ZFS 文件夹的重复数据删除值。

`nexenta_dataset_description = `

字符串值

文件夹人类可读的描述。

nexenta_encryption = False

布尔值

定义 NexentaEdge iSCSI LUN 对象是否启用了加密。

`nexenta_folder = `

字符串值

cinder 创建的数据集所在的文件夹。

nexenta_group_snapshot_template = group-snapshot-%s

字符串值

生成组快照名称的模板字符串

`nexenta_host = `

字符串值

NexentaStor 设备的 IP 地址

nexenta_host_group_prefix = cinder

字符串值

NexentaStor 上 iSCSI 主机组的前缀

nexenta_iops_limit = 0

整数值

NexentaEdge iSCSI LUN 对象 IOPS 限制

`nexenta_iscsi_service = `

字符串值

NexentaEdge iSCSI 服务名称

nexenta_iscsi_target_host_group = all

字符串值

允许访问卷的主机组

`nexenta_iscsi_target_portal_groups = `

字符串值

NexentaStor 目标门户组

nexenta_iscsi_target_portal_port = 3260

整数值

nexenta 设备 iSCSI 目标端口

`nexenta_iscsi_target_portals = `

字符串值

用于 NexentaStor5 的以逗号分隔的门户列表,格式为 IP1:port1,IP2:port2。port 是可选的,default=3260。实例:10.10.10.1:3267,10.10.1.2

nexenta_lu_writebackcache_disabled = False

布尔值

对后备存储或未进行后写入

`nexenta_lun_container = `

字符串值

LUN 的 NexentaEdge 逻辑路径

nexenta_luns_per_target = 100

整数值

每个 iSCSI 目标的 LUN 数量

nexenta_mount_point_base = $state_path/mnt

字符串值

包含 NFS 共享挂载点的基础目录

nexenta_nbd_symlinks_dir = /dev/disk/by-path

字符串值

NexentaEdge 逻辑路径,用于存储到 NBD 的符号链接

nexenta_nms_cache_volroot = True

布尔值

如果设置 True cache NexentaStor 设备 volroot 选项值。

nexenta_ns5_blocksize = 32

整数值

数据集的块大小

nexenta_origin_snapshot_template = origin-snapshot-%s

字符串值

生成克隆的原始名称的模板字符串

nexenta_password = nexenta

字符串值

连接到 NexentaStor 管理 REST API 服务器的密码

nexenta_qcow2_volumes = False

布尔值

创建卷作为 QCOW2 文件,而不是 raw 文件

nexenta_replication_count = 3

整数值

NexentaEdge iSCSI LUN 对象复制计数。

`nexenta_rest_address = `

字符串值

NexentaStor 管理 REST API 端点的 IP 地址

nexenta_rest_backoff_factor = 0.5

浮点值

指定在尝试 NexentaStor 管理 REST API 服务器的连接尝试之间应用的 backoff 因素

nexenta_rest_connect_timeout = 30

浮点值

指定连接 NexentaStor 管理 REST API 服务器的时间限制(以秒为单位)

nexenta_rest_password = nexenta

字符串值

连接到 NexentaEdge 的密码。

nexenta_rest_port = 0

整数值

用于连接到 NexentaStor 管理 REST API 服务器的 HTTP (S)端口。如果它等于零,则使用 HTTPS 的 8443 和 8080 用于 HTTP

nexenta_rest_protocol = auto

字符串值

使用 http 或 https 进行 NexentaStor 管理 REST API 连接(默认 auto)

nexenta_rest_read_timeout = 300

浮点值

指定 NexentaStor 管理 REST API 服务器必须发送响应的时间限制(以秒为单位)

nexenta_rest_retry_count = 3

整数值

指定在连接错误和 NexentaStor 设备 EBUSY 或 ENOENT 错误时重复 NexentaStor 管理 REST API 调用的次数

nexenta_rest_user = admin

字符串值

连接到 NexentaEdge 的用户名。

nexenta_rrmgr_compression = 0

整数值

启用流压缩,1.9 级 - 提供最佳速度;9 - 提供最佳压缩。

nexenta_rrmgr_connections = 2

整数值

TCP 连接数。

nexenta_rrmgr_tcp_buf_size = 4096

整数值

KiloBytes 中的 TCP 缓冲大小。

nexenta_shares_config = /etc/cinder/nfs_shares

字符串值

带有可用 nfs 共享列表的文件

nexenta_sparse = False

布尔值

启用或禁用稀疏数据集的创建

nexenta_sparsed_volumes = True

布尔值

启用或禁用将卷创建为没有空间的稀疏文件。如果禁用(False),则卷作为常规文件创建,这需要很长时间。

nexenta_target_group_prefix = cinder

字符串值

NexentaStor 上 iSCSI 目标组的前缀

nexenta_target_prefix = iqn.1986-03.com.sun:02:cinder

字符串值

NexentaStor iSCSI 目标的 IQN 前缀

nexenta_use_https = True

布尔值

对 NexentaStor 管理 REST API 连接使用 HTTP 安全协议

nexenta_user = admin

字符串值

用于连接到 NexentaStor 管理 REST API 服务器的用户名

nexenta_volume = cinder

字符串值

包含所有卷的 NexentaStor 池名称

nexenta_volume_group = iscsi

字符串值

NexentaStor5 iSCSI 的卷组

nfs_mount_attempts = 3

整数值

在引发错误前尝试挂载 NFS 共享的数量。无论指定的值如何,至少会尝试挂载 NFS 共享。

nfs_mount_options = None

字符串值

传递给 NFS 客户端的挂载选项。详情请查看 NFS (5)手册页。

nfs_mount_point_base = $state_path/mnt

字符串值

包含 NFS 共享的挂载点的基本目录。

nfs_qcow2_volumes = False

布尔值

创建卷作为 QCOW2 文件,而不是 raw 文件。

nfs_shares_config = /etc/cinder/nfs_shares

字符串值

包含可用 NFS 共享列表的文件。

nfs_snapshot_support = False

布尔值

启用 NFS 驱动程序中的快照支持。使用 libvirt <1.2.7 的平台将遇到此功能的问题。

nfs_sparsed_volumes = True

布尔值

作为没有空间的稀疏文件创建卷。如果设置为 False 卷,则作为常规文件创建。在这种情况下,卷创建需要很多时间。

nimble_pool_name = default

字符串值

nimble Controller 池名称

nimble_subnet_label = *

字符串值

nimble 子网标签

nimble_verify_cert_path = None

字符串值

Nimble Array SSL 证书的路径

nimble_verify_certificate = False

布尔值

是否验证 Nimble SSL 证书

num_iser_scan_tries = 3

整数值

重新扫描 iSER 目标来查找卷的次数上限

num_shell_tries = 3

整数值

尝试运行 flakey shell 命令的次数

num_volume_device_scan_tries = 3

整数值

重新扫描目标查找卷的次数上限

nvmeof_conn_info_version = 1

整数值

NVMe os-brick 连接器有 2 个不同的连接信息格式,这允许一些使用原始格式(版本 1)的 NVMe-oF 驱动程序(如 spdk 和 LVM-nvmet)发送较新的格式。

nvmet_ns_id = 10

整数值

在不共享目标时,LVM 卷的子系统的命名空间 ID。在 Linux 中为 share.Maximum supported 的值为 8192 时的最小 id 值

nvmet_port_id = 1

端口值

当没有共享目标时,NVMe 目标端口定义的 id。共享时的起始端口 id 值,每个次 IP 地址递增。

port_group_load_metric = PercentBusy

字符串值

用于端口组负载计算的指标。

port_load_metric = PercentBusy

字符串值

用于端口负载计算的指标。

powerflex_allow_migration_during_rebuild = False

布尔值

在重建过程中允许卷迁移。

powerflex_allow_non_padded_volumes = False

布尔值

当禁用零 padding时,允许在存储池中创建卷。如果多个租户将使用来自共享存储池的卷,则不应启用此选项。

powerflex_max_over_subscription_ratio = 10.0

浮点值

驱动程序的 max_over_subscription_ratio 设置。允许的最大值为 10.0。

powerflex_rest_server_port = 443

端口值

Gateway REST 服务器端口。

powerflex_round_volume_capacity = True

布尔值

将卷大小舍入到 8GB 边界。powerflex/VxFlex OS 要求以 8GB 的倍数进行卷大小。如果设置为 False,则当卷的大小不正确时,卷创建会失败

powerflex_server_api_version = None

字符串值

powerflex/ScaleIO API 版本.这个值应保留为默认值,除非技术支持另有指示。

powerflex_storage_pools = None

字符串值

存储池.用于提供卷的存储池的以逗号分隔的列表。每个池都应指定为 protection_domain_name:storage_pool_name 值

powerflex_unmap_volume_before_deletion = False

布尔值

在删除前取消 map 卷。

powermax_array = None

字符串值

要连接的数组的序列号。

powermax_array_tag_list = None

列出值

为存储阵列分配的用户名称列表。

powermax_port_group_name_template = portGroupName

字符串值

为端口组名称定义的用户覆盖。

powermax_port_groups = None

列出值

包含在服务器连接之前配置前端端口的端口组列表。

powermax_service_level = None

字符串值

用于置备存储的服务级别。把它设置为 pool_name 中的额外规格。

powermax_short_host_name_template = shortHostName

字符串值

为短主机名定义用户覆盖。

powermax_srp = None

字符串值

用于置备的阵列上的存储资源池。

powerstore_appliances = []

列出值

设备名称。用于置备卷的 PowerStore 设备名称的逗号分隔列表。弃用自: Wallaby

*reason:*Is 不再使用。PowerStore Load Balancer 用于置备卷。

powerstore_ports = []

列出值

允许的端口。以逗号分隔的 PowerStore iSCSI IP 或 FC WWN 列表(例如58:CC:f0:98:49:22:07:02)。如果没有设置选项,则允许所有端口。

proxy = cinder.volume.drivers.ibm.ibm_storage.proxy.IBMStorageProxy

字符串值

连接到 IBM Storage Array 的代理驱动程序

pure_api_token = None

字符串值

REST API 身份验证令牌。

pure_automatic_max_oversubscription_ratio = True

布尔值

根据当前的总数据减少值自动决定超额订阅比率。如果使用了这个计算的值,则会覆盖 max_over_subscription_ratio 配置选项。

pure_eradicate_on_delete = False

布尔值

启用后,所有 Pure 卷、快照和保护组将在 Cinder 中删除时提供。当删除此设置为 True 后,数据将无法被恢复!禁用后,卷和快照将进入待处理的扩展状态,并可恢复。

pure_host_personality = None

字符串值

决定 Purity 系统如何调整阵列和发起方之间使用的协议。

pure_iscsi_cidr = 0.0.0.0/0

字符串值

允许 FlashArray iSCSI 目标主机的 CIDR 连接。default 将允许连接到任何 IPv4 地址。这个参数现在支持 IPv6 子网。当设置了 pure_iscsi_cidr_list 时忽略。

pure_iscsi_cidr_list = None

列出值

允许以逗号分隔的 FlashArray iSCSI 目标主机的 CIDR 列表进行连接。它支持 IPv4 和 IPv6 子网。这个参数取代 pure_iscsi_cidr。

pure_replica_interval_default = 3600

整数值

快照复制间隔(以秒为单位)。

pure_replica_retention_long_term_default = 7

整数值

在此时间内每天保留快照(以天为单位)

pure_replica_retention_long_term_per_day_default = 3

整数值

保留每天的快照数量。

pure_replica_retention_short_term_default = 14400

整数值

为这个时间保留目标上的所有快照(以秒为单位)。

pure_replication_pg_name = cinder-group

字符串值

纯保护组名称,用于 async 复制(如果不存在,则会创建)。

pure_replication_pod_name = cinder-pod

字符串值

用于同步复制的纯 Pod 名称(如果不存在,则会创建)。

pvme_iscsi_ips = []

列出值

以逗号分隔的目标 iSCSI IP 地址列表。

pvme_pool_name = A

字符串值

创建卷的池或 Vdisk 名称。

qnap_management_url = None

URI 值

管理 QNAP 存储的 URL。驱动程序不支持 URL 中的 IPv6 地址。

qnap_poolname = None

字符串值

QNAP 存储中的池名称

qnap_storage_protocol = iscsi

字符串值

用于访问 QNAP 存储的通信协议

quobyte_client_cfg = None

字符串值

到 Quobyte 客户端配置文件的路径。

quobyte_mount_point_base = $state_path/mnt

字符串值

包含 Quobyte 卷的挂载点的基本目录。

quobyte_overlay_volumes = False

布尔值

通过创建覆盖文件而不是完整副本,从 volume_from_snapshot_cache 创建新卷。这会加快从这个缓存创建卷的速度。此功能需要将 quobyte_qcow2_volumes 和 quobyte_volume_from_snapshot_cache 选项设为 True。如果其中之一设置为 False,则忽略这个选项。

quobyte_qcow2_volumes = True

布尔值

创建卷作为 QCOW2 文件,而不是 raw 文件。

quobyte_sparsed_volumes = True

布尔值

作为没有空间的稀疏文件创建卷。如果设置为 False,则卷将创建为常规文件。

quobyte_volume_from_snapshot_cache = False

布尔值

从合并的快照创建一个卷缓存,以加快从单个快照创建多个卷。

quobyte_volume_url = None

字符串值

使用如 DNS SRV 记录(首选)或主机列表(如 quobyte://<DIR host1>, <DIR host2>/<volume name>)的 quobyte URL 到 Quobyte 卷。

rados_connect_timeout = -1

整数值

连接到 ceph 集群时使用的超时值(以秒为单位)。如果值 < 0,则不设置超时,并且使用默认的 librados 值。

rados_connection_interval = 5

整数值

连接重试 Ceph 集群之间的间隔值(以秒为单位)。

rados_connection_retries = 3

整数值

如果连接到 ceph 集群的连接失败,重试次数。

`rbd_ceph_conf = `

字符串值

ceph 配置文件的路径

rbd_cluster_name = ceph

字符串值

ceph 集群的名称

rbd_exclusive_cinder_pool = True

布尔值

如果池与其他用法共享,则设置为 False。在独占使用驱动程序时,不会查询镜像的置备大小,因为它们将与 Cinder 核心代码为 allocated_capacity_gb 计算的值匹配。这可减少 Ceph 集群上的负载以及卷服务。在非专用使用驱动程序上,每个镜像都会查询 Ceph 集群,这是对各个镜像具有独立请求的密集型操作。

rbd_flatten_volume_from_snapshot = False

布尔值

扁平化从快照创建的卷,将依赖项从卷移除到快照

rbd_iscsi_api_debug = False

布尔值

启用客户端请求调试。

`rbd_iscsi_api_password = `

字符串值

rbd_target_api 服务的用户名

`rbd_iscsi_api_url = `

字符串值

rbd_target_api 服务的 url

`rbd_iscsi_api_user = `

字符串值

rbd_target_api 服务的用户名

rbd_iscsi_target_iqn = None

字符串值

iscsi 网关上预配置的 target_iqn。

rbd_max_clone_depth = 5

整数值

扁平化发生前执行的最大嵌套卷克隆数量。设置为 0 以禁用克隆。注意:降低这个值不会影响克隆深度超过新值的现有卷。

rbd_pool = rbd

字符串值

存储 rbd 卷的 RADOS 池

rbd_secret_uuid = None

字符串值

rbd_user 卷的机密的 libvirt uuid

rbd_store_chunk_size = 4

整数值

卷将块化到这个大小的对象(以 MB 为单位)。

rbd_user = None

字符串值

用于访问 rbd 卷的 RADOS 客户端名称 - 仅在使用 cephx 身份验证时设置

remove_empty_host = False

布尔值

当最后一个 LUN 从中分离时,要从其中删除主机。默认情况下,它是 False。

replication_connect_timeout = 5

整数值

连接到 ceph 集群时使用的超时值(以秒为单位)进行降级/升级卷。如果值 < 0,则不设置超时,并且使用默认的 librados 值。

replication_device = None

字典值

多选择字典来代表复制目标设备。这个选项可以在单一配置部分中多次指定,以指定多个复制目标设备。每个条目都采用标准 dict 配置表单: replication_device = target_device_id:<required>,key1:value1,key2:value2…​

report_discard_supported = False

布尔值

报告后端支持丢弃的 Cinder 客户端(也称为 trim/unmap)。这实际上不会直接更改后端或客户端的行为,它只通知它可以使用。

report_dynamic_total_capacity = True

布尔值

为驱动程序设置为 True,以报告总容量作为动态值(使用 + current free),以及 False 来报告静态值(如果未定义,且集群全局大小,则为 False )。

reserved_percentage = 0

整数值

保留后端容量的百分比

retries = 200

整数值

使用这个值指定重试次数。

san_api_port = None

端口值

用于访问 SAN API 的端口

`san_clustername = `

字符串值

用于创建卷的集群名称

`san_ip = `

字符串值

SAN 控制器的 IP 地址

san_is_local = False

布尔值

本地执行命令而不是通过 SSH 执行命令;如果卷服务在 SAN 设备上运行,则使用

san_login = admin

字符串值

SAN 控制器的用户名

`san_password = `

字符串值

SAN 控制器的密码

`san_private_key = `

字符串值

用于 SSH 验证的私钥的文件名

san_ssh_port = 22

端口值

与 SAN 搭配使用的 SSH 端口

san_thin_provision = True

布尔值

对 SAN 卷使用精简配置?

scst_target_driver = iscsi

字符串值

SCST 目标实施可以从多个 SCST 目标驱动程序中选择。

scst_target_iqn_name = None

字符串值

某些 ISCSI 目标具有预定义的目标名称,SCST 目标驱动程序使用此名称。

seagate_iscsi_ips = []

列出值

以逗号分隔的目标 iSCSI IP 地址列表。

seagate_pool_name = A

字符串值

用于创建卷的池或 vdisk 名称。

seagate_pool_type = virtual

字符串值

线性(用于 vdisk)或虚拟(用于虚拟池)。

`secondary_san_ip = `

字符串值

二级 DSM 控制器的 IP 地址

secondary_san_login = Admin

字符串值

二级 DSM 用户名

`secondary_san_password = `

字符串值

Secondary DSM 用户密码名称

secondary_sc_api_port = 3033

端口值

二级 Dell API 端口

sf_account_prefix = None

字符串值

使用这个前缀创建 SolidFire 帐户。此处可以使用任何字符串,但字符串 "hostname" 是特殊的,并将使用 cinder 节点主机名(以前的默认行为)创建一个前缀。默认为 NO 前缀。

sf_allow_tenant_qos = False

布尔值

允许租户在创建时指定 QOS

sf_api_port = 443

端口值

SolidFire API 端口。如果设备 api 位于不同端口上的代理后面,则很有用。

sf_api_request_timeout = 30

整数值

设置等待 api 请求完成的时间(以秒为单位)。

sf_cluster_pairing_timeout = 60

整数值

设置等待集群完成对的时间(以秒为单位)。

sf_emulate_512 = True

布尔值

在创建卷时设置 512 字节模拟;

sf_enable_vag = False

布尔值

基于每个租户使用卷组。

sf_provisioning_calc = maxProvisionedSpace

字符串值

更改 SolidFire 报告已用空间和调配计算的方式。如果此参数被设置为 使用Space,则驱动程序将报告 Cinder 精简配置预期的正确值。

sf_svip = None

字符串值

使用指定的默认集群 SVIP 覆盖。这是已实施在其云中的 iSCSI 网络使用 VLAN 的必需或部署。

sf_volume_clone_timeout = 600

整数值

设置等待卷或快照克隆完成的时间(以秒为单位)。

sf_volume_create_timeout = 60

整数值

设置等待创建卷操作完成的时间(以秒为单位)。

sf_volume_pairing_timeout = 3600

整数值

设置等待迁移卷完成对和同步的时间(以秒为单位)。

sf_volume_prefix = UUID-

字符串值

使用这个前缀创建 SolidFire 卷。卷名称是 <sf_volume_prefix><cinder-volume-id> 的形式。默认为使用 UUID- 的前缀。

smbfs_default_volume_format = vhd

字符串值

如果没有指定卷格式,则在创建卷时使用默认格式。

smbfs_mount_point_base = C:\OpenStack\_mnt

字符串值

包含 smbfs 共享的挂载点的基本目录。

smbfs_pool_mappings = {}

字典值

共享位置和池名称之间的映射。如果未指定,则共享名称将用作池名称。示例: //addr/share:pool_name,//addr/share2:pool_name2

smbfs_shares_config = C:\OpenStack\smbfs_shares.txt

字符串值

带有可用 smbfs 共享列表的文件。

spdk_max_queue_depth = 64

整数值

rdma 传输的队列深度。

spdk_rpc_ip = None

字符串值

NVMe 目标远程配置 IP 地址。

spdk_rpc_password = None

字符串值

NVMe 目标远程配置密码。

spdk_rpc_port = 8000

端口值

NVMe 目标远程配置端口。

spdk_rpc_protocol = http

字符串值

与 SPDK RPC 代理一起使用的协议

spdk_rpc_username = None

字符串值

NVMe 目标远程配置用户名。

ssh_conn_timeout = 30

整数值

SSH 连接超时(以秒为单位)

ssh_max_pool_conn = 5

整数值

池中的最大 ssh 连接

ssh_min_pool_conn = 1

整数值

池中的最小 ssh 连接

storage_protocol = iscsi

字符串值

用于在主机和存储后端之间传输数据的协议。

storage_vnx_authentication_type = global

字符串值

VNX 身份验证范围类型。默认情况下,值为 global。

storage_vnx_pool_names = None

列出值

要使用的存储池名称的逗号分隔列表。

storage_vnx_security_file_dir = None

字符串值

包含 VNX 安全文件的目录路径。首先,确保生成了安全文件。

storpool_replication = 3

整数值

默认 StorPool 链复制值。如果没有设置 storpool_template,则在没有指定类型的情况下创建卷时使用。还用于计算统计中报告的 apparent 可用空间。

storpool_template = None

字符串值

没有类型的卷的 StorPool 模板。

storwize_peer_pool = None

字符串值

为 hyperswap 卷指定对等池的名称,对等池必须存在于其他站点。

storwize_portset = None

字符串值

指定要在其中创建主机的端口集的名称。

storwize_preferred_host_site = {}

字典值

指定主机的站点信息。可以指定主机中使用的 WWPN 或多 WWPN。例如:storwize_preferred_host_site=site1:wwpn1,site2:wwpn2&wwpn3 或 storwize_preferred_host_site=site1:iqn1,site2:iqn2

storwize_san_secondary_ip = None

字符串值

如果 san_ip 无效或无法访问,则指定要使用的辅助管理 IP 或主机名。

storwize_svc_allow_tenant_qos = False

布尔值

允许租户在创建时指定 QOS

storwize_svc_flashcopy_rate = 50

整数值

指定创建完整卷副本时要使用的 Storwize FlashCopy 复制率。默认值为 50,有效率为 1-150。

storwize_svc_flashcopy_timeout = 120

整数值

等待 FlashCopy 准备准备的最大秒数。

storwize_svc_iscsi_chap_enabled = True

布尔值

为 iSCSI 连接配置 CHAP 身份验证(默认:启用)

storwize_svc_mirror_pool = None

字符串值

指定存储镜像副本的池的名称。示例:"pool2"

storwize_svc_multihostmap_enabled = True

布尔值

这个选项不再有任何影响。它已被弃用,并将在以后的版本中删除。

storwize_svc_multipath_enabled = False

布尔值

连接至多路径(仅FC;iSCSI 多路径由 Nova 控制)

storwize_svc_retain_aux_volume = False

布尔值

在主存储上删除卷或从镜像(mirror)将主卷从 mirror 移到非镜像时,在辅助存储上启用或禁用ux 卷保留。这个选项对 Spectrum Virtualize Family 有效。

storwize_svc_stretched_cluster_partner = None

字符串值

如果以扩展集群模式运行,请指定存储镜像副本的池名称。例如:"pool2"

storwize_svc_vol_autoexpand = True

布尔值

存储系统的卷的 autoexpand 参数(True/False)

storwize_svc_vol_compression = False

布尔值

卷的存储系统压缩选项

storwize_svc_vol_easytier = True

布尔值

为卷启用 Easy Tier

storwize_svc_vol_grainsize = 256

整数值

卷的存储系统 grain size 参数(8/32/64/128/256)

storwize_svc_vol_iogrp = 0

字符串值

分配卷的 I/O 组。它可以是一个用逗号分开的列表,在这种情况下,驱动程序将根据与 io_group 关联的最少数量选择 io_group。

storwize_svc_vol_nofmtdisk = False

布尔值

指定创建过程中没有格式化的卷。

storwize_svc_vol_rsize = 2

整数值

卷的存储系统空间参数(百分比)

storwize_svc_vol_warning = 0

整数值

卷容量警告的存储系统阈值(百分比)

storwize_svc_volpool_name = ['volpool']

列出值

以逗号分隔的卷存储系统存储池列表。

suppress_requests_ssl_warnings = False

布尔值

禁止请求库 SSL 证书警告。

synology_admin_port = 5000

端口值

Synology 存储的管理端口.

synology_device_id = None

字符串值

启用 OTP 时,用于跳过一个时间密码的设备检查以登录 Synology 存储。

synology_one_time_pass = None

字符串值

如果启用了 OTP,则管理员一次性密码用于登录 Synology 存储。

`synology_password = `

字符串值

用于登录 Synology 存储的管理员密码。

`synology_pool_name = `

字符串值

用于创建 lun 的 Synology 存储上的卷。

synology_ssl_verify = True

布尔值

不要证书验证,或者 $driver_use_ssl 为 True

synology_username = admin

字符串值

Synology 存储管理员.

target_helper = tgtadm

字符串值

要使用的目标用户固定工具。tgtadm 是默认的,对 LIO iSCSI 支持使用 lioadm,对 SCST 目标使用 scstadmin,ietadm for iSCSI Enterprise Target, iscsictl for Chelsio iSCSI Target, nvmet for NVMEoF support, spdk-nvmeof for SPDK NVMe-oF, 或 fake 用于测试。注意:IET 驱动程序已弃用,并将在 V 版本中删除。

target_ip_address = $my_ip

字符串值

iSCSI/NVMEoF 守护进程侦听的 IP 地址

target_port = 3260

端口值

iSCSI/NVMEoF 守护进程侦听的端口

target_prefix = iqn.2010-10.org.openstack:

字符串值

iSCSI/NVMEoF 卷的前缀

target_protocol = iscsi

字符串值

确定使用 tgtadm、lioadm 和 nvmet 目标帮助程序创建的新卷的目标协议。要启用 RDMA,应使用值 "iser" 设置此参数。支持的 iSCSI 协议值为 "iscsi" 和 "iser",如果 nvmet 目标设为 "nvmet_rdma" 或 "nvmet_tcp"。

target_secondary_ip_addresses = []

列出值

iSCSI/NVMEoF 守护进程的辅助 IP 地址列表

thres_avl_size_perc_start = 20

整数值

如果 NFS 共享可用空间的百分比已低于这个选项指定的值,则会清理 NFS 镜像缓存。

thres_avl_size_perc_stop = 60

整数值

当 NFS 共享中的可用空间百分比达到此选项指定的百分比时,驱动程序将停止清除在最后 M 分钟内无法访问的 NFS 镜像缓存中的文件,其中 M 是 expiry_thres_minutes 配置选项的值。

trace_flags = None

列出值

控制将追踪信息写入 DEBUG 日志级别以协助开发人员的选项列表。有效值为 method 和 api。

u4p_failover_autofailback = True

布尔值

如果驱动程序在重新建立成功连接时,应该自动恢复到 Unisphere 的主要实例。

u4p_failover_backoff_factor = 1

整数值

在第二次尝试后尝试之间应用 backoff 因素(大多数错误都会立即通过没有延迟)解决。重试将休眠:{backoff factor} *(2 ^({ number of total retries} - 1)秒。

u4p_failover_retries = 3

整数值

每个连接应尝试的最大重试次数。请注意,这只适用于失败的 DNS 查找、套接字连接和连接超时,而不是数据将其提供给服务器的请求。

u4p_failover_target = None

字典值

Unisphere 故障转移目标信息的字典。

u4p_failover_timeout = 20.0

整数值

在放弃前等待服务器发送数据的时长。

unique_fqdn_network = True

布尔值

我们的专用网络是否在每个启动器上都有唯一的 FQDN。例如,使用 QA 系统的网络通常有多个具有相同 FQDN 的服务器/VM。为 true 时,这将使用 FQDN 在 3PAR 上创建主机条目,当为 false 时,它将使用反向 IQN/WWNN。

unity_io_ports = []

列出值

要使用的 iSCSI 或 FC 端口的逗号分隔列表。每个端口可以是 Unix 式 glob 表达式。

unity_storage_pool_names = []

列出值

要使用的存储池名称的逗号分隔列表。

use_chap_auth = False

布尔值

为目标启用/禁用 CHAP 验证的选项。

use_multipath_for_image_xfer = False

布尔值

是否在 cinder 中附加/分离卷,将卷用于镜像,并将镜像附加到卷传输?需要为每个 backend 部分或 [backend_defaults] 部分配置此参数作为所有后端的通用配置。

vmax_workload = None

字符串值

工作负载,最好将其设置为 pool_name 中的额外 spec。

vmware_adapter_type = lsiLogic

字符串值

用于附加卷的默认适配器类型。

vmware_api_retry_count = 10

整数值

在连接相关问题时,必须重试 VMware vCenter 服务器 API 的次数。

vmware_ca_file = None

字符串值

用于验证 vCenter 服务器证书的 CA 捆绑包文件。

vmware_cluster_name = None

多值

应该创建卷的 vCenter 计算集群的名称。

vmware_connection_pool_size = 10

整数值

http 连接池中的最大连接数。

vmware_datastore_regex = None

字符串值

正则表达式模式,以匹配创建后端卷的数据存储名称。

vmware_enable_volume_stats = False

布尔值

如果为 true,这将启用从后端获取卷统计数据。这会大规模出现潜在的性能问题。当 False 时,驱动程序将不会收集有关后端的 ANY stats。

vmware_host_ip = None

字符串值

用于连接到 VMware vCenter 服务器的 IP 地址。

vmware_host_password = None

字符串值

用于使用 VMware vCenter 服务器进行身份验证的密码。

vmware_host_port = 443

端口值

连接到 VMware vCenter 服务器的端口号。

vmware_host_username = None

字符串值

用于使用 VMware vCenter 服务器进行身份验证的用户名。

vmware_host_version = None

字符串值

指定 VMware vCenter 服务器版本的可选字符串。驱动程序尝试从 VMware vCenter 服务器检索版本。仅在您要覆盖 vCenter 服务器版本时设置此配置。

vmware_image_transfer_timeout_secs = 7200

整数值

Cinder 和 Glance 之间的 VMDK 卷传输超时(以秒为单位)。

vmware_insecure = False

布尔值

如果为 true,则不会验证 vCenter 服务器证书。如果为 false,则使用默认 CA 信任存储进行验证。如果设置了 "vmware_ca_file",则忽略这个选项。

vmware_lazy_create = True

布尔值

如果为 true,则当卷在没有源的情况下时,vCenter 服务器中的后端卷会被创建。当卷被附加时,后端卷会被创建,上传到镜像服务或在备份过程中上传。

vmware_max_objects_retrieval = 100

整数值

每个批处理检索的最大对象数量。查询结果将从服务器批量获取,而不是在一个 shot 中。服务器仍然可以将计数限制为小于配置的值。

vmware_snapshot_format = template

字符串值

vCenter 服务器中的卷快照格式。

vmware_storage_profile = None

多值

要监控的存储配置集的名称。仅在 vmware_enable_volume_stats 为 True 时使用。

vmware_task_poll_interval = 2.0

浮点值

在 VMware vCenter 服务器上轮询远程任务的时间间隔(以秒为单位)。

vmware_tmp_dir = /tmp

字符串值

在卷备份和恢复过程中存储虚拟磁盘的目录。

vmware_volume_folder = Volumes

字符串值

包含 Cinder 卷的 vCenter 清单文件夹的名称。此文件夹将在"OpenStack/<project_folder>"下创建,其中 project_folder 格式为 "Project (<volume_project_id>) "。

vmware_wsdl_location = None

字符串值

可选的 LEVEL 服务 WSDL 位置,如 http://<server>/vimService.wsdl。可选的 over-ride to default location for bug work-arounds。

vnx_async_migrate = True

布尔值

始终在卷克隆期间使用异步迁移,并从快照创建。如配置 doc 所述,syncsync 迁移有一些限制。除了使用元数据,用户可以使用此选项禁用 async 迁移。请注意,当两者都设置时,sync _migrate 会被覆盖这个选项。默认情况下,值为 True。

volume_backend_name = None

字符串值

给定驱动程序实现的后端名称

volume_clear = zero

字符串值

用于擦除旧卷的方法

volume_clear_ionice = None

字符串值

标记用于更改在删除后用于 0 个卷的进程的 i/o 优先级,例如"-c3"只用于闲置优先级。

volume_clear_size = 0

整数值

以 MiB 为单位的大小,在旧卷开始时擦除。1024 MiB at max. 0 swig all

volume_copy_blkio_cgroup_name = cinder-volume-copy

字符串值

用于限制卷副本带宽的 blkio cgroup 名称

volume_copy_bps_limit = 0

整数值

卷副本带宽的上限。0 TOKEN 无限

volume_dd_blocksize = 1M

字符串值

复制/清理卷时使用的默认块大小

volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver

字符串值

用于创建卷的驱动程序

volume_group = cinder-volumes

字符串值

包含导出的卷的 VG 的名称

volumes_dir = $state_path/volumes

字符串值

卷配置文件存储目录

vxflexos_allow_migration_during_rebuild = False

布尔值

重命名为 powerflex_allow_migration_during_rebuild。

vxflexos_allow_non_padded_volumes = False

布尔值

重命名为 powerflex_allow_non_padded_volumes。

vxflexos_max_over_subscription_ratio = 10.0

浮点值

重命名为 powerflex_max_over_subscription_ratio。

vxflexos_rest_server_port = 443

端口值

重命名为 powerflex_rest_server_port。

vxflexos_round_volume_capacity = True

布尔值

重命名为 powerflex_round_volume_capacity。

vxflexos_server_api_version = None

字符串值

重命名为 powerflex_server_api_version。

vxflexos_storage_pools = None

字符串值

重命名为 powerflex_storage_pools。

vxflexos_unmap_volume_before_deletion = False

布尔值

重命名为 powerflex_round_volume_capacity。

vzstorage_default_volume_format = raw

字符串值

如果没有指定卷格式,则在创建卷时使用默认格式。

vzstorage_mount_options = None

列出值

传递给 vzstorage 客户端的挂载选项。详情请查看 pstorage-mount man page 的 部分。

vzstorage_mount_point_base = $state_path/mnt

字符串值

包含 vzstorage 共享的挂载点的基本目录。

vzstorage_shares_config = /etc/cinder/vzstorage_shares

字符串值

带有可用 vzstorage 共享列表的文件。

vzstorage_sparsed_volumes = True

布尔值

使用 raw 格式作为稀疏文件创建卷,而不是常规文件,在这种情况下,卷创建需要大量时间。

vzstorage_used_ratio = 0.95

浮点值

在不向卷目的地分配新卷之前,底层卷的 ACTUAL 使用百分比。

windows_iscsi_lun_path = C:\iSCSIVirtualDisks

字符串值

存储 VHD 支持的卷的路径

xtremio_array_busy_retry_count = 5

整数值

如果数组忙碌,重试次数

xtremio_array_busy_retry_interval = 5

整数值

case array 中的重试间隔忙碌

xtremio_clean_unused_ig = False

布尔值

如果驱动程序在最后一个连接终止后没有卷删除启动器组。由于行为现在是离开 IG,因此我们默认为 False (不会删除未连接卷的 IG),因此,在终止到最后一个卷的连接后,将此参数设置为 True 将删除任何 IG。

`xtremio_cluster_name = `

字符串值

多集群环境中的 XMS 集群 id

xtremio_ports = []

列出值

允许的端口。XtremIO iSCSI IP 或 FC WWN (例如.58:CC:f0:98:49:22:07:02)。如果没有设置选项,则允许所有端口。

xtremio_volumes_per_glance_cache = 100

整数值

从每个缓存的 glance 镜像创建的卷数

zadara_access_key = None

字符串值

VPSA 访问密钥

zadara_default_snap_policy = False

布尔值

VPSA - 为卷附加快照策略。如果选项既未配置或作为元数据提供,则 VPSA 将继承默认值。

zadara_gen3_vol_compress = False

布尔值

VPSA - 为卷启用压缩。如果选项既未配置或作为元数据提供,则 VPSA 将继承默认值。

zadara_gen3_vol_dedupe = False

布尔值

VPSA - 为卷启用重复数据删除。如果选项既未配置或作为元数据提供,则 VPSA 将继承默认值。

zadara_ssl_cert_verify = True

布尔值

如果设置为 True,http 客户端将验证 VPSA 端点的 SSL 证书。

zadara_vol_encrypt = False

布尔值

VPSA - 卷的默认加密策略。如果选项既未配置或作为元数据提供,则 VPSA 将继承默认值。

zadara_vpsa_host = None

主机地址值

VPSA - 管理主机名或 IP 地址

zadara_vpsa_poolname = None

字符串值

VPSA - 为卷分配的存储池

zadara_vpsa_port = None

端口值

VPSA - 端口号

zadara_vpsa_use_ssl = False

布尔值

VPSA - 使用 SSL 连接

2.1.4. barbican

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

Expand
表 2.3. barbican
配置选项 = 默认值类型Description

auth_endpoint = http://localhost/identity/v3

字符串值

使用此端点连接到 Keystone

barbican_api_version = None

字符串值

Barbican API 的版本,例如:"v1"

barbican_endpoint = None

字符串值

使用此端点连接到 Barbican,例如:"http://localhost:9311/"

barbican_endpoint_type = public

字符串值

指定端点的类型。允许的值有:public、private 和 admin

number_of_retries = 60

整数值

重试轮询创建密钥完成的次数

retry_delay = 1

整数值

重试轮询创建密钥完成前等待的秒数

verify_ssl = True

布尔值

指定是否不安全的 TLS (https)请求。如果为 False,则不会验证服务器证书(如果 True),我们可以同时设置 verify_ssl_path 配置。

verify_ssl_path = None

字符串值

要针对的捆绑包或 CA 证书检查的路径,或 None 用于尝试查找并使用 verify_ssh 为 True 的证书。如果 verify_ssl 是 False,这会被忽略。

2.1.5. brcd_fabric_example

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

Expand
表 2.4. brcd_fabric_example
配置选项 = 默认值类型Description

`fc_fabric_address = `

字符串值

Fabric 管理 IP。

`fc_fabric_password = `

字符串值

用户的密码。

fc_fabric_port = 22

端口值

连接端口

`fc_fabric_ssh_cert_path = `

字符串值

本地 SSH 证书路径。

`fc_fabric_user = `

字符串值

fabric 用户 ID。

fc_southbound_protocol = REST_HTTP

字符串值

fabric 的南绑定连接器。

fc_virtual_fabric_id = None

字符串值

虚拟 Fabric ID。

zone_activate = True

布尔值

覆盖 zoning 激活状态。

zone_name_prefix = openstack

字符串值

覆盖的区域名称前缀。

zoning_policy = initiator-target

字符串值

覆盖 zoning 策略。

2.1.6. cisco_fabric_example

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

Expand
表 2.5. cisco_fabric_example
配置选项 = 默认值类型Description

`cisco_fc_fabric_address = `

字符串值

fabric 的管理 IP

`cisco_fc_fabric_password = `

字符串值

用户的密码

cisco_fc_fabric_port = 22

端口值

连接端口

`cisco_fc_fabric_user = `

字符串值

Fabric 用户 ID

cisco_zone_activate = True

布尔值

覆盖 zoning 激活状态

cisco_zone_name_prefix = None

字符串值

覆盖区名称前缀

cisco_zoning_policy = initiator-target

字符串值

覆盖 zoning 策略

cisco_zoning_vsan = None

字符串值

Fabric 的 VSAN

2.1.7. 协调

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

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

backend_url = file://$state_path

字符串值

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

2.1.8. CORS

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

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

allow_credentials = True

布尔值

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

allow_headers = ['X-Auth-Token', 'X-Identity-Status', 'X-Roles', 'X-Service-Catalog', 'X-User-Id', 'X-Tenant-Id', 'X-OpenStack-Request-ID', 'X-Trace-Info', 'X-Trace-HMAC', 'OpenStack-API-Version']

列出值

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

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

列出值

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

allowed_origin = None

列出值

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

expose_headers = ['X-Auth-Token', 'X-Subject-Token', 'X-Service-Token', 'X-OpenStack-Request-ID', 'OpenStack-API-Version']

列出值

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

max_age = 3600

整数值

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

2.1.9. database

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

Expand
表 2.8. 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

布尔值

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

2.1.10. fc-zone-manager

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

Expand
表 2.9. fc-zone-manager
配置选项 = 默认值类型Description

brcd_sb_connector = HTTP

字符串值

用于 zoning 操作的南绑定连接器

cisco_sb_connector = cinder.zonemanager.drivers.cisco.cisco_fc_zone_client_cli.CiscoFCZoneClientCLI

字符串值

zoning 操作的南向连接器

enable_unsupported_driver = False

布尔值

当您要允许不支持的区域管理器驱动程序启动时,将此设置为 True。没有维护正常工作的 CI 系统和测试的驱动程序被标记为不被支持,直到 CI 再次工作为止。这也会将驱动程序标记为已弃用,并可能在以后的版本中删除。

fc_fabric_names = None

字符串值

以逗号分隔的光纤通道光纤名称列表。此名称列表用于检索连接到每个 SAN 光纤的其他 SAN 凭据

fc_san_lookup_service = cinder.zonemanager.drivers.brocade.brcd_fc_san_lookup_service.BrcdFCSanLookupService

字符串值

FC SAN 查找服务

zone_driver = cinder.zonemanager.drivers.brocade.brcd_fc_zone_driver.BrcdFCZoneDriver

字符串值

负责区域管理的 FC 区域驱动程序

zoning_policy = initiator-target

字符串值

zoning 策略由用户配置;有效值包括"initiator-target"或"initiator"

2.1.11. healthcheck

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

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

backends = []

列出值

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

detailed = False

布尔值

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

disable_by_file_path = None

字符串值

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

disable_by_file_paths = []

列出值

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

path = /healthcheck

字符串值

响应 healtcheck 请求的路径。

2.1.12. key_manager

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

Expand
表 2.11. key_manager
配置选项 = 默认值类型Description

auth_type = None

字符串值

要创建的身份验证凭证类型。可能的值有 token密码keystone_tokenkeystone_password。如果没有将上下文传递给凭证工厂,则需要此项。

auth_url = None

字符串值

使用此端点连接到 Keystone。

backend = barbican

字符串值

指定密钥管理器实现。选项为 "barbican" 和 "vault"。默认为 "barbican"。将支持之前使用 [key_manager]/api_class 设置的值。

domain_id = None

字符串值

域范围的域 ID。keystone_tokenkeystone_password auth_type 的可选选项。

domain_name = None

字符串值

域范围的域名。keystone_tokenkeystone_password auth_type 的可选选项。

fixed_key = None

字符串值

修复了密钥管理器返回的密钥,在 hex 中指定

password = None

字符串值

用于身份验证的密码。passwordkeystone_password auth_type 是必需的。

project_domain_id = None

字符串值

项目的域 ID。keystone_tokenkeystone_password auth_type 的可选选项。

project_domain_name = None

字符串值

项目的域名。keystone_tokenkeystone_password auth_type 的可选选项。

project_id = None

字符串值

项目范围的项目 ID。keystone_tokenkeystone_password auth_type 的可选选项。

project_name = None

字符串值

项目范围的项目名称。keystone_tokenkeystone_password auth_type 的可选选项。

reauthenticate = True

布尔值

如果当前令牌即将过期,允许获取新令牌。keystone_tokenkeystone_password auth_type 的可选选项。

token = None

字符串值

用于身份验证的令牌。如果没有将上下文传递给凭证工厂,tokenkeystone_token auth_type 需要。

trust_id = None

字符串值

信任范围的信任 ID。keystone_tokenkeystone_password auth_type 的可选选项。

user_domain_id = None

字符串值

用于身份验证的用户域 ID。keystone_tokenkeystone_password auth_type 的可选选项。

user_domain_name = None

字符串值

用于身份验证的用户域名。keystone_tokenkeystone_password auth_type 的可选选项。

user_id = None

字符串值

用于身份验证的用户 ID。keystone_tokenkeystone_password auth_type 的可选选项。

username = None

字符串值

用于身份验证的用户名。密码 auth_type 是必需的。keystone_password auth_type 的可选选项。

2.1.13. keystone_authtoken

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

Expand
表 2.12. 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 = False

布尔值

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

2.1.14. nova

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

Expand
表 2.13. nova
配置选项 = 默认值类型Description

auth_section = None

字符串值

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

auth_type = None

字符串值

要载入的身份验证类型

cafile = None

字符串值

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

certFile = None

字符串值

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

collect-timing = False

布尔值

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

insecure = False

布尔值

验证 HTTPS 连接。

interface = public

字符串值

要使用的 nova 端点的类型。此端点将在 keystone 目录中查找,应该是公共、内部或管理员之一。

keyfile = None

字符串值

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

region_name = None

字符串值

要使用的 nova 区域的名称。如果 keystone 管理多个区域,则很有用。

split-loggers = False

布尔值

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

timeout = None

整数值

http 请求的超时值

token_auth_url = None

字符串值

使用当前用户令牌时 nova 连接的身份验证 URL

2.1.15. oslo_concurrency

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

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

disable_process_locking = False

布尔值

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

lock_path = None

字符串值

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

2.1.16. oslo_messaging_amqp

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

Expand
表 2.15. 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 服务器时,附加到地址前缀中。由消息总线用来识别发送到单个目的地的消息。

2.1.17. oslo_messaging_kafka

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

Expand
表 2.16. 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 = `

字符串值

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

2.1.18. oslo_messaging_notifications

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

Expand
表 2.17. 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 的同一配置。

2.1.19. oslo_messaging_rabbit

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

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

amqp_auto_delete = False

布尔值

AMQP 中的自动删除队列。

amqp_durable_queues = False

布尔值

在 AMQP 中使用持久队列。

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_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_key_file = `

字符串值

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

`ssl_version = `

字符串值

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

2.1.20. oslo_middleware

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

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

enable_proxy_headers_parsing = False

布尔值

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

max_request_body_size = 114688

整数值

每个请求的最大正文大小,以字节为单位。

secure_proxy_ssl_header = X-Forwarded-Proto

字符串值

用于确定原始请求协议方案的 HTTP 标头,即使它已被 SSL 终止代理隐藏。

2.1.21. oslo_policy

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

Expand
表 2.20. 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.yaml

字符串值

文件相对或绝对路径,用于将角色映射到给定服务的权限。必须根据配置文件设置此选项指定相对路径。

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 策略检查的服务器身份验证

2.1.22. oslo_reports

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

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

file_event_handler = None

字符串值

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

file_event_handler_interval = 1

整数值

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

log_dir = None

字符串值

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

2.1.23. oslo_versionedobjects

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

Expand
表 2.22. oslo_versionedobjects
配置选项 = 默认值类型Description

fatal_exception_format_errors = False

布尔值

使异常消息格式错误致命

2.1.24. privsep

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

Expand
表 2.23. privsep
配置选项 = 默认值类型Description

capabilities = []

列出值

privsep 守护进程保留的 Linux 功能列表。

group = None

字符串值

privsep 守护进程应运行的组。

helper_command = None

字符串值

如果不使用"fork"方法,则调用用于启动 privsep 守护进程的命令。如果没有指定,则使用 "sudo privsep-helper" 和参数生成默认值,旨在重新创建当前配置。此命令必须接受合适的 --privsep_context 和 --privsep_sock_path 参数。

logger_name = oslo_privsep.daemon

字符串值

用于此 privsep 上下文的日志记录器名称。默认情况下,所有使用 oslo_privsep.daemon 的上下文日志。

thread_pool_size = <based on operating system>

整数值

可用于并发运行进程的线程数量。默认为系统中的 CPU 内核数。

user = None

字符串值

privsep 守护进程应以.

2.1.25. profiler

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

Expand
表 2.24. 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 查询。

2.1.26. sample_castellan_source

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

Expand
表 2.25. sample_castellan_source
配置选项 = 默认值类型Description

config_file = None

字符串值

castellan 配置文件的路径。

driver = None

字符串值

可以加载此配置源的驱动程序名称。

mapping_file = None

字符串值

configuration/castellan_id 映射文件的路径。

2.1.27. sample_remote_file_source

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

Expand
表 2.26. sample_remote_file_source
配置选项 = 默认值类型Description

ca_path = None

字符串值

到带有可信 CA 证书的 CA_BUNDLE 文件或目录的路径。

client_cert = None

字符串值

客户端证书,作为包含证书或私钥和证书的单个文件路径。

client_key = None

字符串值

指定 client_cert 时客户端私钥,但不包括私钥。

driver = None

字符串值

可以加载此配置源的驱动程序名称。

uri = None

URI 值

所需选项,以及额外配置文件位置的 URI。

2.1.28. service_user

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

Expand
表 2.27. service_user
配置选项 = 默认值类型Description

auth-url = None

字符串值

身份验证 URL

cafile = None

字符串值

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

certFile = None

字符串值

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

collect-timing = False

布尔值

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

domain-id = None

字符串值

域 ID 范围

domain-name = None

字符串值

域名范围为

insecure = False

布尔值

验证 HTTPS 连接。

keyfile = None

字符串值

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

password = None

字符串值

用户密码

project-domain-id = None

字符串值

包含项目的域 ID

project-domain-name = None

字符串值

包含项目的域名

project-id = None

字符串值

项目 ID 到范围

project-name = None

字符串值

项目名称到范围

send_service_user_token = False

布尔值

为 True 时,如果向 REST API 发送用户令牌,也会发送服务令牌。

split-loggers = False

布尔值

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

system-scope = None

字符串值

系统操作范围

timeout = None

整数值

http 请求的超时值

trust-id = None

字符串值

信任 ID

user-domain-id = None

字符串值

用户的域 ID

user-domain-name = None

字符串值

用户的域名

user-id = None

字符串值

用户 ID

username = None

字符串值

用户名

2.1.29. ssl

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

Expand
表 2.28. 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。

2.1.30. Vault

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

Expand
表 2.29. Vault
配置选项 = 默认值类型Description

approle_role_id = None

字符串值

Approle role_id 用于使用 vault 进行身份验证

approle_secret_id = None

字符串值

Approle secret_id 用于使用 vault 进行身份验证

kv_mountpoint = secret

字符串值

Vault 中要使用的 KV 存储的挂载点,例如:secret

kv_version = 2

整数值

要使用的 Vault 中的 KV 存储版本,例如:2

root_token_id = None

字符串值

vault 的 root 令牌

ssl_ca_crt_file = None

字符串值

ca 证书文件的绝对路径

use_ssl = False

布尔值

SSL Enabled/Disabled

vault_url = http://127.0.0.1:8200

字符串值

使用此端点连接到 Vault,例如:"http://127.0.0.1:8200"

第 3 章 Glance

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

3.1. glance-api.conf

本节包含 /etc/glance/glance-api.conf 文件的选项。

3.1.1. DEFAULT

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

.

Expand
配置选项 = 默认值类型Description

allow_additional_image_properties = True

布尔值

允许用户向镜像添加额外的/自定义属性。

Glance 定义一组标准的属性(在其架构中),它们出现在每个镜像上。这些属性也称为基本属性。除了这些属性外,Glance 还允许用户添加自定义属性到镜像。它们称为 其他属性

默认情况下,此配置选项设置为 True,用户可以添加额外的属性。可添加到镜像的额外属性数量可以通过 image_property_quota 配置选项来控制。

可能的值:

  • True
  • False

相关选项:

  • image_property_quota

弃用自:U ssuri

原因: 此选项冗余。通过 image_property_quota 配置选项控制自定义镜像属性使用。这个选项计划在 Victoria 开发周期中删除。

allow_anonymous_access = False

布尔值

允许对未经身份验证的用户进行有限访问。

分配一个布尔值,以确定未传输用户的 API 访问权限。当设置为 False 时,未经身份验证的用户可以访问 API。当设置为 True 时,未经身份验证的用户可以访问具有只读权限的 API。但是,只有在使用 ContextMiddleware 时才适用。

可能的值:

  • True
  • False

相关选项:

  • None

api_limit_max = 1000

整数值

请求可返回的最大结果数。

limit_param_default 的帮助文本中所述,一些请求可能会返回多个结果。要返回的结果数量由请求中的 limit 参数或 limit_param_default 配置选项管理。在这两种情况下,的值都不能大于此配置选项定义的绝对最大值。大于这个值的任何内容都会舍入到此处定义的最大值。

注意

把它设置为非常大的值可能会减慢数据库查询并增加响应时间。把它设置为非常低的值可能会导致用户体验不佳。

可能的值:

  • 任何正整数

相关选项:

  • limit_param_default

backlog = 4096

整数值

设置传入连接请求的数量。

提供正整数值来限制积压队列中的请求数。默认队列大小为 4096。

在与服务器建立连接前,会排队到 TCP 侦听器套接字的传入连接。为 TCP 套接字设置积压可确保传入流量的有限队列大小。

可能的值:

  • 正整数

相关选项:

  • None

bind_host = 0.0.0.0

主机地址值

将 glance 服务器绑定到的 IP 地址。

提供将 glance 服务器绑定到的 IP 地址。默认值为 0.0.0.0

编辑这个选项,使服务器能够侦听网卡中的一个特定的 IP 地址。这有助于为服务器选择特定的网络接口。

可能的值:

  • 有效的 IPv4 地址
  • 有效的 IPv6 地址

相关选项:

  • None

bind_port = None

端口值

服务器将侦听的端口号。

提供将服务器套接字绑定到的有效端口号。然后,此端口设置为识别进程并转发到达服务器的网络数据包。API 服务器的默认 bind_port 值为 9292,registry 服务器的默认 bind_port 值为 9191。

可能的值:

  • 有效端口号(0 到 65535)

相关选项:

  • None

client_socket_timeout = 900

整数值

客户端连接套接字操作的超时。

提供有效的整数值,代表在进入连接关闭前等待的时间(以秒为单位)。默认值为 900 秒。

值为零表示等待。

可能的值:

  • 正整数

相关选项:

  • None

conn_pool_min_size = 2

整数值

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

conn_pool_ttl = 1200

整数值

池中闲置连接的生存时间

control_exchange = openstack

字符串值

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

debug = False

布尔值

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

default_log_levels = ['amqp=WARN', 'amqplib=WARN', 'boto=WARN', 'qpid=WARN', 'sqlalchemy=WARN', 'suds=INFO', 'oslo.messaging=INFO', 'oslo_messaging=INFO', 'iso8601=WARN', 'requests.packages.urllib3.connectionpool=WARN', 'urllib3.connectionpool=WARN', 'websocket=WARN', 'requests.packages.urllib3.util.retry=WARN', 'urllib3.util.retry=WARN', 'keystonemiddleware=WARN', 'routes.middleware=WARN', 'stevedore=WARN', 'taskflow=WARN', 'keystoneauth=WARN', 'oslo.cache=INFO', 'oslo_policy=INFO', 'dogpile.core.dogpile=INFO']

列出值

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

default_publisher_id = image.localhost

字符串值

用于传出 Glance 通知的默认 publisher_id。

这是通知驱动程序将用于识别源自 Glance 服务的事件的消息的值。通常,这是生成消息的实例的主机名。

可能的值:

  • 任何合理的实例标识符,例如:image.host1

相关选项:

  • None

delayed_delete = False

布尔值

打开/关闭延迟删除。

通常,当镜像被删除时,glance-api 服务会将镜像置于 已删除 状态,并同时删除其数据。延迟删除是 Glance 中的一项功能,可延迟实际删除镜像数据直到后续时间(根据配置选项 scrub_time决定)。打开延迟删除时,glance-api 服务会在删除时将镜像放入 pending_delete 状态,并将镜像数据保留在存储后端中,以便稍后删除。在成功删除镜像数据时,镜像清理 网络会将镜像移至已删除 状态。

注意

打开延迟删除时,镜像清理网络 MUST 将作为定期运行,以防止后端存储使用不必要的使用量。

可能的值:

  • True
  • False

相关选项:

  • scrub_time
  • wakeup_time
  • scrub_pool_size

digest_algorithm = sha256

字符串值

用于数字签名的摘要算法。

提供字符串值,代表用于生成数字签名的摘要算法。默认情况下使用 sha256

要获取平台上 OpenSSL 版本支持的可用算法列表,请运行命令: openssl list-message-digest-algorithms。示例是 sha1sha256sha512

注意

digest_algorithm 与 Glance 的镜像签名和验证无关。它仅用于将通用唯一标识符(UUID)作为证书文件验证的一部分签名。

可能的值:

  • OpenSSL 消息摘要算法标识符

关系选项:

  • None

disabled_notifications = []

列出值

要禁用的通知列表。

指定不应发出的通知列表。可将通知类型指定为禁用单个事件通知,或者作为通知组前缀,以禁用组内的所有事件通知。

可能的值:要禁用的独立通知类型或通知组的逗号分隔列表。目前支持的组:

  • image
  • image.member
  • task
  • metadef_namespace
  • metadef_object
  • metadef_property
  • metadef_resource_type
  • metadef_tag

    For a complete listing and description of each event refer to:
    http://docs.openstack.org/developer/glance/notifications.html
    The values must be specified as: <group_name>.<event_name>
    For example: image.create,task.success,metadef_tag

相关选项:

  • None

enabled_backends = None

字典值

Key:Value 对存储标识符和存储类型。如果有多个后端,则应使用逗号分隔。

enabled_import_methods = ['glance-direct', 'web-download', 'copy-image']

列出值

启用的镜像导入方法列表

'glance-direct', 'copy-image' and 'web-download' are enabled by default.
    Related options:
** [DEFAULT]/node_staging_uri

enforce_secure_rbac = False

布尔值

根据 OpenStack 中使用的常见用户角色定义强制实施 API 访问。启用此选项会规范特定于项目的读/写操作,如创建私有镜像或更新 成员 角色后共享镜像的状态。它还对特定于项目的 API 操作(如在项目中列出私有镜像)的只读变体被正式化(位于 reader 角色后面)。

Operator 应该有机会了解 glance 的新镜像策略,在其部署中进行审计分配,并使用 keystone 中的默认角色(如 admin成员reader)更新权限。

相关选项:

  • [oslo_policy]/enforce_new_defaults

弃用自: Wallaby

原因: 引入此选项的目的是要求操作员根据常见的 RBAC 用户角色选择强制实施授权,即 Wallaby 发行版的 EXPERIMENTAL。这个行为是将来的发行版本中的默认和 STABLE,允许删除这个选项。

executor_thread_pool_size = 64

整数值

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

fatal_deprecations = False

布尔值

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

hashing_algorithm = sha512

字符串值

用于计算 os_hash_value 属性的安全哈希算法。

此选项配置 Glance"multihash",它由两个镜像属性组成: os_hash_algoos_hash_valueos_hash_algo 将由此配置选项的值填充,在算法应用到上传或导入的镜像数据时,os_hash_value 将由 hexdigest 填充。

该值必须是由 python hashlib 库识别的有效安全哈希算法名称。您可以通过检查 Glance 安装中使用的库版本的 hashlib.algorithms_available 数据成员来确定它们。然而,为了实现互操作性,我们建议您使用由 hashlib.algorithms_guaranteed 数据成员提供的安全散列名称集,因为所有平台上的 hashlib 库都可以保证支持这些算法。因此,在本地使用 hashlib 的任何镜像使用者都应该能够验证镜像的 os_hash_value

sha512 的默认值是一个性能安全哈希算法。

如果此选项配置错误,则任何存储镜像数据的尝试都将失败。因此,我们建议使用默认值。

可能的值:

  • Python hashlib 库识别的任何安全哈希算法名称

相关选项:

  • None

http_keepalive = True

布尔值

为 HTTP over TCP 设置 keep alive 选项。

提供布尔值来确定保留数据包的发送。如果设置为 False,服务器会返回标头 "Connection: close"。如果设置为 True,服务器在其响应中返回一个"Connection: Keep-Alive"。这可为 HTTP 对话保留相同的 TCP 连接,而不是为每个新请求打开新连接。

如果需要在收到响应后明确关闭客户端套接字连接,并且客户端成功读取,则必须将此选项设置为 False

可能的值:

  • True
  • False

相关选项:

  • None

image_cache_dir = None

字符串值

镜像缓存的基础目录。

这是缓存镜像数据并从其中提供的位置。所有缓存的镜像都直接存储在此目录下。此目录还包含三个子目录,即 不完整无效 和队列

incomplete 子目录是下载镜像的暂存区域。镜像首先下载到此目录。镜像下载成功后,它会被移到基础目录中。但是,如果下载失败,部分下载的镜像文件将移到 无效的 子目录中。

queue 的子目录用于排队镜像以进行下载。这主要由 cache-prefetcher 使用,它可以作为定期任务(如 cache-pruner 和 cache-cleaner)来缓存其使用前的镜像。在收到缓存镜像的请求时,Glance 将镜像 id 作为文件名位于 'queue 目录中。在运行时,cache-prefetcher 会轮询 队列 目录中的文件,并根据创建的顺序开始下载它们。下载成功后,将从 队列 目录中删除零大小文件。如果下载失败,零大小的文件将保留,它会在下次缓存前运行。

可能的值:

  • 有效路径

相关选项:

  • image_cache_sqlite_db

image_cache_driver = sqlite

字符串值

用于镜像缓存管理的驱动程序。

此配置选项提供在不同的镜像缓存驱动程序之间选择的灵活性。镜像缓存驱动程序负责提供镜像缓存的基本功能,如从缓存中写入/读取镜像、跟踪缓存时间和使用缓存的镜像、提供缓存镜像列表、获取缓存的大小、用于缓存和清理缓存等。

驱动程序的基本功能在基础类 glance.image_cache.drivers.base.Driver 中定义。所有 image-cache 驱动程序(存在和潜在)必须实施此接口。目前可用的驱动程序是 sqlitexattr。这些驱动程序主要有所不同,它们存储有关缓存的镜像的信息:

  • sqlite 驱动程序使用 sqlite 数据库(位于本地每个 glance 节点上)来跟踪缓存镜像的使用。
  • xattr 驱动程序使用文件的扩展属性来存储此信息。它还需要一个文件系统,以便在 访问时 对文件设置时间。

可能的值:

  • SQLite
  • xattr

相关选项:

  • None

image_cache_max_size = 10737418240

整数值

缓存大小上限(以字节为单位),这会清理镜像缓存。

注意

这只是要操作的 cache-pruner 的阈值。它不是镜像缓存永远不会增长的硬限制。实际上,根据 cache-pruner 运行的频率以及缓存填充的速度,镜像缓存可能会超过此处指定的大小。因此,必须小心地调度 cache-pruner 并设置这个限制。

Glance 在下载镜像时缓存镜像。因此,当下载数量增加时,镜像缓存的大小会随时间增长。要让缓存大小变得无法管理,建议作为定期任务运行 cache-pruner。当缓存修剪器启动时,它会比较当前镜像缓存的大小,并在镜像缓存增长超过此处指定的大小时触发清理。清理后,缓存的大小应小于或等于此处指定的大小。

可能的值:

  • 任何非负整数

相关选项:

  • None

image_cache_sqlite_db = cache.db

字符串值

用于镜像缓存管理的 sqlite 文件的相对路径。

这是对 sqlite 文件数据库的相对路径,用于跟踪镜像缓存的年龄和用量统计。该路径相对于镜像缓存基础目录,由配置选项 image_cache_dir 指定。

这是仅包含一个表的轻量级数据库。

可能的值:

  • sqlite 文件数据库的有效相对路径

相关选项:

  • image_cache_dir

image_cache_stall_time = 86400

整数值

不完整的镜像保留在缓存中的时间(以秒为单位)。

不完整的镜像是下载正在进行的镜像。详情请查看配置选项 image_cache_dir 描述。有时,由于各种原因,下载可能会挂起,并不完整下载的镜像保留在 不完整的 目录中。此配置选项针对不完整的镜像在清理前应保留在 不完整的 时间内设置一个时间限制。当不完整的镜像花费的时间超过此处指定的时间后,将在下次运行时通过 cache-cleaner 删除。

建议您在 Glance API 节点上运行 cache-cleaner 作为定期任务,以便从占用磁盘空间时保留不完整的镜像。

可能的值:

  • 任何非负整数

相关选项:

  • None

image_location_quota = 10

整数值

镜像允许的最大位置数。

任何负值都解释为无限。

相关选项:

  • None

image_member_quota = 128

整数值

每个镜像的最大镜像成员数量。

这限制了镜像可以被共享的最大用户。任何负值都解释为无限。

相关选项:

  • None

image_property_quota = 128

整数值

镜像允许的最大属性数。

这对镜像可以具有的额外属性数量强制实施上限。任何负值都解释为无限。

注意

如果禁用附加属性,则这不会影响。请参阅 allow_additional_image_properties

相关选项:

  • allow_additional_image_properties

image_size_cap = 1099511627776

整数值

用户可以上传的镜像的最大大小(以字节为单位)。

镜像上传大于此处提到的大小,会导致镜像创建失败。此配置选项默认为 1099511627776 字节(1 TiB)。

备注:

  • 这个值只有在仔细考虑后才会增加,且必须设置小于或等于 8 EiB (9223372036854775808)。
  • 此值必须在仔细考虑后端存储容量时设置。把它设置为非常低的值可能会导致大量镜像失败。另外,将其设置为非常大的值可能会导致存储更快地消耗。因此,这必须根据所创建和存储容量的性质来设置。

可能的值:

  • 任何小于或等于 9223372036854775808 的正数

image_tag_quota = 128

整数值

镜像上允许的最大标签数。

任何负值都解释为无限。

相关选项:

  • None

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

字符串值

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

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

字符串值

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

limit_param_default = 25

整数值

返回请求的默认结果数。

对某些 API 请求(如列表镜像)的响应可能会返回多个项目。通过在 API 请求中指定 limit 参数,可以明确控制返回的结果数量。但是,如果没有指定 limit 参数,此配置值将用作任何 API 请求返回的默认结果数。

备注:

  • 此配置选项的值可能不大于 api_limit_max 指定的值。
  • 把它设置为非常大的值可能会减慢数据库查询并增加响应时间。把它设置为非常低的值可能会导致用户体验不佳。

可能的值:

  • 任何正整数

相关选项:

  • api_limit_max

location_strategy = location_order

字符串值

确定镜像位置首选项顺序的策略。

此配置选项指示决定镜像位置必须访问为镜像数据提供顺序的策略。然后,Glance 从此列表中找到的第一个响应活跃位置检索镜像数据。

这个选项使用两个可能的值 location_orderstore_type 之一。默认值为 location_order,这表示镜像数据由使用位置按它们存储在 Glance 中的顺序提供。store_type 值根据存储后端列出为配置选项 store_type_preference 的顺序设置镜像位置首选项。

可能的值:

  • location_order
  • store_type

相关选项:

  • store_type_preference

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_header_line = 16384

整数值

消息标头的最大行大小。

提供一个整数值,代表一个长度来限制消息标头的大小。默认值为 16384。

注意

使用大型令牌时,可能需要增加 max_header_line (通常是由 Keystone v3 API 使用大型服务目录生成的)。但是,要记住,max_header_line 的更大值会大量日志。

max_header_line 设置为 0,为消息标头的行大小设置没有限制。

可能的值:

  • 0
  • 正整数

相关选项:

  • None

max_logfile_count = 30

整数值

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

max_logfile_size_mb = 200

整数值

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

max_request_id_length = 64

整数值

限制请求 ID 长度。

提供一个整数值,将请求 ID 的长度限制为指定长度。默认值为 64。用户可以将其改为 0 到 16384 之间的任意 ineteger 值,但要注意,较大的值可能会造成日志。

可能的值:

  • 0 到 16384 之间的整数值

相关选项:

  • None

metadata_encryption_key = None

字符串值

用于加密存储位置元数据的 AES 密钥。

提供代表用于加密 Glance 存储元数据的 AES 密码的字符串值。

注意

要使用的 AES 密钥必须设置为长度为 16、24 或 32 字节的随机字符串。

可能的值:

  • 代表有效 AES 键的字符串值

相关选项:

  • None

node_staging_uri = file:///tmp/staging/

字符串值

URL 提供存储临时数据的位置

此选项仅供 Glance 内部使用。Glance 将在镜像导入过程中将用户上传的镜像数据保存到 暂存 端点。

此选项不会以任何方式更改 暂存 API 端点。

注意

不建议使用与 [task]/work_dir 相同的路径

注意

file://<absolute-directory-path > 是唯一支持 api_image_import 流的选项。

注意

暂存路径必须位于所有 Glance API 节点可用的共享文件系统上。

可能的值:

  • file:// 开头加绝对 FS 路径的字符串

相关选项:

  • [task]/work_dir

property_protection_file = None

字符串值

属性保护文件的位置。

为属性保护文件提供有效的路径,其中包含属性保护规则以及与其关联的 roles/policies。

属性保护文件 (当设置)限制由角色或策略标识的一组特定用户创建、读取、更新和/或删除 Glance 镜像属性。如果没有设置此配置选项,则默认不会强制实施属性保护。如果指定了值并且未找到文件,则 glance-api 服务将无法启动。有关属性保护的更多信息,请访问 :https://docs.openstack.org/glance/latest/admin/property-protections.html

可能的值:

  • 空字符串
  • 属性保护配置文件的有效路径

相关选项:

  • property_protection_rule_format

property_protection_rule_format = roles

字符串值

属性保护的规则格式。

提供设置 Glance 镜像属性属性保护所需的方法。两个允许的值为 角色和策略 。默认值为 roles

如果值为 roles,则属性保护文件必须包含以逗号分隔的用户角色列表,指示要保护的每个属性上的每个 CRUD 操作的权限。如果设置为 policies,则使用 policy.yaml 中定义的策略来表达每个 CRUD 操作的属性保护。根据 角色或 策略实施 属性保护的示例,请访问 :https://docs.openstack.org/glance/latest/admin/property-protections.html#examples

可能的值:

  • roles
  • policies

相关选项:

  • property_protection_file

public_endpoint = None

字符串值

用于 Glance 版本响应的公共 url 端点。

这是显示在 Glance"版本"响应中的公共 url 端点。如果没有指定值,则版本响应中显示的端点是运行 API 服务的主机。如果 API 服务在代理后面运行,请将端点更改为代表代理 URL。如果服务在负载均衡器后面运行,请为这个值添加负载均衡器的 URL。

可能的值:

  • None
  • 代理 URL
  • 负载均衡器 URL

相关选项:

  • None

publish_errors = False

布尔值

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

pydev_worker_debug_host = None

主机地址值

pydev 服务器的主机地址。

提供字符串值,代表用于调试的 pydev 服务器的主机名或 IP。pydev 服务器侦听此地址上的调试连接,有助于在 Glance 中进行远程调试。

可能的值:

  • 有效主机名
  • 有效的 IP 地址

相关选项:

  • None

pydev_worker_debug_port = 5678

端口值

pydev 服务器将侦听的端口号。

提供将 pydev 服务器绑定到的端口号。pydev 进程接受此端口上的调试连接,并在 Glance 中实现远程调试。

可能的值:

  • 有效端口号

相关选项:

  • None

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

整数值

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

rpc_conn_pool_size = 30

整数值

RPC 连接池的大小。

rpc_ping_enabled = False

布尔值

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

rpc_response_timeout = 60

整数值

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

scrub_pool_size = 1

整数值

用于清理镜像的线程池大小。

当需要清理大量镜像时,清理镜像会有助于并行清理镜像,以便清理队列可以保持控制,并且后端存储会及时回收。此配置选项表示并行清理的最大镜像数。默认值为 one,它表示串行清理。上述任何值都表示并行清理。

可能的值:

  • 任何非零正整数

相关选项:

  • delayed_delete

scrub_time = 0

整数值

延迟镜像清理的时间(以秒为单位)。

打开延迟删除后,镜像会在删除时放入 pending_delete 状态,直到清理网络删除其镜像数据。通常,在镜像放入 pending_delete 状态后,镜像可以被清理。但是,清理过程可能会延迟到之后使用这个配置选项。此选项表示镜像在可用于清理前处于 pending_delete 状态的时间段。

这一点很重要,这对存储有影响。scrub_time 越大,从已删除的镜像回收后端存储的时间越长。

可能的值:

  • 任何非负整数

相关选项:

  • delayed_delete

secure_proxy_ssl_header = None

字符串值

用于确定原始请求的方案的 HTTP 标头,即使它已被 SSL 终止代理删除。典型的值为 "HTTP_X_FORWARDED_PROTO"。

show_image_direct_url = False

布尔值

在返回镜像时显示直接镜像位置。

此配置选项指示在将镜像详情返回给用户时是否显示直接镜像位置。直接镜像位置是镜像数据存储在后端存储中。此镜像位置显示在 image 属性 direct_url 下。

当镜像存在多个镜像位置时,会根据配置选项 location_strategy 所示的位置显示最佳位置。

备注:

  • 显示镜像位置可能会显示 GRAVE SECURITY RISK,因为镜像位置有时可以包含凭证。因此,默认设置为 False。把它设置为 True,使用 EXTREME CAUTION,仅限 IF 您知道您的操作!
  • 如果操作员希望避免向用户显示任何镜像位置,则此选项和 show_multiple_locations 必须设为 False

可能的值:

  • True
  • False

相关选项:

  • show_multiple_locations
  • location_strategy

show_multiple_locations = False

布尔值

在返回镜像时显示所有镜像位置。

此配置选项指示在将镜像详细信息返回给用户时是否显示所有镜像位置。当镜像存在多个镜像位置时,位置会根据配置 opt location_strategy 所指示的位置策略进行排序。镜像位置显示在镜像属性 位置 下。

备注:

  • 显示镜像位置可能会显示 GRAVE SECURITY RISK,因为镜像位置有时可以包含凭证。因此,默认设置为 False。把它设置为 True,使用 EXTREME CAUTION,仅限 IF 您知道您的操作!
  • 如需更多信息,请参阅 https://wiki.openstack.org/wiki/OSSN/OSSN-0065
  • 如果操作员希望避免向用户显示任何镜像位置,则此选项和 show_image_direct_url 必须设为 False

可能的值:

  • True
  • False

相关选项:

  • show_image_direct_url
  • location_strategy

弃用自: Newton

*reason:*Use of this option (自 Newton 起已弃用)是一个安全风险,并在我们找出一个满足当前需要它的用例时删除。较早的公告,使用策略可以以更大的粒度来实现相同的功能。您目前无法通过策略配置来临时解决这个选项,但我们认为修复将采取方向。请留意 Glance 发行注记,以继续解决此问题。

syslog-log-facility = LOG_USER

字符串值

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

tcp_keepidle = 600

整数值

在连接重新检查前设置等待时间。

提供一个正整数值,代表时间(以秒为单位),该值设置为空闲等待时间,然后再将 TCP 保留数据包发送到主机。默认值为 600 秒。

设置 tcp_keepidle 有助于定期验证连接是否完好,并防止出现频繁的 TCP 连接重新建立。

可能的值:

  • 代表时间的正整数值(以秒为单位)

相关选项:

  • None

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,则忽略这个选项。

user_storage_quota = 0

字符串值

每个租户的最大镜像存储量。

这对所有存储中的所有租户使用的总存储实施上限。这是按租户的限制。

此配置选项的默认单位是字节。但是,可以使用区分大小写的文字 BKBMBGBTB 指定存储单元,分别代表 Bytes、KiloBytes、MegaBytes 和 TeraBytes。请注意,值和单元之间不应有任何空格。值 0 表示没有配额强制。负值无效,并导致错误。

可能的值:

  • 字符串是代表存储值的非负整数的有效连接,以及代表上述存储单元的可选字符串字面量。

相关选项:

  • None

watch-log-file = False

布尔值

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

worker_self_reference_url = None

字符串值

此 worker 的 URL。

如果设置此项,其他 glance worker 将知道如何直接联系该工作者(如果需要)。对于镜像导入,单个 worker 阶段镜像和其他 worker 需要能够将导入请求代理到右侧。

如果未设置,则这被视为 public_endpoint,这通常会被设置为所有 worker 上的相同值,从而有效地禁用代理行为。

可能的值:

  • 此 worker 可以从其他 worker 访问的 URL

相关选项:

  • public_endpoint

Worker = None

整数值

要启动的 Glance 工作程序进程数量。

提供非负整数值,将子进程 worker 的数量设置为服务请求。默认情况下,可用的 CPU 数量被设置为 worker 的值限制为 8。例如,如果处理器计数为 6,将使用 6 个 worker,如果处理器计数为 24,则使用 8 个 worker。如果配置了 24 个 worker,则使用限制将应用到默认值。

发出每个 worker 进程侦听配置文件中设置的端口,并包含一个大小为 1000 的 greenthread 池。

注意

将 worker 数量设置为零,会触发一个 API 进程,其 greenthread 池大小为 1000。

可能的值:

  • 0
  • 正整数值(通常等于 CPU 数量)

相关选项:

  • None

3.1.2. cinder

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

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

cinder_api_insecure = False

布尔值

允许对 cinder 执行不安全的 SSL 请求。

如果此选项被设置为 True,则使用 cinder_ca_certificates_file 选项指定的 CA 证书文件验证 HTTPS 端点连接。

可能的值:

  • True
  • False

相关选项:

  • cinder_ca_certificates_file

cinder_ca_certificates_file = None

字符串值

用于 cinder 客户端请求的 CA 证书文件的位置。

如果设置,则使用指定的 CA 证书文件通过 HTTPS 端点验证 cinder 连接。如果端点是 HTTP,则忽略这个值。cinder_api_insecure 必须设为 True 才能启用验证。

可能的值:

  • ca 证书文件的路径

相关选项:

  • cinder_api_insecure

cinder_catalog_info = volumev3::publicURL

字符串值

在服务目录中查找 cinder 时要匹配的信息。

如果没有设置 cinder_endpoint_template,并且任何 cinder_store_auth_address, cinder_store_user_name, cinder_store_project_name, cinder_store_password 没有设置,cinder 存储将使用此信息从当前上下文中的服务目录中查找 Cinder 端点。如果设置,则考虑 cinder_os_region_name 来获取适当的端点。

服务目录可以通过 openstack catalog list 命令列出。

可能的值:

  • 应指定以下格式的字符串: < service_type>:<service_name>:<interface > At least service_typeinterfaceservice_name 可以省略。

相关选项:

  • cinder_os_region_name
  • cinder_endpoint_template
  • cinder_store_auth_address
  • cinder_store_user_name
  • cinder_store_project_name
  • cinder_store_password

cinder_endpoint_template = None

字符串值

使用 cinder 端点的模板覆盖服务目录查找。

设置此选项时,会使用这个值来生成 cinder 端点,而不是从服务目录中查找。如果指定了 cinder_store_auth_addresscinder_store_user_namecinder_store_project_namecinder_store_password,则忽略这个值。

如果设置了此配置选项,则忽略 cinder_catalog_info

可能的值:

  • cinder 端点的 URL 模板字符串,其中 %%(tenant) s 替换为当前的租户(项目)名称。例如: http://cinder.openstack.example.org/v2/%%(tenant)s

相关选项:

  • cinder_store_auth_address
  • cinder_store_user_name
  • cinder_store_project_name
  • cinder_store_password
  • cinder_catalog_info

cinder_enforce_multipath = False

布尔值

如果设为 True,则当 multipathd 未运行时,镜像传输的附加卷将中止。否则,它将回退到单一路径。

可能的值:

  • True 或 False

相关选项:

  • cinder_use_multipath

cinder_http_retries = 3

整数值

失败 http 调用的 cinderclient 重试次数。

当调用被任何错误失败时,cinderclient 将在休眠几秒钟后重试调用最多指定时间。

可能的值:

  • 正整数

相关选项:

  • None

cinder_mount_point_base = /var/lib/glance/mnt

字符串值

NFS 卷在 glance 节点上挂载的目录。

可能的值:

  • 代表挂载点的绝对路径的字符串。

cinder_os_region_name = None

字符串值

从服务目录查找 cinder 服务的区域名称。

这仅在使用 cinder_catalog_info 确定端点时使用。如果设置,此节点的 cinder 端点的查找将过滤到指定的区域。当目录中列出多个区域时,这非常有用。如果没有设置,则从每个区域查找端点。

可能的值:

  • 是有效区域名称的字符串。

相关选项:

  • cinder_catalog_info

cinder_state_transition_timeout = 300

整数值

等待 cinder 卷过渡到 complete 的时间(以秒为单位)。

当 cinder 卷创建、删除或附加到 glance 节点以读/写卷数据时,卷的状态将改变。例如,在创建过程完成后,新创建的卷状态会从 creating 变为 available。这指定了等待状态更改的最长时间。如果在等待时发生超时,或者状态更改为意外值(如 错误),则镜像创建会失败。

可能的值:

  • 正整数

相关选项:

  • None

cinder_store_auth_address = None

字符串值

cinder 身份验证服务正在侦听的地址。

当指定所有 cinder_store_auth_addresscinder_store_user_namecinder_store_project_namecinder_store_password 选项时,指定的值始终用于身份验证。这非常有用,通过将镜像卷存储在特定于镜像服务的项目/租户中来隐藏用户。它还允许用户在 glance 的 ACL 控制下的其他项目之间共享镜像卷。

如果没有设置其中任何一个选项,则使用 cinder 端点从服务目录中查找,并使用当前上下文的用户和项目。

可能的值:

  • 有效的身份验证服务地址,例如: http://openstack.example.org/identity/v2.0

相关选项:

  • cinder_store_user_name
  • cinder_store_password
  • cinder_store_project_name

cinder_store_password = None

字符串值

针对 cinder 进行身份验证的用户的密码。

这必须与以下所有相关选项一起使用。如果没有指定,则使用当前上下文的用户。

可能的值:

  • cinder_store_user_name指定的用户的有效密码

相关选项:

  • cinder_store_auth_address
  • cinder_store_user_name
  • cinder_store_project_name

cinder_store_project_name = None

字符串值

镜像卷存储在 cinder 中的项目名称。

如果没有设置此配置选项,则使用当前上下文中的项目。

这必须与以下所有相关选项一起使用。如果没有指定,则使用当前上下文的项目。

可能的值:

  • 有效的项目名称

相关选项:

  • cinder_store_auth_address
  • cinder_store_user_name
  • cinder_store_password

cinder_store_user_name = None

字符串值

要针对 cinder 进行身份验证的用户名。

这必须与以下所有相关选项一起使用。如果没有指定,则使用当前上下文的用户。

可能的值:

  • 有效的用户名

相关选项:

  • cinder_store_auth_address
  • cinder_store_password
  • cinder_store_project_name

cinder_use_multipath = False

布尔值

用于识别 mutipath 的标记在部署中被支持或不支持。

如果不支持多路径,则将其设置为 False。

可能的值:

  • True 或 False

相关选项:

  • cinder_enforce_multipath

cinder_volume_type = None

字符串值

用于在 cinder 中创建卷的卷类型。

有些 Cinder 后端可以有多个卷类型来优化存储使用。添加此选项可让操作员在 Cinder 中选择可为镜像优化的特定卷类型。

如果没有设置,则将使用 cinder 配置中指定的默认卷类型来创建卷。

可能的值:

  • 来自 cinder 的有效卷类型

相关选项:

注意

您不能使用与 NFS 后端关联的加密 volume_type。当 glance_store 尝试写入或访问该卷中存储的镜像数据时,存储在 NFS 后端上的加密卷都会引发异常。请咨询您的 Cinder 管理员来确定适当的 volume_type。

rootwrap_config = /etc/glance/rootwrap.conf

字符串值

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

cinder 存储需要 root 特权才能运行镜像卷(用于连接到 iSCSI/FC 卷并读取/写入卷数据等)。该配置文件应允许 cinder store 和 os-brick 库所需的命令。

可能的值:

  • rootwrap 配置文件的路径

相关选项:

  • None

3.1.3. CORS

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

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

allow_credentials = True

布尔值

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

allow_headers = ['Content-MD5', 'X-Image-Meta-Checksum', 'X-Storage-Token', 'Accept-Encoding', 'X-Auth-Token', 'X-Identity-Status', 'X-Roles', 'X-Service-Catalog', 'X-User-Id', 'X-Tenant-Id', 'X-OpenStack-Request-Request-ID']

列出值

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

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

列出值

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

allowed_origin = None

列出值

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

expose_headers = ['X-Image-Meta-Checksum', 'X-Auth-Token', 'X-Subject-Token', 'X-Service-Token', 'X-OpenStack-Request-ID']

列出值

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

max_age = 3600

整数值

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

3.1.4. database

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

Expand
表 3.3. 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

布尔值

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

use_tpool = False

布尔值

为所有 DB API 调用启用实验性的线程池使用

3.1.5. file

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

Expand
表 3.4. file
配置选项 = 默认值类型Description

filesystem_store_chunk_size = 65536

整数值

块大小,以字节为单位。

读取或写入镜像文件时使用的块大小。增加这个值可能会提高吞吐量,但在处理大量请求时可能会稍微增加内存用量。

可能的值:

  • 任何正整数值

相关选项:

  • None

filesystem_store_datadir = /var/lib/glance/images

字符串值

文件系统后端存储将镜像写入的目录。

启动后,Glance 将创建该目录(如果该目录尚不存在),并验证对其运行 glance-api 的用户的写入访问权限。如果写入访问不可用,则会引发 BadStoreConfiguration 异常,文件系统存储可能无法添加新镜像。

注意

只有在将文件系统存储用作存储后端时才使用此目录。filesystem_store_datadirfilesystem_store_datadirs 选项必须在 glance-api.conf 中指定。如果指定了这两个选项,则会引发 BadStoreConfiguration,文件系统存储可能无法添加新镜像。

可能的值:

  • 到目录的有效路径

相关选项:

  • filesystem_store_datadirs
  • filesystem_store_file_perm

filesystem_store_datadirs = None

多值

文件系统后端存储写入镜像的目录及其优先级列表。

文件系统存储可以配置为将镜像存储在多个目录中,而不是使用由 filesystem_store_datadir 配置选项指定的单个目录。使用多个目录时,可以赋予每个目录一个可选的优先级,以指定应使用它们的优先顺序。priority 是一个与目录路径连接在一起的整数,一个冒号表示更高的优先级。当两个目录具有相同的优先级时,会使用具有最多可用空间的目录。如果没有指定优先级,则默认为零。

有关使用多个存储目录配置文件系统存储的更多信息,请访问 https://docs.openstack.org/glance/latest/configuration/configuring.html

注意

只有在将文件系统存储用作存储后端时才使用此目录。filesystem_store_datadirfilesystem_store_datadirs 选项必须在 glance-api.conf 中指定。如果指定了这两个选项,则会引发 BadStoreConfiguration,文件系统存储可能无法添加新镜像。

可能的值:

  • 以下格式的字符串列表:

    • <a valid directory path>:<optional integer priority>

相关选项:

  • filesystem_store_datadir
  • filesystem_store_file_perm

filesystem_store_file_perm = 0

整数值

镜像文件的文件访问权限。

为镜像数据设置所需的文件访问权限。这提供了启用其他服务(如 Nova)的方法,以直接从文件系统存储使用镜像。运行要授予访问权限的服务的用户可能成为拥有创建文件的组的成员。为这个配置选项分配一个小于或等于 0 的值表示没有对默认权限进行任何更改。这个值将被解码为八进制数字。

如需更多信息,请参阅文档 https://docs.openstack.org/glance/latest/configuration/configuring.html

可能的值:

  • 有效文件访问权限
  • 任何负整数

相关选项:

  • None

filesystem_store_metadata_file = None

字符串值

文件系统存储元数据文件。

到包含与文件系统存储关联的任何位置返回的元数据的路径。设置此选项后,它将仅用于创建之后创建的新映像 - 之前存在的镜像不会受到影响。

该文件必须包含有效的 JSON 对象。该对象应包含键 idmountpoint。这两个键的值应当是字符串。

可能的值:

  • 存储元数据文件的有效路径

相关选项:

filesystem_thin_provisioning = False

布尔值

在此后端中启用或未进行精简配置。

此配置选项启用在文件系统中不实际写入 null 字节序列的功能,显示的漏洞将自动被文件系统解释为 null 字节,且不实际消耗您的存储。除了在后端保存空间外,启用此功能还将加快镜像上传并保存网络遍历,因为不通过网络发送 null 字节序列。

可能的值:

  • True
  • False

相关选项:

  • None

3.1.6. glance.store.http.store

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

Expand
表 3.5. glance.store.http.store
配置选项 = 默认值类型Description

http_proxy_information = {}

字典值

用于连接到远程服务器的 http/https 代理信息。

此配置选项指定应该用来连接到远程服务器的 http/https 代理信息。代理信息应该是 scheme 和 proxy 的键值对,如 http:10.0.0.1:3128。您还可以通过使用逗号分隔键值对来指定多个方案来指定代理,例如 http:10.0.0.1:3128, https:10.0.0.1:1080。

可能的值:

  • 以逗号分隔的 scheme:proxy 对列表,如上所述

相关选项:

  • None

https_ca_certificates_file = None

字符串值

CA 捆绑包文件的路径。

此配置选项可让操作员使用自定义证书颁发机构文件来验证远程服务器证书。如果设置了这个选项,则忽略 https_insecure 选项,并且指定的 CA 文件将用于验证服务器证书并建立与服务器的安全连接。

可能的值:

  • CA 文件的有效路径

相关选项:

  • https_insecure

https_insecure = True

布尔值

设置远程服务器证书验证。

此配置选项取在布尔值中,以确定是否验证远程服务器证书。如果设置为 True,则不会验证远程服务器证书。如果选项设为 False,则使用默认 CA 信任存储进行验证。

如果设置了 https_ca_certificates_file,则忽略这个选项。然后,使用 https_ca_certificates_file 选项指定的文件验证远程服务器证书。

可能的值:

  • True
  • False

相关选项:

  • https_ca_certificates_file

3.1.7. glance.store.rbd.store

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

Expand
表 3.6. glance.store.rbd.store
配置选项 = 默认值类型Description

rados_connect_timeout = 0

整数值

连接到 Ceph 集群的超时值。

此配置选项在连接到 Ceph 集群时使用的超时值(以秒为单位)内设置在关闭连接前等待 glance-api 的时间。这可防止在连接到 RBD 时出现 glance-api 挂起。如果此选项的值设为小于或等于 0,则不设置超时,并且使用默认的 librados 值。

可能的值:

  • 任何整数值

相关选项:

  • None

`rbd_store_ceph_conf = `

字符串值

Ceph 配置文件路径.

此配置选项指定要使用的 Ceph 配置文件的路径。如果用户未设置此选项的值,或者设置为空字符串,librados 将按顺序搜索默认的 Ceph 配置文件位置来读取标准 ceph.conf 文件。详情请参阅 Ceph 文档。

注意

如果使用 Cephx 身份验证,这个文件应该在 client.<USER> 部分中包含对正确的密钥环的引用

注意 2:如果将此选项留空(默认),则使用的实际 Ceph 配置文件可能会根据所使用的 librados 版本而改变。如果您准确了解哪个配置文件生效,您可以使用此选项在此处指定该文件。

可能的值:

  • 配置文件的有效路径

相关选项:

  • rbd_store_user

rbd_store_chunk_size = 8

整数值

将 RADOS 镜像分解到其中的大小(以 MB 为单位)。

提供一个整数值,以 MB 为单位代表 Glance 映像的块。默认块大小为 8MB。为获得最佳性能,该值应该是 2 的指数。

当 Ceph 的 RBD 对象存储系统用作存储 Glance 镜像的存储后端时,镜像将区块化为使用此选项设置的大小对象。然后,这些区块对象存储在分布式块数据存储中,以用于 Glance。

可能的值:

  • 任何正整数值

相关选项:

  • None

rbd_store_pool = images

字符串值

存储镜像的 RADOS 池。

当 RBD 用作存储 Glance 镜像的存储后端时,镜像通过对对象(镜像区块)的逻辑分组存储到 池中。每个池都通过它可以包含的放置组数量来定义。使用的默认池是 images

有关 RBD 存储后端的更多信息,请访问 :http://ceph.com/planet/how-data-is-stored-in-ceph-cluster/

可能的值:

  • 有效的池名称

相关选项:

  • None

rbd_store_user = None

字符串值

要进行身份验证的 RADOS 用户。

此配置选项在 RADOS 用户中进行身份验证。这只在启用 RADOS 身份验证时才需要,且仅在用户使用 Cephx 身份验证时才适用。如果用户未设置此选项的值,或设置为 None,则会选择默认值,它将基于 rbd_store_ceph_conf 中的 client. 部分。

可能的值:

  • 有效的 RADOS 用户

相关选项:

  • rbd_store_ceph_conf

rbd_thin_provisioning = False

布尔值

在此后端中启用或未进行精简配置。

此配置选项启用 RBD 后端上不实际写入 null 字节序列的功能,可能出现的漏洞由 Ceph 自动解释为 null 字节,且不会真正使用您的存储。除了在后端保存空间外,启用此功能还将加快镜像上传并保存网络遍历,因为不通过网络发送 null 字节序列。

可能的值:

  • True
  • False

相关选项:

  • None

3.1.8. glance.store.s3.store

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

Expand
表 3.7. glance.store.s3.store
配置选项 = 默认值类型描述

s3_store_access_key = None

字符串值

S3 查询令牌访问密钥。

此配置选项使用访问密钥来使用 Amazon S3 或 S3 兼容存储服务器进行身份验证。使用 S3 存储后端时需要这个选项。

可能的值:

  • 任何字符串值,这是具有适当权限的用户的访问密钥

相关选项:

  • s3_store_host
  • s3_store_secret_key

s3_store_bucket = None

字符串值

用于存储 Glance 数据的 S3 存储桶。

此配置选项指定 glance 镜像在 S3 中存储的位置。如果 s3_store_create_bucket_on_put 设为 true,它将自动创建,即使存储桶不存在。

可能的值:

  • 任何字符串值

相关选项:

  • s3_store_create_bucket_on_put
  • s3_store_bucket_url_format

s3_store_bucket_url_format = auto

字符串值

用于确定对象的 S3 调用格式。

此配置选项使用访问模型来指定 S3 存储桶中对象地址。

注意:在 路径样式中,对象的端点类似于 https://s3.amazonaws.com/bucket/example.img在虚拟样式中,对象的端点类似于 https://bucket.s3.amazonaws.com/example.img。如果您不遵循存储桶名称中的 DNS 命名约定,您可以以路径样式获取对象,但不能以虚拟样式获取对象。

可能的值:

  • 自动、虚拟path的任何字符串值

相关选项:

  • s3_store_bucket

s3_store_create_bucket_on_put = False

布尔值

确定 S3 是否要创建新 bucket。

此配置选项使用布尔值来指示 Glance 是否应该创建新存储桶到 S3 (如果它不存在)。

可能的值:

  • 任何布尔值

相关选项:

  • None

s3_store_host = None

字符串值

S3 服务器正在侦听的主机。

此配置选项设置 S3 或 S3 兼容存储服务器的主机。使用 S3 存储后端时需要这个选项。主机可以包含 DNS 名称(如 s3.amazonaws.com、my-object-storage.com)或 IP 地址(127.0.0.1)。

可能的值:

  • 有效的 DNS 名称
  • 有效的 IPv4 地址

相关选项:

  • s3_store_access_key
  • s3_store_secret_key

s3_store_large_object_chunk_size = 10

整数值

在上传部分时,多部分上传部分的大小(以 MB 为单位)应该使用 S3。

此配置选项使用镜像分割大小(以 MB 为单位)用于 Multipart Upload。

注: 您只能分割最多 10,000 个镜像。

可能的值:

  • 任何正整数值(必须大于或等于 5M)

相关选项:

  • s3_store_large_object_size
  • s3_store_thread_pools

s3_store_large_object_size = 100

整数值

S3 开始块镜像文件以及在 S3 中进行多部分上传的大小(以 MB 为单位)。

此配置选项使用以 MB 为单位的阈值,以确定是否将镜像上传到 S3,还是按原样分割(多部分上传)。

注: 您只能分割最多 10,000 个镜像。

可能的值:

  • 任何正整数值

相关选项:

  • s3_store_large_object_chunk_size
  • s3_store_thread_pools

s3_store_secret_key = None

字符串值

S3 查询令牌 secret 密钥。

此配置选项使用 secret 密钥与 Amazon S3 或 S3 兼容存储服务器进行身份验证。使用 S3 存储后端时需要这个选项。

可能的值:

  • 任何字符串值,这是与使用 s3_store_host 选项指定的访问密钥对应的 secret 键。

相关选项:

  • s3_store_host
  • s3_store_access_key

s3_store_thread_pools = 10

整数值

在 S3 中执行多部分上传的线程池数量。

此配置选项在执行多部分上传时采用线程池数量。

可能的值:

  • 任何正整数值

相关选项:

  • s3_store_large_object_size
  • s3_store_large_object_chunk_size

3.1.9. glance.store.swift.store

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

Expand
表 3.8. glance.store.swift.store
配置选项 = 默认值类型Description

default_swift_reference = ref1

字符串值

引用默认 Swift 帐户/后端存储参数。

提供字符串值,代表对使用 swift 帐户/后端存储进行镜像存储所需的默认参数集的引用。此配置选项的默认引用值为 ref1。此配置选项会解引用参数,并在每次添加新镜像时方便 Swift 存储后端中的镜像存储。

可能的值:

  • 有效字符串值

相关选项:

  • None

swift_buffer_on_upload = False

布尔值

在上传到 Swift 前缓冲镜像片段。

提供布尔值以指示 Glance 在上传到 swift 时是否应将镜像数据缓冲到磁盘。这可让 Glance 恢复上传到错误。

注意:在启用这个选项时,当启用这个选项时,当这个 API 节点上的磁盘用量增加时,应该非常谨慎。请注意,根据文件系统的配置方式,用于缓冲的磁盘空间可能会减少 glance 镜像缓存的可用磁盘空间。磁盘利用率将根据以下 equation 的上限:(swift_store_large_object_chunk_size * worker * 1000)

可能的值:

  • True
  • False

相关选项:

  • swift_upload_buffer_dir

swift_store_admin_tenants = []

列出值

将被授予 admin 访问权限的租户列表。

这是租户的列表,将被授予由 Glance 在多租户模式下由 Glance 创建的所有 Swift 容器的读/写访问权限。默认值为空列表。

可能的值:

  • 以逗号分隔的字符串列表,代表 Keystone 项目/租户的 UUID

相关选项:

  • None

swift_store_auth_address = None

字符串值

Swift 身份验证服务侦听的端口。

swift_store_auth_insecure = False

布尔值

设置服务器证书验证。

此布尔值决定是否验证服务器证书。如果此选项设为 True,则 swiftclient 在验证时不会检查有效的 SSL 证书。如果选项设为 False,则使用默认 CA 信任存储进行验证。

可能的值:

  • True
  • False

相关选项:

  • swift_store_cacert

swift_store_auth_version = 2

字符串值

要使用的身份验证服务版本。对于 keystone 有效版本是 2 和 3,对于 swauth 和 rackspace 为 1(已弃用) 。

swift_store_cacert = None

字符串值

CA 捆绑包文件的路径。

此配置选项可让操作员在连接到 Swift 时指定自定义证书颁发机构文件的路径,以进行 SSL 验证。

可能的值:

  • CA 文件的有效路径

相关选项:

  • swift_store_auth_insecure

swift_store_config_file = None

字符串值

包含 swift 帐户的文件的绝对路径。

包括一个字符串值,代表配置的每个 Swift 帐户/后向存储具有引用的配置的路径。默认情况下,未指定文件路径并禁用自定义 Swift 引用。强烈建议在将镜像存储中使用 Swift 存储后端来配置此选项,因为它可避免在数据库中存储凭证。

注意

如果将 swift_store_multi_tenant 设置为 True,请不要配置这个选项。

可能的值:

  • 代表 glance-api 节点上的绝对路径的字符串值

相关选项:

  • swift_store_multi_tenant

swift_store_container = glance

字符串值

为多个容器存储 images/name 前缀的单个容器名称

当单个容器用于存储镜像时,此配置选项指示 Glance 帐户中的容器用于存储所有镜像。当多个容器用于存储镜像时,这将是所有容器的名称前缀。可以使用配置选项 swift_store_multiple_containers_seed 控制单个/多个容器的使用。

使用多个容器时,容器将按照为此配置选项设置的值加上镜像 UUID 的前 N 个字符,作为由下划线分隔的后缀(其中 N 由 swift_store_multiple_containers_seed指定)。

示例:如果 seed 设为 3,swift_store_container = glance,则带有 UUID fdae39a1-bac5-4238-aba4-69bcc726e848 的一个镜像将被放入容器 glance_fda。在创建容器名称时包括在 UUID 中的横线不会计算在字符长度的限制中,因此,当 N= 10 时,容器名称可以为 glance_fdae39a1-ba.

可能的值:

  • 如果使用单个容器,则此配置选项可以是 Glance 的 Swift 帐户中有效的 swift 容器名称的任何字符串
  • 如果使用多个容器,则此配置选项可以是任意字符串,只要它满足 Swift 强制的容器命名规则。还应考虑 swift_store_multiple_containers_seed 的值。

相关选项:

  • swift_store_multiple_containers_seed
  • swift_store_multi_tenant
  • swift_store_create_container_on_put

swift_store_create_container_on_put = False

布尔值

在上传镜像时,创建容器(如果不存在)。

在上传镜像时,如果相应的容器不存在,则会创建它,如果此配置选项被设置为 True。默认情况下,不会创建它。这个行为适用于单和多个容器模式。

可能的值:

  • True
  • False

相关选项:

  • None

swift_store_endpoint = None

字符串值

用于 Swift 后端存储的 URL 端点。

提供字符串值,代表用于将 Glance 镜像存储在 Swift 存储中的 URL 端点。默认情况下,不会设置端点,并使用 auth 返回的存储 URL。使用 swift_store_endpoint 设置端点会覆盖存储 URL,并用于 Glance 镜像存储。

注意

URL 应包括最多的路径,但不包括容器。通过将容器和对象附加到配置的 URL 来获取对象的位置。

可能的值:

  • 代表 Swift 容器的有效 URL 路径的字符串值

相关选项:

  • None

swift_store_endpoint_type = publicURL

字符串值

Swift 服务的端点类型。

此字符串值指示用于获取 Swift 端点的端点类型。端点类型决定了用户被允许执行的操作,例如,读取和写入存储。只有在 swift_store_auth_version 大于 1 时才会使用此设置。

可能的值:

  • publicURL
  • adminURL
  • internalURL

相关选项:

  • swift_store_endpoint

swift_store_expire_soon_interval = 60

整数值

定义在当前令牌到期之前请求新令牌的窗口大小(以秒为单位)。

通常,Swift 存储驱动程序在当前令牌过期时获取新令牌,以确保持续访问 Swift。但是,如果令牌实时过期,一些 Swift 事务(如上传镜像片段)可能无法正常恢复。

因此,通过在当前令牌到期前获取新令牌,我们在尝试事务前确保令牌不会过期或接近过期。默认情况下,Swift 存储驱动程序在当前令牌过期前请求新的令牌 60 秒或更短。

可能的值:

  • 正整数值

相关选项:

  • None

swift_store_key = None

字符串值

用于对 Swift 身份验证服务进行身份验证的用户的身份验证密钥。

swift_store_large_object_chunk_size = 200

整数值

镜像数据片段时段的最大大小(以 MB 为单位)。

当镜像数据被分段为上传大于 Swift 集群实施的限制的镜像时,镜像数据将分为不大于此配置选项指定大小的片段。详情请参考 swift_store_large_object_size

例如:如果 swift_store_large_object_size 为 5GB,而 swift_store_large_object_chunk_size 为 1GB,则大小为 6.2GB 的镜像将被分为 7 段,前 6 个段的大小为 1GB,第七个段的大小为 0.2GB。

可能的值:

  • 一个小于或等于 Swift 集群实施的大型对象限制的正整数。

相关选项:

  • swift_store_large_object_size

swift_store_large_object_size = 5120

整数值

Glance 将启动分段数据的大小(以 MB 为单位)。

Swift 对单个上传对象的大小具有上限。默认情况下,这是 5GB。要上传大于这个限制的对象,对象被分段为与清单文件关联的多个较小的对象。如需更多详情,请参阅 https://docs.openstack.org/swift/latest/overview_large_objects.html

此配置选项指定 Swift 驱动程序将镜像数据分段到多个较小的文件的大小阈值。目前,Swift 驱动程序只支持创建动态大对象。

注意

这应该通过考虑 Swift 集群实施的大对象限制来设置。

可能的值:

  • 一个小于或等于 Swift 集群实施的大型对象限制的正整数。

相关选项:

  • swift_store_large_object_chunk_size

swift_store_multi_tenant = False

布尔值

将镜像存储在租户的 Swift 帐户中。

这可让多租户存储模式,使 Glance 镜像存储在租户特定的 Swift 帐户中。如果禁用,Glance 会将所有镜像存储在自己的帐户中。如需多租户存储的详细信息,请访问 https://wiki.openstack.org/wiki/GlanceSwiftTenantSpecificStorage

注意

如果使用多租户 swift 存储,请确保您没有通过 swift_store_config_file 选项设置 swift 配置文件。

可能的值:

  • True
  • False

相关选项:

  • swift_store_config_file

swift_store_multiple_containers_seed = 0

整数值

seed 表示用于存储镜像的容器数量。

在使用单租户存储时,镜像可以存储在一个或多个容器中。当设置为 0 时,所有镜像都将存储在一个容器中。当设置为 1 到 32 之间的整数值时,会使用多个容器来存储镜像。此配置选项将决定创建多少个容器。将使用的容器总数等于 16^N,因此,如果此配置选项设为 2,则将使用 16^2=256 容器来存储镜像。

有关命名约定的详情,请参阅 swift_store_container。有关使用多个容器的更多详细信息,请参阅 https://specs.openstack.org/openstack/glance-specs/specs/kilo/swift-store-multiple-containers.html

注意

这仅在禁用 swift_store_multi_tenant 时使用。

可能的值:

  • 小于或等于 32 的非负整数

相关选项:

  • swift_store_container
  • swift_store_multi_tenant
  • swift_store_create_container_on_put

swift_store_region = None

字符串值

Glance 使用的 Swift 端点的区域。

提供字符串值,代表 Glance 可以为镜像存储连接的 Swift 区域。默认情况下,没有设置区域。

当 Glance 使用 Swift 作为存储后端来为具有多个端点的特定租户存储镜像时,使用 swift_store_region 设置 Swift 区域可让 Glance 在指定区域中连接 Swift,而不是单个区域连接。

此选项可以针对单租户和多租户存储进行配置。

注意

使用 swift_store_region 设置区域是特定于租户的,只有在 租户在不同区域间有多个端点时才需要。

可能的值:

  • 代表有效 Swift 区域的字符串值。

相关选项:

  • None

swift_store_retry_get_count = 0

整数值

在请求失败前重试 Swift 下载的次数。

提供一个整数值,代表在出错前必须重试镜像下载的次数。默认值为 0 (在失败的镜像下载时不重试)。当设置为正整数值时,swift_store_retry_get_count 可确保在发送错误消息前在下载失败时多次尝试下载。

可能的值:

  • 正整数值

相关选项:

  • None

swift_store_service_type = object-store

字符串值

要使用的 Swift 服务类型。

提供字符串值,代表在使用 Swift 后端存储时用于存储镜像的服务类型。默认服务类型设置为 object-store

注意

如果 swift_store_auth_version 设为 2,则此配置选项的值需要是 object-store。如果使用较高版本的 Keystone 或不同的身份验证方案,则可以修改此选项。

可能的值:

  • 代表 Swift 存储的有效服务类型的字符串。

相关选项:

  • None

swift_store_ssl_compression = True

布尔值

HTTPS Swift 请求的 SSL 层压缩。

提供布尔值,以确定是否对 SSL 层的镜像压缩 HTTPS Swift 请求。默认情况下启用压缩。

在将 Swift 用作 Glance 镜像存储的后端存储时,可以使用此选项设置 HTTPS Swift 请求的 SSL 层压缩。如果设置为 False,则禁用 HTTPS Swift 请求的 SSL 层压缩。禁用此选项可能会提高已压缩格式(如 qcow2)的镜像的性能。

可能的值:

  • True
  • False

相关选项:

  • None

swift_store_use_trusts = True

布尔值

将信任用于多租户 Swift 存储。

此选项指示 Swift 存储在使用多租户存储时为每个 add/get 请求创建信任。使用信任可让 Swift 存储避免在上传或下载数据期间由身份验证令牌过期导致的问题。

默认情况下,swift_store_use_trusts 设置为 True(启用信任时使用)。如果设置为 False,则使用用户令牌用于 Swift 连接,从而消除信任创建开销。

注意

只有在 swift_store_multi_tenant 设为 True时,才会考虑此选项

可能的值:

  • True
  • False

相关选项:

  • swift_store_multi_tenant

swift_store_user = None

字符串值

对 Swift 身份验证服务进行身份验证的用户。

swift_upload_buffer_dir = None

字符串值

在上传到 Swift 前,用于缓冲镜像片段的目录。

提供字符串值,代表 glance 节点上的目录的绝对路径,其中镜像片段在上传到 swift 之前会短暂被缓冲。

备注:

  • 只有在配置选项 swift_buffer_on_upload 被设置为 True 时才需要。
  • 应置备该目录,以保持 swift_store_large_object_chunk_size 以及给定 glance 节点可以同时上传的最大镜像数。

可能的值:

  • 代表绝对目录路径的字符串值

相关选项:

  • swift_buffer_on_upload
  • swift_store_large_object_chunk_size

3.1.10. glance.store.vmware_datastore.store

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

Expand
表 3.9. glance.store.vmware_datastore.store
配置选项 = 默认值类型Description

vmware_api_retry_count = 10

整数值

VMware API 重试次数。

此配置选项指定在连接相关问题或服务器 API 调用超载时必须重试 VMware ESX/VC 服务器 API 的次数。无法指定 retry forever

可能的值:

  • 任何正整数值

相关选项:

  • None

vmware_ca_file = None

字符串值

CA 捆绑包文件的绝对路径。

此配置选项可让操作员使用自定义 Cerificate Authority File 来验证 ESX/vCenter 证书。

如果设置了这个选项,则会忽略"vmware_insecure"选项,并且指定的 CA 文件将用于验证 ESX/vCenter 服务器证书,并建立与服务器的安全连接。

可能的值:

  • 是 CA 文件的有效绝对路径的任何字符串

相关选项:

  • vmware_insecure

vmware_datastores = None

多值

可以存储镜像的数据存储。

此配置选项指定镜像可以存储在 VMWare 存储后端中的数据存储。这个选项可多次指定,以指定多个数据存储。数据存储名称应在其数据中心路径后指定,用":"分开。可选权重可以在数据存储名称后指定,并再次以":"分开来指定优先级。因此,所需格式将变为 <datacenter_path>:<datastore_name>:<optional_weight>。

添加镜像时,将选择具有最高权重的数据存储,除非在已知镜像大小时没有足够的可用空间。如果未指定权重,则假定为 0,目录将被视为最后选择。如果多个数据存储具有相同的权重,则会选择具有最多可用空间的权重。

可能的值:

  • 任何格式的字符串: <datacenter_path>:<datastore_name>:<optional_weight>

相关选项:* None

vmware_insecure = False

布尔值

设置 ESX/vCenter 服务器证书验证。

此配置选项使用布尔值来确定是否验证 ESX/vCenter 服务器证书。如果此选项设为 True,则不会验证 ESX/vCenter 服务器证书。如果此选项设置为 False,则使用默认 CA 信任存储进行验证。

如果设置了 "vmware_ca_file" 选项,则忽略这个选项。在这种情况下,将使用"vmware_ca_file"选项指定的文件来验证 ESX/vCenter 服务器证书。

可能的值:

  • True
  • False

相关选项:

  • vmware_ca_file

vmware_server_host = None

主机地址值

ESX/ESXi 或 vCenter Server 目标系统的地址。

此配置选项设置 ESX/ESXi 或 vCenter Server 目标系统的地址。使用 VMware 存储后端时需要这个选项。地址可以包含 IP 地址(127.0.0.1)或 DNS 名称(www.my-domain.com)。

可能的值:

  • 有效的 IPv4 或 IPv6 地址
  • 有效的 DNS 名称

相关选项:

  • vmware_server_username
  • vmware_server_password

vmware_server_password = None

字符串值

服务器密码.

此配置选项使用密码来使用 VMware ESX/ESXi 或 vCenter Server 进行身份验证。使用 VMware 存储后端时需要这个选项。

可能的值:

  • 任何字符串,这是与使用 "vmware_server_username" 选项指定的用户名对应的密码

相关选项:

  • vmware_server_host
  • vmware_server_username

vmware_server_username = None

字符串值

服务器用户名.

此配置选项使用用于使用 VMware ESX/ESXi 或 vCenter Server 进行身份验证的用户名。使用 VMware 存储后端时需要这个选项。

可能的值:

  • 任何字符串,这是具有适当权限的用户的用户名

相关选项:

  • vmware_server_host
  • vmware_server_password

vmware_store_image_dir = /openstack_glance

字符串值

glance 镜像将存储在数据存储中的目录。

此配置选项指定 glance 镜像将存储在 VMware 数据存储中的目录的路径。如果没有设置这个选项,则存储 glance 镜像的默认目录为 openstack_glance。

可能的值:

  • 是目录有效路径的任何字符串

相关选项:

  • None

vmware_task_poll_interval = 5

整数值

在 VMware ESX/VC 服务器上轮询远程任务的时间间隔(以秒为单位)。

此配置选项使用休眠时间(以秒为单位)轮询 async 任务,作为 VMWare ESX/VC 服务器 API 调用的一部分。

可能的值:

  • 任何正整数值

相关选项:

  • None

3.1.11. glance_store

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

Expand
表 3.10. glance_store
配置选项 = 默认值类型Description

cinder_api_insecure = False

布尔值

允许对 cinder 执行不安全的 SSL 请求。

如果此选项被设置为 True,则使用 cinder_ca_certificates_file 选项指定的 CA 证书文件验证 HTTPS 端点连接。

可能的值:

  • True
  • False

相关选项:

  • cinder_ca_certificates_file

cinder_ca_certificates_file = None

字符串值

用于 cinder 客户端请求的 CA 证书文件的位置。

如果设置,则使用指定的 CA 证书文件通过 HTTPS 端点验证 cinder 连接。如果端点是 HTTP,则忽略这个值。cinder_api_insecure 必须设为 True 才能启用验证。

可能的值:

  • ca 证书文件的路径

相关选项:

  • cinder_api_insecure

cinder_catalog_info = volumev3::publicURL

字符串值

在服务目录中查找 cinder 时要匹配的信息。

如果没有设置 cinder_endpoint_template,并且任何 cinder_store_auth_address, cinder_store_user_name, cinder_store_project_name, cinder_store_password 没有设置,cinder 存储将使用此信息从当前上下文中的服务目录中查找 Cinder 端点。如果设置,则考虑 cinder_os_region_name 来获取适当的端点。

服务目录可以通过 openstack catalog list 命令列出。

可能的值:

  • 应指定以下格式的字符串: < service_type>:<service_name>:<interface > At least service_typeinterfaceservice_name 可以省略。

相关选项:

  • cinder_os_region_name
  • cinder_endpoint_template
  • cinder_store_auth_address
  • cinder_store_user_name
  • cinder_store_project_name
  • cinder_store_password

cinder_endpoint_template = None

字符串值

使用 cinder 端点的模板覆盖服务目录查找。

设置此选项时,会使用这个值来生成 cinder 端点,而不是从服务目录中查找。如果指定了 cinder_store_auth_addresscinder_store_user_namecinder_store_project_namecinder_store_password,则忽略这个值。

如果设置了此配置选项,则忽略 cinder_catalog_info

可能的值:

  • cinder 端点的 URL 模板字符串,其中 %%(tenant) s 替换为当前的租户(项目)名称。例如: http://cinder.openstack.example.org/v2/%%(tenant)s

相关选项:

  • cinder_store_auth_address
  • cinder_store_user_name
  • cinder_store_project_name
  • cinder_store_password
  • cinder_catalog_info

cinder_enforce_multipath = False

布尔值

如果设为 True,则当 multipathd 未运行时,镜像传输的附加卷将中止。否则,它将回退到单一路径。

可能的值:

  • True 或 False

相关选项:

  • cinder_use_multipath

cinder_http_retries = 3

整数值

失败 http 调用的 cinderclient 重试次数。

当调用被任何错误失败时,cinderclient 将在休眠几秒钟后重试调用最多指定时间。

可能的值:

  • 正整数

相关选项:

  • None

cinder_mount_point_base = /var/lib/glance/mnt

字符串值

NFS 卷在 glance 节点上挂载的目录。

可能的值:

  • 代表挂载点的绝对路径的字符串。

cinder_os_region_name = None

字符串值

从服务目录查找 cinder 服务的区域名称。

这仅在使用 cinder_catalog_info 确定端点时使用。如果设置,此节点的 cinder 端点的查找将过滤到指定的区域。当目录中列出多个区域时,这非常有用。如果没有设置,则从每个区域查找端点。

可能的值:

  • 是有效区域名称的字符串。

相关选项:

  • cinder_catalog_info

cinder_state_transition_timeout = 300

整数值

等待 cinder 卷过渡到 complete 的时间(以秒为单位)。

当 cinder 卷创建、删除或附加到 glance 节点以读/写卷数据时,卷的状态将改变。例如,在创建过程完成后,新创建的卷状态会从 creating 变为 available。这指定了等待状态更改的最长时间。如果在等待时发生超时,或者状态更改为意外值(如 错误),则镜像创建会失败。

可能的值:

  • 正整数

相关选项:

  • None

cinder_store_auth_address = None

字符串值

cinder 身份验证服务正在侦听的地址。

当指定所有 cinder_store_auth_addresscinder_store_user_namecinder_store_project_namecinder_store_password 选项时,指定的值始终用于身份验证。这非常有用,通过将镜像卷存储在特定于镜像服务的项目/租户中来隐藏用户。它还允许用户在 glance 的 ACL 控制下的其他项目之间共享镜像卷。

如果没有设置其中任何一个选项,则使用 cinder 端点从服务目录中查找,并使用当前上下文的用户和项目。

可能的值:

  • 有效的身份验证服务地址,例如: http://openstack.example.org/identity/v2.0

相关选项:

  • cinder_store_user_name
  • cinder_store_password
  • cinder_store_project_name

cinder_store_password = None

字符串值

针对 cinder 进行身份验证的用户的密码。

这必须与以下所有相关选项一起使用。如果没有指定,则使用当前上下文的用户。

可能的值:

  • cinder_store_user_name指定的用户的有效密码

相关选项:

  • cinder_store_auth_address
  • cinder_store_user_name
  • cinder_store_project_name

cinder_store_project_name = None

字符串值

镜像卷存储在 cinder 中的项目名称。

如果没有设置此配置选项,则使用当前上下文中的项目。

这必须与以下所有相关选项一起使用。如果没有指定,则使用当前上下文的项目。

可能的值:

  • 有效的项目名称

相关选项:

  • cinder_store_auth_address
  • cinder_store_user_name
  • cinder_store_password

cinder_store_user_name = None

字符串值

要针对 cinder 进行身份验证的用户名。

这必须与以下所有相关选项一起使用。如果没有指定,则使用当前上下文的用户。

可能的值:

  • 有效的用户名

相关选项:

  • cinder_store_auth_address
  • cinder_store_password
  • cinder_store_project_name

cinder_use_multipath = False

布尔值

用于识别 mutipath 的标记在部署中被支持或不支持。

如果不支持多路径,则将其设置为 False。

可能的值:

  • True 或 False

相关选项:

  • cinder_enforce_multipath

cinder_volume_type = None

字符串值

用于在 cinder 中创建卷的卷类型。

有些 Cinder 后端可以有多个卷类型来优化存储使用。添加此选项可让操作员在 Cinder 中选择可为镜像优化的特定卷类型。

如果没有设置,则将使用 cinder 配置中指定的默认卷类型来创建卷。

可能的值:

  • 来自 cinder 的有效卷类型

相关选项:

注意

您不能使用与 NFS 后端关联的加密 volume_type。当 glance_store 尝试写入或访问该卷中存储的镜像数据时,存储在 NFS 后端上的加密卷都会引发异常。请咨询您的 Cinder 管理员来确定适当的 volume_type。

default_backend = None

字符串值

存储数据要存储在的默认后端的存储标识符。

该值必须定义为 DEFAULT 配置组中 enabled_backends 配置选项定义的字典中的其中一个键。

如果没有为这个选项定义值:

  • 消耗的服务可能会拒绝启动
  • 没有指定特定后端的 store_add 调用会引发 glance_store.exceptions.UnknownScheme 异常

相关选项:

  • enabled_backends

default_store = file

字符串值

用于存储镜像的默认方案。

提供字符串值,代表用于存储镜像的默认方案。如果没有设置,Glance 使用 file 作为默认方案来使用文件存储镜像。

注意

为这个配置选项提供的值必须是使用 stores 配置选项注册的存储的有效方案。

可能的值:

  • file
  • filesystem
  • http
  • https
  • swift
  • swift+http
  • swift+https
  • swift+config
  • rbd
  • cinder
  • vsphere
  • s3

相关选项:

  • 存储

弃用自: Rocky

reason: 这个选项针对新的配置选项 ''default_backend'' 弃用,它的行为与 ''default_store' 配置选项类似。

计划在 U 开发周期中移除这个选项。

default_swift_reference = ref1

字符串值

引用默认 Swift 帐户/后端存储参数。

提供字符串值,代表对使用 swift 帐户/后端存储进行镜像存储所需的默认参数集的引用。此配置选项的默认引用值为 ref1。此配置选项会解引用参数,并在每次添加新镜像时方便 Swift 存储后端中的镜像存储。

可能的值:

  • 有效字符串值

相关选项:

  • None

filesystem_store_chunk_size = 65536

整数值

块大小,以字节为单位。

读取或写入镜像文件时使用的块大小。增加这个值可能会提高吞吐量,但在处理大量请求时可能会稍微增加内存用量。

可能的值:

  • 任何正整数值

相关选项:

  • None

filesystem_store_datadir = /var/lib/glance/images

字符串值

文件系统后端存储将镜像写入的目录。

启动后,Glance 将创建该目录(如果该目录尚不存在),并验证对其运行 glance-api 的用户的写入访问权限。如果写入访问不可用,则会引发 BadStoreConfiguration 异常,文件系统存储可能无法添加新镜像。

注意

只有在将文件系统存储用作存储后端时才使用此目录。filesystem_store_datadirfilesystem_store_datadirs 选项必须在 glance-api.conf 中指定。如果指定了这两个选项,则会引发 BadStoreConfiguration,文件系统存储可能无法添加新镜像。

可能的值:

  • 到目录的有效路径

相关选项:

  • filesystem_store_datadirs
  • filesystem_store_file_perm

filesystem_store_datadirs = None

多值

文件系统后端存储写入镜像的目录及其优先级列表。

文件系统存储可以配置为将镜像存储在多个目录中,而不是使用由 filesystem_store_datadir 配置选项指定的单个目录。使用多个目录时,可以赋予每个目录一个可选的优先级,以指定应使用它们的优先顺序。priority 是一个与目录路径连接在一起的整数,一个冒号表示更高的优先级。当两个目录具有相同的优先级时,会使用具有最多可用空间的目录。如果没有指定优先级,则默认为零。

有关使用多个存储目录配置文件系统存储的更多信息,请访问 https://docs.openstack.org/glance/latest/configuration/configuring.html

注意

只有在将文件系统存储用作存储后端时才使用此目录。filesystem_store_datadirfilesystem_store_datadirs 选项必须在 glance-api.conf 中指定。如果指定了这两个选项,则会引发 BadStoreConfiguration,文件系统存储可能无法添加新镜像。

可能的值:

  • 以下格式的字符串列表:

    • <a valid directory path>:<optional integer priority>

相关选项:

  • filesystem_store_datadir
  • filesystem_store_file_perm

filesystem_store_file_perm = 0

整数值

镜像文件的文件访问权限。

为镜像数据设置所需的文件访问权限。这提供了启用其他服务(如 Nova)的方法,以直接从文件系统存储使用镜像。运行要授予访问权限的服务的用户可能成为拥有创建文件的组的成员。为这个配置选项分配一个小于或等于 0 的值表示没有对默认权限进行任何更改。这个值将被解码为八进制数字。

如需更多信息,请参阅文档 https://docs.openstack.org/glance/latest/configuration/configuring.html

可能的值:

  • 有效文件访问权限
  • 任何负整数

相关选项:

  • None

filesystem_store_metadata_file = None

字符串值

文件系统存储元数据文件。

到包含与文件系统存储关联的任何位置返回的元数据的路径。设置此选项后,它将仅用于创建之后创建的新映像 - 之前存在的镜像不会受到影响。

该文件必须包含有效的 JSON 对象。该对象应包含键 idmountpoint。这两个键的值应当是字符串。

可能的值:

  • 存储元数据文件的有效路径

相关选项:

filesystem_thin_provisioning = False

布尔值

在此后端中启用或未进行精简配置。

此配置选项启用在文件系统中不实际写入 null 字节序列的功能,显示的漏洞将自动被文件系统解释为 null 字节,且不实际消耗您的存储。除了在后端保存空间外,启用此功能还将加快镜像上传并保存网络遍历,因为不通过网络发送 null 字节序列。

可能的值:

  • True
  • False

相关选项:

  • None

http_proxy_information = {}

字典值

用于连接到远程服务器的 http/https 代理信息。

此配置选项指定应该用来连接到远程服务器的 http/https 代理信息。代理信息应该是 scheme 和 proxy 的键值对,如 http:10.0.0.1:3128。您还可以通过使用逗号分隔键值对来指定多个方案来指定代理,例如 http:10.0.0.1:3128, https:10.0.0.1:1080。

可能的值:

  • 以逗号分隔的 scheme:proxy 对列表,如上所述

相关选项:

  • None

https_ca_certificates_file = None

字符串值

CA 捆绑包文件的路径。

此配置选项可让操作员使用自定义证书颁发机构文件来验证远程服务器证书。如果设置了这个选项,则忽略 https_insecure 选项,并且指定的 CA 文件将用于验证服务器证书并建立与服务器的安全连接。

可能的值:

  • CA 文件的有效路径

相关选项:

  • https_insecure

https_insecure = True

布尔值

设置远程服务器证书验证。

此配置选项取在布尔值中,以确定是否验证远程服务器证书。如果设置为 True,则不会验证远程服务器证书。如果选项设为 False,则使用默认 CA 信任存储进行验证。

如果设置了 https_ca_certificates_file,则忽略这个选项。然后,使用 https_ca_certificates_file 选项指定的文件验证远程服务器证书。

可能的值:

  • True
  • False

相关选项:

  • https_ca_certificates_file

rados_connect_timeout = 0

整数值

连接到 Ceph 集群的超时值。

此配置选项在连接到 Ceph 集群时使用的超时值(以秒为单位)内设置在关闭连接前等待 glance-api 的时间。这可防止在连接到 RBD 时出现 glance-api 挂起。如果此选项的值设为小于或等于 0,则不设置超时,并且使用默认的 librados 值。

可能的值:

  • 任何整数值

相关选项:

  • None

`rbd_store_ceph_conf = `

字符串值

Ceph 配置文件路径.

此配置选项指定要使用的 Ceph 配置文件的路径。如果用户未设置此选项的值,或者设置为空字符串,librados 将按顺序搜索默认的 Ceph 配置文件位置来读取标准 ceph.conf 文件。详情请参阅 Ceph 文档。

注意

如果使用 Cephx 身份验证,这个文件应该在 client.<USER> 部分中包含对正确的密钥环的引用

注意 2:如果将此选项留空(默认),则使用的实际 Ceph 配置文件可能会根据所使用的 librados 版本而改变。如果您准确了解哪个配置文件生效,您可以使用此选项在此处指定该文件。

可能的值:

  • 配置文件的有效路径

相关选项:

  • rbd_store_user

rbd_store_chunk_size = 8

整数值

将 RADOS 镜像分解到其中的大小(以 MB 为单位)。

提供一个整数值,以 MB 为单位代表 Glance 映像的块。默认块大小为 8MB。为获得最佳性能,该值应该是 2 的指数。

当 Ceph 的 RBD 对象存储系统用作存储 Glance 镜像的存储后端时,镜像将区块化为使用此选项设置的大小对象。然后,这些区块对象存储在分布式块数据存储中,以用于 Glance。

可能的值:

  • 任何正整数值

相关选项:

  • None

rbd_store_pool = images

字符串值

存储镜像的 RADOS 池。

当 RBD 用作存储 Glance 镜像的存储后端时,镜像通过对对象(镜像区块)的逻辑分组存储到 池中。每个池都通过它可以包含的放置组数量来定义。使用的默认池是 images

有关 RBD 存储后端的更多信息,请访问 :http://ceph.com/planet/how-data-is-stored-in-ceph-cluster/

可能的值:

  • 有效的池名称

相关选项:

  • None

rbd_store_user = None

字符串值

要进行身份验证的 RADOS 用户。

此配置选项在 RADOS 用户中进行身份验证。这只在启用 RADOS 身份验证时才需要,且仅在用户使用 Cephx 身份验证时才适用。如果用户未设置此选项的值,或设置为 None,则会选择默认值,它将基于 rbd_store_ceph_conf 中的 client. 部分。

可能的值:

  • 有效的 RADOS 用户

相关选项:

  • rbd_store_ceph_conf

rbd_thin_provisioning = False

布尔值

在此后端中启用或未进行精简配置。

此配置选项启用 RBD 后端上不实际写入 null 字节序列的功能,可能出现的漏洞由 Ceph 自动解释为 null 字节,且不会真正使用您的存储。除了在后端保存空间外,启用此功能还将加快镜像上传并保存网络遍历,因为不通过网络发送 null 字节序列。

可能的值:

  • True
  • False

相关选项:

  • None

rootwrap_config = /etc/glance/rootwrap.conf

字符串值

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

cinder 存储需要 root 特权才能运行镜像卷(用于连接到 iSCSI/FC 卷并读取/写入卷数据等)。该配置文件应允许 cinder store 和 os-brick 库所需的命令。

可能的值:

  • rootwrap 配置文件的路径

相关选项:

  • None

s3_store_access_key = None

字符串值

S3 查询令牌访问密钥。

此配置选项使用访问密钥来使用 Amazon S3 或 S3 兼容存储服务器进行身份验证。使用 S3 存储后端时需要这个选项。

可能的值:

  • 任何字符串值,这是具有适当权限的用户的访问密钥

相关选项:

  • s3_store_host
  • s3_store_secret_key

s3_store_bucket = None

字符串值

用于存储 Glance 数据的 S3 存储桶。

此配置选项指定 glance 镜像在 S3 中存储的位置。如果 s3_store_create_bucket_on_put 设为 true,它将自动创建,即使存储桶不存在。

可能的值:

  • 任何字符串值

相关选项:

  • s3_store_create_bucket_on_put
  • s3_store_bucket_url_format

s3_store_bucket_url_format = auto

字符串值

用于确定对象的 S3 调用格式。

此配置选项使用访问模型来指定 S3 存储桶中对象地址。

注意:在 路径样式中,对象的端点类似于 https://s3.amazonaws.com/bucket/example.img在虚拟样式中,对象的端点类似于 https://bucket.s3.amazonaws.com/example.img。如果您不遵循存储桶名称中的 DNS 命名约定,您可以以路径样式获取对象,但不能以虚拟样式获取对象。

可能的值:

  • 自动、虚拟path的任何字符串值

相关选项:

  • s3_store_bucket

s3_store_create_bucket_on_put = False

布尔值

确定 S3 是否要创建新 bucket。

此配置选项使用布尔值来指示 Glance 是否应该创建新存储桶到 S3 (如果它不存在)。

可能的值:

  • 任何布尔值

相关选项:

  • None

s3_store_host = None

字符串值

S3 服务器正在侦听的主机。

此配置选项设置 S3 或 S3 兼容存储服务器的主机。使用 S3 存储后端时需要这个选项。主机可以包含 DNS 名称(如 s3.amazonaws.com、my-object-storage.com)或 IP 地址(127.0.0.1)。

可能的值:

  • 有效的 DNS 名称
  • 有效的 IPv4 地址

相关选项:

  • s3_store_access_key
  • s3_store_secret_key

s3_store_large_object_chunk_size = 10

整数值

在上传部分时,多部分上传部分的大小(以 MB 为单位)应该使用 S3。

此配置选项使用镜像分割大小(以 MB 为单位)用于 Multipart Upload。

注: 您只能分割最多 10,000 个镜像。

可能的值:

  • 任何正整数值(必须大于或等于 5M)

相关选项:

  • s3_store_large_object_size
  • s3_store_thread_pools

s3_store_large_object_size = 100

整数值

S3 开始块镜像文件以及在 S3 中进行多部分上传的大小(以 MB 为单位)。

此配置选项使用以 MB 为单位的阈值,以确定是否将镜像上传到 S3,还是按原样分割(多部分上传)。

注: 您只能分割最多 10,000 个镜像。

可能的值:

  • 任何正整数值

相关选项:

  • s3_store_large_object_chunk_size
  • s3_store_thread_pools

s3_store_secret_key = None

字符串值

S3 查询令牌 secret 密钥。

此配置选项使用 secret 密钥与 Amazon S3 或 S3 兼容存储服务器进行身份验证。使用 S3 存储后端时需要这个选项。

可能的值:

  • 任何字符串值,这是与使用 s3_store_host 选项指定的访问密钥对应的 secret 键。

相关选项:

  • s3_store_host
  • s3_store_access_key

s3_store_thread_pools = 10

整数值

在 S3 中执行多部分上传的线程池数量。

此配置选项在执行多部分上传时采用线程池数量。

可能的值:

  • 任何正整数值

相关选项:

  • s3_store_large_object_size
  • s3_store_large_object_chunk_size

stores = ['file', 'http']

列出值

启用的 Glance 存储列表。

注册存储后端,以逗号分隔列表形式存储磁盘镜像。启用用于存储使用 Glance 的磁盘镜像的默认存储是 filehttp

可能的值:

  • 以逗号分隔的列表,其中包括:

    • file
    • http
    • swift
    • rbd
    • cinder
    • vmware
    • s3

相关选项:

  • default_store

弃用自: Rocky

reason: 这个选项会根据新的配置选项 ''enabled_backends'' 弃用,这有助于配置不同方案的多个后端存储。

计划在 U 开发周期中移除这个选项。

swift_buffer_on_upload = False

布尔值

在上传到 Swift 前缓冲镜像片段。

提供布尔值以指示 Glance 在上传到 swift 时是否应将镜像数据缓冲到磁盘。这可让 Glance 恢复上传到错误。

注意:在启用这个选项时,当启用这个选项时,当这个 API 节点上的磁盘用量增加时,应该非常谨慎。请注意,根据文件系统的配置方式,用于缓冲的磁盘空间可能会减少 glance 镜像缓存的可用磁盘空间。磁盘利用率将根据以下 equation 的上限:(swift_store_large_object_chunk_size * worker * 1000)

可能的值:

  • True
  • False

相关选项:

  • swift_upload_buffer_dir

swift_store_admin_tenants = []

列出值

将被授予 admin 访问权限的租户列表。

这是租户的列表,将被授予由 Glance 在多租户模式下由 Glance 创建的所有 Swift 容器的读/写访问权限。默认值为空列表。

可能的值:

  • 以逗号分隔的字符串列表,代表 Keystone 项目/租户的 UUID

相关选项:

  • None

swift_store_auth_address = None

字符串值

Swift 身份验证服务侦听的端口。

swift_store_auth_insecure = False

布尔值

设置服务器证书验证。

此布尔值决定是否验证服务器证书。如果此选项设为 True,则 swiftclient 在验证时不会检查有效的 SSL 证书。如果选项设为 False,则使用默认 CA 信任存储进行验证。

可能的值:

  • True
  • False

相关选项:

  • swift_store_cacert

swift_store_auth_version = 2

字符串值

要使用的身份验证服务版本。对于 keystone 有效版本是 2 和 3,对于 swauth 和 rackspace 为 1(已弃用) 。

swift_store_cacert = None

字符串值

CA 捆绑包文件的路径。

此配置选项可让操作员在连接到 Swift 时指定自定义证书颁发机构文件的路径,以进行 SSL 验证。

可能的值:

  • CA 文件的有效路径

相关选项:

  • swift_store_auth_insecure

swift_store_config_file = None

字符串值

包含 swift 帐户的文件的绝对路径。

包括一个字符串值,代表配置的每个 Swift 帐户/后向存储具有引用的配置的路径。默认情况下,未指定文件路径并禁用自定义 Swift 引用。强烈建议在将镜像存储中使用 Swift 存储后端来配置此选项,因为它可避免在数据库中存储凭证。

注意

如果将 swift_store_multi_tenant 设置为 True,请不要配置这个选项。

可能的值:

  • 代表 glance-api 节点上的绝对路径的字符串值

相关选项:

  • swift_store_multi_tenant

swift_store_container = glance

字符串值

为多个容器存储 images/name 前缀的单个容器名称

当单个容器用于存储镜像时,此配置选项指示 Glance 帐户中的容器用于存储所有镜像。当多个容器用于存储镜像时,这将是所有容器的名称前缀。可以使用配置选项 swift_store_multiple_containers_seed 控制单个/多个容器的使用。

使用多个容器时,容器将按照为此配置选项设置的值加上镜像 UUID 的前 N 个字符,作为由下划线分隔的后缀(其中 N 由 swift_store_multiple_containers_seed指定)。

示例:如果 seed 设为 3,swift_store_container = glance,则带有 UUID fdae39a1-bac5-4238-aba4-69bcc726e848 的一个镜像将被放入容器 glance_fda。在创建容器名称时包括在 UUID 中的横线不会计算在字符长度的限制中,因此,当 N= 10 时,容器名称可以为 glance_fdae39a1-ba.

可能的值:

  • 如果使用单个容器,则此配置选项可以是 Glance 的 Swift 帐户中有效的 swift 容器名称的任何字符串
  • 如果使用多个容器,则此配置选项可以是任意字符串,只要它满足 Swift 强制的容器命名规则。还应考虑 swift_store_multiple_containers_seed 的值。

相关选项:

  • swift_store_multiple_containers_seed
  • swift_store_multi_tenant
  • swift_store_create_container_on_put

swift_store_create_container_on_put = False

布尔值

在上传镜像时,创建容器(如果不存在)。

在上传镜像时,如果相应的容器不存在,则会创建它,如果此配置选项被设置为 True。默认情况下,不会创建它。这个行为适用于单和多个容器模式。

可能的值:

  • True
  • False

相关选项:

  • None

swift_store_endpoint = None

字符串值

用于 Swift 后端存储的 URL 端点。

提供字符串值,代表用于将 Glance 镜像存储在 Swift 存储中的 URL 端点。默认情况下,不会设置端点,并使用 auth 返回的存储 URL。使用 swift_store_endpoint 设置端点会覆盖存储 URL,并用于 Glance 镜像存储。

注意

URL 应包括最多的路径,但不包括容器。通过将容器和对象附加到配置的 URL 来获取对象的位置。

可能的值:

  • 代表 Swift 容器的有效 URL 路径的字符串值

相关选项:

  • None

swift_store_endpoint_type = publicURL

字符串值

Swift 服务的端点类型。

此字符串值指示用于获取 Swift 端点的端点类型。端点类型决定了用户被允许执行的操作,例如,读取和写入存储。只有在 swift_store_auth_version 大于 1 时才会使用此设置。

可能的值:

  • publicURL
  • adminURL
  • internalURL

相关选项:

  • swift_store_endpoint

swift_store_expire_soon_interval = 60

整数值

定义在当前令牌到期之前请求新令牌的窗口大小(以秒为单位)。

通常,Swift 存储驱动程序在当前令牌过期时获取新令牌,以确保持续访问 Swift。但是,如果令牌实时过期,一些 Swift 事务(如上传镜像片段)可能无法正常恢复。

因此,通过在当前令牌到期前获取新令牌,我们在尝试事务前确保令牌不会过期或接近过期。默认情况下,Swift 存储驱动程序在当前令牌过期前请求新的令牌 60 秒或更短。

可能的值:

  • 正整数值

相关选项:

  • None

swift_store_key = None

字符串值

用于对 Swift 身份验证服务进行身份验证的用户的身份验证密钥。

swift_store_large_object_chunk_size = 200

整数值

镜像数据片段时段的最大大小(以 MB 为单位)。

当镜像数据被分段为上传大于 Swift 集群实施的限制的镜像时,镜像数据将分为不大于此配置选项指定大小的片段。详情请参考 swift_store_large_object_size

例如:如果 swift_store_large_object_size 为 5GB,而 swift_store_large_object_chunk_size 为 1GB,则大小为 6.2GB 的镜像将被分为 7 段,前 6 个段的大小为 1GB,第七个段的大小为 0.2GB。

可能的值:

  • 一个小于或等于 Swift 集群实施的大型对象限制的正整数。

相关选项:

  • swift_store_large_object_size

swift_store_large_object_size = 5120

整数值

Glance 将启动分段数据的大小(以 MB 为单位)。

Swift 对单个上传对象的大小具有上限。默认情况下,这是 5GB。要上传大于这个限制的对象,对象被分段为与清单文件关联的多个较小的对象。如需更多详情,请参阅 https://docs.openstack.org/swift/latest/overview_large_objects.html

此配置选项指定 Swift 驱动程序将镜像数据分段到多个较小的文件的大小阈值。目前,Swift 驱动程序只支持创建动态大对象。

注意

这应该通过考虑 Swift 集群实施的大对象限制来设置。

可能的值:

  • 一个小于或等于 Swift 集群实施的大型对象限制的正整数。

相关选项:

  • swift_store_large_object_chunk_size

swift_store_multi_tenant = False

布尔值

将镜像存储在租户的 Swift 帐户中。

这可让多租户存储模式,使 Glance 镜像存储在租户特定的 Swift 帐户中。如果禁用,Glance 会将所有镜像存储在自己的帐户中。如需多租户存储的详细信息,请访问 https://wiki.openstack.org/wiki/GlanceSwiftTenantSpecificStorage

注意

如果使用多租户 swift 存储,请确保您没有通过 swift_store_config_file 选项设置 swift 配置文件。

可能的值:

  • True
  • False

相关选项:

  • swift_store_config_file

swift_store_multiple_containers_seed = 0

整数值

seed 表示用于存储镜像的容器数量。

在使用单租户存储时,镜像可以存储在一个或多个容器中。当设置为 0 时,所有镜像都将存储在一个容器中。当设置为 1 到 32 之间的整数值时,会使用多个容器来存储镜像。此配置选项将决定创建多少个容器。将使用的容器总数等于 16^N,因此,如果此配置选项设为 2,则将使用 16^2=256 容器来存储镜像。

有关命名约定的详情,请参阅 swift_store_container。有关使用多个容器的更多详细信息,请参阅 https://specs.openstack.org/openstack/glance-specs/specs/kilo/swift-store-multiple-containers.html

注意

这仅在禁用 swift_store_multi_tenant 时使用。

可能的值:

  • 小于或等于 32 的非负整数

相关选项:

  • swift_store_container
  • swift_store_multi_tenant
  • swift_store_create_container_on_put

swift_store_region = None

字符串值

Glance 使用的 Swift 端点的区域。

提供字符串值,代表 Glance 可以为镜像存储连接的 Swift 区域。默认情况下,没有设置区域。

当 Glance 使用 Swift 作为存储后端来为具有多个端点的特定租户存储镜像时,使用 swift_store_region 设置 Swift 区域可让 Glance 在指定区域中连接 Swift,而不是单个区域连接。

此选项可以针对单租户和多租户存储进行配置。

注意

使用 swift_store_region 设置区域是特定于租户的,只有在 租户在不同区域间有多个端点时才需要。

可能的值:

  • 代表有效 Swift 区域的字符串值。

相关选项:

  • None

swift_store_retry_get_count = 0

整数值

在请求失败前重试 Swift 下载的次数。

提供一个整数值,代表在出错前必须重试镜像下载的次数。默认值为 0 (在失败的镜像下载时不重试)。当设置为正整数值时,swift_store_retry_get_count 可确保在发送错误消息前在下载失败时多次尝试下载。

可能的值:

  • 正整数值

相关选项:

  • None

swift_store_service_type = object-store

字符串值

要使用的 Swift 服务类型。

提供字符串值,代表在使用 Swift 后端存储时用于存储镜像的服务类型。默认服务类型设置为 object-store

注意

如果 swift_store_auth_version 设为 2,则此配置选项的值需要是 object-store。如果使用较高版本的 Keystone 或不同的身份验证方案,则可以修改此选项。

可能的值:

  • 代表 Swift 存储的有效服务类型的字符串。

相关选项:

  • None

swift_store_ssl_compression = True

布尔值

HTTPS Swift 请求的 SSL 层压缩。

提供布尔值,以确定是否对 SSL 层的镜像压缩 HTTPS Swift 请求。默认情况下启用压缩。

在将 Swift 用作 Glance 镜像存储的后端存储时,可以使用此选项设置 HTTPS Swift 请求的 SSL 层压缩。如果设置为 False,则禁用 HTTPS Swift 请求的 SSL 层压缩。禁用此选项可能会提高已压缩格式(如 qcow2)的镜像的性能。

可能的值:

  • True
  • False

相关选项:

  • None

swift_store_use_trusts = True

布尔值

将信任用于多租户 Swift 存储。

此选项指示 Swift 存储在使用多租户存储时为每个 add/get 请求创建信任。使用信任可让 Swift 存储避免在上传或下载数据期间由身份验证令牌过期导致的问题。

默认情况下,swift_store_use_trusts 设置为 True(启用信任时使用)。如果设置为 False,则使用用户令牌用于 Swift 连接,从而消除信任创建开销。

注意

只有在 swift_store_multi_tenant 设为 True时,才会考虑此选项

可能的值:

  • True
  • False

相关选项:

  • swift_store_multi_tenant

swift_store_user = None

字符串值

对 Swift 身份验证服务进行身份验证的用户。

swift_upload_buffer_dir = None

字符串值

在上传到 Swift 前,用于缓冲镜像片段的目录。

提供字符串值,代表 glance 节点上的目录的绝对路径,其中镜像片段在上传到 swift 之前会短暂被缓冲。

备注:

  • 只有在配置选项 swift_buffer_on_upload 被设置为 True 时才需要。
  • 应置备该目录,以保持 swift_store_large_object_chunk_size 以及给定 glance 节点可以同时上传的最大镜像数。

可能的值:

  • 代表绝对目录路径的字符串值

相关选项:

  • swift_buffer_on_upload
  • swift_store_large_object_chunk_size

vmware_api_retry_count = 10

整数值

VMware API 重试次数。

此配置选项指定在连接相关问题或服务器 API 调用超载时必须重试 VMware ESX/VC 服务器 API 的次数。无法指定 retry forever

可能的值:

  • 任何正整数值

相关选项:

  • None

vmware_ca_file = None

字符串值

CA 捆绑包文件的绝对路径。

此配置选项可让操作员使用自定义 Cerificate Authority File 来验证 ESX/vCenter 证书。

如果设置了这个选项,则会忽略"vmware_insecure"选项,并且指定的 CA 文件将用于验证 ESX/vCenter 服务器证书,并建立与服务器的安全连接。

可能的值:

  • 是 CA 文件的有效绝对路径的任何字符串

相关选项:

  • vmware_insecure

vmware_datastores = None

多值

可以存储镜像的数据存储。

此配置选项指定镜像可以存储在 VMWare 存储后端中的数据存储。这个选项可多次指定,以指定多个数据存储。数据存储名称应在其数据中心路径后指定,用":"分开。可选权重可以在数据存储名称后指定,并再次以":"分开来指定优先级。因此,所需格式将变为 <datacenter_path>:<datastore_name>:<optional_weight>。

添加镜像时,将选择具有最高权重的数据存储,除非在已知镜像大小时没有足够的可用空间。如果未指定权重,则假定为 0,目录将被视为最后选择。如果多个数据存储具有相同的权重,则会选择具有最多可用空间的权重。

可能的值:

  • 任何格式的字符串: <datacenter_path>:<datastore_name>:<optional_weight>

相关选项:* None

vmware_insecure = False

布尔值

设置 ESX/vCenter 服务器证书验证。

此配置选项使用布尔值来确定是否验证 ESX/vCenter 服务器证书。如果此选项设为 True,则不会验证 ESX/vCenter 服务器证书。如果此选项设置为 False,则使用默认 CA 信任存储进行验证。

如果设置了 "vmware_ca_file" 选项,则忽略这个选项。在这种情况下,将使用"vmware_ca_file"选项指定的文件来验证 ESX/vCenter 服务器证书。

可能的值:

  • True
  • False

相关选项:

  • vmware_ca_file

vmware_server_host = None

主机地址值

ESX/ESXi 或 vCenter Server 目标系统的地址。

此配置选项设置 ESX/ESXi 或 vCenter Server 目标系统的地址。使用 VMware 存储后端时需要这个选项。地址可以包含 IP 地址(127.0.0.1)或 DNS 名称(www.my-domain.com)。

可能的值:

  • 有效的 IPv4 或 IPv6 地址
  • 有效的 DNS 名称

相关选项:

  • vmware_server_username
  • vmware_server_password

vmware_server_password = None

字符串值

服务器密码.

此配置选项使用密码来使用 VMware ESX/ESXi 或 vCenter Server 进行身份验证。使用 VMware 存储后端时需要这个选项。

可能的值:

  • 任何字符串,这是与使用 "vmware_server_username" 选项指定的用户名对应的密码

相关选项:

  • vmware_server_host
  • vmware_server_username

vmware_server_username = None

字符串值

服务器用户名.

此配置选项使用用于使用 VMware ESX/ESXi 或 vCenter Server 进行身份验证的用户名。使用 VMware 存储后端时需要这个选项。

可能的值:

  • 任何字符串,这是具有适当权限的用户的用户名

相关选项:

  • vmware_server_host
  • vmware_server_password

vmware_store_image_dir = /openstack_glance

字符串值

glance 镜像将存储在数据存储中的目录。

此配置选项指定 glance 镜像将存储在 VMware 数据存储中的目录的路径。如果没有设置这个选项,则存储 glance 镜像的默认目录为 openstack_glance。

可能的值:

  • 是目录有效路径的任何字符串

相关选项:

  • None

vmware_task_poll_interval = 5

整数值

在 VMware ESX/VC 服务器上轮询远程任务的时间间隔(以秒为单位)。

此配置选项使用休眠时间(以秒为单位)轮询 async 任务,作为 VMWare ESX/VC 服务器 API 调用的一部分。

可能的值:

  • 任何正整数值

相关选项:

  • None

3.1.12. image_format

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

Expand
表 3.11. image_format
配置选项 = 默认值类型Description

container_formats = ['ami', 'ari', 'aki', 'bare', 'ovf', 'ova', 'docker', 'compressed']

列出值

container_format 镜像属性支持的值

disk_formats = ['ami', 'ari', 'aki', 'vhd', 'vhdx', 'vmdk', 'raw', 'qcow2', 'vdi', 'iso', 'ploop']

列出值

disk_format 镜像属性支持的值

vmdk_allowed_types = ['streamOptimized', 'monolithicSparse']

列出值

描述允许的 VMDK create-type 子格式的字符串列表。建议您只包含 single-file-with-sparse-header 变体,以避免因为处理命名范围而导致潜在的主机文件暴露。如果此列表为空,则不允许 VDMK 镜像类型。请注意,这目前仅在镜像转换过程中检查(如果已启用),并限制我们将转换的 VMDK 镜像类型。

3.1.13. keystone_authtoken

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

Expand
表 3.12. 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 = False

布尔值

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

3.1.14. oslo_concurrency

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

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

disable_process_locking = False

布尔值

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

lock_path = None

字符串值

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

3.1.15. oslo_messaging_amqp

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

Expand
表 3.14. 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 服务器时,附加到地址前缀中。由消息总线用来识别发送到单个目的地的消息。

3.1.16. oslo_messaging_kafka

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

Expand
表 3.15. 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 = `

字符串值

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

3.1.17. oslo_messaging_notifications

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

Expand
表 3.16. 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 的同一配置。

3.1.18. oslo_messaging_rabbit

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

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

amqp_auto_delete = False

布尔值

AMQP 中的自动删除队列。

amqp_durable_queues = False

布尔值

在 AMQP 中使用持久队列。

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_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_key_file = `

字符串值

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

`ssl_version = `

字符串值

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

3.1.19. oslo_middleware

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

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

enable_proxy_headers_parsing = False

布尔值

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

3.1.20. oslo_policy

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

Expand
表 3.19. 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.yaml

字符串值

文件相对或绝对路径,用于将角色映射到给定服务的权限。必须根据配置文件设置此选项指定相对路径。

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 策略检查的服务器身份验证

3.1.21. paste_deploy

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

Expand
表 3.20. paste_deploy
配置选项 = 默认值类型Description

config_file = None

字符串值

粘贴配置文件的名称。

提供字符串值,代表粘贴配置文件的名称,以用于为服务器应用部署配置 piplelines。

备注:

  • 为粘贴配置文件而不是绝对路径提供相对于 glance 目录的名称或路径。
  • 在大多数情况下,不需要编辑 Glance 附带的示例粘贴配置文件,因为它附带了所有常见部署类别的现成管道。

如果没有为此选项指定值,则在已知配置目录中搜索带有相应 Glance 服务配置文件名称前缀的 paste.ini 文件。(例如,如果此选项在 glance-api.conf 中缺少或者没有设置值,则服务将查找名为 glance-api-paste.ini 的文件。)如果没有找到粘贴配置文件,服务将不会启动。

可能的值:

  • 代表粘贴配置文件的名称的字符串值。

相关选项:

  • flavor

flavor = None

字符串值

在服务器应用程序管道中使用的部署类别。

提供字符串值,代表服务器应用程序 pipleline 中使用的适当部署类别。这通常是管道在粘贴配置文件中的部分名称,并删除了服务名称。

例如,如果粘贴配置文件中的粘贴部分名称为 [pipeline:glance-api-keystone],请将 flavor 设置为 keystone

可能的值:

  • 代表部分管道名称的字符串值。

相关选项:

  • config_file

3.1.22. profiler

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

Expand
表 3.21. 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 查询。

3.1.23. store_type_location_strategy

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

Expand
表 3.22. store_type_location_strategy
配置选项 = 默认值类型Description

store_type_preference = []

列出值

存储后端的首选项顺序。

按照应该从存储后端检索镜像的顺序提供以逗号分隔的存储名称列表。这些存储名称必须使用 stores 配置选项注册。

注意

只有在将 store_type 选为 location_strategy 配置选项的值时,才会应用 store_type_preference 配置选项。空列表不会更改位置顺序。

可能的值:

  • 空列表
  • 以逗号分隔的注册存储名称列表。法律值包括:

    • file
    • http
    • rbd
    • swift
    • cinder
    • vmware

相关选项:

  • location_strategy
  • 存储

3.1.24. task

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

Expand
表 3.23. task
配置选项 = 默认值类型Description

task_executor = taskflow

字符串值

用于运行任务脚本的任务执行器。

提供代表用于任务执行的 executor 的字符串值。默认情况下使用 TaskFlow executor。

TaskFlow 帮助使任务执行简单、一致、可扩展且可靠。它还能够创建以声明性方式组合到流中的轻量级任务对象和/或功能。

可能的值:

  • taskflow

相关选项:

  • None

task_time_to_live = 48

整数值

任务在 之后的几小时内,可以是成功还是失败

work_dir = None

字符串值

用于异步任务操作的工作目录的绝对路径。

此处设置的目录将用于在目标存储中导入镜像之前对镜像进行操作。

注意

work_dir 提供值时,请确保提供足够的空间,以便在不用尽空间的情况下高效地运行并发任务。

可通过将 max_workers 数量乘以平均镜像大小(如 500MB)来实现粗略估算。镜像大小估算应该根据部署中的平均大小进行。请注意,根据运行的任务,您可能需要将此数量乘以某些因素,具体取决于任务的作用。例如,如果启用了镜像转换,您可能希望加倍可用的大小。所有这一切都说,请记住,它们只是估算,您应该根据最糟糕的情况完成,并准备在出现问题时采取行动。

可能的值:

  • 代表工作目录的绝对路径的字符串值

相关选项:

  • None

3.1.25. taskflow_executor

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

Expand
表 3.24. taskflow_executor
配置选项 = 默认值类型Description

conversion_format = None

字符串值

设置所需的镜像转换格式。

提供有效的镜像格式,您希望将镜像转换为 Glance 以供 Glance 使用。特定的存储后端需要适当的镜像格式转换,以便有效地处理存储基础架构的带宽和使用。

默认情况下,未设置 conversion_format,且必须在配置文件中明确设置。

此选项允许的值是 rawqcow2vmdkraw 格式是非结构化磁盘格式,应在使用 RBD 或 Ceph 存储后端进行镜像存储时选择。qcow2 由 QEMU 模拟器支持,该仿真器可以动态扩展并支持写时复制。vmdk 是许多常见虚拟机监视器(如 VMWare 工作站)支持的另一种常见磁盘格式。

可能的值:

  • qcow2
  • raw
  • vmdk

相关选项:

  • disk_formats

engine_mode = parallel

字符串值

设置 taskflow 引擎模式。

提供字符串类型值来设置 taskflow 引擎将任务调度到主机上的 worker 的模式。根据此模式,引擎在单线程或多个线程中执行任务。此配置选项的可能值为:serialparallel。当设置为 serial 时,引擎在单个线程中运行所有任务,从而对任务进行序列化执行。把它设置为 并行 会导致引擎在多个线程中运行任务。这会导致任务并行执行。

可能的值:

  • serial
  • parallel

相关选项:

  • max_workers

max_workers = 10

整数值

设置引擎可执行任务的数量。

提供整数值来限制可在主机上实例化的 worker 数量。换句话说,这个数字定义了 taskflow 引擎可以同时执行的并行任务数量。当引擎模式被设置为 parallel 时,这个值可以大于一。

可能的值:

  • 大于或等于 1 的整数值

相关选项:

  • engine_mode

3.1.26. wsgi

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

Expand
表 3.25. wsgi
配置选项 = 默认值类型描述

python_interpreter = /usr/bin/python3

字符串值

生成外部进程时要使用的 python 解释器的路径。默认情况下,这是 sys.executable,它应该是运行 Glance 本身的同一解释器。然而,在某些情况下,这可能并不指向 python 解释器本身。

task_pool_threads = 16

整数值

池中用于处理异步任务的线程数(每个 worker 进程)。这会控制每个 worker 可以同时运行多少个异步任务(例如,镜像互操作性导入)。如果这太大,则每个 worker 和/或者可能会增加内存占用量,比如磁盘或出站网络带宽。如果这太小,则镜像导入请求将必须等待线程可用于开始处理。

3.2. glance-scrubber.conf

本节包含 /etc/glance/glance-scrubber.conf 文件的选项。

3.2.1. DEFAULT

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

.

Expand
配置选项 = 默认值类型Description

allow_additional_image_properties = True

布尔值

允许用户向镜像添加额外的/自定义属性。

Glance 定义一组标准的属性(在其架构中),它们出现在每个镜像上。这些属性也称为基本属性。除了这些属性外,Glance 还允许用户添加自定义属性到镜像。它们称为 其他属性

默认情况下,此配置选项设置为 True,用户可以添加额外的属性。可添加到镜像的额外属性数量可以通过 image_property_quota 配置选项来控制。

可能的值:

  • True
  • False

相关选项:

  • image_property_quota

弃用自:U ssuri

原因: 此选项冗余。通过 image_property_quota 配置选项控制自定义镜像属性使用。这个选项计划在 Victoria 开发周期中删除。

api_limit_max = 1000

整数值

请求可返回的最大结果数。

limit_param_default 的帮助文本中所述,一些请求可能会返回多个结果。要返回的结果数量由请求中的 limit 参数或 limit_param_default 配置选项管理。在这两种情况下,的值都不能大于此配置选项定义的绝对最大值。大于这个值的任何内容都会舍入到此处定义的最大值。

注意

把它设置为非常大的值可能会减慢数据库查询并增加响应时间。把它设置为非常低的值可能会导致用户体验不佳。

可能的值:

  • 任何正整数

相关选项:

  • limit_param_default

daemon = False

布尔值

以守护进程形式运行 scrubber。

此布尔值配置选项指示清理网络是否应该作为长时间运行的进程运行,以定期唤醒清理镜像。可使用 wakeup_time 配置选项指定 wake up 间隔。

如果此配置选项设为 False (默认值),清理网络运行一次以清理镜像并退出。在这种情况下,如果操作器希望实施持续清理镜像,则需要将清理网络调度为 cron 作业。

可能的值:

  • True
  • False

相关选项:

  • wakeup_time

debug = False

布尔值

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

default_log_levels = ['amqp=WARN', 'amqplib=WARN', 'boto=WARN', 'qpid=WARN', 'sqlalchemy=WARN', 'suds=INFO', 'oslo.messaging=INFO', 'oslo_messaging=INFO', 'iso8601=WARN', 'requests.packages.urllib3.connectionpool=WARN', 'urllib3.connectionpool=WARN', 'websocket=WARN', 'requests.packages.urllib3.util.retry=WARN', 'urllib3.util.retry=WARN', 'keystonemiddleware=WARN', 'routes.middleware=WARN', 'stevedore=WARN', 'taskflow=WARN', 'keystoneauth=WARN', 'oslo.cache=INFO', 'oslo_policy=INFO', 'dogpile.core.dogpile=INFO']

列出值

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

delayed_delete = False

布尔值

打开/关闭延迟删除。

通常,当镜像被删除时,glance-api 服务会将镜像置于 已删除 状态,并同时删除其数据。延迟删除是 Glance 中的一项功能,可延迟实际删除镜像数据直到后续时间(根据配置选项 scrub_time决定)。打开延迟删除时,glance-api 服务会在删除时将镜像放入 pending_delete 状态,并将镜像数据保留在存储后端中,以便稍后删除。在成功删除镜像数据时,镜像清理 网络会将镜像移至已删除 状态。

注意

打开延迟删除时,镜像清理网络 MUST 将作为定期运行,以防止后端存储使用不必要的使用量。

可能的值:

  • True
  • False

相关选项:

  • scrub_time
  • wakeup_time
  • scrub_pool_size

digest_algorithm = sha256

字符串值

用于数字签名的摘要算法。

提供字符串值,代表用于生成数字签名的摘要算法。默认情况下使用 sha256

要获取平台上 OpenSSL 版本支持的可用算法列表,请运行命令: openssl list-message-digest-algorithms。示例是 sha1sha256sha512

注意

digest_algorithm 与 Glance 的镜像签名和验证无关。它仅用于将通用唯一标识符(UUID)作为证书文件验证的一部分签名。

可能的值:

  • OpenSSL 消息摘要算法标识符

关系选项:

  • None

enabled_import_methods = ['glance-direct', 'web-download', 'copy-image']

列出值

启用的镜像导入方法列表

'glance-direct', 'copy-image' and 'web-download' are enabled by default.
    Related options:
** [DEFAULT]/node_staging_uri

enforce_secure_rbac = False

布尔值

根据 OpenStack 中使用的常见用户角色定义强制实施 API 访问。启用此选项会规范特定于项目的读/写操作,如创建私有镜像或更新 成员 角色后共享镜像的状态。它还对特定于项目的 API 操作(如在项目中列出私有镜像)的只读变体被正式化(位于 reader 角色后面)。

Operator 应该有机会了解 glance 的新镜像策略,在其部署中进行审计分配,并使用 keystone 中的默认角色(如 admin成员reader)更新权限。

相关选项:

  • [oslo_policy]/enforce_new_defaults

弃用自: Wallaby

原因: 引入此选项的目的是要求操作员根据常见的 RBAC 用户角色选择强制实施授权,即 Wallaby 发行版的 EXPERIMENTAL。这个行为是将来的发行版本中的默认和 STABLE,允许删除这个选项。

fatal_deprecations = False

布尔值

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

hashing_algorithm = sha512

字符串值

用于计算 os_hash_value 属性的安全哈希算法。

此选项配置 Glance"multihash",它由两个镜像属性组成: os_hash_algoos_hash_valueos_hash_algo 将由此配置选项的值填充,在算法应用到上传或导入的镜像数据时,os_hash_value 将由 hexdigest 填充。

该值必须是由 python hashlib 库识别的有效安全哈希算法名称。您可以通过检查 Glance 安装中使用的库版本的 hashlib.algorithms_available 数据成员来确定它们。然而,为了实现互操作性,我们建议您使用由 hashlib.algorithms_guaranteed 数据成员提供的安全散列名称集,因为所有平台上的 hashlib 库都可以保证支持这些算法。因此,在本地使用 hashlib 的任何镜像使用者都应该能够验证镜像的 os_hash_value

sha512 的默认值是一个性能安全哈希算法。

如果此选项配置错误,则任何存储镜像数据的尝试都将失败。因此,我们建议使用默认值。

可能的值:

  • Python hashlib 库识别的任何安全哈希算法名称

相关选项:

  • None

image_location_quota = 10

整数值

镜像允许的最大位置数。

任何负值都解释为无限。

相关选项:

  • None

image_member_quota = 128

整数值

每个镜像的最大镜像成员数量。

这限制了镜像可以被共享的最大用户。任何负值都解释为无限。

相关选项:

  • None

image_property_quota = 128

整数值

镜像允许的最大属性数。

这对镜像可以具有的额外属性数量强制实施上限。任何负值都解释为无限。

注意

如果禁用附加属性,则这不会影响。请参阅 allow_additional_image_properties

相关选项:

  • allow_additional_image_properties

image_size_cap = 1099511627776

整数值

用户可以上传的镜像的最大大小(以字节为单位)。

镜像上传大于此处提到的大小,会导致镜像创建失败。此配置选项默认为 1099511627776 字节(1 TiB)。

备注:

  • 这个值只有在仔细考虑后才会增加,且必须设置小于或等于 8 EiB (9223372036854775808)。
  • 此值必须在仔细考虑后端存储容量时设置。把它设置为非常低的值可能会导致大量镜像失败。另外,将其设置为非常大的值可能会导致存储更快地消耗。因此,这必须根据所创建和存储容量的性质来设置。

可能的值:

  • 任何小于或等于 9223372036854775808 的正数

image_tag_quota = 128

整数值

镜像上允许的最大标签数。

任何负值都解释为无限。

相关选项:

  • None

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

字符串值

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

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

字符串值

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

limit_param_default = 25

整数值

返回请求的默认结果数。

对某些 API 请求(如列表镜像)的响应可能会返回多个项目。通过在 API 请求中指定 limit 参数,可以明确控制返回的结果数量。但是,如果没有指定 limit 参数,此配置值将用作任何 API 请求返回的默认结果数。

备注:

  • 此配置选项的值可能不大于 api_limit_max 指定的值。
  • 把它设置为非常大的值可能会减慢数据库查询并增加响应时间。把它设置为非常低的值可能会导致用户体验不佳。

可能的值:

  • 任何正整数

相关选项:

  • api_limit_max

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_logfile_count = 30

整数值

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

max_logfile_size_mb = 200

整数值

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

metadata_encryption_key = None

字符串值

用于加密存储位置元数据的 AES 密钥。

提供代表用于加密 Glance 存储元数据的 AES 密码的字符串值。

注意

要使用的 AES 密钥必须设置为长度为 16、24 或 32 字节的随机字符串。

可能的值:

  • 代表有效 AES 键的字符串值

相关选项:

  • None

node_staging_uri = file:///tmp/staging/

字符串值

URL 提供存储临时数据的位置

此选项仅供 Glance 内部使用。Glance 将在镜像导入过程中将用户上传的镜像数据保存到 暂存 端点。

此选项不会以任何方式更改 暂存 API 端点。

注意

不建议使用与 [task]/work_dir 相同的路径

注意

file://<absolute-directory-path > 是唯一支持 api_image_import 流的选项。

注意

暂存路径必须位于所有 Glance API 节点可用的共享文件系统上。

可能的值:

  • file:// 开头加绝对 FS 路径的字符串

相关选项:

  • [task]/work_dir

publish_errors = False

布尔值

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

pydev_worker_debug_host = None

主机地址值

pydev 服务器的主机地址。

提供字符串值,代表用于调试的 pydev 服务器的主机名或 IP。pydev 服务器侦听此地址上的调试连接,有助于在 Glance 中进行远程调试。

可能的值:

  • 有效主机名
  • 有效的 IP 地址

相关选项:

  • None

pydev_worker_debug_port = 5678

端口值

pydev 服务器将侦听的端口号。

提供将 pydev 服务器绑定到的端口号。pydev 进程接受此端口上的调试连接,并在 Glance 中实现远程调试。

可能的值:

  • 有效端口号

相关选项:

  • None

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

整数值

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

restore = None

字符串值

将镜像状态从 pending_delete 恢复到 active

当镜像被错误删除且 Glance 中启用了 pending delete 功能,管理员可利用此选项将镜像的状态从 pending_delete 重置为 active。请确保在恢复镜像前停止 glance-scrubber 守护进程,以避免镜像数据不一致。

可能的值:

  • 镜像的 uuid

scrub_pool_size = 1

整数值

用于清理镜像的线程池大小。

当需要清理大量镜像时,清理镜像会有助于并行清理镜像,以便清理队列可以保持控制,并且后端存储会及时回收。此配置选项表示并行清理的最大镜像数。默认值为 one,它表示串行清理。上述任何值都表示并行清理。

可能的值:

  • 任何非零正整数

相关选项:

  • delayed_delete

scrub_time = 0

整数值

延迟镜像清理的时间(以秒为单位)。

打开延迟删除后,镜像会在删除时放入 pending_delete 状态,直到清理网络删除其镜像数据。通常,在镜像放入 pending_delete 状态后,镜像可以被清理。但是,清理过程可能会延迟到之后使用这个配置选项。此选项表示镜像在可用于清理前处于 pending_delete 状态的时间段。

这一点很重要,这对存储有影响。scrub_time 越大,从已删除的镜像回收后端存储的时间越长。

可能的值:

  • 任何非负整数

相关选项:

  • delayed_delete

show_image_direct_url = False

布尔值

在返回镜像时显示直接镜像位置。

此配置选项指示在将镜像详情返回给用户时是否显示直接镜像位置。直接镜像位置是镜像数据存储在后端存储中。此镜像位置显示在 image 属性 direct_url 下。

当镜像存在多个镜像位置时,会根据配置选项 location_strategy 所示的位置显示最佳位置。

备注:

  • 显示镜像位置可能会显示 GRAVE SECURITY RISK,因为镜像位置有时可以包含凭证。因此,默认设置为 False。把它设置为 True,使用 EXTREME CAUTION,仅限 IF 您知道您的操作!
  • 如果操作员希望避免向用户显示任何镜像位置,则此选项和 show_multiple_locations 必须设为 False

可能的值:

  • True
  • False

相关选项:

  • show_multiple_locations
  • location_strategy

show_multiple_locations = False

布尔值

在返回镜像时显示所有镜像位置。

此配置选项指示在将镜像详细信息返回给用户时是否显示所有镜像位置。当镜像存在多个镜像位置时,位置会根据配置 opt location_strategy 所指示的位置策略进行排序。镜像位置显示在镜像属性 位置 下。

备注:

  • 显示镜像位置可能会显示 GRAVE SECURITY RISK,因为镜像位置有时可以包含凭证。因此,默认设置为 False。把它设置为 True,使用 EXTREME CAUTION,仅限 IF 您知道您的操作!
  • 如需更多信息,请参阅 https://wiki.openstack.org/wiki/OSSN/OSSN-0065
  • 如果操作员希望避免向用户显示任何镜像位置,则此选项和 show_image_direct_url 必须设为 False

可能的值:

  • True
  • False

相关选项:

  • show_image_direct_url
  • location_strategy

弃用自: Newton

*reason:*Use of this option (自 Newton 起已弃用)是一个安全风险,并在我们找出一个满足当前需要它的用例时删除。较早的公告,使用策略可以以更大的粒度来实现相同的功能。您目前无法通过策略配置来临时解决这个选项,但我们认为修复将采取方向。请留意 Glance 发行注记,以继续解决此问题。

syslog-log-facility = LOG_USER

字符串值

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

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,则忽略这个选项。

user_storage_quota = 0

字符串值

每个租户的最大镜像存储量。

这对所有存储中的所有租户使用的总存储实施上限。这是按租户的限制。

此配置选项的默认单位是字节。但是,可以使用区分大小写的文字 BKBMBGBTB 指定存储单元,分别代表 Bytes、KiloBytes、MegaBytes 和 TeraBytes。请注意,值和单元之间不应有任何空格。值 0 表示没有配额强制。负值无效,并导致错误。

可能的值:

  • 字符串是代表存储值的非负整数的有效连接,以及代表上述存储单元的可选字符串字面量。

相关选项:

  • None

wakeup_time = 300

整数值

清理网络在守护进程模式下运行的时间间隔(以秒为单位)。

scrubber 可以作为 cron 作业或守护进程运行。当作为守护进程运行时,此配置时间指定两个运行之间的时间段。当唤醒清理程序时,它会考虑 scrub_time,获取并清理所有可以被清理的 pending_delete 镜像。

如果唤醒时间时间设置为一个非常大的值,则每次运行时可能会清理大量镜像。另外,这会影响后端存储回收的速度。

可能的值:

  • 任何非负整数

相关选项:

  • daemon
  • delayed_delete

watch-log-file = False

布尔值

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

worker_self_reference_url = None

字符串值

此 worker 的 URL。

如果设置此项,其他 glance worker 将知道如何直接联系该工作者(如果需要)。对于镜像导入,单个 worker 阶段镜像和其他 worker 需要能够将导入请求代理到右侧。

如果未设置,则这被视为 public_endpoint,这通常会被设置为所有 worker 上的相同值,从而有效地禁用代理行为。

可能的值:

  • 此 worker 可以从其他 worker 访问的 URL

相关选项:

  • public_endpoint

3.2.2. database

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

Expand
表 3.26. 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

布尔值

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

use_tpool = False

布尔值

启用所有 DB API 调用的线程池的实验性使用

3.2.3. glance_store

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

Expand
表 3.27. glance_store
配置选项 = 默认值类型Description

cinder_api_insecure = False

布尔值

允许对 cinder 执行不安全的 SSL 请求。

如果此选项被设置为 True,则使用 cinder_ca_certificates_file 选项指定的 CA 证书文件验证 HTTPS 端点连接。

可能的值:

  • True
  • False

相关选项:

  • cinder_ca_certificates_file

cinder_ca_certificates_file = None

字符串值

用于 Cinder 客户端请求的 CA 证书文件的位置。

指定的 CA 证书文件(如果设置)用于通过 HTTPS 端点验证 Cinder 连接。如果端点是 HTTP,则忽略这个值。cinder_api_insecure 必须设置为 True 以启用验证。

可能的值:

  • ca 证书文件的路径

相关选项:

  • cinder_api_insecure

cinder_catalog_info = volumev3::publicURL

字符串值

在服务目录中查找 cinder 时匹配的信息。

如果没有设置 cinder_endpoint_template,并且任何 cinder_store_auth_address, cinder_store_user_name, cinder_store_project_name, cinder_store_password 没有设置,cinder 存储将使用此信息从当前上下文中的服务目录中查找 Cinder 端点。如果设置,将考虑 cinder_os_region_name 来获取适当的端点。

服务目录可以通过 openstack catalog list 命令列出。

可能的值:

  • 应指定以下形式的字符串: < service_type>:<service_name>:<interface > At least service_typeinterfaceservice_name 可以省略。

相关选项:

  • cinder_os_region_name
  • cinder_endpoint_template
  • cinder_store_auth_address
  • cinder_store_user_name
  • cinder_store_project_name
  • cinder_store_password

cinder_endpoint_template = None

字符串值

使用 cinder 端点的模板覆盖服务目录查找。

设置此选项时,这个值用于生成 cinder 端点,而不是从服务目录查找。如果指定了 cinder_store_auth_address,cinder_store_user_name,cinder_store_project_name, 和 cinder_store_password,则忽略这个值。

如果设置了此配置选项,则忽略 cinder_catalog_info

可能的值:

  • cinder 端点的 URL 模板字符串,其中 %%(tenant) 替换为当前的租户(项目)名称。例如: http://cinder.openstack.example.org/v2/%%(tenant)s

相关选项:

  • cinder_store_auth_address
  • cinder_store_user_name
  • cinder_store_project_name
  • cinder_store_password
  • cinder_catalog_info

cinder_enforce_multipath = False

布尔值

如果设置为 True,则当 multipathd 未运行时,镜像传输的卷附加将中止。否则,它将回退到单一路径。

可能的值:

  • True 或 False

相关选项:

  • cinder_use_multipath

cinder_http_retries = 3

整数值

失败 http 调用的 cinderclient 重试次数。

当调用被任何错误失败时,cinderclient 会在睡眠几秒钟后重试调用。

可能的值:

  • 一个正整数

相关选项:

  • None

cinder_mount_point_base = /var/lib/glance/mnt

字符串值

NFS 卷挂载在 glance 节点上的目录。

可能的值:

  • 代表挂载点的绝对路径的字符串。

cinder_os_region_name = None

字符串值

从服务目录查找 cinder 服务的区域名称。

这仅在使用 cinder_catalog_info 来确定端点时使用。如果设置,则此节点的 cinder 端点的查找将过滤到指定的区域。当目录中列出了多个区域时,它很有用。如果没有设置,则会从每个区域查找端点。

可能的值:

  • 是有效区域名称的字符串。

相关选项:

  • cinder_catalog_info

cinder_state_transition_timeout = 300

整数值

等待 cinder 卷转换完成的时间(以秒为单位)。

当创建、删除或附加到 glance 节点以读/写卷数据时,卷的状态将改变。例如,新创建的卷状态会在 创建 过程完成后变为 available。这将指定等待状态更改的最长时间。如果在等待时发生超时,或者状态更改为非预期的值(如 错误),则镜像创建会失败。

可能的值:

  • 一个正整数

相关选项:

  • None

cinder_store_auth_address = None

字符串值

cinder 身份验证服务正在侦听的地址。

当指定所有 cinder_store_auth_address,cinder_store_user_name,cinder_store_project_name, 和 cinder_store_password 选项时,指定的值始终用于身份验证。这有助于通过将镜像服务存储在特定于镜像服务的项目/租户中,从用户隐藏镜像卷。它还允许用户在 glance 的 ACL 控制下与其他项目共享镜像卷。

如果没有设置任何一个选项,则 cinder 端点会从服务目录中查找,并使用当前上下文的用户和项目。

可能的值:

  • 有效的身份验证服务地址,例如: http://openstack.example.org/identity/v2.0

相关选项:

  • cinder_store_user_name
  • cinder_store_password
  • cinder_store_project_name

cinder_store_password = None

字符串值

用于针对 Cinder 进行身份验证的用户密码。

这必须与以下所有相关选项一起使用。如果未指定其中任何一个,则使用当前上下文的用户。

可能的值:

  • cinder_store_user_name指定的用户的有效密码

相关选项:

  • cinder_store_auth_address
  • cinder_store_user_name
  • cinder_store_project_name

cinder_store_project_name = None

字符串值

镜像卷的项目名称存储在 cinder 中。

如果没有设置此配置选项,则使用当前上下文中的项目。

这必须与以下所有相关选项一起使用。如果未指定其中任何一个,则使用当前上下文的项目。

可能的值:

  • 有效项目名称

相关选项:

  • cinder_store_auth_address
  • cinder_store_user_name
  • cinder_store_password

cinder_store_user_name = None

字符串值

要针对 cinder 进行身份验证的用户名。

这必须与以下所有相关选项一起使用。如果未指定其中任何一个,则使用当前上下文的用户。

可能的值:

  • 有效的用户名

相关选项:

  • cinder_store_auth_address
  • cinder_store_password
  • cinder_store_project_name

cinder_use_multipath = False

布尔值

在部署中支持或不支持识别 mutipath 的标记。

如果不支持多路径,则将其设置为 False。

可能的值:

  • True 或 False

相关选项:

  • cinder_enforce_multipath

cinder_volume_type = None

字符串值

在 cinder 中用于创建卷的卷类型。

有些 Cinder 后端可以有几个卷类型来优化存储使用。添加此选项可让操作器在 cinder 中选择特定卷类型,该类型可以针对镜像进行了优化。

如果没有设置,则 cinder 配置中指定的默认卷类型将用于创建卷。

可能的值:

  • 来自 cinder 的有效卷类型

相关选项:

  • None
注意

您不能使用与 NFS 后端关联的加密 volume_type。当 glance_store 试图写入或访问存储在该卷中的镜像数据时,存储在 NFS 后端上的加密卷将引发异常。请参考 Cinder 管理员确定适当的 volume_type。

default_store = file

字符串值

用于存储镜像的默认方案。

提供代表用于存储镜像的默认方案的字符串值。如果没有设置,Glance 使用 file 作为默认方案来使用文件存储镜像。

注意

为这个配置选项提供的值必须是使用 stores 配置选项注册的存储的有效方案。

可能的值:

  • file
  • filesystem
  • http
  • https
  • swift
  • swift+http
  • swift+https
  • swift+config
  • rbd
  • cinder
  • vsphere
  • s3

相关选项:

  • 存储

弃用自: Rocky

reason: 这个选项根据新配置选项 ''default_backend'' 弃用,它的行为与 ''default_store'' 配置选项类似。

计划在 U 开发周期中移除此选项。

default_swift_reference = ref1

字符串值

引用默认 Swift 帐户/备份存储参数。

提供代表使用 swift 帐户/反馈存储所需默认参数集合的引用的字符串值。此配置选项的默认引用值为 ref1。此配置选项解引用参数,并有助于每次添加新镜像时 Swift 存储后端中的镜像存储。

可能的值:

  • 有效字符串值

相关选项:

  • None

filesystem_store_chunk_size = 65536

整数值

块大小,以字节为单位。

读取或写入镜像文件时使用的块大小。增加这个值可以提高吞吐量,但在处理大量请求时,它也可能会稍微增加内存用量。

可能的值:

  • 任何正整数值

相关选项:

  • None

filesystem_store_datadir = /var/lib/glance/images

字符串值

文件系统后端存储写入镜像的目录。

启动时,Glance 会创建该目录(如果不存在),并验证在其下运行 glance-api 的用户的写入访问权限。如果写入访问不可用,则引发 BadStoreConfiguration 异常,并且文件系统存储可能无法添加新镜像。

注意

此目录仅在将文件系统存储用作存储后端时使用。filesystem_store_datadirfilesystem_store_datadirs 选项必须在 glance-api.conf 中指定。如果指定了这两个选项,则会引发 BadStoreConfiguration,并且文件系统存储可能无法添加新镜像。

可能的值:

  • 到目录的有效路径

相关选项:

  • filesystem_store_datadirs
  • filesystem_store_file_perm

filesystem_store_datadirs = None

多值

文件系统后端存储写入镜像的目录及其优先级列表。

文件系统存储可以配置为将镜像存储在多个目录中,而不是使用由 filesystem_store_datadir 配置选项指定的单个目录。使用多个目录时,可以为每个目录赋予一个可选优先级,以指定应使用它们的首选项顺序。priority 是一个整数,它将与目录路径连接,冒号越高,代表优先级更高。当两个目录具有相同的优先级时,会使用具有最多可用空间的目录。如果没有指定优先级,则默认为零。

有关使用多个存储目录配置文件系统存储的更多信息,请参阅 https://docs.openstack.org/glance/latest/configuration/configuring.html

注意

此目录仅在将文件系统存储用作存储后端时使用。filesystem_store_datadirfilesystem_store_datadirs 选项必须在 glance-api.conf 中指定。如果指定了这两个选项,则会引发 BadStoreConfiguration,并且文件系统存储可能无法添加新镜像。

可能的值:

  • 以下格式的字符串列表:

    • <a valid directory path>:<optional integer priority>

相关选项:

  • filesystem_store_datadir
  • filesystem_store_file_perm

filesystem_store_file_perm = 0

整数值

镜像文件的文件访问权限。

为镜像数据设置预期的文件访问权限。这提供了一种方式,可以让其他服务(如 Nova)直接使用文件系统存储中的镜像。运行要被授予访问权限的服务的用户,可以成为拥有创建文件的组的成员。为这个配置选项分配一个小于或等于 0 的值表示没有对默认权限进行任何更改。这个值将被解码为八进制数。

如需更多信息,请参阅文档 https://docs.openstack.org/glance/latest/configuration/configuring.html

可能的值:

  • 有效的文件访问权限
  • 任何负整数

相关选项:

  • None

filesystem_store_metadata_file = None

字符串值

文件系统存储元数据文件。

包含与文件系统存储关联的任何位置返回元数据的文件路径。设置此选项后,它仅用于之后创建的新镜像 - 以前现有镜像不受影响。

该文件必须包含有效的 JSON 对象。该对象应包含键 idmountpoint。两个键的值都应该是一个字符串。

可能的值:

  • 存储元数据文件的有效路径

相关选项:

  • None

filesystem_thin_provisioning = False

布尔值

在这个后端中启用或不精简置备。

这个配置选项启用了在文件系统中没有真正写入 null 字节序列的功能,文件系统会自动解释为 null 字节,且不会实际消耗您的存储。启用此功能也会加快镜像上传速度,并节省后端中的空间,因为不会通过网络发送 null 字节序列。

可能的值:

  • True
  • False

相关选项:

  • None

http_proxy_information = {}

dict 值

用于连接到远程服务器的 http/https 代理信息。

这个配置选项指定应该用来连接到远程服务器的 http/https 代理信息。代理信息应该是方案和代理的键值对,如 http:10.0.0.1:3128。您还可以通过使用逗号分隔键值对(如 http:10.0.0.1:3128, https:10.0.0.1:1080)来指定多个方案的代理。

可能的值:

  • 如前文所述,以逗号分隔的 scheme:proxy 对列表

相关选项:

  • None

https_ca_certificates_file = None

字符串值

CA 捆绑包文件的路径。

此配置选项可让操作员使用自定义证书颁发机构文件来验证远程服务器证书。如果设置了这个选项,则忽略 https_insecure 选项,指定的 CA 文件将用于验证服务器证书并建立到服务器的安全连接。

可能的值:

  • CA 文件的有效路径

相关选项:

  • https_insecure

https_insecure = True

布尔值

设置远程服务器证书的验证。

此配置选项使用布尔值来确定是否验证远程服务器证书。如果设置为 True,则不会验证远程服务器证书。如果选项设为 False,则使用默认 CA 信任存储进行验证。

如果设置了 https_ca_certificates_file,则忽略这个选项。然后,使用 https_ca_certificates_file 选项指定的文件验证远程服务器证书。

可能的值:

  • True
  • False

相关选项:

  • https_ca_certificates_file

rados_connect_timeout = 0

整数值

连接到 Ceph 集群的超时值。

此配置选项在连接到 Ceph 集群时所用的超时值(以秒为单位)。它会设置在关闭连接前等待 glance-api 的时间。这可防止在连接到 RBD 时出现 glance-api 挂起。如果此选项的值设为小于或等于 0,则不设置超时,并且使用默认的 librados 值。

可能的值:

  • 任何整数值

相关选项:

  • None

`rbd_store_ceph_conf = `

字符串值

Ceph 配置文件路径.

此配置选项指定要使用的 Ceph 配置文件的路径。如果此选项的值未由用户设置或设置为空字符串,librados 将按顺序搜索默认的 Ceph 配置文件位置来读取标准 ceph.conf 文件。详情请参阅 Ceph 文档。

注意

如果使用 Cephx 身份验证,此文件应该在 client.<USER> 部分中包含对正确密钥环的引用

注意 2:如果您将此选项留空(默认),使用的实际 Ceph 配置文件可能会根据使用 librados 的版本而有所不同。如果您知道哪个配置文件生效非常重要,您可以在此处使用这个选项指定该文件。

可能的值:

  • 配置文件的有效路径

相关选项:

  • rbd_store_user

rbd_store_chunk_size = 8

整数值

大小(以 MB 为单位)将 RADOS 镜像块到其中。

提供代表 Glance 镜像的大小(以 MB 为单位)的整数值。默认块大小为 8MB。为获得最佳性能,该值应该是 2 的指数。

当 Ceph 的 RBD 对象存储系统用作存储 Glance 镜像的存储后端时,镜像将使用此选项集中到设置的大小的对象中。然后,这些块的对象存储在用于 Glance 的分布式块数据存储中。

可能的值:

  • 任何正整数值

相关选项:

  • None

rbd_store_pool = images

字符串值

存储镜像的 RADOS 池。

当 RBD 用作存储 Glance 镜像的存储后端时,镜像通过将对象(镜像区块)的逻辑分组存储到 池中。每个池使用它可以包含的放置组数量来定义。使用的默认池是 images

有关 RBD 存储后端的更多信息,请参阅 :http://ceph.com/planet/how-data-is-stored-in-ceph-cluster/

可能的值:

  • 有效池名称

相关选项:

  • None

rbd_store_user = None

字符串值

RADOS 用户以以下身份进行身份验证:

此配置选项在 RADOS 用户进行身份验证,以如下方式进行身份验证:这仅在启用 RADOS 身份验证时且仅在用户使用 Cephx 身份验证时才需要。如果此选项的值未由用户设置或设置为 None,则会选择一个默认值,该值将基于 rbd_store_ceph_conf 中的 client. 部分。

可能的值:

  • 有效的 RADOS 用户

相关选项:

  • rbd_store_ceph_conf

rbd_thin_provisioning = False

布尔值

在这个后端中启用或不精简置备。

此配置选项允许在 RBD 后端上实际写入 null 字节序列的功能,Ceph 将自动显示的漏洞被 Ceph 解释为 null 字节,且不会实际消耗您的存储。启用此功能也会加快镜像上传速度,并节省后端中的空间,因为不会通过网络发送 null 字节序列。

可能的值:

  • True
  • False

相关选项:

  • None

rootwrap_config = /etc/glance/rootwrap.conf

字符串值

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

cinder 存储需要 root 特权才能运行镜像卷(用于连接 iSCSI/FC 卷并读取/写入卷数据等)。配置文件应允许 cinder 存储和 os-brick 库所需的命令。

可能的值:

  • rootwrap 配置文件的路径

相关选项:

  • None

s3_store_access_key = None

字符串值

S3 查询令牌访问密钥。

此配置选项使用访问密钥来与 Amazon S3 或 S3 兼容存储服务器进行身份验证。使用 S3 存储后端时需要这个选项。

可能的值:

  • 任何字符串值,这是具有适当特权的用户的访问密钥

相关选项:

  • s3_store_host
  • s3_store_secret_key

s3_store_bucket = None

字符串值

用于存储 Glance 数据的 S3 存储桶。

此配置选项指定 glance 镜像存储在 S3 中的位置。如果 s3_store_create_bucket_on_put 设为 true,它将自动创建,即使存储桶不存在。

可能的值:

  • 任何字符串值

相关选项:

  • s3_store_create_bucket_on_put
  • s3_store_bucket_url_format

s3_store_bucket_url_format = auto

字符串值

用于确定对象的 S3 调用格式。

此配置选项使用访问模型,用于在 S3 存储桶中指定对象地址。

注意:在 路径- 样式中,对象的端点类似于 https://s3.amazonaws.com/bucket/example.img在虚拟- 样式中,对象的端点类似于 https://bucket.s3.amazonaws.com/example.img。如果您没有在存储桶名称中遵循 DNS 命名惯例,您可以使用路径风格获取对象,但不能以虚拟样式获取对象。

可能的值:

  • auto虚拟path的任何字符串值

相关选项:

  • s3_store_bucket

s3_store_create_bucket_on_put = False

布尔值

确定 S3 是否应该创建新存储桶。

此配置选项使用布尔值来指示 Glance 是否应该向 S3 创建新存储桶(如果不存在)。

可能的值:

  • 任何布尔值

相关选项:

  • None

s3_store_host = None

字符串值

S3 服务器侦听的主机。

此配置选项设置 S3 或 S3 兼容存储服务器的主机。使用 S3 存储后端时需要这个选项。主机可以包含 DNS 名称(如 s3.amazonaws.com、my-object-storage.com)或 IP 地址(127.0.0.1)。

可能的值:

  • 有效的 DNS 名称
  • 有效的 IPv4 地址

相关选项:

  • s3_store_access_key
  • s3_store_secret_key

s3_store_large_object_chunk_size = 10

整数值

在上传部分时,S3 应该使用什么多部分上传部分大小(以 MB 为单位)。

这个配置选项使用镜像分割大小(以 MB 为单位)进行多部分上传。

注意:您只能分成 10,000 个镜像。

可能的值:

  • 任何正整数值(必须大于或等于 5M)

相关选项:

  • s3_store_large_object_size
  • s3_store_thread_pools

s3_store_large_object_size = 100

整数值

S3 启动镜像文件的大小应该以 MB 为单位,并在 S3 中进行多部分上传。

此配置选项采用以 MB 为单位的阈值,以确定是否将镜像上传到 S3,还是将其分割(多部分上传)。

注意:您只能分成 10,000 个镜像。

可能的值:

  • 任何正整数值

相关选项:

  • s3_store_large_object_chunk_size
  • s3_store_thread_pools

s3_store_secret_key = None

字符串值

S3 查询令牌 secret 密钥。

此配置选项使用 secret 密钥来与 Amazon S3 或 S3 兼容存储服务器进行身份验证。使用 S3 存储后端时需要这个选项。

可能的值:

  • 任何字符串值,它是与使用 s3_store_host 选项指定的访问密钥对应的 secret 键

相关选项:

  • s3_store_host
  • s3_store_access_key

s3_store_thread_pools = 10

整数值

在 S3 中执行多部分上传的线程池数量。

此配置选项在执行多部分上传时取线程池的数量。

可能的值:

  • 任何正整数值

相关选项:

  • s3_store_large_object_size
  • s3_store_large_object_chunk_size

stores = ['file', 'http']

列表值

启用 Glance 存储的列表。

注册存储后端,以逗号分隔列表的形式用于存储磁盘镜像。为使用 Glance 存储磁盘镜像而启用的默认存储是 filehttp

可能的值:

  • 一个以逗号分隔的列表,其中包括:

    • file
    • http
    • swift
    • rbd
    • cinder
    • vmware
    • s3

相关选项:

  • default_store

弃用自: Rocky

reason: 这个选项根据新配置选项 ''enabled_backends'' 弃用,这有助于配置不同方案的多个后端存储。

计划在 U 开发周期中移除此选项。

swift_buffer_on_upload = False

布尔值

上传到 Swift 前缓冲区镜像段。

提供布尔值,以指示 Glance 是否应该在上传到 swift 时将镜像数据缓冲到磁盘。这可让 Glance 恢复出错时上传。

注意:当启用这个选项时,应该非常小心,因为这会增加 API 节点上的磁盘用量。请注意,根据文件系统的配置方式,用于缓冲的磁盘空间可能会减少 glance 镜像缓存可用的实际磁盘空间。磁盘利用率将根据以下等情况设置:(swift_store_large_object_chunk_size * workers * 1000)

可能的值:

  • True
  • False

相关选项:

  • swift_upload_buffer_dir

swift_store_admin_tenants = []

列表值

将被授予 admin 访问权限的租户列表。

这是租户列表,将在多租户模式下授予 Glance 创建的所有 Swift 容器的读取/写入访问权限。默认值为空列表。

可能的值:

  • 以逗号分隔的字符串列表,代表 Keystone 项目/租户的 UUID

相关选项:

  • None

swift_store_auth_address = None

字符串值

Swift 身份验证服务侦听的端口。

swift_store_auth_insecure = False

布尔值

设置服务器证书验证。

此布尔值决定了是否验证服务器证书。如果此选项设置为 True,则 swiftclient 在验证时不会检查有效的 SSL 证书。如果选项设为 False,则使用默认 CA 信任存储进行验证。

可能的值:

  • True
  • False

相关选项:

  • swift_store_cacert

swift_store_auth_version = 2

字符串值

要使用的身份验证服务的版本。对于 keystone 有效版本是 2 和 3,对于 swauth 和 rackspace 为 1(已弃用) 。

swift_store_cacert = None

字符串值

CA 捆绑包文件的路径。

此配置选项可让操作员指定自定义证书颁发机构文件的路径,以便在连接到 Swift 时进行 SSL 验证。

可能的值:

  • CA 文件的有效路径

相关选项:

  • swift_store_auth_insecure

swift_store_config_file = None

字符串值

包含 swift 帐户配置的文件的绝对路径。

包括一个字符串值,代表配置文件的路径,该文件对配置的每个 Swift 帐户/反馈存储的引用。默认情况下,未指定文件路径,并且禁用自定义 Swift 引用。强烈建议配置这个选项,同时将 Swift 存储后端用于镜像存储,因为它避免存储数据库中的凭证。

注意

如果将 swift_store_multi_tenant 设为 True,请不要配置此选项。

可能的值:

  • 代表 glance-api 节点上的绝对路径的字符串值

相关选项:

  • swift_store_multi_tenant

swift_store_container = glance

字符串值

用于存储多个容器的 images/name 前缀的单一容器名称

当单个容器用于存储镜像时,此配置选项将指示 Glance 帐户内用于存储所有镜像的容器。当使用多个容器来存储镜像时,这将是所有容器的名称前缀。可以使用配置选项 swift_store_multiple_containers_seed 来控制单/multiple 容器的使用。

使用多个容器时,容器将通过为此配置选项设置的值命名,并将镜像 UUID 的第一个 N chars 指定为以下划线分隔的后缀(其中 N 由 swift_store_multiple_containers_seed指定)。

示例:如果 seed 设为 3,swift_store_container = glance,则带有 UUID fdae39a1-bac5-4238-aba4-69bcc726e848 的一个镜像将被放入容器 glance_fda。在创建容器名称时包括在 UUID 中的横线不会计算在字符长度的限制中,因此,当 N= 10 时,容器名称可以为 glance_fdae39a1-ba.

可能的值:

  • 如果使用单个容器,此配置选项可以是 Glance Swift 帐户中有效 swift 容器名称的任何字符串
  • 如果使用多个容器,此配置选项可以是任何字符串,只要它满足 Swift 强制执行的容器命名规则。swift_store_multiple_containers_seed 的值也应该考虑。

相关选项:

  • swift_store_multiple_containers_seed
  • swift_store_multi_tenant
  • swift_store_create_container_on_put

swift_store_create_container_on_put = False

布尔值

上传镜像时,创建容器(如果不存在)。

在上传镜像时,如果对应的容器不存在,则会创建它,因为此配置选项被设置为 True。默认情况下,不会创建它。这个行为适用于单一和多个容器模式。

可能的值:

  • True
  • False

相关选项:

  • None

swift_store_endpoint = None

字符串值

用于 Swift 后端存储的 URL 端点。

提供代表在 Swift 存储中存储的 Glance 镜像的 URL 端点的字符串值。默认情况下,不会设置端点,并使用 auth 返回的存储 URL。使用 swift_store_endpoint 设置端点会覆盖存储 URL,并用于 Glance 镜像存储。

注意

URL 应该包括到的路径,但不包括容器。对象的位置通过将容器和对象附加到配置的 URL 来获取。

可能的值:

  • 代表到 Swift 容器的有效 URL 路径的字符串值

相关选项:

  • None

swift_store_endpoint_type = publicURL

字符串值

Swift 服务的端点类型。

此字符串值表示用于获取 Swift 端点的端点类型。端点类型决定了用户被允许执行的操作,例如,读取和写入存储。只有在 swift_store_auth_version 大于 1 时才会使用此设置。

可能的值:

  • publicURL
  • adminURL
  • internalURL

相关选项:

  • swift_store_endpoint

swift_store_expire_soon_interval = 60

整数值

定义在当前令牌到期前可以请求新令牌的窗口大小的时间(以秒为单位)。

通常,Swift 存储驱动程序会在当前令牌过期时获取新令牌,以确保继续访问 Swift。但是,如果令牌实时过期,一些 Swift 事务(如上传镜像段)可能无法正常恢复。

因此,通过在当前令牌过期前获取新令牌,请确保令牌不会在尝试事务前过期或接近到期。默认情况下,Swift 存储驱动程序请求新令牌 60 秒或少于当前令牌过期前的请求。

可能的值:

  • 正整数值

相关选项:

  • None

swift_store_key = None

字符串值

用于针对 Swift 身份验证服务进行身份验证的验证密钥。

swift_store_large_object_chunk_size = 200

整数值

镜像数据时段的最大大小(以 MB 为单位)。

当镜像数据被分割为上传大于 Swift 集群实施的限制的镜像时,镜像数据被分成不同的片段,它们的大小不大于该配置选项指定的大小。如需了解更多详细信息,请参阅 swift_store_large_object_size

例如:如果 swift_store_large_object_size 为 5GB,而 swift_store_large_object_chunk_size 为 1GB,则大小为 6.2GB 的镜像将被分为 7 段,前 6 个段的大小为 1GB,第七个段的大小为 0.2GB。

可能的值:

  • 一个正整数,它小于或等于 Swift 集群强制的大型对象限制。

相关选项:

  • swift_store_large_object_size

swift_store_large_object_size = 5120

整数值

大小阈值(以 MB 为单位)之后,Glance 将开始分段镜像数据。

Swift 对单个上传对象的大小具有上限。默认情况下,这是 5GB。要上传大于这个限制的对象,对象被分成多个与清单文件绑定的较小的对象。如需更多详情,请参阅 https://docs.openstack.org/swift/latest/overview_large_objects.html

此配置选项指定 Swift 驱动程序开始将镜像数据段到多个更小文件的大小阈值。目前,Swift 驱动程序只支持创建动态大对象。

注意

这应该通过考虑 Swift 集群强制的大型对象限制来设置。

可能的值:

  • 一个正整数,它小于或等于 Swift 集群强制的大型对象限制。

相关选项:

  • swift_store_large_object_chunk_size

swift_store_multi_tenant = False

布尔值

将镜像存储在租户的 Swift 帐户中。

这将启用多租户存储模式,使 Glance 镜像存储在租户特定 Swift 帐户中。如果禁用,Glance 会将所有镜像存储在自己的帐户中。有关多租户存储的详情,请参考 https://wiki.openstack.org/wiki/GlanceSwiftTenantSpecificStorage

注意

如果使用多租户 swift 存储,请确保不要使用 swift_store_config_file 选项设置 swift 配置文件。

可能的值:

  • True
  • False

相关选项:

  • swift_store_config_file

swift_store_multiple_containers_seed = 0

整数值

指出用于存储镜像的容器数量。

在使用单租户存储时,镜像可以存储在一个或多个容器中。当设置为 0 时,所有镜像将存储在一个容器中。当设置为 1 到 32 之间的整数值时,将使用多个容器来存储镜像。此配置选项将确定创建多少个容器。使用的容器总数等于 16^N,因此如果该配置选项设为 2,则使用 16^2=256 容器来存储镜像。

有关命名规则的详情,请参阅 swift_store_container。有关使用多个容器的详情,请参考 https://specs.openstack.org/openstack/glance-specs/specs/kilo/swift-store-multiple-containers.html

注意

这仅在禁用 swift_store_multi_tenant 时使用。

可能的值:

  • 小于或等于 32 的非负整数

相关选项:

  • swift_store_container
  • swift_store_multi_tenant
  • swift_store_create_container_on_put

swift_store_region = None

字符串值

Glance 使用的 Swift 端点区域。

提供代表 Swift 区域的字符串值,其中 Glance 可以连接到该区域进行镜像存储。默认情况下,没有设置区域。

当 Glance 使用 Swift 作为存储后端存储具有多个端点的特定租户的镜像时,使用 swift_store_region 设置 Swift 区域将允许 Glance 连接到指定区域中的 Swift,而不是单一区域连接。

可以为单租户和多租户存储配置此选项。

注意

使用 swift_store_region 设置区域是特定于租户的,只有在 租户在不同区域上有多个端点时才需要。

可能的值:

  • 代表有效 Swift 区域的字符串值。

相关选项:

  • None

swift_store_retry_get_count = 0

整数值

在请求失败前,将重试 Swift 下载的次数。

提供一个整数值,代表镜像下载的次数,然后才能出错。默认值为 0 (在失败的镜像下载时不重试)。当设置为正整数值时,swift_store_retry_get_count 确保在发送错误消息前下载失败时尝试多次下载。

可能的值:

  • 正整数值

相关选项:

  • None

swift_store_service_type = object-store

字符串值

要使用的 Swift 服务类型。

提供代表在使用 Swift 后端存储期间存储镜像的服务类型的字符串值。默认服务类型设置为 object-store

注意

如果 swift_store_auth_version 设为 2,则此配置选项的值需要是 object-store。如果使用较新版本的 Keystone 或不同的身份验证方案,则可以修改此选项。

可能的值:

  • 代表 Swift 存储的有效服务类型的字符串。

相关选项:

  • None

swift_store_ssl_compression = True

布尔值

HTTPS Swift 请求的 SSL 层压缩。

提供布尔值,以确定是否压缩 SSL 层上镜像的 HTTPS Swift 请求。默认情况下启用压缩。

当使用 Swift 作为 Glance 镜像存储的后端存储时,可以使用此选项设置 HTTPS Swift 请求的 SSL 层压缩。如果设置为 False,则禁用 HTTPS Swift 请求的 SSL 层压缩。禁用这个选项可能会提高已压缩格式的镜像的性能,如 qcow2。

可能的值:

  • True
  • False

相关选项:

  • None

swift_store_use_trusts = True

布尔值

对多租户 Swift 存储使用 trusts。

此选项指示 Swift 存储在使用多租户存储时为每个 add/get 请求创建一个信任。使用信任允许 Swift 存储避免在上传或下载数据期间由身份验证令牌过期的问题。

默认情况下,swift_store_use_trusts 被设置为 True(启用使用信任)。如果设置为 False,则用户令牌用于 Swift 连接,从而消除了创建信任的开销。

注意

只有在 swift_store_multi_tenant 被设置为 True时,才会考虑此选项

可能的值:

  • True
  • False

相关选项:

  • swift_store_multi_tenant

swift_store_user = None

字符串值

对 Swift 身份验证服务进行身份验证的用户。

swift_upload_buffer_dir = None

字符串值

上传到 Swift 前用于缓冲镜像片段的目录。

提供一个字符串值,代表 glance 节点上目录的绝对路径,在镜像片段上传到 swift 之前会短暂缓冲镜像段。

备注:

  • 这只有在配置选项 swift_buffer_on_upload 设置为 True 时才需要。
  • 应置备此目录,请记住 swift_store_large_object_chunk_size 以及给定 glance 节点可以同时上传的最大镜像数。

可能的值:

  • 代表绝对路径的字符串值

相关选项:

  • swift_buffer_on_upload
  • swift_store_large_object_chunk_size

vmware_api_retry_count = 10

整数值

VMware API 重试次数。

此配置选项指定连接相关问题或服务器 API 调用过载时必须重试 VMware ESX/VC 服务器 API 的次数。无法指定 retry forever

可能的值:

  • 任何正整数值

相关选项:

  • None

vmware_ca_file = None

字符串值

CA 捆绑包文件的绝对路径。

此配置选项可让操作员使用自定义 Cerificate 授权机构文件来验证 ESX/vCenter 证书。

如果设置了这个选项,则忽略 "vmware_insecure" 选项,指定的 CA 文件将用于验证 ESX/vCenter 服务器证书,并建立与服务器的安全连接。

可能的值:

  • 任何是 CA 文件的有效绝对路径的字符串

相关选项:

  • vmware_insecure

vmware_datastores = None

多值

用于存储镜像的数据存储。

此配置选项指定镜像存储在 VMWare 存储后端中的数据存储。这个选项可多次指定,以指定多个数据存储。数据存储名称应在其数据中心路径后指定,用 ":" 分隔。可以在数据存储名称后赋予可选权重,再次通过":" 分隔来指定优先级。因此,所需格式将变为 <datacenter_path>:<datastore_name>:<optional_weight>。

在添加镜像时,会选择权重最高的数据存储,除非已知镜像大小时没有足够的可用空间。如果未指定权重,则假定为 0,目录将被视为最后选择。如果多个数据存储具有相同的权重,则会选择一个带有最多可用空间的权重。

可能的值:

  • 任何格式的字符串: <datacenter_path>:<datastore_name>:<optional_weight>

相关选项:* None

vmware_insecure = False

布尔值

设置 ESX/vCenter 服务器证书验证。

此配置选项使用布尔值来确定是否验证 ESX/vCenter 服务器证书。如果此选项设为 True,则不会验证 ESX/vCenter 服务器证书。如果此选项设置为 False,则使用默认 CA 信任存储进行验证。

如果设置了 "vmware_ca_file" 选项,则忽略这个选项。在这种情况下,将使用使用"vmware_ca_file"选项指定的文件来验证 ESX/vCenter 服务器证书。

可能的值:

  • True
  • False

相关选项:

  • vmware_ca_file

vmware_server_host = None

主机地址值

ESX/ESXi 或 vCenter Server 目标系统的地址。

此配置选项设置 ESX/ESXi 或 vCenter Server 目标系统的地址。使用 VMware 存储后端时需要这个选项。地址可以包含 IP 地址(127.0.0.1)或 DNS 名称(www.my-domain.com)。

可能的值:

  • 有效的 IPv4 或 IPv6 地址
  • 有效的 DNS 名称

相关选项:

  • vmware_server_username
  • vmware_server_password

vmware_server_password = None

字符串值

服务器密码。

此配置选项使用密码通过 VMware ESX/ESXi 或 vCenter 服务器进行身份验证。使用 VMware 存储后端时需要这个选项。

可能的值:

  • 任何字符串,与使用 "vmware_server_username" 选项指定的用户名对应的密码

相关选项:

  • vmware_server_host
  • vmware_server_username

vmware_server_username = None

字符串值

服务器用户名.

此配置选项使用用户名来通过 VMware ESX/ESXi 或 vCenter 服务器进行身份验证。使用 VMware 存储后端时需要这个选项。

可能的值:

  • 任何字符串,这是具有适当权限的用户的用户名

相关选项:

  • vmware_server_host
  • vmware_server_password

vmware_store_image_dir = /openstack_glance

字符串值

glance 镜像要存储在数据存储中的目录。

此配置选项指定 glance 镜像存储在 VMware 数据存储中的目录的路径。如果没有设置这个选项,则存储 glance 镜像的默认目录为 openstack_glance。

可能的值:

  • 任何是到目录的有效路径的字符串

相关选项:

  • None

vmware_task_poll_interval = 5

整数值

用于轮询在 VMware ESX/VC 服务器上调用的远程任务的间隔(以秒为单位)。

此配置选项需要休眠时间(以秒为单位)轮询 on-going async 任务,作为 VMWare ESX/VC 服务器 API 调用的一部分。

可能的值:

  • 任何正整数值

相关选项:

  • None

3.2.4. oslo_concurrency

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

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

disable_process_locking = False

布尔值

启用或禁用进程间锁定。

lock_path = None

字符串值

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

3.2.5. oslo_policy

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

Expand
表 3.29. 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.yaml

字符串值

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

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 的策略检查的服务器身份验证

3.3. glance-cache.conf

本节包含 /etc/glance/glance-cache.conf 文件的选项。

3.3.1. DEFAULT

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

.

Expand
配置选项 = 默认值类型Description

allow_additional_image_properties = True

布尔值

允许用户为镜像添加额外的/自定义属性。

Glance 定义在每个镜像上显示的标准属性集合(在其架构中)。这些属性也称为基本属性。除了这些属性,Glance 允许用户向镜像添加自定义属性。它们被称为 附加属性

默认情况下,此配置选项被设置为 True,允许用户添加额外的属性。可以通过 image_property_quota 配置选项控制可添加到镜像中的额外属性数量。

可能的值:

  • True
  • False

相关选项:

  • image_property_quota

弃用自:U ssuri

reason: 这个选项是多余的。通过 image_property_quota 配置选项控制自定义镜像属性的使用。这个选项计划在 Victoria 开发周期中删除。

api_limit_max = 1000

整数值

请求可以返回的最大结果数。

limit_param_default 的帮助文本中所述,一些请求可能会返回多个结果。要返回的结果数量取决于请求中的 limit 参数或 limit_param_default 配置选项。两个情况下的值都不能大于该配置选项定义的绝对最大值。任何大于这个值的都会修剪到此处定义的最大值。

注意

把它设置为非常大的值可能会减慢数据库查询并增加响应时间。把它设置为非常低的值可能会导致用户体验不佳。

可能的值:

  • 任何正整数

相关选项:

  • limit_param_default

debug = False

布尔值

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

default_log_levels = ['amqp=WARN', 'amqplib=WARN', 'boto=WARN', 'qpid=WARN', 'sqlalchemy=WARN', 'suds=INFO', 'oslo.messaging=INFO', 'oslo_messaging=INFO', 'iso8601=WARN', 'requests.packages.urllib3.connectionpool=WARN', 'urllib3.connectionpool=WARN', 'websocket=WARN', 'requests.packages.urllib3.util.retry=WARN', 'urllib3.util.retry=WARN', 'keystonemiddleware=WARN', 'routes.middleware=WARN', 'stevedore=WARN', 'taskflow=WARN', 'keystoneauth=WARN', 'oslo.cache=INFO', 'oslo_policy=INFO', 'dogpile.core.dogpile=INFO']

列表值

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

digest_algorithm = sha256

字符串值

用于数字签名的摘要算法。

提供代表用于生成数字签名的摘要算法的字符串值。默认情况下使用 sha256

要获得您的平台上 OpenSSL 版本支持的可用算法列表,请运行以下命令: openssl list-message-digest-algorithms。示例是 sha1sha256sha512

注意

digest_algorithm 与 Glance 的镜像签名和验证无关。它仅用于签署通用唯一标识符(UUID),作为证书文件和密钥文件验证的一部分。

可能的值:

  • OpenSSL 消息摘要算法标识符

关系选项:

  • None

enabled_import_methods = ['glance-direct', 'web-download', 'copy-image']

列表值

启用的镜像导入方法列表

'glance-direct', 'copy-image' and 'web-download' are enabled by default.
    Related options:
** [DEFAULT]/node_staging_uri

enforce_secure_rbac = False

布尔值

根据 OpenStack 中使用的常见用户角色定义,实施 API 访问。启用此选项规范化特定于项目的读/写操作,如创建私有镜像或更新 member 角色后共享镜像的状态。它还规范了一个可用于特定于项目的 API 操作的只读变体,如在 reader 角色后列出项目中的私有镜像。

Operator 应该有机会了解 glance 的新镜像策略,在其部署中审核分配,并使用 keystone 中的默认角色(如 adminmemberreader)更新权限。

相关选项:

  • [oslo_policy]/enforce_new_defaults

弃用自: Wallaby

原因: 已经引进了此选项,要求操作员根据常见的 RBAC 用户角色选择强制授权,这是 Wallaby 发行版本的 EXPERIMENTAL。此行为将是未来的版本中的默认设置和 STABLE,允许删除这个选项。

fatal_deprecations = False

布尔值

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

hashing_algorithm = sha512

字符串值

用于计算 os_hash_value 属性的安全哈希算法。

此选项配置 Glance"multihash",它由两个镜像属性组成: os_hash_algoos_hash_valueos_hash_algo 将由此配置选项的值填充,当算法应用到上传或导入的镜像数据时,os_hash_value 将由 hexdigest 填充。

该值必须是 python hashlib 库识别的有效安全哈希算法名称。您可以通过检查 Glance 安装中使用的库的 hashlib.algorithms_available 数据成员来确定这些内容。然而,为了实现互操作性,我们建议您使用由 hashlib.algorithms_guaranteed 数据成员提供的安全散列名称集,因为所有平台上的 hashlib 库都可以保证支持这些算法。因此,在本地使用 hashlib 的任何镜像消费者都应能够验证镜像的 os_hash_value

sha512 的默认值是一个性能安全哈希算法。

如果此选项配置不正确,任何尝试存储镜像数据都将失败。因此,我们建议使用默认值。

可能的值:

  • Python hashlib 库识别的任何安全哈希算法名称

相关选项:

  • None

image_cache_dir = None

字符串值

镜像缓存的基础目录。

这是缓存镜像数据的位置,并从其中提供。所有缓存的镜像都直接存储在这个目录中。此目录还包含三个子目录,即 不完整无效 和队列

incomplete 子目录是下载镜像的暂存区域。镜像首次下载到此目录。当镜像下载成功时,它会移到基础目录。但是,如果下载失败,部分下载的镜像文件将移到 无效的 子目录中。

queue'subdirectory 用于排队镜像以进行下载。这主要由 cache-prefetcher 使用,它可以作为定期任务调度,如 cache-pruner 和 cache-cleaner,以在使用前缓存镜像。在收到缓存镜像的请求后,Glance 将把文件放置在 'queue 目录中,其镜像 ID 为文件名。cache-prefetcher 在运行时,轮询 队列 目录中的文件,并按照创建的顺序开始下载它们。下载成功后,从 队列 目录中删除零化文件。如果下载失败,则零化文件会保留,并将在下次运行 cache-prefetcher 时重试。

可能的值:

  • 有效路径

相关选项:

  • image_cache_sqlite_db

image_cache_driver = sqlite

字符串值

用于镜像缓存管理的驱动程序。

此配置选项提供在不同镜像缓存驱动程序之间进行选择的灵活性。image-cache 驱动程序负责提供 image-cache 的基本功能,如从缓存写入/读取镜像,跟踪缓存镜像的年龄和使用,提供缓存镜像列表、缓存获取大小、用于缓存和清理缓存等。

驱动程序的基本功能在基本类 glance.image_cache.drivers.base.Driver 中定义。所有镜像缓存驱动程序(现有驱动程序和潜在版本)都必须实现这个接口。目前可用的驱动程序有 sqlitexattr。这些驱动程序主要有所不同,它们存储缓存镜像的信息:

  • sqlite 驱动程序使用 sqlite 数据库(位于本地每个 glance 节点上)来跟踪缓存镜像的使用。
  • xattr 驱动程序使用文件的扩展属性来存储此信息。它还需要一个在访问时对文件设置 atime 的文件系统。

可能的值:

  • SQLite
  • xattr

相关选项:

  • None

image_cache_max_size = 10737418240

整数值

缓存大小上限(以字节为单位),这会清理镜像缓存。

注意

这只是 cache-pruner 操作的阈值。它不是镜像缓存永远不会增长的硬限制。实际上,根据 cache-pruner 的运行频率以及缓存填满的速度,镜像缓存不能超过此处指定的大小。因此,必须小心才能适当地调度 cache-pruner 并设定这个限制。

Glance 在下载镜像时缓存镜像。因此,随着下载数量增加,镜像缓存的大小会随时间而增长。要将缓存大小保持不管理,建议将 cache-pruner 作为定期任务运行。当缓存修剪器启动时,它会比较镜像缓存的当前大小,并在镜像缓存超过此处指定的大小时触发清理。清理后,缓存的大小应小于或等于此处指定的大小。

可能的值:

  • 任何非负整数

相关选项:

  • None

image_cache_sqlite_db = cache.db

字符串值

用于镜像缓存管理的 sqlite 文件数据库的相对路径。

这是到 sqlite 文件数据库的相对路径,用于跟踪镜像缓存的年龄和使用统计信息。该路径相对于镜像缓存基础目录,由配置选项 image_cache_dir 指定。

这是一个轻量级数据库,只有一个表。

可能的值:

  • 到 sqlite 文件数据库的有效相对路径

相关选项:

  • image_cache_dir

image_cache_stall_time = 86400

整数值

不完整的镜像保留在缓存中的时间(以秒为单位)。

不完整的镜像是下载正在进行的镜像。详情请查看配置选项 image_cache_dir 描述。有时,由于各种原因,下载可能会挂起,未下载的镜像保留在 不完整的 目录中。此配置选项设置在清理前镜像应保留在 不完整 目录中的时间限制。当不完整的镜像花费的时间超过此处指定的时间后,将在下次运行时通过 cache-cleaner 删除。

建议将 cache-cleaner 作为 Glance API 节点上的定期任务运行,以保持磁盘空间中不完整的镜像。

可能的值:

  • 任何非负整数

相关选项:

  • None

image_location_quota = 10

整数值

镜像上允许的最大位置数。

任何负值都解释为无限。

相关选项:

  • None

image_member_quota = 128

整数值

每个镜像的最大镜像成员数量。

这限制了镜像可以被共享的最大用户。任何负值都解释为无限。

相关选项:

  • None

image_property_quota = 128

整数值

镜像上允许的最大属性数。

这对镜像可以具有的额外属性数量强制实施上限。任何负值都解释为无限。

注意

如果禁用附加属性,则这不会影响。请参阅 allow_additional_image_properties

相关选项:

  • allow_additional_image_properties

image_size_cap = 1099511627776

整数值

用户可以上传的最大镜像大小(以字节为单位)。

大于此处提到的大小的镜像上传会导致镜像创建失败。此配置选项默认为 1099511627776 字节(1 TiB)。

备注:

  • 这个值只有在仔细考虑后才会增加,且必须设置小于或等于 8 EiB (9223372036854775808)。
  • 必须谨慎考虑后端存储容量设置这个值。把它设置为非常低的值可能会导致大量镜像失败。然后,将其设置为一个非常大的值可能会导致存储更快地消耗。因此,这必须根据创建的镜像的性质和可用的存储容量来设置。

可能的值:

  • 任何小于或等于 9223372036854775808 的正数

image_tag_quota = 128

整数值

镜像上允许的最大标签数。

任何负值都解释为无限。

相关选项:

  • None

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

字符串值

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

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

字符串值

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

limit_param_default = 25

整数值

为请求返回的默认结果数。

对特定 API 请求的响应(如列出镜像)可能会返回多个项目。通过在 API 请求中指定 limit 参数,可以显式控制返回的结果数量。但是,如果没有指定 limit 参数,则此配置值将用作任何 API 请求返回的默认结果数。

备注:

  • 此配置选项的值可能不大于 api_limit_max 指定的值。
  • 把它设置为非常大的值可能会减慢数据库查询并增加响应时间。把它设置为非常低的值可能会导致用户体验不佳。

可能的值:

  • 任何正整数

相关选项:

  • api_limit_max

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_logfile_count = 30

整数值

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

max_logfile_size_mb = 200

整数值

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

metadata_encryption_key = None

字符串值

用于加密存储位置元数据的 AES 密钥。

提供代表用于加密 Glance 存储元数据的 AES 密码的字符串值。

注意

要使用的 AES 密钥必须设置为随机字符串,长度为 16、24 或 32 字节。

可能的值:

  • 代表有效 AES 密钥的字符串值

相关选项:

  • None

node_staging_uri = file:///tmp/staging/

字符串值

URL 提供临时存储临时数据的位置

此选项仅用于 Glance 内部用途。Glance 将在镜像导入过程中保存用户上传的镜像数据到 暂存 端点。

这个选项不会以任何方式更改 staging API 端点。

注意

不建议使用与 [task]/work_dir 相同的路径

注意

file://<absolute-directory-path > 是现在唯一支持的 api_image_import 流。

注意

暂存路径必须位于所有 Glance API 节点可用的共享文件系统上。

可能的值:

  • file:// 开始的字符串,后跟绝对 FS 路径

相关选项:

  • [task]/work_dir

publish_errors = False

布尔值

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

pydev_worker_debug_host = None

主机地址值

pydev 服务器的主机地址。

提供代表用于调试的 pydev 服务器的主机名或 IP 的字符串值。pydev 服务器侦听此地址上的调试连接,促进 Glance 中的远程调试。

可能的值:

  • 有效主机名
  • 有效的 IP 地址

相关选项:

  • None

pydev_worker_debug_port = 5678

端口值

pydev 服务器将侦听的端口号。

提供将 pydev 服务器绑定到的端口号。pydev 进程接受此端口上的调试连接,并有助于在 Glance 中进行远程调试。

可能的值:

  • 有效端口号

相关选项:

  • None

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

整数值

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

show_image_direct_url = False

布尔值

在返回镜像时显示直接镜像位置。

此配置选项指示在向用户返回镜像详情时是否显示直接镜像位置。直接镜像位置是镜像数据存储在后端存储中的位置。此镜像位置显示在镜像属性 direct_url 下。

当镜像存在多个镜像位置时,会根据配置选项 location_strategy 指示的位置策略显示最佳位置。

备注:

  • 显示镜像位置可能会显示 GRAVE SECURITY RISK,因为镜像位置有时可以包含凭证。因此,默认设置为 False。使用 EXTREME CAUTION 把它设置为 True,仅 IF 您知道自己正在做什么!
  • 如果运算符希望避免向用户显示任何镜像位置,则此选项和 show_multiple_locations MUST 都设为 False

可能的值:

  • True
  • False

相关选项:

  • show_multiple_locations
  • location_strategy

show_multiple_locations = False

布尔值

显示返回镜像时的所有镜像位置。

此配置选项指示在向用户返回镜像详情时是否显示所有镜像位置。当镜像存在多个镜像位置时,根据配置 opt location_strategy 指示的位置策略进行排序。镜像位置显示在镜像属性 位置 下。

备注:

  • 显示镜像位置可能会显示 GRAVE SECURITY RISK,因为镜像位置有时可以包含凭证。因此,默认设置为 False。使用 EXTREME CAUTION 把它设置为 True,仅 IF 您知道自己正在做什么!
  • 如需更多信息,请参阅 https://wiki.openstack.org/wiki/OSSN/OSSN-0065
  • 如果运算符希望避免向用户显示任何镜像位置,则此选项和 show_image_direct_url MUST 都被设置为 False

可能的值:

  • True
  • False

相关选项:

  • show_image_direct_url
  • location_strategy

弃用自: Newton

*reason:*Use of option (自 Newton 起已弃用)是一个安全风险,当我们找出满足目前需要它的用例后,将删除它。之前宣布可使用策略以更高的粒度实现相同的功能不正确。您无法在当前时间通过策略配置临时解决此选项,但这是我们认为该修复将采取的方向。请留意 Glance 发行注记,以保持在解决这个问题的最新进度。

syslog-log-facility = LOG_USER

字符串值

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

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,则忽略此选项。

user_storage_quota = 0

字符串值

每个租户的最大镜像存储量。

这会强制对所有存储中的所有租户镜像使用的累积存储进行上限。这是每个租户的限制。

此配置选项的默认单位是字节。但是,可以使用区分大小写的字面 BKBMBGBTB 指定存储单元,分别代表 Bytes、KiloBytes、MegaBytes、GigaBytes 和 TeraBytes。请注意,值和单元之间不应有任何空格。值 0 表示没有配额强制。负值无效,并导致错误。

可能的值:

  • 一个字符串,它是一个非负整数的有效串联,代表存储值,以及代表上面提到的存储单元的可选字符串。

相关选项:

  • None

watch-log-file = False

布尔值

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

worker_self_reference_url = None

字符串值

此 worker 的 URL。

如果设置了此设置,其他 glance 工作程序将了解如何直接联系此 worker。对于镜像导入,单个 worker 分阶段镜像和其他 worker 需要能够将导入请求代理到正确的请求。

如果未设置,这被视为 public_endpoint,这通常会设置为所有 worker 上的相同值,从而有效地禁用代理行为。

可能的值:

  • 可以从其他 worker 访问此 worker 的 URL

相关选项:

  • public_endpoint

3.3.2. glance_store

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

Expand
表 3.30. glance_store
配置选项 = 默认值类型Description

cinder_api_insecure = False

布尔值

允许对 cinder 执行不安全的 SSL 请求。

如果此选项被设置为 True,则使用 cinder_ca_certificates_file 选项指定的 CA 证书文件验证 HTTPS 端点连接。

可能的值:

  • True
  • False

相关选项:

  • cinder_ca_certificates_file

cinder_ca_certificates_file = None

字符串值

用于 Cinder 客户端请求的 CA 证书文件的位置。

指定的 CA 证书文件(如果设置)用于通过 HTTPS 端点验证 Cinder 连接。如果端点是 HTTP,则忽略这个值。cinder_api_insecure 必须设置为 True 以启用验证。

可能的值:

  • ca 证书文件的路径

相关选项:

  • cinder_api_insecure

cinder_catalog_info = volumev3::publicURL

字符串值

在服务目录中查找 cinder 时匹配的信息。

如果没有设置 cinder_endpoint_template,并且任何 cinder_store_auth_address, cinder_store_user_name, cinder_store_project_name, cinder_store_password 没有设置,cinder 存储将使用此信息从当前上下文中的服务目录中查找 Cinder 端点。如果设置,将考虑 cinder_os_region_name 来获取适当的端点。

服务目录可以通过 openstack catalog list 命令列出。

可能的值:

  • 应指定以下形式的字符串: < service_type>:<service_name>:<interface > At least service_typeinterfaceservice_name 可以省略。

相关选项:

  • cinder_os_region_name
  • cinder_endpoint_template
  • cinder_store_auth_address
  • cinder_store_user_name
  • cinder_store_project_name
  • cinder_store_password

cinder_endpoint_template = None

字符串值

使用 cinder 端点的模板覆盖服务目录查找。

设置此选项时,这个值用于生成 cinder 端点,而不是从服务目录查找。如果指定了 cinder_store_auth_address,cinder_store_user_name,cinder_store_project_name, 和 cinder_store_password,则忽略这个值。

如果设置了此配置选项,则忽略 cinder_catalog_info

可能的值:

  • cinder 端点的 URL 模板字符串,其中 %%(tenant) 替换为当前的租户(项目)名称。例如: http://cinder.openstack.example.org/v2/%%(tenant)s

相关选项:

  • cinder_store_auth_address
  • cinder_store_user_name
  • cinder_store_project_name
  • cinder_store_password
  • cinder_catalog_info

cinder_enforce_multipath = False

布尔值

如果设置为 True,则当 multipathd 未运行时,镜像传输的卷附加将中止。否则,它将回退到单一路径。

可能的值:

  • True 或 False

相关选项:

  • cinder_use_multipath

cinder_http_retries = 3

整数值

失败 http 调用的 cinderclient 重试次数。

当调用被任何错误失败时,cinderclient 会在睡眠几秒钟后重试调用。

可能的值:

  • 一个正整数

相关选项:

  • None

cinder_mount_point_base = /var/lib/glance/mnt

字符串值

NFS 卷挂载在 glance 节点上的目录。

可能的值:

  • 代表挂载点的绝对路径的字符串。

cinder_os_region_name = None

字符串值

从服务目录查找 cinder 服务的区域名称。

这仅在使用 cinder_catalog_info 来确定端点时使用。如果设置,则此节点的 cinder 端点的查找将过滤到指定的区域。当目录中列出了多个区域时,它很有用。如果没有设置,则会从每个区域查找端点。

可能的值:

  • 是有效区域名称的字符串。

相关选项:

  • cinder_catalog_info

cinder_state_transition_timeout = 300

整数值

等待 cinder 卷转换完成的时间(以秒为单位)。

当创建、删除或附加到 glance 节点以读/写卷数据时,卷的状态将改变。例如,新创建的卷状态会在 创建 过程完成后变为 available。这将指定等待状态更改的最长时间。如果在等待时发生超时,或者状态更改为非预期的值(如 错误),则镜像创建会失败。

可能的值:

  • 一个正整数

相关选项:

  • None

cinder_store_auth_address = None

字符串值

cinder 身份验证服务正在侦听的地址。

当指定所有 cinder_store_auth_address,cinder_store_user_name,cinder_store_project_name, 和 cinder_store_password 选项时,指定的值始终用于身份验证。这有助于通过将镜像服务存储在特定于镜像服务的项目/租户中,从用户隐藏镜像卷。它还允许用户在 glance 的 ACL 控制下与其他项目共享镜像卷。

如果没有设置任何一个选项,则 cinder 端点会从服务目录中查找,并使用当前上下文的用户和项目。

可能的值:

  • 有效的身份验证服务地址,例如: http://openstack.example.org/identity/v2.0

相关选项:

  • cinder_store_user_name
  • cinder_store_password
  • cinder_store_project_name

cinder_store_password = None

字符串值

用于针对 Cinder 进行身份验证的用户密码。

这必须与以下所有相关选项一起使用。如果未指定其中任何一个,则使用当前上下文的用户。

可能的值:

  • cinder_store_user_name指定的用户的有效密码

相关选项:

  • cinder_store_auth_address
  • cinder_store_user_name
  • cinder_store_project_name

cinder_store_project_name = None

字符串值

镜像卷的项目名称存储在 cinder 中。

如果没有设置此配置选项,则使用当前上下文中的项目。

这必须与以下所有相关选项一起使用。如果未指定其中任何一个,则使用当前上下文的项目。

可能的值:

  • 有效项目名称

相关选项:

  • cinder_store_auth_address
  • cinder_store_user_name
  • cinder_store_password

cinder_store_user_name = None

字符串值

要针对 cinder 进行身份验证的用户名。

这必须与以下所有相关选项一起使用。如果未指定其中任何一个,则使用当前上下文的用户。

可能的值:

  • 有效的用户名

相关选项:

  • cinder_store_auth_address
  • cinder_store_password
  • cinder_store_project_name

cinder_use_multipath = False

布尔值

在部署中支持或不支持识别 mutipath 的标记。

如果不支持多路径,则将其设置为 False。

可能的值:

  • True 或 False

相关选项:

  • cinder_enforce_multipath

cinder_volume_type = None

字符串值

在 cinder 中用于创建卷的卷类型。

有些 Cinder 后端可以有几个卷类型来优化存储使用。添加此选项可让操作器在 cinder 中选择特定卷类型,该类型可以针对镜像进行了优化。

如果没有设置,则 cinder 配置中指定的默认卷类型将用于创建卷。

可能的值:

  • 来自 cinder 的有效卷类型

相关选项:

  • None
注意

您不能使用与 NFS 后端关联的加密 volume_type。当 glance_store 试图写入或访问存储在该卷中的镜像数据时,存储在 NFS 后端上的加密卷将引发异常。请参考 Cinder 管理员确定适当的 volume_type。

default_store = file

字符串值

用于存储镜像的默认方案。

提供代表用于存储镜像的默认方案的字符串值。如果没有设置,Glance 使用 file 作为默认方案来使用文件存储镜像。

注意

为这个配置选项提供的值必须是使用 stores 配置选项注册的存储的有效方案。

可能的值:

  • file
  • filesystem
  • http
  • https
  • swift
  • swift+http
  • swift+https
  • swift+config
  • rbd
  • cinder
  • vsphere
  • s3

相关选项:

  • 存储

弃用自: Rocky

reason: 这个选项根据新配置选项 ''default_backend'' 弃用,它的行为与 ''default_store'' 配置选项类似。

计划在 U 开发周期中移除此选项。

default_swift_reference = ref1

字符串值

引用默认 Swift 帐户/备份存储参数。

提供代表使用 swift 帐户/反馈存储所需默认参数集合的引用的字符串值。此配置选项的默认引用值为 ref1。此配置选项解引用参数,并有助于每次添加新镜像时 Swift 存储后端中的镜像存储。

可能的值:

  • 有效字符串值

相关选项:

  • None

filesystem_store_chunk_size = 65536

整数值

块大小,以字节为单位。

读取或写入镜像文件时使用的块大小。增加这个值可以提高吞吐量,但在处理大量请求时,它也可能会稍微增加内存用量。

可能的值:

  • 任何正整数值

相关选项:

  • None

filesystem_store_datadir = /var/lib/glance/images

字符串值

文件系统后端存储写入镜像的目录。

启动时,Glance 会创建该目录(如果不存在),并验证在其下运行 glance-api 的用户的写入访问权限。如果写入访问不可用,则引发 BadStoreConfiguration 异常,并且文件系统存储可能无法添加新镜像。

注意

此目录仅在将文件系统存储用作存储后端时使用。filesystem_store_datadirfilesystem_store_datadirs 选项必须在 glance-api.conf 中指定。如果指定了这两个选项,则会引发 BadStoreConfiguration,并且文件系统存储可能无法添加新镜像。

可能的值:

  • 到目录的有效路径

相关选项:

  • filesystem_store_datadirs
  • filesystem_store_file_perm

filesystem_store_datadirs = None

多值

文件系统后端存储写入镜像的目录及其优先级列表。

文件系统存储可以配置为将镜像存储在多个目录中,而不是使用由 filesystem_store_datadir 配置选项指定的单个目录。使用多个目录时,可以为每个目录赋予一个可选优先级,以指定应使用它们的首选项顺序。priority 是一个整数,它将与目录路径连接,冒号越高,代表优先级更高。当两个目录具有相同的优先级时,会使用具有最多可用空间的目录。如果没有指定优先级,则默认为零。

有关使用多个存储目录配置文件系统存储的更多信息,请参阅 https://docs.openstack.org/glance/latest/configuration/configuring.html

注意

此目录仅在将文件系统存储用作存储后端时使用。filesystem_store_datadirfilesystem_store_datadirs 选项必须在 glance-api.conf 中指定。如果指定了这两个选项,则会引发 BadStoreConfiguration,并且文件系统存储可能无法添加新镜像。

可能的值:

  • 以下格式的字符串列表:

    • <a valid directory path>:<optional integer priority>

相关选项:

  • filesystem_store_datadir
  • filesystem_store_file_perm

filesystem_store_file_perm = 0

整数值

镜像文件的文件访问权限。

为镜像数据设置预期的文件访问权限。这提供了一种方式,可以让其他服务(如 Nova)直接使用文件系统存储中的镜像。运行要被授予访问权限的服务的用户,可以成为拥有创建文件的组的成员。为这个配置选项分配一个小于或等于 0 的值表示没有对默认权限进行任何更改。这个值将被解码为八进制数。

如需更多信息,请参阅文档 https://docs.openstack.org/glance/latest/configuration/configuring.html

可能的值:

  • 有效的文件访问权限
  • 任何负整数

相关选项:

  • None

filesystem_store_metadata_file = None

字符串值

文件系统存储元数据文件。

包含与文件系统存储关联的任何位置返回元数据的文件路径。设置此选项后,它仅用于之后创建的新镜像 - 以前现有镜像不受影响。

该文件必须包含有效的 JSON 对象。该对象应包含键 idmountpoint。两个键的值都应该是一个字符串。

可能的值:

  • 存储元数据文件的有效路径

相关选项:

  • None

filesystem_thin_provisioning = False

布尔值

在这个后端中启用或不精简置备。

这个配置选项启用了在文件系统中没有真正写入 null 字节序列的功能,文件系统会自动解释为 null 字节,且不会实际消耗您的存储。启用此功能也会加快镜像上传速度,并节省后端中的空间,因为不会通过网络发送 null 字节序列。

可能的值:

  • True
  • False

相关选项:

  • None

http_proxy_information = {}

dict 值

用于连接到远程服务器的 http/https 代理信息。

这个配置选项指定应该用来连接到远程服务器的 http/https 代理信息。代理信息应该是方案和代理的键值对,如 http:10.0.0.1:3128。您还可以通过使用逗号分隔键值对(如 http:10.0.0.1:3128, https:10.0.0.1:1080)来指定多个方案的代理。

可能的值:

  • 如前文所述,以逗号分隔的 scheme:proxy 对列表

相关选项:

  • None

https_ca_certificates_file = None

字符串值

CA 捆绑包文件的路径。

此配置选项可让操作员使用自定义证书颁发机构文件来验证远程服务器证书。如果设置了这个选项,则忽略 https_insecure 选项,指定的 CA 文件将用于验证服务器证书并建立到服务器的安全连接。

可能的值:

  • CA 文件的有效路径

相关选项:

  • https_insecure

https_insecure = True

布尔值

设置远程服务器证书的验证。

此配置选项使用布尔值来确定是否验证远程服务器证书。如果设置为 True,则不会验证远程服务器证书。如果选项设为 False,则使用默认 CA 信任存储进行验证。

如果设置了 https_ca_certificates_file,则忽略这个选项。然后,使用 https_ca_certificates_file 选项指定的文件验证远程服务器证书。

可能的值:

  • True
  • False

相关选项:

  • https_ca_certificates_file

rados_connect_timeout = 0

整数值

连接到 Ceph 集群的超时值。

此配置选项在连接到 Ceph 集群时所用的超时值(以秒为单位)。它会设置在关闭连接前等待 glance-api 的时间。这可防止在连接到 RBD 时出现 glance-api 挂起。如果此选项的值设为小于或等于 0,则不设置超时,并且使用默认的 librados 值。

可能的值:

  • 任何整数值

相关选项:

  • None

`rbd_store_ceph_conf = `

字符串值

Ceph 配置文件路径.

此配置选项指定要使用的 Ceph 配置文件的路径。如果此选项的值未由用户设置或设置为空字符串,librados 将按顺序搜索默认的 Ceph 配置文件位置来读取标准 ceph.conf 文件。详情请参阅 Ceph 文档。

注意

如果使用 Cephx 身份验证,此文件应该在 client.<USER> 部分中包含对正确密钥环的引用

注意 2:如果您将此选项留空(默认),使用的实际 Ceph 配置文件可能会根据使用 librados 的版本而有所不同。如果您知道哪个配置文件生效非常重要,您可以在此处使用这个选项指定该文件。

可能的值:

  • 配置文件的有效路径

相关选项:

  • rbd_store_user

rbd_store_chunk_size = 8

整数值

大小(以 MB 为单位)将 RADOS 镜像块到其中。

提供代表 Glance 镜像的大小(以 MB 为单位)的整数值。默认块大小为 8MB。为获得最佳性能,该值应该是 2 的指数。

当 Ceph 的 RBD 对象存储系统用作存储 Glance 镜像的存储后端时,镜像将使用此选项集中到设置的大小的对象中。然后,这些块的对象存储在用于 Glance 的分布式块数据存储中。

可能的值:

  • 任何正整数值

相关选项:

  • None

rbd_store_pool = images

字符串值

存储镜像的 RADOS 池。

当 RBD 用作存储 Glance 镜像的存储后端时,镜像通过将对象(镜像区块)的逻辑分组存储到 池中。每个池使用它可以包含的放置组数量来定义。使用的默认池是 images

有关 RBD 存储后端的更多信息,请参阅 :http://ceph.com/planet/how-data-is-stored-in-ceph-cluster/

可能的值:

  • 有效池名称

相关选项:

  • None

rbd_store_user = None

字符串值

RADOS 用户以以下身份进行身份验证:

此配置选项在 RADOS 用户进行身份验证,以如下方式进行身份验证:这仅在启用 RADOS 身份验证时且仅在用户使用 Cephx 身份验证时才需要。如果此选项的值未由用户设置或设置为 None,则会选择一个默认值,该值将基于 rbd_store_ceph_conf 中的 client. 部分。

可能的值:

  • 有效的 RADOS 用户

相关选项:

  • rbd_store_ceph_conf

rbd_thin_provisioning = False

布尔值

在这个后端中启用或不精简置备。

此配置选项允许在 RBD 后端上实际写入 null 字节序列的功能,Ceph 将自动显示的漏洞被 Ceph 解释为 null 字节,且不会实际消耗您的存储。启用此功能也会加快镜像上传速度,并节省后端中的空间,因为不会通过网络发送 null 字节序列。

可能的值:

  • True
  • False

相关选项:

  • None

rootwrap_config = /etc/glance/rootwrap.conf

字符串值

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

cinder 存储需要 root 特权才能运行镜像卷(用于连接 iSCSI/FC 卷并读取/写入卷数据等)。配置文件应允许 cinder 存储和 os-brick 库所需的命令。

可能的值:

  • rootwrap 配置文件的路径

相关选项:

  • None

s3_store_access_key = None

字符串值

S3 查询令牌访问密钥。

此配置选项使用访问密钥来与 Amazon S3 或 S3 兼容存储服务器进行身份验证。使用 S3 存储后端时需要这个选项。

可能的值:

  • 任何字符串值,这是具有适当特权的用户的访问密钥

相关选项:

  • s3_store_host
  • s3_store_secret_key

s3_store_bucket = None

字符串值

用于存储 Glance 数据的 S3 存储桶。

此配置选项指定 glance 镜像存储在 S3 中的位置。如果 s3_store_create_bucket_on_put 设为 true,它将自动创建,即使存储桶不存在。

可能的值:

  • 任何字符串值

相关选项:

  • s3_store_create_bucket_on_put
  • s3_store_bucket_url_format

s3_store_bucket_url_format = auto

字符串值

用于确定对象的 S3 调用格式。

此配置选项使用访问模型,用于在 S3 存储桶中指定对象地址。

注意:在 路径- 样式中,对象的端点类似于 https://s3.amazonaws.com/bucket/example.img在虚拟- 样式中,对象的端点类似于 https://bucket.s3.amazonaws.com/example.img。如果您没有在存储桶名称中遵循 DNS 命名惯例,您可以使用路径风格获取对象,但不能以虚拟样式获取对象。

可能的值:

  • auto虚拟path的任何字符串值

相关选项:

  • s3_store_bucket

s3_store_create_bucket_on_put = False

布尔值

确定 S3 是否应该创建新存储桶。

此配置选项使用布尔值来指示 Glance 是否应该向 S3 创建新存储桶(如果不存在)。

可能的值:

  • 任何布尔值

相关选项:

  • None

s3_store_host = None

字符串值

S3 服务器侦听的主机。

此配置选项设置 S3 或 S3 兼容存储服务器的主机。使用 S3 存储后端时需要这个选项。主机可以包含 DNS 名称(如 s3.amazonaws.com、my-object-storage.com)或 IP 地址(127.0.0.1)。

可能的值:

  • 有效的 DNS 名称
  • 有效的 IPv4 地址

相关选项:

  • s3_store_access_key
  • s3_store_secret_key

s3_store_large_object_chunk_size = 10

整数值

在上传部分时,S3 应该使用什么多部分上传部分大小(以 MB 为单位)。

这个配置选项使用镜像分割大小(以 MB 为单位)进行多部分上传。

注意:您只能分成 10,000 个镜像。

可能的值:

  • 任何正整数值(必须大于或等于 5M)

相关选项:

  • s3_store_large_object_size
  • s3_store_thread_pools

s3_store_large_object_size = 100

整数值

S3 启动镜像文件的大小应该以 MB 为单位,并在 S3 中进行多部分上传。

此配置选项采用以 MB 为单位的阈值,以确定是否将镜像上传到 S3,还是将其分割(多部分上传)。

注意:您只能分成 10,000 个镜像。

可能的值:

  • 任何正整数值

相关选项:

  • s3_store_large_object_chunk_size
  • s3_store_thread_pools

s3_store_secret_key = None

字符串值

S3 查询令牌 secret 密钥。

此配置选项使用 secret 密钥来与 Amazon S3 或 S3 兼容存储服务器进行身份验证。使用 S3 存储后端时需要这个选项。

可能的值:

  • 任何字符串值,它是与使用 s3_store_host 选项指定的访问密钥对应的 secret 键

相关选项:

  • s3_store_host
  • s3_store_access_key

s3_store_thread_pools = 10

整数值

在 S3 中执行多部分上传的线程池数量。

此配置选项在执行多部分上传时取线程池的数量。

可能的值:

  • 任何正整数值

相关选项:

  • s3_store_large_object_size
  • s3_store_large_object_chunk_size

stores = ['file', 'http']

列表值

启用 Glance 存储的列表。

注册存储后端,以逗号分隔列表的形式用于存储磁盘镜像。为使用 Glance 存储磁盘镜像而启用的默认存储是 filehttp

可能的值:

  • 一个以逗号分隔的列表,其中包括:

    • file
    • http
    • swift
    • rbd
    • cinder
    • vmware
    • s3

相关选项:

  • default_store

弃用自: Rocky

reason: 这个选项根据新配置选项 ''enabled_backends'' 弃用,这有助于配置不同方案的多个后端存储。

计划在 U 开发周期中移除此选项。

swift_buffer_on_upload = False

布尔值

上传到 Swift 前缓冲区镜像段。

提供布尔值,以指示 Glance 是否应该在上传到 swift 时将镜像数据缓冲到磁盘。这可让 Glance 恢复出错时上传。

注意:当启用这个选项时,应该非常小心,因为这会增加 API 节点上的磁盘用量。请注意,根据文件系统的配置方式,用于缓冲的磁盘空间可能会减少 glance 镜像缓存可用的实际磁盘空间。磁盘利用率将根据以下等情况设置:(swift_store_large_object_chunk_size * workers * 1000)

可能的值:

  • True
  • False

相关选项:

  • swift_upload_buffer_dir

swift_store_admin_tenants = []

列表值

将被授予 admin 访问权限的租户列表。

这是租户列表,将在多租户模式下授予 Glance 创建的所有 Swift 容器的读取/写入访问权限。默认值为空列表。

可能的值:

  • 以逗号分隔的字符串列表,代表 Keystone 项目/租户的 UUID

相关选项:

  • None

swift_store_auth_address = None

字符串值

Swift 身份验证服务侦听的端口。

swift_store_auth_insecure = False

布尔值

设置服务器证书验证。

此布尔值决定了是否验证服务器证书。如果此选项设置为 True,则 swiftclient 在验证时不会检查有效的 SSL 证书。如果选项设为 False,则使用默认 CA 信任存储进行验证。

可能的值:

  • True
  • False

相关选项:

  • swift_store_cacert

swift_store_auth_version = 2

字符串值

要使用的身份验证服务的版本。对于 keystone 有效版本是 2 和 3,对于 swauth 和 rackspace 为 1(已弃用) 。

swift_store_cacert = None

字符串值

CA 捆绑包文件的路径。

此配置选项可让操作员指定自定义证书颁发机构文件的路径,以便在连接到 Swift 时进行 SSL 验证。

可能的值:

  • CA 文件的有效路径

相关选项:

  • swift_store_auth_insecure

swift_store_config_file = None

字符串值

包含 swift 帐户配置的文件的绝对路径。

包括一个字符串值,代表配置文件的路径,该文件对配置的每个 Swift 帐户/反馈存储的引用。默认情况下,未指定文件路径,并且禁用自定义 Swift 引用。强烈建议配置这个选项,同时将 Swift 存储后端用于镜像存储,因为它避免存储数据库中的凭证。

注意

如果将 swift_store_multi_tenant 设为 True,请不要配置此选项。

可能的值:

  • 代表 glance-api 节点上的绝对路径的字符串值

相关选项:

  • swift_store_multi_tenant

swift_store_container = glance

字符串值

用于存储多个容器的 images/name 前缀的单一容器名称

当单个容器用于存储镜像时,此配置选项将指示 Glance 帐户内用于存储所有镜像的容器。当使用多个容器来存储镜像时,这将是所有容器的名称前缀。可以使用配置选项 swift_store_multiple_containers_seed 来控制单/multiple 容器的使用。

使用多个容器时,容器将通过为此配置选项设置的值命名,并将镜像 UUID 的第一个 N chars 指定为以下划线分隔的后缀(其中 N 由 swift_store_multiple_containers_seed指定)。

示例:如果 seed 设为 3,swift_store_container = glance,则带有 UUID fdae39a1-bac5-4238-aba4-69bcc726e848 的一个镜像将被放入容器 glance_fda。在创建容器名称时包括在 UUID 中的横线不会计算在字符长度的限制中,因此,当 N= 10 时,容器名称可以为 glance_fdae39a1-ba.

可能的值:

  • 如果使用单个容器,此配置选项可以是 Glance Swift 帐户中有效 swift 容器名称的任何字符串
  • 如果使用多个容器,此配置选项可以是任何字符串,只要它满足 Swift 强制执行的容器命名规则。swift_store_multiple_containers_seed 的值也应该考虑。

相关选项:

  • swift_store_multiple_containers_seed
  • swift_store_multi_tenant
  • swift_store_create_container_on_put

swift_store_create_container_on_put = False

布尔值

上传镜像时,创建容器(如果不存在)。

在上传镜像时,如果对应的容器不存在,则会创建它,因为此配置选项被设置为 True。默认情况下,不会创建它。这个行为适用于单一和多个容器模式。

可能的值:

  • True
  • False

相关选项:

  • None

swift_store_endpoint = None

字符串值

用于 Swift 后端存储的 URL 端点。

提供代表在 Swift 存储中存储的 Glance 镜像的 URL 端点的字符串值。默认情况下,不会设置端点,并使用 auth 返回的存储 URL。使用 swift_store_endpoint 设置端点会覆盖存储 URL,并用于 Glance 镜像存储。

注意

URL 应该包括到的路径,但不包括容器。对象的位置通过将容器和对象附加到配置的 URL 来获取。

可能的值:

  • 代表到 Swift 容器的有效 URL 路径的字符串值

相关选项:

  • None

swift_store_endpoint_type = publicURL

字符串值

Swift 服务的端点类型。

此字符串值表示用于获取 Swift 端点的端点类型。端点类型决定了用户被允许执行的操作,例如,读取和写入存储。只有在 swift_store_auth_version 大于 1 时才会使用此设置。

可能的值:

  • publicURL
  • adminURL
  • internalURL

相关选项:

  • swift_store_endpoint

swift_store_expire_soon_interval = 60

整数值

定义在当前令牌到期前可以请求新令牌的窗口大小的时间(以秒为单位)。

通常,Swift 存储驱动程序会在当前令牌过期时获取新令牌,以确保继续访问 Swift。但是,如果令牌实时过期,一些 Swift 事务(如上传镜像段)可能无法正常恢复。

因此,通过在当前令牌过期前获取新令牌,请确保令牌不会在尝试事务前过期或接近到期。默认情况下,Swift 存储驱动程序请求新令牌 60 秒或少于当前令牌过期前的请求。

可能的值:

  • 正整数值

相关选项:

  • None

swift_store_key = None

字符串值

用于针对 Swift 身份验证服务进行身份验证的验证密钥。

swift_store_large_object_chunk_size = 200

整数值

镜像数据时段的最大大小(以 MB 为单位)。

当镜像数据被分割为上传大于 Swift 集群实施的限制的镜像时,镜像数据被分成不同的片段,它们的大小不大于该配置选项指定的大小。如需了解更多详细信息,请参阅 swift_store_large_object_size

例如:如果 swift_store_large_object_size 为 5GB,而 swift_store_large_object_chunk_size 为 1GB,则大小为 6.2GB 的镜像将被分为 7 段,前 6 个段的大小为 1GB,第七个段的大小为 0.2GB。

可能的值:

  • 一个正整数,它小于或等于 Swift 集群强制的大型对象限制。

相关选项:

  • swift_store_large_object_size

swift_store_large_object_size = 5120

整数值

大小阈值(以 MB 为单位)之后,Glance 将开始分段镜像数据。

Swift 对单个上传对象的大小具有上限。默认情况下,这是 5GB。要上传大于这个限制的对象,对象被分成多个与清单文件绑定的较小的对象。如需更多详情,请参阅 https://docs.openstack.org/swift/latest/overview_large_objects.html

此配置选项指定 Swift 驱动程序开始将镜像数据段到多个更小文件的大小阈值。目前,Swift 驱动程序只支持创建动态大对象。

注意

这应该通过考虑 Swift 集群强制的大型对象限制来设置。

可能的值:

  • 一个正整数,它小于或等于 Swift 集群强制的大型对象限制。

相关选项:

  • swift_store_large_object_chunk_size

swift_store_multi_tenant = False

布尔值

将镜像存储在租户的 Swift 帐户中。

这将启用多租户存储模式,使 Glance 镜像存储在租户特定 Swift 帐户中。如果禁用,Glance 会将所有镜像存储在自己的帐户中。有关多租户存储的详情,请参考 https://wiki.openstack.org/wiki/GlanceSwiftTenantSpecificStorage

注意

如果使用多租户 swift 存储,请确保不要使用 swift_store_config_file 选项设置 swift 配置文件。

可能的值:

  • True
  • False

相关选项:

  • swift_store_config_file

swift_store_multiple_containers_seed = 0

整数值

指出用于存储镜像的容器数量。

在使用单租户存储时,镜像可以存储在一个或多个容器中。当设置为 0 时,所有镜像将存储在一个容器中。当设置为 1 到 32 之间的整数值时,将使用多个容器来存储镜像。此配置选项将确定创建多少个容器。使用的容器总数等于 16^N,因此如果该配置选项设为 2,则使用 16^2=256 容器来存储镜像。

有关命名规则的详情,请参阅 swift_store_container。有关使用多个容器的详情,请参考 https://specs.openstack.org/openstack/glance-specs/specs/kilo/swift-store-multiple-containers.html

注意

这仅在禁用 swift_store_multi_tenant 时使用。

可能的值:

  • 小于或等于 32 的非负整数

相关选项:

  • swift_store_container
  • swift_store_multi_tenant
  • swift_store_create_container_on_put

swift_store_region = None

字符串值

Glance 使用的 Swift 端点区域。

提供代表 Swift 区域的字符串值,其中 Glance 可以连接到该区域进行镜像存储。默认情况下,没有设置区域。

当 Glance 使用 Swift 作为存储后端存储具有多个端点的特定租户的镜像时,使用 swift_store_region 设置 Swift 区域将允许 Glance 连接到指定区域中的 Swift,而不是单一区域连接。

可以为单租户和多租户存储配置此选项。

注意

使用 swift_store_region 设置区域是特定于租户的,只有在 租户在不同区域上有多个端点时才需要。

可能的值:

  • 代表有效 Swift 区域的字符串值。

相关选项:

  • None

swift_store_retry_get_count = 0

整数值

在请求失败前,将重试 Swift 下载的次数。

提供一个整数值,代表镜像下载的次数,然后才能出错。默认值为 0 (在失败的镜像下载时不重试)。当设置为正整数值时,swift_store_retry_get_count 确保在发送错误消息前下载失败时尝试多次下载。

可能的值:

  • 正整数值

相关选项:

  • None

swift_store_service_type = object-store

字符串值

要使用的 Swift 服务类型。

提供代表在使用 Swift 后端存储期间存储镜像的服务类型的字符串值。默认服务类型设置为 object-store

注意

如果 swift_store_auth_version 设为 2,则此配置选项的值需要是 object-store。如果使用较新版本的 Keystone 或不同的身份验证方案,则可以修改此选项。

可能的值:

  • 代表 Swift 存储的有效服务类型的字符串。

相关选项:

  • None

swift_store_ssl_compression = True

布尔值

HTTPS Swift 请求的 SSL 层压缩。

提供布尔值,以确定是否压缩 SSL 层上镜像的 HTTPS Swift 请求。默认情况下启用压缩。

当使用 Swift 作为 Glance 镜像存储的后端存储时,可以使用此选项设置 HTTPS Swift 请求的 SSL 层压缩。如果设置为 False,则禁用 HTTPS Swift 请求的 SSL 层压缩。禁用这个选项可能会提高已压缩格式的镜像的性能,如 qcow2。

可能的值:

  • True
  • False

相关选项:

  • None

swift_store_use_trusts = True

布尔值

对多租户 Swift 存储使用 trusts。

此选项指示 Swift 存储在使用多租户存储时为每个 add/get 请求创建一个信任。使用信任允许 Swift 存储避免在上传或下载数据期间由身份验证令牌过期的问题。

默认情况下,swift_store_use_trusts 被设置为 True(启用使用信任)。如果设置为 False,则用户令牌用于 Swift 连接,从而消除了创建信任的开销。

注意

只有在 swift_store_multi_tenant 被设置为 True时,才会考虑此选项

可能的值:

  • True
  • False

相关选项:

  • swift_store_multi_tenant

swift_store_user = None

字符串值

对 Swift 身份验证服务进行身份验证的用户。

swift_upload_buffer_dir = None

字符串值

上传到 Swift 前用于缓冲镜像片段的目录。

提供一个字符串值,代表 glance 节点上目录的绝对路径,在镜像片段上传到 swift 之前会短暂缓冲镜像段。

备注:

  • 这只有在配置选项 swift_buffer_on_upload 设置为 True 时才需要。
  • 应置备此目录,请记住 swift_store_large_object_chunk_size 以及给定 glance 节点可以同时上传的最大镜像数。

可能的值:

  • 代表绝对路径的字符串值

相关选项:

  • swift_buffer_on_upload
  • swift_store_large_object_chunk_size

vmware_api_retry_count = 10

整数值

VMware API 重试次数。

此配置选项指定连接相关问题或服务器 API 调用过载时必须重试 VMware ESX/VC 服务器 API 的次数。无法指定 retry forever

可能的值:

  • 任何正整数值

相关选项:

  • None

vmware_ca_file = None

字符串值

CA 捆绑包文件的绝对路径。

此配置选项可让操作员使用自定义 Cerificate 授权机构文件来验证 ESX/vCenter 证书。

如果设置了这个选项,则忽略 "vmware_insecure" 选项,指定的 CA 文件将用于验证 ESX/vCenter 服务器证书,并建立与服务器的安全连接。

可能的值:

  • 任何是 CA 文件的有效绝对路径的字符串

相关选项:

  • vmware_insecure

vmware_datastores = None

多值

用于存储镜像的数据存储。

此配置选项指定镜像存储在 VMWare 存储后端中的数据存储。这个选项可多次指定,以指定多个数据存储。数据存储名称应在其数据中心路径后指定,用 ":" 分隔。可以在数据存储名称后赋予可选权重,再次通过":" 分隔来指定优先级。因此,所需格式将变为 <datacenter_path>:<datastore_name>:<optional_weight>。

在添加镜像时,会选择权重最高的数据存储,除非已知镜像大小时没有足够的可用空间。如果未指定权重,则假定为 0,目录将被视为最后选择。如果多个数据存储具有相同的权重,则会选择一个带有最多可用空间的权重。

可能的值:

  • 任何格式的字符串: <datacenter_path>:<datastore_name>:<optional_weight>

相关选项:* None

vmware_insecure = False

布尔值

设置 ESX/vCenter 服务器证书验证。

此配置选项使用布尔值来确定是否验证 ESX/vCenter 服务器证书。如果此选项设为 True,则不会验证 ESX/vCenter 服务器证书。如果此选项设置为 False,则使用默认 CA 信任存储进行验证。

如果设置了 "vmware_ca_file" 选项,则忽略这个选项。在这种情况下,将使用使用"vmware_ca_file"选项指定的文件来验证 ESX/vCenter 服务器证书。

可能的值:

  • True
  • False

相关选项:

  • vmware_ca_file

vmware_server_host = None

主机地址值

ESX/ESXi 或 vCenter Server 目标系统的地址。

此配置选项设置 ESX/ESXi 或 vCenter Server 目标系统的地址。使用 VMware 存储后端时需要这个选项。地址可以包含 IP 地址(127.0.0.1)或 DNS 名称(www.my-domain.com)。

可能的值:

  • 有效的 IPv4 或 IPv6 地址
  • 有效的 DNS 名称

相关选项:

  • vmware_server_username
  • vmware_server_password

vmware_server_password = None

字符串值

服务器密码。

此配置选项使用密码通过 VMware ESX/ESXi 或 vCenter 服务器进行身份验证。使用 VMware 存储后端时需要这个选项。

可能的值:

  • 任何字符串,与使用 "vmware_server_username" 选项指定的用户名对应的密码

相关选项:

  • vmware_server_host
  • vmware_server_username

vmware_server_username = None

字符串值

服务器用户名.

此配置选项使用用户名来通过 VMware ESX/ESXi 或 vCenter 服务器进行身份验证。使用 VMware 存储后端时需要这个选项。

可能的值:

  • 任何字符串,这是具有适当权限的用户的用户名

相关选项:

  • vmware_server_host
  • vmware_server_password

vmware_store_image_dir = /openstack_glance

字符串值

glance 镜像要存储在数据存储中的目录。

此配置选项指定 glance 镜像存储在 VMware 数据存储中的目录的路径。如果没有设置这个选项,则存储 glance 镜像的默认目录为 openstack_glance。

可能的值:

  • 任何是到目录的有效路径的字符串

相关选项:

  • None

vmware_task_poll_interval = 5

整数值

用于轮询在 VMware ESX/VC 服务器上调用的远程任务的间隔(以秒为单位)。

此配置选项需要休眠时间(以秒为单位)轮询 on-going async 任务,作为 VMWare ESX/VC 服务器 API 调用的一部分。

可能的值:

  • 任何正整数值

相关选项:

  • None

3.3.3. oslo_policy

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

Expand
表 3.31. 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.yaml

字符串值

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

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 的策略检查的服务器身份验证

第 4 章 Heat

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

4.1. heat.conf

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

4.1.1. DEFAULT

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

.

Expand
配置选项 = 默认值类型Description

action_retry_limit = 5

整数值

重试使资源进入非错误状态的次数。设置为 0 可禁用重试。

allow_trusts_redelegation = False

布尔值

创建启用了 redelegation 的信任。这个选项仅在 reauthentication_auth_method 设置为 "trusts" 时使用。请注意,启用此选项具有安全影响,因为 Heat 创建的所有信任都将使用模拟和重新启用。只有在其他服务需要从 Heat 用于访问它们时创建信任时启用它,例如在配置为使用信任时的 Aodh 和 Heat。

auth_encryption_key = notgood but just long enough i t

字符串值

用于加密数据库中身份验证信息的密钥。这个密钥的长度必须为 32 个字符。

backdoor_port = None

字符串值

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

backdoor_socket = None

字符串值

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

client_retry_limit = 2

整数值

当客户端遇到预期的间歇性错误时,重试的次数。设置为 0 可禁用重试。

cloud_backend = heat.engine.clients.OpenStackClients

字符串值

用作客户端后端的完全限定类名称。

conn_pool_min_size = 2

整数值

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

conn_pool_ttl = 1200

整数值

池中闲置连接的时间延迟

control_exchange = openstack

字符串值

默认交换,哪些主题在哪些方面有范围。可以被 transport_url 选项指定的交换名称覆盖。

convergence_engine = True

布尔值

启用带有聚合架构的引擎。所有带有此选项的堆栈都将使用聚合引擎创建。

debug = False

布尔值

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

default_deployment_signal_transport = CFN_SIGNAL

字符串值

服务器应如何向 heat 信号显示部署输出值的模板默认值。CFN_SIGNAL 将允许 HTTP POST 到 CFN 密钥对签名 URL (需要启用 heat-api-cfn)。TEMP_URL_SIGNAL 将创建一个 Swift TempURL,以通过 HTTP PUT 发出信号(需要支持 TempURL 的 object-store 端点)。HEAT_SIGNAL 将允许使用提供的 keystone 凭据调用 Heat API 资源信号。ZAQAR_SIGNAL 将创建一个专用的 zaqar 队列,以使用提供的 keystone 凭证发出信号。

default_log_levels = ['amqp=WARN', 'amqplib=WARN', 'boto=WARN', 'qpid=WARN', 'sqlalchemy=WARN', 'suds=INFO', 'oslo.messaging=INFO', 'oslo_messaging=INFO', 'iso8601=WARN', 'requests.packages.urllib3.connectionpool=WARN', 'urllib3.connectionpool=WARN', 'websocket=WARN', 'requests.packages.urllib3.util.retry=WARN', 'urllib3.util.retry=WARN', 'keystonemiddleware=WARN', 'routes.middleware=WARN', 'stevedore=WARN', 'taskflow=WARN', 'keystoneauth=WARN', 'oslo.cache=INFO', 'oslo_policy=INFO', 'dogpile.core.dogpile=INFO']

列表值

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

default_notification_level = INFO

字符串值

传出通知的默认通知级别。

default_publisher_id = None

字符串值

用于传出通知的默认 publisher_id。

default_software_config_transport = POLL_SERVER_CFN

字符串值

服务器应如何接收软件配置所需的元数据的模板默认。POLL_SERVER_CFN 将允许调用通过提供的密钥对进行身份验证的 cfn API 操作 DescribeStackResource (需要启用 heat-api-cfn)。POLL_SERVER_HEAT 将允许使用提供的 keystone 凭证调用 Heat API resource-show (需要 keystone v3 API 和配置的 stack_userptr 配置选项)。POLL_TEMP_URL 将创建并填充用于轮询的元数据的 Swift TempURL (需要支持 TempURL 的 object-store 端点)。ZAQAR_MESSAGE 将创建一个专用的 zaqar 队列并发布用于轮询的元数据。

default_user_data_format = HEAT_CFNTOOLS

字符串值

模板默认值,用于如何为服务器格式化 user_data。对于 HEAT_CFNTOOLS,user_data 作为 heat-cfntools cloud-init 引导配置数据的一部分被捆绑。对于 RAW,user_data 被不修改地传递到 Nova。对于 SOFTWARE_CONFIG user_data 作为软件配置数据的一部分,元数据则派生自任何关联的 SoftwareDeployment 资源。

deferred_auth_method = trusts

字符串值

选择 deferred auth 方法,存储了密码或信任。弃用自:9. 0.0

在与 keystone v3 一起使用且不被支持时,基于reason:*Stored 密码的延迟 auth 无法正常工作。

enable_cloud_watch_lite = False

布尔值

启用传统的 OS::Heat::CWLiteAlarm 资源。弃用自: 10.0.0

*reason:*Heat CloudWatch Service 已被删除。

enable_stack_abandon = False

布尔值

启用 preview Stack Abandon 功能。

enable_stack_adopt = False

布尔值

启用 preview Stack Adopt 功能。

encrypt_parameters_and_properties = False

布尔值

加密标记为隐藏的模板参数,以及将所有资源属性存储在数据库中之前。

engine_life_check_timeout = 2

整数值

用于堆栈锁定的引擎存活度检查的 RPC 超时。

environment_dir = /etc/heat/environment.d

字符串值

用于搜索环境文件的目录。

error_wait_time = 240

整数值

发生错误后可以继续运行任务在被取消前可以继续运行的时间(以秒为单位)。

event_purge_batch_size = 200

整数值

控制在清除堆栈的事件时,将修剪多少个事件。将其设置为更频繁的清除时保留更多事件。

executor_thread_pool_size = 64

整数值

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

fatal_deprecations = False

布尔值

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

graceful_shutdown_timeout = 60

整数值

指定安全关闭服务器将退出的超时。零值表示无限期等待。

heat_metadata_server_url = None

字符串值

Heat 元数据服务器的 URL。注意:只有在您需要实例使用与 keystone 目录中不同的端点时,才需要设置此设置

heat_stack_user_role = heat_stack_user

字符串值

heat 模板定义用户的 Keystone 角色。

heat_waitcondition_server_url = None

字符串值

Heat waitcondition 服务器的 URL。

`heat_watch_server_url = `

字符串值

Heat CloudWatch 服务器的 URL。弃用自: 10.0.0

*reason:*Heat CloudWatch Service 已被删除。

hidden_stack_tags = ['data-processing-cluster']

列表值

包含这些标签名称的堆栈将被隐藏。应以逗号分隔的列表指定多个标签(例如,hidden_stack_tags=hide_me,me_too)。

Host = <based on operating system>

字符串值

引擎节点的名称。这可以是不透明标识符。它不一定是主机名、FQDN 或 IP 地址。

instance_connection_https_validate_certificates = 1

字符串值

如果使用 SSL,与 CFN/CW API 实例连接会验证证书。

instance_connection_is_secure = 0

字符串值

通过 https 连接到 CFN/CW API 实例。

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

字符串值

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

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

字符串值

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

keystone_backend = heat.engine.clients.os.keystone.heat_keystoneclient.KsClientWrapper

字符串值

用作 keystone 后端的完全限定类名称。

loadbalancer_template = None

字符串值

内置 loadbalancer 嵌套堆栈的自定义模板。

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_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 [%(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_events_per_stack = 1000

整数值

粗略每个堆栈可用的最大事件数。实际事件数量可能会更高,因为清除检查会花费随机 200/event_purge_batch_size 百分比。当事件被清除时,会删除旧的事件。为每个堆栈限制事件设置为 0。

max_interface_check_attempts = 10

整数值

检查接口是否已附加或分离的次数。

max_ironic_api_microversion = None

浮点值

客户端插件的最大 ironic API 版本。在这个版本中,任何支持 max_ironic_api_microversion 以上的微版本号支持的任何 ironic 功能都不可用。

max_json_body_size = 1048576

整数值

JSON 请求正文的最大原始字节大小。应该大于 max_template_size。

max_logfile_count = 30

整数值

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

max_logfile_size_mb = 200

整数值

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

max_nested_stack_depth = 5

整数值

使用嵌套堆栈时允许的最大深度。

max_nova_api_microversion = None

浮点值

客户端插件的最大 nova API 版本。在这个版本中,任何支持 max_nova_api_microversion 以上的微版本号支持的 nova 功能都不可用。

max_resources_per_stack = 1000

整数值

每个顶级堆栈允许的最大资源数。-1 代表无限量。

max_server_name_length = 53

整数值

在 nova 中使用的服务器名称的最大长度。

max_stacks_per_tenant = 512

整数值

一个租户一次可能具有的最大堆栈数。-1 代表无限。

max_template_size = 524288

整数值

任何模板的最大原始字节大小。

num_engine_workers = None

整数值

用于分叉和运行的 heat-engine 进程数量。将默认为主机上的 4 或 CPU 数量,以较大者为准。

observe_on_update = False

布尔值

在更新时,允许 heat 从事实上收集现有资源属性,并聚合到更新的模板。

onready = None

字符串值

已弃用。

periodic_interval = 60

整数值

运行定期任务之间的秒。

plugin_dirs = ['/usr/lib64/heat', '/usr/lib/heat', '/usr/local/lib/heat', '/usr/local/lib64/heat']

列表值

用于搜索插件的目录列表。

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

整数值

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

`reauthentication_auth_method = `

字符串值

允许对令牌到期进行重新身份验证,以便长时间运行的任务可能完成。请注意,这会破坏任何提供用户令牌的到期。

region_name_for_services = None

字符串值

用于获取服务端点的默认区域名称。

region_name_for_shared_services = None

字符串值

共享服务端点的区域名称。

rpc_conn_pool_size = 30

整数值

RPC 连接池的大小。

rpc_ping_enabled = False

布尔值

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

rpc_response_timeout = 60

整数值

从调用等待响应的秒数。

run_external_periodic_tasks = True

布尔值

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

`server_keystone_endpoint_type = `

字符串值

如果设置,则用于控制用户控制的服务器使用哪些身份验证端点来重新调用 Heat。如果使用未设置 www_authenticate_uri。

shared_services_types = ['image', 'volume', 'volumev2']

列表值

位于其他地区中的共享服务。Needs region_name_for_shared_services 选项设为此效果。

stack_action_timeout = 3600

整数值

堆栈操作的超时时间(如 create 或 update)。

stack_domain_admin = None

字符串值

Keystone 用户名,具有角色的用户足以管理 stack_user_domain 中的用户和项目。

stack_domain_admin_password = None

字符串值

stack_domain_admin 用户的 Keystone 密码。

stack_scheduler_hints = False

布尔值

启用此功能后,标识服务器或卷资源的 heat 堆栈上下文的调度程序提示将传递到 nova 和 cinder 中的已配置调度程序,例如使用 heat 资源类型 OS::Cinder::Volume、OS::Nova::Server 和 AWS::EC2::Instance。heat_root_stack_id 将设置为资源的根堆栈的 id, heat_stack_id 将设置为资源父堆栈的 id,heat_stack_name 将设置为资源父堆栈的名称,heat_path_in_stack 将设置为以逗号分隔的 stackresourcename 和带有 list[0] 的 stackname 的列表,heat_resource_ name 将设为资源名称,即 heat_resource_name。 和 heat_resource_uuid 将被设为资源的编配 ID。

stack_user_domain_id = None

字符串值

包含 heat 模板定义用户的 Keystone 域 ID。如果设置了这个选项,则忽略 stack_user_domain_name 选项。

stack_user_domain_name = None

字符串值

包含 heat 模板定义用户的 Keystone 域名。如果设置了 stack_user_domain_id 选项,则忽略此选项。

syslog-log-facility = LOG_USER

字符串值

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

template_dir = /etc/heat/templates

字符串值

用于搜索模板文件的目录。

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

trusts_delegated_roles = []

列表值

要委派给 heat 的信任者角色的子集。如果未设置,则在创建堆栈时,用户的所有角色都会被委派给 heat。

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,则忽略此选项。

watch-log-file = False

布尔值

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

4.1.2. auth_password

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

Expand
表 4.1. auth_password
配置选项 = 默认值类型Description

allowed_auth_uris = []

列表值

启用 multi_cloud 时,auth_uri 允许的 keystone 端点。至少需要指定一个端点。

multi_cloud = False

布尔值

允许编排多个云。

4.1.3. 客户端

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

Expand
表 4.2. 客户端
配置选项 = 默认值类型Description

ca_file = None

字符串值

在 SSL 连接中使用的可选 CA 证书文件。

cert_file = None

字符串值

可选 PEM 格式的证书链文件。

endpoint_type = publicURL

字符串值

身份服务目录中的端点类型,用于与 OpenStack 服务通信。

insecure = False

布尔值

如果设置,则不会验证服务器证书。

key_file = None

字符串值

包含私钥的可选 PEM 格式文件。

4.1.4. clients_aodh

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

Expand
表 4.3. clients_aodh
配置选项 = 默认值类型Description

ca_file = None

字符串值

在 SSL 连接中使用的可选 CA 证书文件。

cert_file = None

字符串值

可选 PEM 格式的证书链文件。

endpoint_type = None

字符串值

身份服务目录中的端点类型,用于与 OpenStack 服务通信。

insecure = None

布尔值

如果设置,则不会验证服务器证书。

key_file = None

字符串值

包含私钥的可选 PEM 格式文件。

4.1.5. clients_barbican

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

Expand
表 4.4. clients_barbican
配置选项 = 默认值类型Description

ca_file = None

字符串值

在 SSL 连接中使用的可选 CA 证书文件。

cert_file = None

字符串值

可选 PEM 格式的证书链文件。

endpoint_type = None

字符串值

身份服务目录中的端点类型,用于与 OpenStack 服务通信。

insecure = None

布尔值

如果设置,则不会验证服务器证书。

key_file = None

字符串值

包含私钥的可选 PEM 格式文件。

4.1.6. clients_cinder

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

Expand
表 4.5. clients_cinder
配置选项 = 默认值类型Description

ca_file = None

字符串值

在 SSL 连接中使用的可选 CA 证书文件。

cert_file = None

字符串值

可选 PEM 格式的证书链文件。

endpoint_type = None

字符串值

身份服务目录中的端点类型,用于与 OpenStack 服务通信。

http_log_debug = False

布尔值

允许客户端的调试日志输出。

insecure = None

布尔值

如果设置,则不会验证服务器证书。

key_file = None

字符串值

包含私钥的可选 PEM 格式文件。

4.1.7. clients_designate

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

Expand
表 4.6. clients_designate
配置选项 = 默认值类型Description

ca_file = None

字符串值

在 SSL 连接中使用的可选 CA 证书文件。

cert_file = None

字符串值

可选 PEM 格式的证书链文件。

endpoint_type = None

字符串值

身份服务目录中的端点类型,用于与 OpenStack 服务通信。

insecure = None

布尔值

如果设置,则不会验证服务器证书。

key_file = None

字符串值

包含私钥的可选 PEM 格式文件。

4.1.8. clients_glance

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

Expand
表 4.7. clients_glance
配置选项 = 默认值类型Description

ca_file = None

字符串值

在 SSL 连接中使用的可选 CA 证书文件。

cert_file = None

字符串值

可选 PEM 格式的证书链文件。

endpoint_type = None

字符串值

身份服务目录中的端点类型,用于与 OpenStack 服务通信。

insecure = None

布尔值

如果设置,则不会验证服务器证书。

key_file = None

字符串值

包含私钥的可选 PEM 格式文件。

4.1.9. clients_heat

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

Expand
表 4.8. clients_heat
配置选项 = 默认值类型Description

ca_file = None

字符串值

在 SSL 连接中使用的可选 CA 证书文件。

cert_file = None

字符串值

可选 PEM 格式的证书链文件。

endpoint_type = None

字符串值

身份服务目录中的端点类型,用于与 OpenStack 服务通信。

insecure = None

布尔值

如果设置,则不会验证服务器证书。

key_file = None

字符串值

包含私钥的可选 PEM 格式文件。

`url = `

字符串值

可选的 heat url 格式,如 http://0.0.0.0:8004/v1/%(tenant_id)s

4.1.10. clients_keystone

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

Expand
表 4.9. clients_keystone
配置选项 = 默认值类型Description

`auth_uri = `

字符串值

未指定版本的 keystone url 格式,如 http://0.0.0.0:5000

ca_file = None

字符串值

在 SSL 连接中使用的可选 CA 证书文件。

cert_file = None

字符串值

可选 PEM 格式的证书链文件。

endpoint_type = None

字符串值

身份服务目录中的端点类型,用于与 OpenStack 服务通信。

insecure = None

布尔值

如果设置,则不会验证服务器证书。

key_file = None

字符串值

包含私钥的可选 PEM 格式文件。

4.1.11. clients_magnum

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

Expand
表 4.10. clients_magnum
配置选项 = 默认值类型Description

ca_file = None

字符串值

在 SSL 连接中使用的可选 CA 证书文件。

cert_file = None

字符串值

可选 PEM 格式的证书链文件。

endpoint_type = None

字符串值

身份服务目录中的端点类型,用于与 OpenStack 服务通信。

insecure = None

布尔值

如果设置,则不会验证服务器证书。

key_file = None

字符串值

包含私钥的可选 PEM 格式文件。

4.1.12. clients_manila

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

Expand
表 4.11. clients_manila
配置选项 = 默认值类型Description

ca_file = None

字符串值

在 SSL 连接中使用的可选 CA 证书文件。

cert_file = None

字符串值

可选 PEM 格式的证书链文件。

endpoint_type = None

字符串值

身份服务目录中的端点类型,用于与 OpenStack 服务通信。

insecure = None

布尔值

如果设置,则不会验证服务器证书。

key_file = None

字符串值

包含私钥的可选 PEM 格式文件。

4.1.13. clients_mistral

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

Expand
表 4.12. clients_mistral
配置选项 = 默认值类型Description

ca_file = None

字符串值

在 SSL 连接中使用的可选 CA 证书文件。

cert_file = None

字符串值

可选 PEM 格式的证书链文件。

endpoint_type = None

字符串值

身份服务目录中的端点类型,用于与 OpenStack 服务通信。

insecure = None

布尔值

如果设置,则不会验证服务器证书。

key_file = None

字符串值

包含私钥的可选 PEM 格式文件。

4.1.14. clients_monasca

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

Expand
表 4.13. clients_monasca
配置选项 = 默认值类型Description

ca_file = None

字符串值

在 SSL 连接中使用的可选 CA 证书文件。

cert_file = None

字符串值

可选 PEM 格式的证书链文件。

endpoint_type = None

字符串值

身份服务目录中的端点类型,用于与 OpenStack 服务通信。

insecure = None

布尔值

如果设置,则不会验证服务器证书。

key_file = None

字符串值

包含私钥的可选 PEM 格式文件。

4.1.15. clients_neutron

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

Expand
表 4.14. clients_neutron
配置选项 = 默认值类型Description

ca_file = None

字符串值

在 SSL 连接中使用的可选 CA 证书文件。

cert_file = None

字符串值

可选 PEM 格式的证书链文件。

endpoint_type = None

字符串值

身份服务目录中的端点类型,用于与 OpenStack 服务通信。

insecure = None

布尔值

如果设置,则不会验证服务器证书。

key_file = None

字符串值

包含私钥的可选 PEM 格式文件。

4.1.16. clients_nova

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

Expand
表 4.15. clients_nova
配置选项 = 默认值类型Description

ca_file = None

字符串值

在 SSL 连接中使用的可选 CA 证书文件。

cert_file = None

字符串值

可选 PEM 格式的证书链文件。

endpoint_type = None

字符串值

身份服务目录中的端点类型,用于与 OpenStack 服务通信。

http_log_debug = False

布尔值

允许客户端的调试日志输出。

insecure = None

布尔值

如果设置,则不会验证服务器证书。

key_file = None

字符串值

包含私钥的可选 PEM 格式文件。

4.1.17. clients_octavia

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

Expand
表 4.16. clients_octavia
配置选项 = 默认值类型Description

ca_file = None

字符串值

在 SSL 连接中使用的可选 CA 证书文件。

cert_file = None

字符串值

可选 PEM 格式的证书链文件。

endpoint_type = None

字符串值

身份服务目录中的端点类型,用于与 OpenStack 服务通信。

insecure = None

布尔值

如果设置,则不会验证服务器证书。

key_file = None

字符串值

包含私钥的可选 PEM 格式文件。

4.1.18. clients_sahara

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

Expand
表 4.17. clients_sahara
配置选项 = 默认值类型Description

ca_file = None

字符串值

在 SSL 连接中使用的可选 CA 证书文件。

cert_file = None

字符串值

可选 PEM 格式的证书链文件。

endpoint_type = None

字符串值

身份服务目录中的端点类型,用于与 OpenStack 服务通信。

insecure = None

布尔值

如果设置,则不会验证服务器证书。

key_file = None

字符串值

包含私钥的可选 PEM 格式文件。

4.1.19. clients_senlin

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

Expand
表 4.18. clients_senlin
配置选项 = 默认值类型Description

ca_file = None

字符串值

在 SSL 连接中使用的可选 CA 证书文件。

cert_file = None

字符串值

可选 PEM 格式的证书链文件。

endpoint_type = None

字符串值

身份服务目录中的端点类型,用于与 OpenStack 服务通信。

insecure = None

布尔值

如果设置,则不会验证服务器证书。

key_file = None

字符串值

包含私钥的可选 PEM 格式文件。

4.1.20. clients_swift

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

Expand
表 4.19. clients_swift
配置选项 = 默认值类型Description

ca_file = None

字符串值

在 SSL 连接中使用的可选 CA 证书文件。

cert_file = None

字符串值

可选 PEM 格式的证书链文件。

endpoint_type = None

字符串值

身份服务目录中的端点类型,用于与 OpenStack 服务通信。

insecure = None

布尔值

如果设置,则不会验证服务器证书。

key_file = None

字符串值

包含私钥的可选 PEM 格式文件。

4.1.21. clients_trove

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

Expand
表 4.20. clients_trove
配置选项 = 默认值类型Description

ca_file = None

字符串值

在 SSL 连接中使用的可选 CA 证书文件。

cert_file = None

字符串值

可选 PEM 格式的证书链文件。

endpoint_type = None

字符串值

身份服务目录中的端点类型,用于与 OpenStack 服务通信。

insecure = None

布尔值

如果设置,则不会验证服务器证书。

key_file = None

字符串值

包含私钥的可选 PEM 格式文件。

4.1.22. clients_vitrage

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

Expand
表 4.21. clients_vitrage
配置选项 = 默认值类型Description

ca_file = None

字符串值

在 SSL 连接中使用的可选 CA 证书文件。

cert_file = None

字符串值

可选 PEM 格式的证书链文件。

endpoint_type = None

字符串值

身份服务目录中的端点类型,用于与 OpenStack 服务通信。

insecure = None

布尔值

如果设置,则不会验证服务器证书。

key_file = None

字符串值

包含私钥的可选 PEM 格式文件。

4.1.23. clients_zaqar

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

Expand
表 4.22. clients_zaqar
配置选项 = 默认值类型Description

ca_file = None

字符串值

在 SSL 连接中使用的可选 CA 证书文件。

cert_file = None

字符串值

可选 PEM 格式的证书链文件。

endpoint_type = None

字符串值

身份服务目录中的端点类型,用于与 OpenStack 服务通信。

insecure = None

布尔值

如果设置,则不会验证服务器证书。

key_file = None

字符串值

包含私钥的可选 PEM 格式文件。

4.1.24. CORS

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

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

allow_credentials = True

布尔值

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

allow_headers = ['X-Auth-Token', 'X-Identity-Status', 'X-Roles', 'X-Service-Catalog', 'X-User-Id', 'X-Tenant-Id', 'X-OpenStack-Request-ID']

列表值

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

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

列表值

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

allowed_origin = None

列表值

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

expose_headers = ['X-Auth-Token', 'X-Subject-Token', 'X-Service-Token', 'X-OpenStack-Request-ID']

列表值

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

max_age = 3600

整数值

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

4.1.25. database

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

Expand
表 4.24. 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

布尔值

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

4.1.26. ec2authtoken

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

Expand
表 4.25. ec2authtoken
配置选项 = 默认值类型Description

allowed_auth_uris = []

列表值

启用 multi_cloud 时,auth_uri 允许的 keystone 端点。至少需要指定一个端点。

auth_uri = None

字符串值

身份验证端点 URI.

ca_file = None

字符串值

在 SSL 连接中使用的可选 CA 证书文件。

cert_file = None

字符串值

可选 PEM 格式的证书链文件。

insecure = False

布尔值

如果设置,则不会验证服务器证书。

key_file = None

字符串值

包含私钥的可选 PEM 格式文件。

multi_cloud = False

布尔值

允许编排多个云。

4.1.27. eventlet_opts

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

Expand
表 4.26. eventlet_opts
配置选项 = 默认值类型Description

client_socket_timeout = 900

整数值

客户端连接的套接字操作的超时。如果传入的连接闲置了这个秒数,它将被关闭。值 0 表示等待永久。

wsgi_keep_alive = True

布尔值

如果为 False,请明确关闭客户端套接字连接。

4.1.28. healthcheck

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

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

backends = []

列表值

可执行健康检查并报告该信息作为请求的一部分的其他后端。

detailed = False

布尔值

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

disable_by_file_path = None

字符串值

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

disable_by_file_paths = []

列表值

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

path = /healthcheck

字符串值

响应 healtcheck 请求的路径。

4.1.29. heat_api

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

Expand
表 4.28. heat_api
配置选项 = 默认值类型Description

backlog = 4096

整数值

要配置套接字的积压请求数。

bind_host = 0.0.0.0

IP 地址值

绑定服务器的地址。在选择特定网络接口时很有用。

bind_port = 8004

端口值

服务器将侦听的端口。

cert_file = None

字符串值

用于 SSL 模式的 SSL 证书文件的位置。

key_file = None

字符串值

用于启用 SSL 模式的 SSL 密钥文件的位置。

max_header_line = 16384

整数值

要接受的最大消息标头大小。在使用大型令牌时(通常是由 Keystone v3 API 为大型服务目录生成的),可能需要增加 max_header_line。

tcp_keepidle = 600

整数值

套接字选项 TCP_KEEPIDLE 的值。这是在 TCP 开始发送 keepalive 探测前必须闲置连接的时间(以秒为单位)。

workers = 0

整数值

Heat 服务的 worker 数量。默认值 0 表示,该服务将启动与服务器上内核相等的 worker 数量。

4.1.30. heat_api_cfn

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

Expand
表 4.29. heat_api_cfn
配置选项 = 默认值类型Description

backlog = 4096

整数值

要配置套接字的积压请求数。

bind_host = 0.0.0.0

IP 地址值

绑定服务器的地址。在选择特定网络接口时很有用。

bind_port = 8000

端口值

服务器将侦听的端口。

cert_file = None

字符串值

用于 SSL 模式的 SSL 证书文件的位置。

key_file = None

字符串值

用于启用 SSL 模式的 SSL 密钥文件的位置。

max_header_line = 16384

整数值

要接受的最大消息标头大小。在使用大型令牌时(通常是由 Keystone v3 API 为大型服务目录生成的),可能需要增加 max_header_line。

tcp_keepidle = 600

整数值

套接字选项 TCP_KEEPIDLE 的值。这是在 TCP 开始发送 keepalive 探测前必须闲置连接的时间(以秒为单位)。

workers = 1

整数值

Heat 服务的 worker 数量。

4.1.31. heat_api_cloudwatch

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

Expand
表 4.30. heat_api_cloudwatch
配置选项 = 默认值类型Description

backlog = 4096

整数值

要配置套接字的积压请求数。弃用自: 10.0.0

*reason:*Heat CloudWatch API 已被删除。

bind_host = 0.0.0.0

IP 地址值

绑定服务器的地址。在选择特定网络接口时很有用。弃用自: 10.0.0

*reason:*Heat CloudWatch API 已被删除。

bind_port = 8003

端口值

服务器将侦听的端口。弃用自: 10.0.0

*reason:*Heat CloudWatch API 已被删除。

cert_file = None

字符串值

用于 SSL 模式的 SSL 证书文件的位置。弃用自: 10.0.0

*reason:*Heat CloudWatch API 已被删除。

key_file = None

字符串值

用于启用 SSL 模式的 SSL 密钥文件的位置。弃用自: 10.0.0

*reason:*Heat CloudWatch API 已被删除。

max_header_line = 16384

整数值

要接受的最大消息标头大小。在使用大型令牌时(通常是由 Keystone v3 API 使用大型服务目录生成的),则可能需要增加 max_header_line弃用自: 10.0.0

*reason:*Heat CloudWatch API 已被删除。

tcp_keepidle = 600

整数值

套接字选项 TCP_KEEPIDLE 的值。这是在 TCP 开始发送 keepalive 探测前必须闲置连接的时间(以秒为单位)。弃用自: 10.0.0

*reason:*Heat CloudWatch API 已被删除。

workers = 1

整数值

Heat 服务的 worker 数量。弃用自: 10.0.0

*reason:*Heat CloudWatch API 已被删除。

4.1.32. keystone_authtoken

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

Expand
表 4.31. 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 端点,则该服务用户不应该用于验证令牌的端点,因为普通用户可能无法访问该端点。

4.1.33. noauth

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

Expand
表 4.32. noauth
配置选项 = 默认值类型Description

`token_response = `

字符串值

包含 noauth 中间件返回内容的 JSON 文件。

4.1.34. oslo_messaging_amqp

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

Expand
表 4.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 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 default_rpc_exchange if set other 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 消息。

notify_address_prefix = openstack.org/om/notify

字符串值

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

notify_server_credit = 100

整数值

传入通知消息的窗口大小

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

多值

发送此类型的消息预先组装。预先设置的消息不会接收来自 peer 的确认信息。请注意:如果发送失败,则预先设置的消息可能会被静默丢弃。允许的值: rpc-call - 发送 RPC Calls pre-settled rpc-reply- 发送 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 消息的窗口大小。

rpc_address_prefix = openstack.org/om/rpc

字符串值

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

rpc_server_credit = 100

整数值

传入 RPC Request 消息的窗口大小

`sasl_config_dir = `

字符串值

包含 SASL 配置的目录路径

`sasl_config_name = `

字符串值

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

`sasl_default_realm = `

字符串值

如果用户名中没有 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 extension (rfc6066)来为每个虚拟主机提供证书。如果服务器的 SSL 证书使用虚拟主机名称而不是 DNS 名称,则将 ssl_verify_vhost 设置为 True。

trace = False

布尔值

debug :将 AMQP 帧转储到 stdout

unicast_address = unicast

字符串值

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

4.1.35. oslo_messaging_kafka

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

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

compression_codec = none

字符串值

producer 生成的所有数据的压缩 codec。如果没有设置,则不会使用压缩。请注意,这允许的值取决于 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 consumer 的最大获取字节数

max_poll_records = 500

整数值

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

pool_size = 10

整数值

Kafka Consumers 的池大小

producer_batch_size = 16384

整数值

producer async 发送的批处理大小

producer_batch_timeout = 0.0

浮点值

以秒为单位的 KafkaProducer 批处理延迟上限

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

字符串值

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

4.1.36. oslo_messaging_notifications

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

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

driver = []

多值

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

retry = -1

整数值

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

topics = ['notifications']

列表值

用于 OpenStack 通知的 AMQP 主题。

transport_url = None

字符串值

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

4.1.37. oslo_messaging_rabbit

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

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

amqp_auto_delete = False

布尔值

AMQP 中的自动删除队列。

amqp_durable_queues = False

布尔值

在 AMQP 中使用持久队列。

direct_mandatory_flag = True

布尔值

(DEPRECATED)为直接发送启用/禁用 RabbitMQ 强制标记。直接发送用作回复,因此在客户端队列不存在时引发 MessageUndeliverable 异常。MessageUndeliverable 异常将用于循环使发送者恢复。此标志已弃用,且无法停用此功能

enable_cancel_on_failover = False

布尔值

启用 x-cancel-on-ha-failover 标志,使 rabbitmq 服务器将取消并通知 consumerswhen 队列停机

heartbeat_in_pthread = False

布尔值

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

heartbeat_rate = 2

整数值

heartbeat_timeout_threshold 期间的时间我们检查心跳的频率。

heartbeat_timeout_threshold = 60

整数值

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

kombu_compression = None

字符串值

EXPERIMENTAL: Possible 值为: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\.) gem {"ha-mode": "all"} "

rabbit_interval_max = 30

整数值

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

rabbit_login_method = AMQPLAIN

字符串值

RabbitMQ 登录方法。

rabbit_qos_prefetch_count = 0

整数值

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

rabbit_retry_backoff = 2

整数值

连接到 RabbitMQ 时重试之间的 backoff 时长。

rabbit_retry_interval = 1

整数值

使用 RabbitMQ 重试连接的频率。

rabbit_transient_queues_ttl = 1800

整数值

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

ssl = False

布尔值

通过 SSL 连接。

`ssl_ca_file = `

字符串值

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

`ssl_cert_file = `

字符串值

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

`ssl_key_file = `

字符串值

SSL 密钥文件(仅在启用了 SSL 时valid)。

`ssl_version = `

字符串值

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

4.1.38. oslo_middleware

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

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

enable_proxy_headers_parsing = False

布尔值

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

max_request_body_size = 114688

整数值

每个请求的最大正文大小,以字节为单位。

secure_proxy_ssl_header = X-Forwarded-Proto

字符串值

用于确定原始请求协议方案的 HTTP 标头,即使它被 SSL 终止代理隐藏也是如此。

4.1.39. oslo_policy

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

Expand
表 4.38. 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 的策略检查的服务器身份验证

4.1.40. paste_deploy

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

Expand
表 4.39. paste_deploy
配置选项 = 默认值类型Description

api_paste_config = api-paste.ini

字符串值

API 粘贴配置文件。

flavor = None

字符串值

要使用的类别。

4.1.41. profiler

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

Expand
表 4.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 驱动程序进行发送范围。
  • 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 服务。此参数定义名称(例如: sentinal_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 查询。

4.1.42. revision

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

Expand
表 4.41. revision
配置选项 = 默认值类型Description

heat_revision = unknown

字符串值

Heat 构建修订.如果您希望单独管理构建修订,您可以将此部分移到其他文件中,并将它添加为另一个配置选项。

4.1.43. ssl

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

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

ca_file = None

字符串值

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

cert_file = None

字符串值

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

密码 = None

字符串值

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

key_file = None

字符串值

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

version = None

字符串值

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

4.1.44. trustee

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

Expand
表 4.43. trustee
配置选项 = 默认值类型Description

auth-url = None

字符串值

身份验证 URL

auth_section = None

字符串值

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

auth_type = None

字符串值

要加载的身份验证类型

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

字符串值

范围为的域名

password = None

字符串值

用户的密码

project-domain-id = None

字符串值

包含项目的域 ID

project-domain-name = None

字符串值

包含项目的域名

project-id = None

字符串值

项目 ID 的范围

project-name = None

字符串值

范围的项目名称

system-scope = None

字符串值

系统操作的范围

trust-id = None

字符串值

信任 ID

user-domain-id = None

字符串值

用户的域 ID

user-domain-name = None

字符串值

用户的域名

user-id = None

字符串值

用户 ID

username = None

字符串值

用户名

4.1.45. 卷

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

Expand
表 4.44. 卷
配置选项 = 默认值类型Description

backups_enabled = True

布尔值

指明是否启用了 cinder-backup 服务。这是一个临时解决方案,直到 cinder-backup 服务变为可发现的问题,请参阅 LP1.10.134856。

第 5 章 ironic

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

5.1. ironic.conf

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

5.1.1. DEFAULT

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

.

Expand
配置选项 = 默认值类型Description

auth_strategy = keystone

字符串值

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

backdoor_port = None

字符串值

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

backdoor_socket = None

字符串值

启用 eventlet 后端,使用提供的路径作为可接收连接的 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']

列表值

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

default_management_interface = None

字符串值

用于没有设置 management_interface 字段的节点的默认管理界面。通过枚举 "ironic.hardware.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.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']

列表值

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

enabled_boot_interfaces = ['pxe']

列表值

指定在服务初始化过程中载入的引导接口列表。缺少引导接口或无法初始化的引导接口将导致 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']

列表值

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

enabled_hardware_types = ['ipmi']

列表值

指定在服务初始化过程中载入的硬件类型列表。缺少硬件类型或无法初始化的硬件类型将阻止编排器服务启动。这个选项默认为推荐的一组面向生产环境的硬件类型。通过枚举 "ironic.hardware.types" 入口点,可以找到系统中存在的硬件类型的完整列表。

enabled_inspect_interfaces = ['no-inspect']

列表值

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

enabled_management_interfaces = ['ipmitool']

列表值

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

enabled_network_interfaces = ['flat', 'noop']

列表值

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

enabled_power_interfaces = ['ipmitool']

列表值

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

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

列表值

指定要在服务初始化过程中载入的 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', 'no-vendor']

列表值

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

esp_image = None

字符串值

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

executor_thread_pool_size = 64

整数值

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

fatal_deprecations = False

布尔值

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

force_raw_images = True

布尔值

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

graceful_shutdown_timeout = 60

整数值

指定安全关闭服务器将退出的超时。零值表示无限期等待。

grub_config_path = /boot/grub/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 的exponent,环中有 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 格式用户身份验证文件的路径

`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 [%(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_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 = False

布尔值

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

pecan_debug = False

布尔值

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

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。

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 验证。Defaults to True。

5.1.2. agent

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

Expand
表 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

字符串值

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

5.1.3. anaconda

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

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

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

字符串值

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

5.1.4. ansible

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

Expand
表 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

字符串值

path (相对于 $playbooks_path 或 absolute)到用于节点清理的默认 playbook。它可能会被节点的 driver_info 字段中的 per-node ansible_clean_playbook 选项覆盖。

default_clean_steps_config = clean_steps.yaml

字符串值

path (相对于 $playbooks_path 或 absolute)到节点清理过程中使用的默认辅助清理步骤文件。它可能会被节点的 driver_info 字段中的 per-node ansible_clean_steps_config 选项覆盖。

default_deploy_playbook = deploy.yaml

字符串值

path (相对于 $playbooks_path 或 absolute)到用于部署的默认 playbook。它可能会被节点的 driver_info 字段中的 per-node 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

字符串值

path (相对于 $playbooks_path 或 absolute)到用于安全关闭节点的默认 playbook 的路径。它可能会被节点的 driver_info 字段中的 per-node 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 会话日志记录。启用全局调试时默认为 4,否则默认为 0。

5.1.5. api

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

Expand
表 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 终止的响应。

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 端口。

public_endpoint = None

字符串值

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

ramdisk_heartbeat_timeout = 300

整数值

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

restrict_lookup = True

布尔值

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

5.1.6. audit

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

Expand
表 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] 组下可用的选项。

Expand
表 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

字符串值

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

5.1.8. conductor

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

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

allow_deleting_available_nodes = True

布尔值

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

allow_provisioning_in_maintenance = True

布尔值

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

automated_clean = True

布尔值

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

bootloader = None

字符串值

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

check_allocations_interval = 60

整数值

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

check_provision_state_interval = 60

整数值

检查置备超时之间的间隔,以秒为单位。设置为 0 可禁用检查。

check_rescue_state_interval = 60

整数值

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

clean_callback_timeout = 1800

整数值

超时(秒),以等待来自 ramdisk 执行清理的回调。如果达到超时,节点将置于"clean failed"调配状态。设置为 0 可禁用超时。

clean_step_priority_override = {}

dict 值

优先级为 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,否则默认为 1800 秒。当 configdrive_use_object_store 为 True 时使用。

deploy_callback_timeout = 1800

整数值

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

deploy_kernel = None

字符串值

默认部署镜像的 kernel 的 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

整数值

编排器核心为ats 之间的秒。

heartbeat_timeout = 60

整数值

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

inspect_wait_timeout = 1800

整数值

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

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" provision 状态。设置为 0 可禁用超时。

rescue_kernel = None

字符串值

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

rescue_password_hash_algorithm = sha256

字符串值

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

rescue_ramdisk = None

字符串值

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

send_sensor_data = False

布尔值

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

send_sensor_data_for_undeployed_nodes = False

布尔值

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

send_sensor_data_interval = 600

整数值

通过通知总线向 ceilometer 发送传感器数据消息之间的秒数。

send_sensor_data_types = ['ALL']

列表值

需要发送到 Ceilometer 的以逗号分隔的量表类型列表。默认值为 "ALL",它是一个特殊值,表示发送所有传感器数据。

send_sensor_data_wait_timeout = 300

整数值

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

send_sensor_data_workers = 4

整数值

可同时启动用于发送传感器定期任务数据的最大 worker 数量。

soft_power_off_timeout = 600

整数值

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

sync_local_state_interval = 180

整数值

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

sync_power_state_interval = 60

整数值

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

sync_power_state_workers = 8

整数值

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

workers_pool_size = 100

整数值

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

5.1.9. 控制台

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

Expand
表 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] 组下可用的选项。

Expand
表 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] 组下可用的选项。

Expand
表 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)的支持。

mysql_engine = InnoDB

字符串值

要使用的 MySQL 引擎。

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

布尔值

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

5.1.12. deploy

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

Expand
表 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 = bios

字符串值

在节点的 driver_info、功能或 instance_info 配置中没有请求引导模式时,要使用的默认引导模式。目前默认引导模式为"bios",但将在以后将其更改为"定义"。建议为这个选项设置明确的值。这个选项仅在管理界面支持引导模式管理时才生效

default_boot_option = local

字符串值

在节点的 driver_info 中不请求引导选项时,使用默认引导选项。默认为 "local"。在 Usssuri 发布之前,默认值为"netboot"。

delete_configuration_priority = None

整数值

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

disk_erasure_concurrency = 1

整数值

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

enable_ata_secure_erase = True

布尔值

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

enable_nvme_secure_erase = True

布尔值

是否在清理过程中支持使用 NVMe Secure Erase。目前,user-data 和 crypto 模式支持 nvme-cli format 命令,具体取决于设备 capabilities.Defaults 为 True。

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

布尔值

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

external_callback_url = None

字符串值

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

external_http_url = None

字符串值

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

fast_track = False

布尔值

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

fast_track_timeout = 300

整数值

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

http_image_subdir = agent_images

字符串值

ironic-conductor 节点的 HTTP 根路径下的子目录名称,用于为直接部署接口放置实例镜像,当本地 HTTP 服务合并到提供实例镜像而不是 swift tempurls 时。

http_root = /httpboot

字符串值

ironic-conductor 节点的 HTTP 根路径。

http_url = None

字符串值

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

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 安全 Erased 时才使用此选项。默认值为 True。

shred_random_overwrite_iterations = 1

整数值

在 shred 期间,使用随机数据覆盖所有块设备 N 次。这只有在无法 ATA 安全 Erased 时使用。默认为 1。

5.1.13. dhcp

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

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

dhcp_provider = neutron

字符串值

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

5.1.14. disk_partitioner

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

Expand
表 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] 组下可用的选项。

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

bios_boot_partition_size = 1

整数值

在 BIOS 中为本地引导时,以 MiB 为单位的 BIOS 引导分区大小(以 MiB 为单位)。

dd_block_size = 1M

字符串值

写入节点磁盘的块大小。

efi_system_partition_size = 200

整数值

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

image_convert_attempts = 3

整数值

镜像转换的尝试次数。

image_convert_memory_limit = 2048

整数值

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

partition_detection_attempts = 3

整数值

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

partprobe_attempts = 10

整数值

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

5.1.16. drac

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

Expand
表 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 配置是否已成功完成。

5.1.17. Glance

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

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

allowed_direct_url_schemes = []

列表值

可以直接通过 direct_url 下载的 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 临时 URL 格式:"endpoint_url/api_version/account/container/object_id"

swift_api_version = v1

字符串值

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

swift_container = glance

字符串值

Swift 容器 Glance 已配置为将其映像存储在.默认为 "glance",这是 glance-api.conf 中的默认值。Swift 临时 URL 格式:"endpoint_url/api_version/account/container/object_id"

swift_endpoint_url = None

字符串值

用于 "endpoint_url/api_version/account/container/object_id" 的 Swift URL 的 "endpoint, hostname, optional port)。不要包含结尾的"/"。例如,使用 "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

字符串值

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

5.1.18. healthcheck

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

Expand
表 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] 组下可用的选项。

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

ca_file = None

字符串值

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

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

整数值

swift-less 镜像的文件权限,使用文件访问权限的八进制权限表示。此设置默认为 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 小时,默认模式为 "block" 的 300GB SSD 需要约为 "block"。30 秒才能完成 sanitize 磁盘清除。

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。这要求 http_root 和 http_url 在配置文件的 [deploy] 部分中配置。如果这设置为 False,则 Ironic 将使用 Swift 托管软盘镜像和生成的 boot_iso。

verify_ca = True

字符串值

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

5.1.20. inspector

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

Expand
表 5.19. inspector
配置选项 = 默认值类型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 = `

字符串值

引导由 ironic (而非 ironic-inspector)管理时,要传递给检查 ramdisk 的额外内核参数。对键=值用空格分开。

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

字符串值

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

5.1.21. ipmi

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

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

additional_retryable_ipmi_errors = []

多值

ipmitool 可能会遇到的额外错误,特定于它在其中运行的环境。

cipher_suite_versions = []

列表值

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

command_retry_timeout = 60

整数值

重试 IPMI 操作的最大时间(以秒为单位)。(例如,如果请求的操作失败,则一个操作可以被重试。)当存在缓慢或无响应的 BMC 时,设置此值可能会导致同步电源状态定期任务挂起。

debug = False

布尔值

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

disable_boot_timeout = True

布尔值

Ironic 发送原始 IPMI 命令的默认超时行为,以禁用 60 秒启动超时。将此选项设置为 False 不会发送该命令,默认值为 True。它可以被节点的 driver_info 字段中的 per-node 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.22. irmc

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

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

auth_method = basic

字符串值

用于 iRMC 操作的验证方法

clean_priority_restore_irmc_bios_config = 0

整数值

restore_irmc_bios_config clean 步骤的优先级。

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

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 需要。如果 python-scciclient 的版本为 0.10.1,则将忽略。有效选项包括 sha ,sha256,sha384sha512,而 sha 是 iRMC S4 和 S5 中唯一支持的协议,但支持 sha256sha384sha512,但不支持 sha。

snmp_community = public

字符串值

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

snmp_polling_interval = 10

整数值

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

snmp_port = 161

端口值

SNMP 端口

snmp_priv_proto = aes

字符串值

SNMPv3 消息隐私(加密)协议 ID。版本 v3 需要。如果 python-scciclient 的版本为 0.10.1,则将忽略。支持 AES。

snmp_security = None

字符串值

SNMP 安全性名称。版本 v3 需要。如果设置了 driver_info/irmc_snmp_user,则将忽略。

snmp_version = v2c

字符串值

SNMP 协议版本

5.1.23. ironic_lib

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

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

fatal_exception_format_errors = False

布尔值

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

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

字符串值

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

5.1.24. iscsi

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

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

conv_flags = None

字符串值

需要发送到 dd 命令的标记,以控制复制到主机时原始文件的转换。它可以包含多个选项,用逗号分开。

portal_port = 3260

端口值

iSCSI 门户侦听传入连接的端口号。

verify_attempts = 3

整数值

最多尝试验证 iSCSI 连接是否处于活动状态,在尝试之间休眠 1 秒。默认值为 3。

5.1.25. json_rpc

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

Expand
表 5.24. json_rpc
配置选项 = 默认值类型Description

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] 组下可用的选项。

Expand
表 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" ),但如果绑定类型未知,则令牌将被拒绝。"必需"令牌绑定需要允许任何形式的令牌绑定。最后,令牌中必须存在的绑定方法名称。

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 端点,则该服务用户不应该用于验证令牌的端点,因为普通用户可能无法访问该端点。

5.1.27. mdns

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

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

interfaces = None

列表值

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

lookup_attempts = 3

整数值

查找服务的尝试次数。

params = {}

dict 值

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

registration_attempts = 5

整数值

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

5.1.28. metrics

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

Expand
表 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] 组下可用的选项。

Expand
表 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] 组下可用的选项。

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

password = None

字符串值

"http" Basic auth 的密码。默认情况下,设置为空。

retry_attempts = 3

整数值

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

retry_interval = 3

整数值

保存或获取配置折叠的重试间隔。

storage = swift

字符串值

配置 mold 存储位置。支持 "swift" 和 "http"。默认 "swift"。

user = None

字符串值

user for "http" Basic auth。默认情况下,设置为空。

5.1.31. neutron

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

Expand
表 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 iwl-categoriesthe 租户网络用于该网络的网络。如果使用救援模式,则需要 "neutron" 网络接口。它不适用于 "flat" 或 "noop" 网络接口。如果提供了名称,则它在所有网络之间必须是唯一的,否则 rescue 将失败。

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

字符串值

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

5.1.32. nova

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

Expand
表 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 计算服务的部署中,此选项应设置为 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

字符串值

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

5.1.33. oslo_concurrency

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

Expand
表 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] 组下可用的选项。

Expand
表 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 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 default_rpc_exchange if set other 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 消息。

notify_address_prefix = openstack.org/om/notify

字符串值

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

notify_server_credit = 100

整数值

传入通知消息的窗口大小

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

多值

发送此类型的消息预先组装。预先设置的消息不会接收来自 peer 的确认信息。请注意:如果发送失败,则预先设置的消息可能会被静默丢弃。允许的值: rpc-call - 发送 RPC Calls pre-settled rpc-reply- 发送 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 消息的窗口大小。

rpc_address_prefix = openstack.org/om/rpc

字符串值

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

rpc_server_credit = 100

整数值

传入 RPC Request 消息的窗口大小

`sasl_config_dir = `

字符串值

包含 SASL 配置的目录路径

`sasl_config_name = `

字符串值

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

`sasl_default_realm = `

字符串值

如果用户名中没有 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 extension (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] 组下可用的选项。

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

compression_codec = none

字符串值

producer 生成的所有数据的压缩 codec。如果没有设置,则不会使用压缩。请注意,这允许的值取决于 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 consumer 的最大获取字节数

max_poll_records = 500

整数值

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

pool_size = 10

整数值

Kafka Consumers 的池大小

producer_batch_size = 16384

整数值

producer async 发送的批处理大小

producer_batch_timeout = 0.0

浮点值

以秒为单位的 KafkaProducer 批处理延迟上限

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] 组下可用的选项。

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

driver = []

多值

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

retry = -1

整数值

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

topics = ['notifications']

列表值

用于 OpenStack 通知的 AMQP 主题。

transport_url = None

字符串值

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

5.1.37. oslo_messaging_rabbit

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

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

amqp_auto_delete = False

布尔值

AMQP 中的自动删除队列。

amqp_durable_queues = False

布尔值

在 AMQP 中使用持久队列。

direct_mandatory_flag = True

布尔值

(DEPRECATED)为直接发送启用/禁用 RabbitMQ 强制标记。直接发送用作回复,因此在客户端队列不存在时引发 MessageUndeliverable 异常。MessageUndeliverable 异常将用于循环使发送者恢复。此标志已弃用,且无法停用此功能

enable_cancel_on_failover = False

布尔值

启用 x-cancel-on-ha-failover 标志,使 rabbitmq 服务器将取消并通知 consumerswhen 队列停机

heartbeat_in_pthread = False

布尔值

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

heartbeat_rate = 2

整数值

heartbeat_timeout_threshold 期间的时间我们检查心跳的频率。

heartbeat_timeout_threshold = 60

整数值

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

kombu_compression = None

字符串值

EXPERIMENTAL: Possible 值为: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\.) gem {"ha-mode": "all"} "

rabbit_interval_max = 30

整数值

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

rabbit_login_method = AMQPLAIN

字符串值

RabbitMQ 登录方法。

rabbit_qos_prefetch_count = 0

整数值

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

rabbit_retry_backoff = 2

整数值

连接到 RabbitMQ 时重试之间的 backoff 时长。

rabbit_retry_interval = 1

整数值

使用 RabbitMQ 重试连接的频率。

rabbit_transient_queues_ttl = 1800

整数值

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

ssl = False

布尔值

通过 SSL 连接。

`ssl_ca_file = `

字符串值

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

`ssl_cert_file = `

字符串值

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

`ssl_key_file = `

字符串值

SSL 密钥文件(仅在启用了 SSL 时valid)。

`ssl_version = `

字符串值

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

5.1.38. oslo_middleware

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

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

enable_proxy_headers_parsing = False

布尔值

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

5.1.39. oslo_policy

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

Expand
表 5.38. 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 的策略检查的服务器身份验证

5.1.40. oslo_reports

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

Expand
表 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] 组下可用的选项。

Expand
表 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 驱动程序进行发送范围。
  • 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 服务。此参数定义名称(例如: sentinal_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] 组下可用的选项。

Expand
表 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 文件夹。建议指定八进制表示。例如: 0o755

enable_netboot_fallback = False

布尔值

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

image_cache_size = 20480

整数值

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

image_cache_ttl = 10080

整数值

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

images_path = /var/lib/ironic/images/

字符串值

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

instance_master_path = /var/lib/ironic/master_images

字符串值

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

ip_version = 4

字符串值

用于 PXE 引导的 IP 版本。默认值为 4。实验性

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

字符串值

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

ipxe_bootfile_name = undionly.kpxe

字符串值

Bootfile DHCP 参数。

ipxe_bootfile_name_by_arch = {}

dict 值

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

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

字符串值

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

ipxe_timeout = 0

整数值

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

ipxe_use_swift = False

布尔值

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

pxe_append_params = nofb nomodeset vga=normal

字符串值

为 baremetal PXE 引导附加参数。

pxe_bootfile_name = pxelinux.0

字符串值

Bootfile DHCP 参数。

pxe_bootfile_name_by_arch = {}

dict 值

每个节点架构的 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 = {}

dict 值

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

tftp_master_path = /tftpboot/master_images

字符串值

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

tftp_root = /tftpboot

字符串值

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

tftp_server = $my_ip

字符串值

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

uefi_ipxe_bootfile_name = ipxe.efi

字符串值

UEFI 引导模式的 Bootfile DHCP 参数。如果您在使用引导时遇到问题,请尝试 snponly.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] 组下可用的选项。

Expand
表 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

整数值

swift-less 镜像的文件权限,使用文件访问权限的八进制权限表示。此设置默认为 644,或 Python 中的八进制数 0o644。此设置必须设置为八进制数表示,即以 0o 开始。

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. service_catalog

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

Expand
表 5.43. 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

字符串值

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

5.1.45. snmp

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

Expand
表 5.44. snmp
配置选项 = 默认值类型Description

power_timeout = 10

整数值

等待电源操作完成的秒数

reboot_delay = 0

整数值

重启(关闭和再次打开)之间休眠的时间(以秒为单位)

udp_transport_retries = 5

整数值

最多 UDP 请求重试次数,0 代表没有重试。

udp_transport_timeout = 1.0

浮点值

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

5.1.46. ssl

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

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

ca_file = None

字符串值

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

cert_file = None

字符串值

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

密码 = None

字符串值

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

key_file = None

字符串值

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

version = None

字符串值

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

5.1.47. swift

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

Expand
表 5.46. 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

字符串值

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

5.1.48. xclarity

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

Expand
表 5.47. 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" 替代

第 6 章 ironic-inspector

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

6.1. inspector.conf

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

6.1.1. DEFAULT

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

.

Expand
配置选项 = 默认值类型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] 组下可用的选项。

Expand
表 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] 组下可用的选项。

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

backend_url = memcached://localhost:11211

字符串值

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

6.1.4. CORS

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

Expand
表 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] 组下可用的选项。

Expand
表 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] 组下可用的选项。

Expand
表 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] 组下可用的选项。

Expand
表 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] 组下可用的选项。

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

strict = False

布尔值

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

6.1.9. iptables

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

Expand
表 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] 组下可用的选项。

Expand
表 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] 组下可用的选项。

Expand
表 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] 组下可用的选项。

Expand
表 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] 组下可用的选项。

Expand
表 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] 组下可用的选项。

Expand
表 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] 组下可用的选项。

Expand
表 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] 组下可用的选项。

Expand
表 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] 组下可用的选项。

Expand
表 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] 组下可用的选项。

Expand
表 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 相互排斥

第 7 章 Keystone

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

7.1. keystone.conf

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

7.1.1. DEFAULT

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

.

Expand
配置选项 = 默认值类型Description

admin_token = None

字符串值

不建议使用 此功能。反之,使用 keystone-manage bootstrap 命令。此选项的值被视为"共享机密",可用于通过 API 引导 Keystone。此"令牌"并不代表一个用户(没有身份),也无显式授权(有效地绕过大多数授权检查)。如果设置为 None,则忽略该值,并且 admin_token 中间件被有效地禁用。

conn_pool_min_size = 2

整数值

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

conn_pool_ttl = 1200

整数值

池中闲置连接的时间延迟

control_exchange = keystone

字符串值

默认交换,哪些主题在哪些方面有范围。可以被 transport_url 选项指定的交换名称覆盖。

debug = False

布尔值

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

default_log_levels = ['amqp=WARN', 'amqplib=WARN', 'boto=WARN', 'qpid=WARN', 'sqlalchemy=WARN', 'suds=INFO', 'oslo.messaging=INFO', 'oslo_messaging=INFO', 'iso8601=WARN', 'requests.packages.urllib3.connectionpool=WARN', 'urllib3.connectionpool=WARN', 'websocket=WARN', 'requests.packages.urllib3.util.retry=WARN', 'urllib3.util.retry=WARN', 'keystonemiddleware=WARN', 'routes.middleware=WARN', 'stevedore=WARN', 'taskflow=WARN', 'keystoneauth=WARN', 'oslo.cache=INFO', 'oslo_policy=INFO', 'dogpile.core.dogpile=INFO']

列表值

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

default_publisher_id = None

字符串值

用于传出通知的默认 publisher_id。如果未定义,则 Keystone 将默认使用服务器的主机名。

executor_thread_pool_size = 64

整数值

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

fatal_deprecations = False

布尔值

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

insecure_debug = False

布尔值

如果设置为 true,则服务器将在 HTTP 响应中返回信息,该响应可能允许未经身份验证的或经过身份验证的用户获得比 normal 更多的信息,如有关身份验证失败的原因的更多详情。这对调试可能很有用,但 不安全。

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

字符串值

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

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

字符串值

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

list_limit = None

整数值

集合中返回的最大实体数。然后,可以通过在适当的部分中指定 list_limit 来覆盖这个全局限制(例如 [assignment])。默认情况下不设置任何限制。在大型部署中,建议您将其设置为合理的数字,以防止列出所有用户和项目等操作,从而给系统造成不必要的负载。

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_logfile_count = 30

整数值

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

max_logfile_size_mb = 200

整数值

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

max_param_size = 64

整数值

限制用户和项目 ID/名称的大小。

max_project_tree_depth = 5

整数值

项目层次结构的最大深度,不包括作为层次结构顶部的域的项目。警告:将其设置为大的值可能会对性能造成负面影响。

max_token_size = 255

整数值

[DEFAULT] max_param_size 类似,但为令牌值提供一个例外。使用 Fernet 令牌时,这可设置为低 255。

notification_format = cadf

字符串值

定义身份服务事件的通知格式。基本 通知仅包含有关正在操作的资源的信息。cadf 通知具有相同的信息,以及有关事件的启动器的信息。cadf 选项完全与 基本 选项向后兼容,但完全符合 CADF,建议在审计用例中使用。

notification_opt_out = ['identity.authenticate.success', 'identity.authenticate.pending', 'identity.authenticate.failed']

多值

您可以通过显式选择减少通知 keystone 发送的数量。Keystone 不会发出与此列表中表达的模式匹配的通知。值应该采用 identity.<resource_type>.<operation&gt; 的形式。默认情况下,所有与身份验证相关的通知都会被自动隐藏。此字段可以设置多次,以便选择不使用多个通知主题。例如,以下禁止通知描述用户创建或成功身份验证事件: notification_opt_out=identity.user.create notification_opt_out=identity.authenticate.success

public_endpoint = None

URI 值

向客户端公告的 Keystone 的基本公共端点 URL (注意:这不会影响 Keystone 侦听连接的方式)。默认为请求的基域 URL。例如,如果 keystone 收到对 http://server:5000/v3/users 的请求,则此选项将自动视为 http://server:5000。只有基本 URL 的值包含 keystone 不会自动推断的路径(/prefix/v3)或者应该在不同主机上找到端点时,才应设置选项。

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

整数值

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

rpc_conn_pool_size = 30

整数值

RPC 连接池的大小。

rpc_ping_enabled = False

布尔值

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

rpc_response_timeout = 60

整数值

从调用等待响应的秒数。

strict_password_check = False

布尔值

如果设置为 true,则对密码操作执行严格的密码长度检查。如果密码超过最大长度,则操作将失败,并显示 HTTP 403 Forbidden 错误。如果设置为 false,密码会自动截断到最大长度。

syslog-log-facility = LOG_USER

字符串值

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

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,则忽略此选项。

watch-log-file = False

布尔值

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

7.1.2. application_credential

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

Expand
表 7.1. application_credential
配置选项 = 默认值类型Description

cache_time = None

整数值

缓存应用程序凭证数据的时间(以秒为单位)。除非启用了全局缓存,否则这无效。

caching = True

布尔值

切换应用程序凭证缓存。除非启用了全局缓存,否则这无效。

driver = sql

字符串值

keystone.application_credential 命名空间中的应用程序凭证后端驱动程序的入口点。Keystone 仅提供 sql 驱动程序,因此除非您提供了自定义入口点,否则没有更改此设置的原因。

user_limit = -1

整数值

允许用户创建的最大应用程序凭证数。值为 -1 表示无限。如果没有设置限制,则允许用户创建应用程序凭证,这可能会在 keystone 数据库中导致禁止,或者打开 keystone 攻击。

7.1.3. 分配

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

Expand
表 7.2. 分配
配置选项 = 默认值类型Description

driver = sql

字符串值

keystone.assignment 命名空间中的分配后端驱动程序(角色分配的位置)的入口点。keystone 本身仅提供 SQL 驱动程序。除非为 keystone 编写专有驱动程序,否则您不需要设置这个选项。

prohibited_implied_role = ['admin']

列表值

禁止成为代表角色的角色名称列表。

7.1.4. auth

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

Expand
表 7.3. auth
配置选项 = 默认值类型Description

application_credential = None

字符串值

keystone.auth.application_credential 命名空间中的 application_credential auth 插件模块的入口点。除非您要覆盖 keystone 自己的 application_credential 身份验证插件,否则您不需要设置它。

external = None

字符串值

keystone.auth.external 命名空间中的 external (REMOTE_USER) auth 插件模块的入口点。提供的驱动程序是 DefaultDomainDomain。默认驱动程序为 DefaultDomain,它假定默认域上下文中存在的 REMOTE_USER 变量中的 keystone 指定的用户名标识的所有用户。Domain 选项要求将额外的环境变量显示给 keystone, REMOTE_DOMAIN,其中包含 REMOTE_USER 的域名(如果未设置 REMOTE_DOMAIN,则改为使用默认域)。除非您要利用"外部身份验证",否则您不需要设置它,其中应用服务器(如 Apache)正在处理身份验证而不是 keystone。

mapped = None

字符串值

keystone.auth.mapped 命名空间中的映射 auth 插件模块的入口点。除非您要覆盖 keystone 自己的 映射 身份验证插件,否则您不需要设置它。

methods = ['external', 'password', 'token', 'oauth1', 'mapped', 'application_credential']

列表值

允许的身份验证方法.注: 如果您当前使用联邦,您应该禁用 外部 验证方法。外部身份验证和联邦都使用 REMOTE_USER 变量。由于调用 mapped 和 external 插件来验证请求环境中的属性,所以可能会导致冲突。

oauth1 = None

字符串值

keystone.auth.oauth1 命名空间中的 OAuth 1.0a auth 插件模块的入口点。除非您要覆盖 keystone 自己的 oauth1 身份验证插件,否则您不需要设置它。

password = None

字符串值

keystone.auth.password 命名空间中的 password auth 插件模块的入口点。除非您要覆盖 keystone 自己的密码身份验证插件,否则您不需要设置它。

token = None

字符串值

keystone.auth.token 命名空间中令牌 auth 插件模块的入口点。除非您要覆盖 keystone 自己的令牌身份验证插件,否则您不需要设置它。

7.1.5. 缓存

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

Expand
表 7.4. 缓存
配置选项 = 默认值类型Description

backend = dogpile.cache.null

字符串值

缓存后端模块。对于具有数百个线程服务器的基于 eventlet 的环境,建议使用带有池(oslo_cache.memcache_pool)的 Memcache。对于小于 100 个线程服务器的环境,建议使用 Memcached (dogpile.cache.memcached)或 Redis (dogpile.cache.redis)。具有单一服务器实例的测试环境可以使用 dogpile.cache.memory 后端。

backend_argument = []

多值

为 backend 模块提供的参数。指定每参数传递到 dogpile.cache 后端的一次这个选项。示例格式:"<argname>:<value>"。

config_prefix = cache.oslo

字符串值

为缓存区域构建配置字典的前缀。除非存在另一个具有相同配置名称的 dogpile.cache 区域,否则这不应更改。

dead_timeout = 60

浮点值

尝试在 HashClient 内部机制中重新添加节点前的时间(以秒为单位)。

debug_cache_backend = False

布尔值

从缓存后端进行额外的调试(缓存键、get/set/delete/etc 调用)。只有在您需要使用键/值查看特定的 cache-backend get/set/delete 调用时才有用。通常,这应该设为 false。

enable_retry_client = False

布尔值

启用重试客户端机制来处理失败。这些机制可用于嵌套所有的 pymemcache 客户端。打包程序允许您定义有多少尝试进行,以及 attemots 之间等待的时间。

enable_socket_keepalive = False

布尔值

dogpile 的 pymemcache 后端的套接字 keepalive 的全局切换

enabled = True

布尔值

缓存的全局切换。

expiration_time = 600

整数值

dogpile.cache 区域中的任何缓存项的默认 TTL (以秒为单位)。这适用于任何未为其定义显式缓存过期时间的缓存方法。

hashclient_retry_attempts = 2

整数值

在客户端标记为死前应尝试的次数,并在 HashClient 的内部机制中从池中删除。

hashclient_retry_delay = 1

浮点值

在 HashClient 内部机制中重试尝试之间应经过的时间(以秒为单位)。

memcache_dead_retry = 300

整数值

在再次尝试前,memcached 服务器被视为 dead 的秒数。(dogpile.cache.memcache 和 oslo_cache.memcache_pool 后端)。

memcache_pool_connection_get_timeout = 10

整数值

操作将等待的秒数,以获取 memcache 客户端连接。

memcache_pool_flush_on_reconnect = False

布尔值

如果 memcache 在重新连接时清除,则全局切换。(仅oslo_cache.memcache_pool 后端)。

memcache_pool_maxsize = 10

整数值

每个 memcached 服务器的最大打开连接数。(oslo_cache.memcache_pool backend)。

memcache_pool_unused_timeout = 60

整数值

到 memcached 的连接在池关闭前没有被使用的秒数。(仅oslo_cache.memcache_pool 后端)。

memcache_servers = ['localhost:11211']

列表值

memcache 服务器格式为 "host:port"。(dogpile.cache.memcached 和 oslo_cache.memcache_pool 后端)。如果给定主机引用 IPv6 或给定域,则您应该为给定地址系列(inet6) (inet6) (inet6) ( inet6[::1]:11211,inet6:[fd12:3456:789a:1::1]:11211,inet6:[controller-0.internalapi]:11211)作为前缀。如果未提供地址系列,则使用的默认地址系列将是 inet (对应于 IPv4)

memcache_socket_timeout = 1.0

浮点值

每次对服务器调用的超时时间(以秒为单位)。(dogpile.cache.memcache 和 oslo_cache.memcache_pool 后端)。

proxies = []

列表值

用于导入的代理类会影响 dogpile.cache 后端功能的方式。有关 change-backend-behavior 的 dogpile.cache 文档。

retry_attempts = 2

整数值

在失败前尝试操作的次数。

retry_delay = 0

浮点值

每次尝试之间休眠的秒数。

socket_keepalive_count = 1

整数值

在丢弃连接前,保持 TCP 的最大 keepalive 探测 TCP 数量。应该是大于零的正整数。

socket_keepalive_idle = 1

整数值

在 TCP 开始发送 keepalive 探测前,连接需要保持闲置的时间(以秒为单位)。应该是大于零的正整数。

socket_keepalive_interval = 1

整数值

各个 keepalive 探测之间的时间(以秒为单位)。应该是大于零的正整数。

tls_allowed_ciphers = None

字符串值

为使用 TLS 上下文创建的套接字设置可用密码。它应该是 OpenSSL 密码列表格式的字符串。如果没有指定,则所有启用了 OpenSSL 的密码都可用。

tls_cafile = None

字符串值

以 PEM 格式串联的 CA 证书文件的路径,以建立缓存服务器的真实性。如果 tls_enabled 是 False,这个选项将被忽略。

tls_certfile = None

字符串值

到 PEM 格式的单个文件的路径,其中包含客户端证书以及建立证书真实性所需的任意数量的 CA 证书。只有在需要客户端身份验证时才需要此文件。如果 tls_enabled 是 False,这个选项将被忽略。

tls_enabled = False

布尔值

与缓存服务器组合时,TLS 使用的全局切换。

tls_keyfile = None

字符串值

到包含客户端私钥的单个文件的路径。其他私钥将从 tls_certfile 中指定的文件获取。如果 tls_enabled 是 False,这个选项将被忽略。

7.1.6. catalog

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

Expand
表 7.5. catalog
配置选项 = 默认值类型Description

cache_time = None

整数值

缓存目录数据的时间(以秒为单位)。除非同时启用了全局和目录缓存,否则这不起作用。目录数据(服务、端点等)通常不会频繁更改,因此可能需要更长的时间超过全局默认值。

caching = True

布尔值

切换目录缓存。除非启用了全局缓存,否则这无效。在典型的部署中,没有理由禁用此功能。

driver = sql

字符串值

keystone.catalog 命名空间中的目录驱动程序的入口点。Keystone 提供了一个 sql 选项(通过 SQL 支持基本 CRUD 操作)、模板 选项(从磁盘上的模板目录文件加载目录)和 endpoint_filter.sql 选项(支持每个项目的任意服务目录)。

list_limit = None

整数值

在目录集合中返回的最大实体数。通常没有设置此设置的原因,因为部署可以有足够的服务或端点超过合理的限制。

template_file = default_catalog.templates

字符串值

用于模板目录后端的文件的绝对路径。只有在 [catalog] 驱动程序 设为 templated 时,才使用此选项。

7.1.7. CORS

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

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

allow_credentials = True

布尔值

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

allow_headers = ['X-Auth-Token', 'X-Openstack-Request-Id', 'X-Subject-Token', 'X-Project-Id', 'X-Project-Name', 'X-Project-Domain-Id', 'X-Project-Domain-Name', 'X-Domain-Id', 'X-Domain-Name', 'Openstack-Auth-Receipip']

列表值

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

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

列表值

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

allowed_origin = None

列表值

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

expose_headers = ['X-Auth-Token', 'X-Openstack-Request-Id', 'X-Subject-Token', 'Openstack-Auth-Receipt']

列表值

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

max_age = 3600

整数值

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

7.1.8. credential

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

Expand
表 7.7. credential
配置选项 = 默认值类型Description

auth_ttl = 15

整数值

签名 EC2 或 S3 令牌请求的时间长度(以分钟为单位)从令牌请求中包含的时间戳有效。

cache_time = None

整数值

缓存凭证数据的时间(以秒为单位)。除非启用了全局缓存,否则这无效。

caching = True

布尔值

只在检索用户凭证时切换缓存。除非启用了全局缓存,否则这无效。

driver = sql

字符串值

keystone.credential 命名空间中的凭据后端驱动程序的入口点。Keystone 仅提供 sql 驱动程序,因此除非您提供自定义入口点,否则没有更改此设置的原因。

key_repository = /etc/keystone/credential-keys/

字符串值

包含用于加密和解密存储在凭据后端中的凭据的 Fernet 密钥目录。用于加密凭据的 Fernet 密钥与用于加密 Fernet 令牌的 Fernet 密钥没有关系。这两个密钥集都应单独管理,并且需要不同的轮转策略。不要与用于管理 Fernet 令牌密钥的存储库共享此存储库。

provider = fernet

字符串值

keystone.credential.provider 命名空间中的凭证加密和解密操作的入口点。Keystone 仅提供 fernet 驱动程序,因此,除非提供了用于加密和解密凭据的自定义入口点,否则没有更改此设置的原因。

user_limit = -1

整数值

允许用户创建的最大凭证数。值为 -1 表示无限。如果没有设置限制,则允许用户在其上创建凭证,这可能会导致 keystone 数据库中的 bloat 或打开 keystone 攻击。

7.1.9. database

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

Expand
表 7.8. 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

布尔值

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

7.1.10. domain_config

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

Expand
表 7.9. domain_config
配置选项 = 默认值类型Description

cache_time = 300

整数值

用于缓存域特定配置数据的生存时间(TTL,以秒为单位)。除非启用了 [domain_config] 缓存,否则这不起作用。

caching = True

布尔值

切换到域特定配置后端的缓存。除非启用了全局缓存,否则这无效。通常没有禁用此功能的原因。

driver = sql

字符串值

keystone.resource.domain_config 命名空间中的特定于域的配置驱动程序的入口点。keystone 只提供一个 sql 选项,因此除非您提供了自定义入口点,否则没有理由设置它。

7.1.11. endpoint_filter

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

Expand
表 7.10. endpoint_filter
配置选项 = 默认值类型Description

driver = sql

字符串值

keystone.endpoint_filter 命名空间中的端点过滤器驱动程序的入口点。keystone 只提供一个 sql 选项,因此除非您提供了自定义入口点,否则没有理由设置它。

return_all_endpoints_if_no_filter = True

布尔值

如果配置的端点过滤器不生成用户 + 项目对的任何端点(因此可能会为空的服务目录),这会控制 keystone 的行为。如果设置为 true,则 keystone 将返回整个服务目录。如果设置为 false,则 keystone 将返回一个空服务目录。

7.1.12. endpoint_policy

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

Expand
表 7.11. endpoint_policy
配置选项 = 默认值类型Description

driver = sql

字符串值

keystone.endpoint_policy 命名空间中的端点策略驱动程序的入口点。keystone 只提供一个 sql 驱动程序,因此除非您提供自定义入口点,否则没有设置它的原因。

7.1.13. eventlet_server

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

Expand
表 7.12. eventlet_server
配置选项 = 默认值类型Description

admin_bind_host = 0.0.0.0

主机地址值

要侦听的 admin 服务的网络接口的 IP 地址。弃用自: K

*reason:*Support 在 eventlet 下运行 keystone 已在 Newton 发行版本中删除。这些选项保持向后兼容,因为它们用于 URL 替换。

admin_port = 35357

端口值

要侦听的 admin 服务的端口号。弃用自: K

*reason:*Support 在 eventlet 下运行 keystone 已在 Newton 发行版本中删除。这些选项保持向后兼容,因为它们用于 URL 替换。

public_bind_host = 0.0.0.0

主机地址值

要侦听的公共服务的网络接口的 IP 地址。弃用自: K

*reason:*Support 在 eventlet 下运行 keystone 已在 Newton 发行版本中删除。这些选项保持向后兼容,因为它们用于 URL 替换。

public_port = 5000

端口值

要侦听的公共服务的端口号。弃用自: K

*reason:*Support 在 eventlet 下运行 keystone 已在 Newton 发行版本中删除。这些选项保持向后兼容,因为它们用于 URL 替换。

7.1.14. federation

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

Expand
表 7.13. federation
配置选项 = 默认值类型Description

`assertion_prefix = `

字符串值

过滤环境变量名称进行联邦断言时使用的前缀。匹配的变量被传递给联邦映射引擎。

caching = True

布尔值

切换到联邦缓存。除非启用了全局缓存,否则这无效。通常没有禁用此功能的原因。

default_authorization_ttl = 0

整数值

从映射传输的组成员资格的有效性(以分钟为单位)的默认时间(以分钟为单位)。默认值为 0,这意味着禁用。

driver = sql

字符串值

keystone.federation 命名空间中的联邦后端驱动程序的入口点。Keystone 仅提供 sql 驱动程序,因此不要设置此选项,除非您提供了自定义入口点。

federated_domain_name = Federated

字符串值

保留允许联邦临时用户具有域概念的任意域名。请注意,管理员将无法使用此名称创建域,或将现有域更新为此名称。除非确实需要修改这个值,否则不建议更改这个值。弃用自: T

*reason:* 这个选项已被其身份提供程序域中存在的临时用户替代。

remote_id_attribute = None

字符串值

用于从环境中获取身份提供程序的实体 ID 的所有协议的默认值。对于 mod_shib,这将是 Shib-Identity-Provider。对于 mod_auth_openidc,这可能是 HTTP_OIDC_ISS。对于 mod_auth_mellon,这可能是 MELLON_IDP。这可以通过使用 API 向联邦协议提供 remote_id_attribute 来基于每个协议覆盖。

sso_callback_template = /etc/keystone/sso_callback_template.html

字符串值

用作单点登录回调处理程序的 HTML 文件的绝对路径。本页预期通过将令牌编码到 POST 请求,将来自 keystone 的用户重定向到可信仪表板主机。Keystone 的默认值应该足以满足大多数部署的需要。

trusted_dashboard = []

多值

可信仪表板主机列表。在接受单点登录请求以返回令牌之前,原始主机必须是此列表的成员。对于多个值,此配置选项可以重复。您必须将其设置为使用基于 Web 的 SSO 流。例如: trusted_dashboard=https://acme.example.com/auth/websso trusted_dashboard=https://beta.example.com/auth/websso

7.1.15. fernet_receipts

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

Expand
表 7.14. fernet_receipts
配置选项 = 默认值类型Description

key_repository = /etc/keystone/fernet-keys/

字符串值

包含 Fernet receipt 密钥的目录。在第一次使用 keystone-manage fernet_setup 前这个目录需要已存在,则对于运行 keystone-manage fernet_setupkeystone-manage fernet_rotate 的用户是可写的,则对于 keystone 的服务器进程是可读的。存储库可以在三个状态之一中包含键:单个暂存密钥(始终索引 0)用于接收验证、一个用于接收和验证的主键(始终为最高索引),以及用于接收验证的辅助键(所有其他索引值)的数量。对于多个 keystone 节点,每个节点必须共享相同的密钥存储库内容,但暂存密钥除外(index 0)。在任意一个节点上运行 keystone-manage fernet_rotate 后可以安全地将暂存密钥(index 0)提升为新主要(从上一个最高索引开始),生成一个新的暂存密钥(带有 index 0 的新密钥);生成的存储库可以原子复制到其他节点,而无需出现竞争条件的风险(例如: 在主机 A 上运行 keystone-manage fernet_rotate 是安全的,等待任何时间,在主机 A 上创建一个 tarball,在主机 B 上解包它到临时位置,并将目录移动(mv)到主机 B 上的目录。在密钥存储库中运行 keystone-manage fernet_rotate 两次 而不同步其他节点,则会导致无法被所有节点验证。

max_active_keys = 3

整数值

这会控制 keystone-manage fernet_rotate 轮转中保留多少密钥,然后再丢弃它们。默认值 3 表示 keystone 将维护一个暂存密钥(始终索引 0)、一个主密钥(最高数字索引)和一个辅助键(每个索引)。增加这个值意味着将保存在轮转中。

7.1.16. fernet_tokens

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

Expand
表 7.15. fernet_tokens
配置选项 = 默认值类型Description

key_repository = /etc/keystone/fernet-keys/

字符串值

包含 Fernet 令牌密钥的目录。在第一次使用 keystone-manage fernet_setup 前这个目录需要已存在,则对于运行 keystone-manage fernet_setupkeystone-manage fernet_rotate 的用户是可写的,则对于 keystone 的服务器进程是可读的。存储库可以在三种状态之一中包含键:单个暂存密钥(始终索引 0)用于令牌验证、用于令牌验证的单一主密钥(始终为最高索引),以及用于令牌验证的辅助键(所有其他索引值)。对于多个 keystone 节点,每个节点必须共享相同的密钥存储库内容,但暂存密钥除外(index 0)。在任意一个节点上运行 keystone-manage fernet_rotate 后可以安全地将暂存密钥(index 0)提升为新主要(从上一个最高索引开始),生成一个新的暂存密钥(带有 index 0 的新密钥);生成的存储库可以原子复制到其他节点,而无需出现竞争条件的风险(例如: 在主机 A 上运行 keystone-manage fernet_rotate 是安全的,等待任何时间,在主机 A 上创建一个 tarball,在主机 B 上解包它到临时位置,并将目录移动(mv)到主机 B 上的目录。在密钥存储库上运行 keystone-manage fernet_rotate 两次,而不同步其他节点,则会导致令牌无法被所有节点验证。

max_active_keys = 3

整数值

这会控制 keystone-manage fernet_rotate 轮转中保留多少密钥,然后再丢弃它们。默认值 3 表示 keystone 将维护一个暂存密钥(始终索引 0)、一个主密钥(最高数字索引)和一个辅助键(每个索引)。增加这个值意味着将保存在轮转中。

7.1.17. healthcheck

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

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

backends = []

列表值

可执行健康检查并报告该信息作为请求的一部分的其他后端。

detailed = False

布尔值

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

disable_by_file_path = None

字符串值

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

disable_by_file_paths = []

列表值

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

path = /healthcheck

字符串值

响应 healtcheck 请求的路径。

7.1.18. identity

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

Expand
表 7.17. identity
配置选项 = 默认值类型Description

cache_time = 600

整数值

缓存身份数据的时间(以秒为单位)。除非启用了全局和身份缓存,否则这不起作用。

caching = True

布尔值

切换身份缓存。除非启用了全局缓存,否则这无效。通常没有禁用此功能的原因。

default_domain_id = default

字符串值

这引用了用于所有身份 API v2 请求的域(不知道域)。keystone-manage bootstrap 可以选择性地为您创建具有此 ID 的域。此 ID 引用的域无法在 v3 API 上删除,以防止意外破坏 v2 API。对此域没有特别的,除了必须存在的,才能保持对 v2 客户端的支持。通常没有更改此值的原因。

domain_config_dir = /etc/keystone/domains

字符串值

keystone 应定位域特定 [identity] 配置文件的绝对路径。除非将 [identity] domain_specific_drivers_enabled 设置为 true,否则此选项无效。通常没有更改此值的原因。

domain_configurations_from_database = False

布尔值

默认情况下,特定于域的配置数据是从 [identity] domain_config_dir 标识的目录中的文件读取。启用此配置选项允许您通过 API 管理域特定配置,这些配置在后端(通常是 SQL 数据库)中保留,而不是使用磁盘上的配置文件。

domain_specific_drivers_enabled = False

布尔值

域的子集(或全部)可以有自己的身份驱动程序,每个驱动程序都有自己的部分配置选项,存储在资源后端或域配置目录中的文件中(取决于 [identity] domain_configurations_from_database的设置)。只有特定于域的值才需要以这种方式指定。此功能默认为禁用,但可能在以后的发行版本中默认启用,设置为 true 以启用。

driver = sql

字符串值

keystone.identity 命名空间中的身份后端驱动程序的入口点。Keystone 提供 sqlldap 驱动程序。如果启用了 [identity] domain_specific_drivers_enabled,则此选项也用作默认驱动程序选择(以及本节中的其他配置)。除非您的部署主要依赖于 ldap AND 不使用域特定配置,否则通常应将此设置为 sql

list_limit = None

整数值

在身份集合中返回的最大实体数。

max_password_length = 4096

整数值

用户密码允许的最大长度。降低这个值以提高性能。更改此值不会影响现有密码。这个值也可以被特定的哈希算法最大允许长度覆盖,其优先于配置的值。bcrypt max_password_length 为 72 字节。

password_hash_algorithm = bcrypt

字符串值

用于存储在 keystone 中的密码的密码哈希算法。

password_hash_rounds = None

整数值

这个选项代表了在安全性和性能之间权衡。数值越高,性能会较慢,但安全性更高。更改此选项将只影响新创建的密码,因为已应用固定的轮换数,因此可以安全地在正在运行的集群中调整这个选项。bcrypt 的默认值为 12,必须在 4 到 31 之间,包括:scrypt 的默认值为 16,必须在 range (1,32) 内。pbkdf_sha512 的默认值为 60000,必须在 范围(1,1<<32) WARNING 中:如果使用 scrypt,增加这个值会增加 BOTH 时间和内存要求来哈希密码。

salt_bytesize = None

整数值

在 scrypt 和 pbkfd2_sha512 哈希 salt 中使用的字节数。scrypt 的默认值为 16 字节。pbkfd2_sha512 默认为 16 字节。限制为最多 96 字节,因为用于存储密码哈希的列的大小。

scrypt_block_size = None

整数值

要传递给 scrypt 哈希功能的可选块大小( r 参数)。对于调整 scrypt 以优化 CPU 架构性能非常有用。只有在 password_hash_algorithm 选项设置为 scrypt 时,才会使用此选项。默认值为 8。

scrypt_parallelism = None

整数值

可选的 parallelism 传递给 scrypt 哈希函数( p 参数)。只有在 password_hash_algorithm 选项设置为 scrypt 时,才会使用此选项。默认为 1。

7.1.19. identity_mapping

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

Expand
表 7.18. identity_mapping
配置选项 = 默认值类型Description

backward_compatible_ids = True

布尔值

对于没有生成 UUID (如 LDAP)的后端,用户和组群 ID 的格式在 Juno 中被改变,它带有提供到 LDAP 中底层属性的哈希映射的 keystone。默认情况下禁用此映射,这样可确保现有 ID 不会改变。即使映射通过使用域特定驱动程序([identity] domain_specific_drivers_enabled)启用,但 LDAP 处理的默认域的用户和组仍会不会被映射,以确保其 ID 保持向后兼容性。将此值设置为 false 将为所有后端启用新映射,包括默认的 LDAP 驱动程序。如果您尚未从默认 LDAP 域分配用户和组,且被 Keystone 为客户端提供不同的 ID,则只保证启用此选项(API 中的现有 ID 将会更改)。通常,这意味着您唯一可以将此值设置为 false 的时间是配置全新安装时,但这是推荐的值。

driver = sql

字符串值

keystone.identity.id_mapping 命名空间中的身份映射后端驱动程序的入口点。Keystone 仅提供 sql 驱动程序,因此除非您提供了自定义入口点,否则没有更改此设置的原因。

generator = sha256

字符串值

keystone.identity.id_generator 命名空间中用户和组实体的公共 ID 生成器的入口点。Keystone 身份映射程序仅支持生成 64 字节或更少生成器。Keystone 仅提供 sha256 入口点,因此除非您提供自定义入口点,否则没有更改此值的原因。

7.1.20. jwt_tokens

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

Expand
表 7.19. jwt_tokens
配置选项 = 默认值类型Description

jws_private_key_repository = /etc/keystone/jws-keys/private

字符串值

包含用于签名 JWS 令牌的私钥的目录。此目录必须存在,以便 keystone 的服务器进程启动。它还必须可以被 keystone 的服务器进程读取。它必须至少包含一个与 keystone.conf [jwt_tokens] jws_public_key_repository 中对应公钥的私钥。如果此目录中存在多个私钥,则 keystone 将使用名为 private.pem 的密钥来签署令牌。未来,keystone 可以支持使用多个私钥为令牌签名。现在,在这个目录中仅需要名为 private.pem 的密钥才能发布 JWS 令牌。这个选项仅适用于发出 JWS 令牌并设置 keystone.conf [token] provider = jws

jws_public_key_repository = /etc/keystone/jws-keys/public

字符串值

包含用于验证 JWS 令牌签名的公钥的目录。此目录必须存在,以便 keystone 的服务器进程启动。它还必须可以被 keystone 的服务器进程读取。它必须至少包含一个与 keystone.conf [jwt_tokens] jws_private_key_repository 中的私钥对应的公钥。这个选项仅适用于发出 JWS 令牌并设置 keystone.conf [token] provider = jws

7.1.21. ldap

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

Expand
表 7.20. ldap
配置选项 = 默认值类型Description

alias_dereferencing = default

字符串值

用于涉及别名的查询的 LDAP 解引用选项。值 default 会返回使用由 ldap.conf 配置的默认取消引用行为。值 never 阻止别名被全部解引用。值 搜索 仅在名称解析后解引用别名。用于在名称解析过程中 查找 别名的值。值 always 在所有情况下都会取消引用别名。

auth_pool_connection_lifetime = 60

整数值

与 LDAP 服务器的最大最终用户身份验证连接生命周期(以秒为单位)。超过这个生命周期时,连接将绑定并从连接池中中删除。除非 [ldap] use_auth_pool 也启用,否则此选项无效。

auth_pool_size = 100

整数值

用于最终用户身份验证的连接池的大小。除非 [ldap] use_auth_pool 也启用,否则此选项无效。

chase_referrals = None

布尔值

设置 keystone 在目录分区间的引用行为。如果保留未设置,则使用系统的默认行为。

connection_timeout = -1

整数值

与 LDAP 服务器一起使用的连接超时。值 -1 表示连接永远不会超时。

debug_level = None

整数值

为 LDAP 调用设置 LDAP 调试级别。值 0 表示没有启用调试。这个值是一个位掩码,请咨询您的 LDAP 文档了解可能的值。

group_ad_nesting = False

布尔值

如果启用,组查询将使用特定于 Active Directory 的过滤器进行嵌套组。

group_additional_attribute_mapping = []

列表值

用于将额外属性映射到 keystone 中的组的属性对的 LDAP 属性列表。预期的格式为 <ldap_attr>:<group_attr>,其中 ldap_attr 是 LDAP 对象和 group_attr 中的属性,它应当出现在身份 API 中。

group_attribute_ignore = []

列表值

要忽略的 create 和 update 的组属性列表。或者,或者是否应该为列表或显示组过滤特定的组属性。

group_desc_attribute = description

字符串值

在 keystone 中映射到组描述的 LDAP 属性。

group_filter = None

字符串值

用于组的 LDAP 搜索过滤器。

group_id_attribute = cn

字符串值

在 keystone 中映射到组 ID 的 LDAP 属性。这不能是一个多值属性。组 ID 应该在 keystone 域和 URL-safe 之间全局唯一。

group_member_attribute = member

字符串值

用于指示用户是组的成员的 LDAP 属性。

group_members_are_ids = False

布尔值

如果组对象类的成员是 keystone 用户 ID 而不是 LDAP DN,则启用此选项。当使用 posixGroup 作为 Open Directory 中的组对象类时,会出现这种情况。

group_name_attribute = ou

字符串值

在 keystone 中映射到组名称的 LDAP 属性。组名称预期只在 keystone 域中是唯一的,且不应该是 URL-safe。

group_objectclass = groupOfNames

字符串值

用于组的 LDAP 对象类。如果将此选项设置为 posixGroup,您可能还对启用 [ldap] group_members_are_ids 选项感兴趣。

group_tree_dn = None

字符串值

用于组的搜索基础。默认为 ou=UserGroups,并附加了 [ldap] 后缀

page_size = 0

整数值

定义 keystone 在列出对象时从 LDAP 服务器请求的每个页面的最大结果数。值为零(0)禁用分页。

password = None

字符串值

如果您的 LDAP 服务器需要,管理员的密码将绑定 DN 在查询 LDAP 服务器时使用。

pool_connection_lifetime = 600

整数值

到 LDAP 服务器的最大连接生命周期(以秒为单位)。超过这个生命周期时,连接将绑定并从连接池中中删除。除非 [ldap] use_pool 也启用,否则此选项无效。

pool_connection_timeout = -1

整数值

池 LDAP 连接时使用的连接超时。值 -1 表示连接永远不会超时。除非 [ldap] use_pool 也启用,否则此选项无效。

pool_retry_delay = 0.1

浮点值

尝试重新连接到 LDAP 服务器前等待的秒数。除非 [ldap] use_pool 也启用,否则此选项无效。

pool_retry_max = 3

整数值

在中止前尝试重新连接到 LDAP 服务器的次数上限。值为零可防止重试。除非 [ldap] use_pool 也启用,否则此选项无效。

pool_size = 10

整数值

LDAP 连接池的大小。除非 [ldap] use_pool 也启用,否则此选项无效。

query_scope = one

字符串值

搜索范围,用于定义在搜索基础中如何深度搜索。一个值 one (代表 oneLevelsingleLevel)表示对象立即搜索到基本对象,但不包括基本对象本身。sub (代表 子树 或整个 Subtree)的值表示基础对象本身和其下整个子树的搜索。

randomize_urls = False

布尔值

随机化每个 keystone 进程中的 URL 顺序。这使得失败行为更逐步化,因为如果第一个服务器停机,进程/线程将在尝试连接服务器进一步关闭前等待指定的超时。默认值为 False,以便向后兼容。

suffix = cn=example,cn=com

字符串值

如果没有通过 [ldap] user_tree_dn[ldap] group_tree_dn 定义 DN,要使用的默认 LDAP 服务器后缀。

tls_cacertdir = None

字符串值

与 LDAP 服务器通信时要使用的 CA 证书目录的绝对路径。如果您也设置了 [ldap] tls_cacertfile,则没有设置此选项的原因。

tls_cacertfile = None

字符串值

与 LDAP 服务器通信时使用的 CA 证书文件的绝对路径。这个选项优先于 [ldap] tls_cacertdir,因此不能同时设置这两个选项。

tls_req_cert = demand

字符串值

指定针对传入 TLS 会话上的客户端证书执行的检查。如果设置为 demand,则 LDAP 服务器将始终请求和要求证书。如果设置为 allow,则始终向 LDAP 服务器请求证书,但不需要证书。如果设置为 never,则不会请求证书。

url = ldap://localhost

字符串值

用于连接到 LDAP 服务器的 URL。多个 LDAP URL 可以指定为用逗号分开的字符串。成功绑定的第一个 URL 用于连接。

use_auth_pool = True

布尔值

为最终用户身份验证启用 LDAP 连接池。通常没有禁用此功能的原因。

use_pool = True

布尔值

启用 LDAP 连接池以查询 LDAP 服务器。通常没有禁用此功能的原因。

use_tls = False

布尔值

在与 LDAP 服务器通信时启用 TLS。使用此选项时,您还应设置 [ldap] tls_cacertfile[ldap] tls_cacertdir 选项。如果您通过 SSL (LDAPS)而不是 TLS 使用 LDAP,则不要设置此选项。

user = None

字符串值

如果您的 LDAP 服务器需要,管理员的用户名会绑定 DN 在查询 LDAP 服务器时使用。

user_additional_attribute_mapping = []

列表值

用于向 keystone 用户属性对的 LDAP 属性列表,用于将额外属性映射到 keystone 中的用户。预期的格式为 <ldap_attr>:<user_attrr>,其中 ldap_attr 是 LDAP 对象和 user_attr 中的属性,它应当出现在身份 API 中。

user_attribute_ignore = ['default_project_id']

列表值

要在创建和更新时要忽略的用户属性列表,或者是否为 list 或 show user 过滤特定的用户属性。

user_default_project_id_attribute = None

字符串值

在 keystone 中映射到用户的 default_project_id 的 LDAP 属性。当 keystone 对 LDAP 具有写入访问权限时,这最常使用。

user_description_attribute = description

字符串值

在 keystone 中映射到用户描述的 LDAP 属性。

user_enabled_attribute = enabled

字符串值

在 keystone 中映射到用户启用属性的 LDAP 属性。如果将此选项设置为 userAccountControl,那么您可能还对设置 [ldap] user_enabled_mask[ldap] user_enabled_default 感兴趣。

user_enabled_default = True

字符串值

启用用户的默认值。如果 LDAP 服务器使用非布尔值(bitmask)值来指示用户是否启用或禁用了,则这应匹配适当的整数值。如果这未设置为 True,则典型的值为 512。这通常在 [ldap] user_enabled_attribute = userAccountControl 时使用。

user_enabled_emulation = False

布尔值

如果启用,则 keystone 使用一种替代方法来确定用户是否已启用,还是通过检查它们是否是 [ldap] user_enabled_emulation_dn 选项定义的组的成员。启用这个选项会导致 keystone 忽略 [ldap] user_enabled_invert 的值。

user_enabled_emulation_dn = None

字符串值

使用启用模拟时用于存放启用的用户的组条目的 DN。设置此选项不会起作用,除非也启用了 [ldap] user_enabled_emulation

user_enabled_emulation_use_group_config = False

布尔值

使用 [ldap] group_member_attribute[ldap] group_objectclass 设置来确定模拟启用的组中的成员资格。启用这个选项不会起作用,除非也启用了 [ldap] user_enabled_emulation

user_enabled_invert = False

布尔值

在逻辑上对从 LDAP 服务器获取的 enabled 属性的布尔值进行求值。有些 LDAP 服务器使用布尔值锁定属性,其中 "true" 表示帐户被禁用。设置 [ldap] user_enabled_invert = true 将允许使用这些锁定属性。如果使用 [ldap] user_enabled_mask[ldap] user_enabled_emulation 选项,这个选项将无效。

user_enabled_mask = 0

整数值

位掩码整数,以选择哪个位表示启用的值,如果 LDAP 服务器在整数中以位表示为位,而不是作为离散的布尔值。值 0 表示掩码没有被使用。如果这没有设置为 0, 则典型的值为 2。这通常在 [ldap] user_enabled_attribute = userAccountControl 时使用。设置这个选项会导致 keystone 忽略 [ldap] user_enabled_invert 的值。

user_filter = None

字符串值

用于用户的 LDAP 搜索过滤器。

user_id_attribute = cn

字符串值

在 keystone 中映射到用户 ID 的 LDAP 属性。这不能是一个多值属性。用户 ID 应该在 keystone 域和 URL-safe 之间全局唯一。

user_mail_attribute = mail

字符串值

在 keystone 中映射到用户电子邮件的 LDAP 属性。

user_name_attribute = sn

字符串值

在 keystone 中映射到用户名的 LDAP 属性。用户名预期只在 keystone 域中是唯一的,且预期为 URL-safe。

user_objectclass = inetOrgPerson

字符串值

用于用户的 LDAP 对象类。

user_pass_attribute = userPassword

字符串值

在 keystone 中映射到用户密码的 LDAP 属性。

user_tree_dn = None

字符串值

用于用户的搜索基础。默认为 ou=Users,并附加了 [ldap] 后缀

7.1.22. memcache

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

Expand
表 7.21. memcache
配置选项 = 默认值类型Description

dead_retry = 300

整数值

在再次尝试前,memcached 服务器被视为 dead 的秒数。这供 key 值存储系统使用。

pool_connection_get_timeout = 10

整数值

操作将等待的秒数,以获取 memcache 客户端连接。这供 key 值存储系统使用。

pool_maxsize = 10

整数值

每个 memcached 服务器的最大开放连接数。这供 key 值存储系统使用。

pool_unused_timeout = 60

整数值

到 memcached 的连接在池关闭前没有被使用的秒数。这供 key 值存储系统使用。

socket_timeout = 3

整数值

每个对服务器的调用的超时时间(以秒为单位)。这供 key 值存储系统使用。弃用自: T

*reason:* 这个选项与 oslo.cache 重复。配置 ''keystone.conf [cache] memcache_socket_timeout' 选项,以设置 memcached 的 socket_timeout。

7.1.23. oauth1

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

Expand
表 7.22. oauth1
配置选项 = 默认值类型Description

access_token_duration = 86400

整数值

OAuth 访问令牌在创建后保持有效的秒数。这是消费者必须与服务提供商(通常是 keystone)交互所需的时间。将这个选项设置为零意味着访问令牌将持续存在。

driver = sql

字符串值

keystone.oauth1 命名空间中的 OAuth 后端驱动程序的入口点。通常,除非您提供了自定义入口点,否则没有设置这个选项的原因。

request_token_duration = 28800

整数值

OAuth Request Token 在创建后保持有效的秒数。这是用户必须授权令牌的时间。将这个选项设置为零表示请求令牌将持续存在。

7.1.24. oslo_messaging_amqp

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

Expand
表 7.23. 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 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 default_rpc_exchange if set other 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 消息。

notify_address_prefix = openstack.org/om/notify

字符串值

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

notify_server_credit = 100

整数值

传入通知消息的窗口大小

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

多值

发送此类型的消息预先组装。预先设置的消息不会接收来自 peer 的确认信息。请注意:如果发送失败,则预先设置的消息可能会被静默丢弃。允许的值: rpc-call - 发送 RPC Calls pre-settled rpc-reply- 发送 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 消息的窗口大小。

rpc_address_prefix = openstack.org/om/rpc

字符串值

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

rpc_server_credit = 100

整数值

传入 RPC Request 消息的窗口大小

`sasl_config_dir = `

字符串值

包含 SASL 配置的目录路径

`sasl_config_name = `

字符串值

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

`sasl_default_realm = `

字符串值

如果用户名中没有 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 extension (rfc6066)来为每个虚拟主机提供证书。如果服务器的 SSL 证书使用虚拟主机名称而不是 DNS 名称,则将 ssl_verify_vhost 设置为 True。

trace = False

布尔值

debug :将 AMQP 帧转储到 stdout

unicast_address = unicast

字符串值

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

7.1.25. oslo_messaging_kafka

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

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

compression_codec = none

字符串值

producer 生成的所有数据的压缩 codec。如果没有设置,则不会使用压缩。请注意,这允许的值取决于 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 consumer 的最大获取字节数

max_poll_records = 500

整数值

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

pool_size = 10

整数值

Kafka Consumers 的池大小

producer_batch_size = 16384

整数值

producer async 发送的批处理大小

producer_batch_timeout = 0.0

浮点值

以秒为单位的 KafkaProducer 批处理延迟上限

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

字符串值

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

7.1.26. oslo_messaging_notifications

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

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

driver = []

多值

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

retry = -1

整数值

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

topics = ['notifications']

列表值

用于 OpenStack 通知的 AMQP 主题。

transport_url = None

字符串值

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

7.1.27. oslo_messaging_rabbit

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

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

amqp_auto_delete = False

布尔值

AMQP 中的自动删除队列。

amqp_durable_queues = False

布尔值

在 AMQP 中使用持久队列。

direct_mandatory_flag = True

布尔值

(DEPRECATED)为直接发送启用/禁用 RabbitMQ 强制标记。直接发送用作回复,因此在客户端队列不存在时引发 MessageUndeliverable 异常。MessageUndeliverable 异常将用于循环使发送者恢复。此标志已弃用,且无法停用此功能

enable_cancel_on_failover = False

布尔值

启用 x-cancel-on-ha-failover 标志,使 rabbitmq 服务器将取消并通知 consumerswhen 队列停机

heartbeat_in_pthread = False

布尔值

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

heartbeat_rate = 2

整数值

heartbeat_timeout_threshold 期间的时间我们检查心跳的频率。

heartbeat_timeout_threshold = 60

整数值

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

kombu_compression = None

字符串值

EXPERIMENTAL: Possible 值为: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\.) gem {"ha-mode": "all"} "

rabbit_interval_max = 30

整数值

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

rabbit_login_method = AMQPLAIN

字符串值

RabbitMQ 登录方法。

rabbit_qos_prefetch_count = 0

整数值

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

rabbit_retry_backoff = 2

整数值

连接到 RabbitMQ 时重试之间的 backoff 时长。

rabbit_retry_interval = 1

整数值

使用 RabbitMQ 重试连接的频率。

rabbit_transient_queues_ttl = 1800

整数值

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

ssl = False

布尔值

通过 SSL 连接。

`ssl_ca_file = `

字符串值

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

`ssl_cert_file = `

字符串值

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

`ssl_key_file = `

字符串值

SSL 密钥文件(仅在启用了 SSL 时valid)。

`ssl_version = `

字符串值

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

7.1.28. oslo_middleware

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

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

enable_proxy_headers_parsing = False

布尔值

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

max_request_body_size = 114688

整数值

每个请求的最大正文大小,以字节为单位。

secure_proxy_ssl_header = X-Forwarded-Proto

字符串值

用于确定原始请求协议方案的 HTTP 标头,即使它被 SSL 终止代理隐藏也是如此。

7.1.29. oslo_policy

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

Expand
表 7.28. 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.yaml

字符串值

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

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 的策略检查的服务器身份验证

7.1.30. policy

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

Expand
表 7.29. policy
配置选项 = 默认值类型Description

driver = sql

字符串值

keystone.policy 命名空间中的策略后端驱动程序的入口点。提供的驱动程序是 规则 (不支持 v3 策略 API 的任何 CRUD 操作)和 sql。通常,除非您提供了自定义入口点,否则没有设置这个选项的原因。

list_limit = None

整数值

政策集合中返回的最大实体数。

7.1.31. profiler

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

Expand
表 7.30. 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 驱动程序进行发送范围。
  • 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 服务。此参数定义名称(例如: sentinal_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 查询。

7.1.32. receipt

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

Expand
表 7.31. receipt
配置选项 = 默认值类型Description

cache_on_issue = True

布尔值

启用存储签发的接收数据来接收验证缓存,以便首先接收验证不会实际造成完全验证周期。除非启用了全局缓存和接收缓存,否则这个选项无效。

cache_time = 300

整数值

缓存接收创建和验证数据的秒数。除非同时启用了全局和 [receipt] 缓存,否则这不起作用。

caching = True

布尔值

切换到缓存接收创建和验证数据。除非启用了全局缓存,或者禁用了 cache_on_issue,因为我们只对问题进行缓存接收,否则无效。

expiration = 300

整数值

接收应保持有效的时间(以秒为单位)。这个值应该始终比较短,因为它代表了用户在使用缺失的 auth 方法重新尝试验证的时间。

provider = fernet

字符串值

keystone.receipt.provider 命名空间中的接收供应商的入口点。receipt 供应商控制接收和验证操作。Keystone 现在仅包含 fernet receipt 提供程序。fernet receipts 并不需要保留,但要求您运行 keystone-manage fernet_setup (也请参阅 keystone-manage fernet_rotate 命令)。

7.1.33. resource

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

Expand
表 7.32. resource
配置选项 = 默认值类型Description

admin_project_domain_name = None

字符串值

拥有 admin_project_name 的域名。如果保留未设置,则没有 admin 项目。[resource] admin_project_name 还必须设置为使用这个选项。

admin_project_name = None

字符串值

这是一个特殊的项目,它代表跨服务的云级管理员特权。指向此项目的令牌将包含一个 true is_admin_project 属性,以指示策略特定项目的角色分配应在每个项目中同样应用的系统。如果保留未设置,则没有 admin 项目,因此没有显式方法跨项目角色分配。[resource] admin_project_domain_name 还必须设置为使用这个选项。

cache_time = None

整数值

缓存资源数据的时间(以秒为单位)。除非启用了全局缓存,否则这无效。

caching = True

布尔值

切换资源缓存。除非启用了全局缓存,否则这无效。

domain_name_url_safe = off

字符串值

这控制域名是否仅限于包含 URL-reserved 字符。如果设置为 new,则尝试使用 URL-unsafe 名称创建或更新域将失败。如果设置为 strict,则尝试使用 URL-unsafe 域名限定令牌将失败,从而强制更新所有域名为 URL-safe。

driver = sql

字符串值

keystone.resource 命名空间中的资源驱动程序的入口点。keystone 只提供 sql 驱动程序。除非为 keystone 编写专有驱动程序,否则您不需要设置这个选项。

list_limit = None

整数值

在资源集合中返回的最大实体数。

project_name_url_safe = off

字符串值

这控制项目名称是否仅限于包含 URL-reserved 字符。如果设置为 new,则尝试使用 URL-unsafe 名称创建或更新项目将失败。如果设置为 strict,则尝试使用 URL-unsafe 项目名称限定令牌将失败,从而强制更新所有项目名称为 URL-safe。

7.1.34. revoke

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

Expand
表 7.33. revoke
配置选项 = 默认值类型Description

cache_time = 3600

整数值

缓存撤销列表和撤销事件的时间(以秒为单位)。除非同时启用了全局和 [revoke] 缓存,否则这不起作用。

caching = True

布尔值

切换到撤销事件缓存。除非启用了全局缓存,否则这无效。

driver = sql

字符串值

keystone.revoke 命名空间中的令牌撤销后端驱动程序的入口点。Keystone 仅提供 sql 驱动程序,因此不要设置此选项,除非您提供了自定义入口点。

expiration_buffer = 1800

整数值

令牌过期后的秒数,当相应的撤销事件可以从后端清除。

7.1.35. role

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

Expand
表 7.34. role
配置选项 = 默认值类型Description

cache_time = None

整数值

缓存角色数据的时间(以秒为单位)。除非同时启用了全局缓存和 [role] 缓存,否则这不起作用。

caching = True

布尔值

切换角色缓存。除非启用了全局缓存,否则这无效。在典型的部署中,没有理由禁用此功能。

driver = None

字符串值

keystone.role 命名空间中的角色后端驱动程序的入口点。Keystone 仅提供 sql 驱动程序,因此除非您提供自定义入口点,否则没有更改此设置的原因。

list_limit = None

整数值

角色集合中返回的最大实体数。如果您在部署中有大量离散角色,这对调优非常有用。

7.1.36. saml

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

Expand
表 7.35. saml
配置选项 = 默认值类型Description

assertion_expiration_time = 3600

整数值

确定 keystone 生成的任何 SAML 断言的生命周期,使用 NotOnOrAfter 属性。

certfile = /etc/keystone/ssl/certs/signing_cert.pem

字符串值

用于 SAML 签名的公共证书文件的绝对路径。该值不能包含逗号()。

idp_contact_company = Example, Inc.

字符串值

这是身份提供程序的联系人员的公司名称。

idp_contact_email = support@example.com

字符串值

这是身份提供程序联系人员的电子邮件地址。

idp_contact_name = SAML Identity Provider Support

字符串值

这是身份提供程序的联系人员的指定名称。

idp_contact_surname = Support

字符串值

这是身份提供程序的联系人员的姓氏。

idp_contact_telephone = +1 800 555 0100

字符串值

这是身份提供程序的联系人员的电话号码。

idp_contact_type = other

字符串值

这是最适合描述身份提供程序的联系人员的联系人类型。

idp_entity_id = None

URI 值

这是生成 SAML 断言时使用的身份提供程序(keystone)的唯一实体标识符。生成身份提供程序元数据需要这个值,且必须是 URI (建议使用 URL)。例如: https://keystone.example.com/v3/OS-FEDERATION/saml2/idp

idp_lang = en

字符串值

这是身份提供程序的组织使用的语言。

idp_metadata_path = /etc/keystone/saml2_idp_metadata.xml

字符串值

身份提供程序元数据文件的绝对路径。此文件应该使用 keystone-manage saml_idp_metadata 命令生成。通常没有更改此值的原因。

idp_organization_display_name = OpenStack SAML Identity Provider

字符串值

这是要显示的身份提供程序的组织的名称。

idp_organization_name = SAML Identity Provider

字符串值

这是身份提供程序的组织的名称。

idp_organization_url = https://example.com/

URI 值

这是身份提供程序的组织的 URL。这里引用的 URL 对于人类有用。

idp_sso_endpoint = None

URI 值

这是接受 HTTP POST 请求的身份提供程序的单点登录(SSO)服务位置。生成身份提供程序元数据需要值。例如: https://keystone.example.com/v3/OS-FEDERATION/saml2/sso

keyfile = /etc/keystone/ssl/private/signing_key.pem

字符串值

用于 SAML 签名的私钥文件的绝对路径。该值不能包含逗号()。

relay_state_prefix = ss:mem:

字符串值

生成增强客户端和代理(ECP)断言时使用的 RelayState SAML 属性的前缀。在典型的部署中,没有更改此值的原因。

xmlsec1_binary = xmlsec1

字符串值

用于 XML 签名的二进制文件的名称或绝对路径。虽然只支持 XML 安全库(xmlsec1),但它可能在您的系统上有一个非标准名称或路径。如果 keystone 无法找到二进制文件,您可能需要安装适当的软件包,使用此选项指定绝对路径,或者调整 keystone 的 PATH 环境变量。

7.1.37. security_compliance

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

Expand
表 7.36. security_compliance
配置选项 = 默认值类型Description

change_password_upon_first_use = False

布尔值

启用此选项要求用户在创建用户时或管理重置时更改密码。在访问任何服务前,受影响的用户必须更改其密码。要忽略特定用户(如服务用户)的这个要求,请通过更新用户 API 为所需的用户设置 options 属性 ignore_change_password_upon_first_use 设置为 True。此功能默认为禁用。此功能仅适用于 [identity] 驱动程序的 sql 后端。

disable_user_account_days_inactive = None

整数值

在被视为"主动"并自动禁用(锁定)前,用户可以经过验证的最大天数。此功能默认为禁用;将任何值设置为启用它。此功能取决于 [identity] 驱动程序的 sql 后端。当用户超过这个阈值并被视为"inactive"时,HTTP API 中用户的 enabled 属性可能与用户表中 启用的 栏的值不匹配。

lockout_duration = 1800

整数值

超过用户帐户的失败尝试次数上限(由 [security_compliance] lockout_failure_attempts指定)的最大数量被锁定。除非将 [security_compliance] lockout_failure_attempts 设置为非零值,否则设置此选项将无效。此功能取决于 [identity] 驱动程序的 sql 后端。

lockout_failure_attempts = None

整数值

在由 [security_compliance] lockout_duration 指定的秒数内,用户可以在用户帐户锁定前验证的次数上限。此功能默认为禁用。如果启用了这个功能,并且未设置 [security_compliance] lockout_duration,则用户可能会无限期锁定,直到用户通过 API 明确启用为止。此功能取决于 [identity] 驱动程序的 sql 后端。

minimum_password_age = 0

整数值

在用户可以更改密码之前必须使用密码的天数。这可防止用户立即更改密码,以擦除密码历史记录并重复使用旧密码。此功能不会阻止管理员手动重置密码。它默认是禁用的,并允许立即更改密码。此功能取决于 [identity] 驱动程序的 sql 后端。注: 如果设置了 [security_compliance] password_expires_days,则此选项的值应小于 password_expires_days

password_expires_days = None

整数值

在要求更改密码之前,密码被视为有效的天数。此功能默认为禁用。如果启用,新密码更改将具有过期日期,但现有密码不会受到影响。此功能取决于 [identity] 驱动程序的 sql 后端。

password_regex = None

字符串值

用于验证密码强度要求的正则表达式。默认情况下,正则表达式将匹配任何密码。以下是需要至少 1 个字母、1 个数字且最小长度为 7 个字符的模式示例: ^(?=.\\d) (?=.[a-zA-Z]).{7,}$ 此功能取决于 [identity] 驱动程序的 sql 后端。

password_regex_description = None

字符串值

以人员使用的语言描述您的密码正则表达式。如果密码无法与正则表达式匹配,则此配置变量的内容将返回到用户,以说明请求的密码不足的原因。

unique_last_password_count = 0

整数值

这将控制在历史记录中保留的之前用户密码迭代的数量,以便强制新创建的密码是唯一的。包含新密码的总数不应大于或等于这个值。将值设为 0 (默认值)将禁用此功能。因此,要启用此功能,值必须大于 0。此功能取决于 [identity] 驱动程序的 sql 后端。

7.1.38. shadow_users

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

Expand
表 7.37. shadow_users
配置选项 = 默认值类型Description

driver = sql

字符串值

keystone. identity.shadow_users 命名空间中的 shadow 用户后端驱动程序的入口点。此驱动程序用于对外部管理的身份(通过联邦、LDAP 等)保留本地用户引用。Keystone 仅提供 sql 驱动程序,因此除非您提供自定义入口点,否则没有更改此选项的原因。

7.1.39. token

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

Expand
表 7.38. token
配置选项 = 默认值类型Description

allow_expired_window = 172800

整数值

这控制了检索令牌超出内置过期时间的秒数。这允许长时间运行的操作成功。默认为 2 天。

allow_rescope_scoped_token = True

布尔值

这会切换范围性令牌是否可以重新限定到新项目或域,从而防止用户交换任何其他令牌的范围令牌(包括具有默认项目范围)的作用域令牌。这会强制用户对无作用域令牌进行身份验证(稍后会交换具有更具体的范围的令牌的无作用域令牌),或者为每个范围的令牌提供其凭据,以避免完全重复使用。

cache_on_issue = True

布尔值

启用将发布的令牌数据存储到令牌验证缓存,以便第一个令牌验证不会实际造成完整的验证周期。除非启用了全局缓存,并且仍然缓存令牌,即使 [token] caching = False,此选项也不会起作用。弃用自: S

*reason:*Keystone 已公开用于缓存令牌的配置选项。在发出令牌时,使用单独的配置选项来缓存令牌,不必要复杂,如果禁用令牌缓存,则误导,因为令牌在签发时默认会预缓存。在发布时预缓存令牌的功能将完全依赖于 ''keystone.conf [token] 缓存' 选项。

cache_time = None

整数值

缓存令牌创建和验证数据的秒数。除非同时启用了 global 和 [token] 缓存,否则这不起作用。

caching = True

布尔值

切换到缓存令牌创建和验证数据。除非启用了全局缓存,否则这无效。

expiration = 3600

整数值

令牌应保持有效的时间(以秒为单位)。显著减少这个值可能会破坏涉及多个服务协调的"长时间运行"操作,并强制用户更频繁地使用 keystone 进行身份验证。显著增加这个值将增加将同时有效的令牌数量。Keystone 令牌也是 bearer 令牌,因此较短的持续时间也会降低被入侵令牌的潜在安全影响。

provider = fernet

字符串值

keystone.token.provider 命名空间中的令牌提供程序的入口点。令牌提供程序控制令牌构造、验证和撤销操作。支持的上游供应商有 fernetjwsfernetjws 令牌都不需要持久性,且它们都需要额外的设置。如果使用 fernet,则需要运行 keystone-manage fernet_setup,这将创建用于加密令牌的对称密钥。如果使用 jws,则需要使用 SHA-256 哈希算法生成 ECDSA 密钥对,该算法可使用 keystone-manage create_jws_keypair 完成。请注意,fernet 令牌已加密,jws 令牌仅被签名。如果您的部署对用于生成令牌 ID 的有效负载内容有安全要求,请务必考虑这一点。

revoke_by_id = True

布尔值

这会切换支持按令牌标识符撤销各个令牌,因此各种令牌枚举操作(如列出向特定用户发出的所有令牌)。这些操作用于确定要考虑撤销的令牌列表。如果您使用 kvs [revoke] 驱动程序,请不要禁用此选项。

7.1.40. tokenless_auth

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

Expand
表 7.39. tokenless_auth
配置选项 = 默认值类型Description

issuer_attribute = SSL_CLIENT_I_DN

字符串值

用于将客户端证书签发者传递给 keystone 的 WSGI 环境变量的名称。此属性用作无 X.509 令牌授权的身份提供程序 ID,以及协议查找其对应的映射。在典型的部署中,没有更改此值的原因。

protocol = x509

字符串值

用于代表 X.509 无令牌的授权的联邦协议 ID。这与 [tokenless_auth] issuer_attribute 的值相结合来查找对应的联邦映射。在典型的部署中,没有更改此值的原因。

trusted_issuer = []

多值

可区分名称的列表,用于标识允许使用 X.509 无令牌授权的客户端证书的可信签发者。如果没有该选项,则不允许证书。可区分名称(DN)的值的格式必须用逗号分开,且不包含空格。另外,因为单个 DN 可能会包含逗号,因此该配置选项可能会多次重复,以代表多个值。例如: keystone.conf 会包括两个连续的行来信任两个不同的 DN,如 trusted_issuer = CN=john,OU=keystone,O=openstacktrusted_issuer = CN=mary,OU=eng,O=abc

7.1.41. totp

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

Expand
表 7.40. totp
配置选项 = 默认值类型Description

included_previous_windows = 1

整数值

在处理 TOTP 传递时要检查的以前的窗口数量。

7.1.42. trust

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

Expand
表 7.41. trust
配置选项 = 默认值类型Description

allow_redelegation = False

布尔值

允许将授权从一个用户重新定向到另一个用户,并有效地将信任链接在一起。禁用后,信任的 remaining_uses 属性被限制为零。

driver = sql

字符串值

keystone.trust 命名空间中的信任后端驱动程序的入口点。Keystone 仅提供 sql 驱动程序,因此除非您提供了自定义入口点,否则没有更改此设置的原因。

max_redelegation_count = 3

整数值

授权可以在信任链中从一个用户重新定向到另一个用户的次数上限。对于特定的信任,这个数字可以进一步减少。

7.1.43. unified_limit

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

Expand
表 7.42. unified_limit
配置选项 = 默认值类型Description

cache_time = None

整数值

缓存统一限制数据的时间(以秒为单位)。除非启用了全局缓存和 [unified_limit] 缓存,否则这不起作用。

caching = True

布尔值

切换到统一限制缓存。除非启用了全局缓存,否则这无效。在典型的部署中,没有理由禁用此功能。

driver = sql

字符串值

keystone.unified_limit 命名空间中的统一限制后端驱动程序的入口点。Keystone 仅提供 sql 驱动程序,因此除非您提供自定义入口点,否则没有更改此设置的原因。

enforcement_model = flat

字符串值

验证与项目关联的限制时要使用的强制模型。根据现有限制,执行模型的行为会有所不同,如果模型在运行的部署中切换,这可能会导致向后兼容的更改。

list_limit = None

整数值

在统一限制集合中返回的最大实体数。如果您在部署中有大量统一限制,这对调优非常有用。

7.1.44. wsgi

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

Expand
表 7.43. wsgi
配置选项 = 默认值类型Description

debug_middleware = False

布尔值

如果设置为 true,这会在 Keystone 中启用 oslo 调试中间件。此中间件打印有关请求和响应的许多信息。它可用于获取线(编码)上数据的信息并传递给 WSGI 应用程序管道。此中间件对配置文件的 [DEFAULT] 部分中的"debug"设置没有影响,或者将 Keystone 的日志级别设置为"DEBUG";它特定于调试 WSGI 数据,并保留 Keystone (特定请求相关的数据)。此选项用于对 web 服务器(apache、nginx 等)和 Keystone 之间的请求和响应数据进行内省。此中间件作为中间件链中的第一个元素插入,并显示与线路最接近的数据。警告:不适合在生产环境中使用。此中间件可以和发出敏感/非特权数据。

第 8 章 neutron

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

8.1. dhcp_agent.ini

本节包含 /etc/neutron/dhcp_agent.ini 文件的选项。

8.1.1. DEFAULT

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

.

Expand
配置选项 = 默认值类型描述

bulk_reload_interval = 0

整数值

重新加载 DHCP 分配之间休眠的时间。这只有在值不是 0 时才会被调用。如果网络在 X 秒内有 N 更新,那么我们将在 X 秒内重新加载端口更改,而不是 N 次。

debug = False

布尔值

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

default_log_levels = ['amqp=WARN', 'amqplib=WARN', 'boto=WARN', 'qpid=WARN', 'sqlalchemy=WARN', 'suds=INFO', 'oslo.messaging=INFO', 'oslo_messaging=INFO', 'iso8601=WARN', 'requests.packages.urllib3.connectionpool=WARN', 'urllib3.connectionpool=WARN', 'websocket=WARN', 'requests.packages.urllib3.util.retry=WARN', 'urllib3.util.retry=WARN', 'keystonemiddleware=WARN', 'routes.middleware=WARN', 'stevedore=WARN', 'taskflow=WARN', 'keystoneauth=WARN', 'oslo.cache=INFO', 'oslo_policy=INFO', 'dogpile.core.dogpile=INFO']

列表值

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

dhcp_broadcast_reply = False

布尔值

在 DHCP 回复中使用广播。

dhcp_confs = $state_path/dhcp

字符串值

存储 DHCP 服务器配置文件的位置。

dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq

字符串值

用于管理 DHCP 服务器的驱动程序。

dhcp_rebinding_time = 0

整数值

DHCP 重新绑定时间 T2 (以秒为单位)。如果设置为 0,则默认为租期时间的 7/8。

dhcp_renewal_time = 0

整数值

DHCP 续订时间 T1 (以秒为单位)。如果设置为 0,则默认为 5 个租期时间。

dnsmasq_base_log_dir = None

字符串值

dnsmasq 日志记录的基本日志目录。日志包含 DHCP 和 DNS 日志信息,可用于调试 DHCP 或 DNS 的问题。如果此部分为 null,则禁用 dnsmasq 日志。

`dnsmasq_config_file = `

字符串值

使用此文件覆盖默认的 dnsmasq 设置。

dnsmasq_dns_servers = []

列表值

以逗号分隔的 DNS 服务器列表,这些服务器将用作转发器。

dnsmasq_enable_addr6_list = False

布尔值

当端口在同一子网中有多个 IPv6 地址时,启用 dhcp-host 条目,其中包含地址列表。

dnsmasq_lease_max = 16777216

整数值

限制租期数量,以防止拒绝服务。

dnsmasq_local_resolv = False

布尔值

启用 dnsmasq 服务,在运行 DHCP 代理的主机上通过 DNS 解析器为实例提供名称解析。有效地从 dnsmasq 进程参数中删除 --no-resolv 选项。在 dnsmasq_dns_servers 选项中添加自定义 DNS 解析器可禁用此功能。

enable_isolated_metadata = False

布尔值

DHCP 服务器可协助在隔离的网络上提供元数据支持。将此值设置为 True 将导致 DHCP 服务器将特定的主机路由附加到 DHCP 请求。只有在子网不包含任何路由器端口时,才会激活元数据服务。客户机实例必须配置为通过 DHCP 请求主机路由(选项 121)。当 force_metadata 设为 True 时,此选项没有任何效果。

enable_metadata_network = False

布尔值

允许服务来自 CIDR 为 169.254.169.254/16(或更大前缀)的专用元数据访问网络的元数据请求,并连接到虚拟机从中发送元数据的 Neutron 路由器。在这种情况下,DHCP 选项 121 不会在虚拟机中注入,因为它们将通过路由器到达 169.254.169.254。此选项需要 enable_isolated_metadata = True。

fatal_deprecations = False

布尔值

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

force_metadata = False

布尔值

在某些情况下,Neutron 路由器没有提供元数据 IP,但 DHCP 服务器可用于提供此信息。设置此值将强制 DHCP 服务器将把特定的主机路由附加到 DHCP 请求。如果设置了这个选项,则会为所有网络激活元数据服务。

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

字符串值

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

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

字符串值

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

interface_driver = None

字符串值

用于管理虚拟接口的驱动程序。

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_logfile_count = 30

整数值

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

max_logfile_size_mb = 200

整数值

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

num_sync_threads = 4

整数值

同步过程中使用的线程数量。不应超过服务器上配置的连接池大小。

ovs_integration_bridge = br-int

字符串值

要使用的 Open vSwitch 网桥的名称

ovs_use_veth = False

布尔值

使用或不使用 veth 用于 OVS。支持命名空间支持有限的内核(如 RHEL 6.5)和路由器网关端口上的速率限制,只要 ovs_use_ veth 设为 True。

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

整数值

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

resync_interval = 5

整数值

DHCP 代理将重新同步其状态与 Neutron,以从任何临时通知或 RPC 错误中恢复。间隔是尝试之间的最大秒数。根据触发的事件,可以更频繁地执行 resync。

resync_throttle = 1

整数值

将本地 DHCP 状态和 Neutron 之间的重新同步状态事件数量节流到每个 resync_throttle 秒。throttle 的值引入重新同步状态事件之间的最小间隔。否则重新同步可能会以忙碌循环结束。该值必须小于 resync_interval。

rpc_response_max_timeout = 600

整数值

从 RPC 调用等待响应的最大秒数。

syslog-log-facility = LOG_USER

字符串值

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

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,则忽略此选项。

watch-log-file = False

布尔值

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

8.1.2. agent

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

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

availability_zone = nova

字符串值

此节点的可用区

log_agent_heartbeats = False

布尔值

日志代理心跳

report_interval = 30

浮点值

节点报告状态之间的秒数 ; 应该小于 agent_down_time,如果节点为一半或小于 agent_down_time。

8.1.3. OVS

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

Expand
表 8.2. OVS
配置选项 = 默认值类型Description

bridge_mac_table_size = 50000

整数值

在由 Neutron OVS 代理管理的网桥上学习的最大 MAC 地址数量。合理范围以外的值(10 到 1000,000)可能会根据文档覆盖 Open vSwitch。

igmp_snooping_enable = False

布尔值

为集成网桥启用 IGMP snooping。如果此选项被设置为 True,则集成桥接中启用了对互联网组管理协议(IGMP)的支持。将此选项设置为 True 还将启用 Open vSwitch mcast-snooping-disable-flood-unregistered 标志。这个选项将禁用在所有端口上取消注册的多播数据包。交换机仅将未注册的多播数据包发送到连接到多播路由器的端口。

ovsdb_connection = tcp:127.0.0.1:6640

字符串值

OVSDB 后端的连接字符串。监控时,将用于所有 ovsdb 命令和 ovsdb-client

ovsdb_debug = False

布尔值

启用 OVSDB 调试日志

ovsdb_timeout = 10

整数值

ovsdb 命令的超时时间(以秒为单位)。如果超时到期,则 ovsdb 命令会失败,并显示 ALARMCLOCK 错误。

ssl_ca_cert_file = None

字符串值

与 OVSDB 交互时使用的证书颁发机构(CA)证书。使用前缀为 ovsdb_connection 的 "ssl:" 时需要

ssl_cert_file = None

字符串值

与 OVSDB 交互时使用的 SSL 证书文件。使用前缀为 ovsdb_connection 的 "ssl:" 时需要

ssl_key_file = None

字符串值

与 OVSDB 交互时使用的 SSL 私钥文件。使用前缀为 ovsdb_connection 的 "ssl:" 时需要

8.2. l3_agent.ini

本节包含 /etc/neutron/l3_agent.ini 文件的选项。

8.2.1. DEFAULT

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

.

Expand
配置选项 = 默认值类型Description

agent_mode = legacy

字符串值

代理的工作模式。允许模式是 legacy - 这会保留在集中式网络节点上部署 L3 代理的现有行为,以提供 DNAT 和 SNAT 等 L3 服务。如果您不想采用 DVR,请使用此模式。dvr - 此模式启用 DVR 功能,且必须用于计算主机上运行的 L3 代理。dvr_snat - 这启用了与 DVR 结合使用的集中式 SNAT 支持。此模式必须用于中央节点上运行的 L3 代理(或在单主机部署中,如 devstack)。dvr_no_external - 这个模式只为计算主机上运行的 L3 代理启用东/West DVR 路由功能,如 North/South 功能(如 DNAT 和 SNAT)由 dvr_snat 模式运行的集中网络节点提供。当计算主机上没有外部网络连接时,应使用此模式。

api_workers = None

整数值

服务的独立 API worker 进程数量。如果未指定,则默认为等于可用 CPU 数量以获得最佳性能,按潜在的 RAM 使用量上限。

cleanup_on_shutdown = False

布尔值

删除 L3 代理关闭上的所有路由器。对于 L3 HA 路由器,它包括 keepalived 的关闭和状态更改监控器。注意:在停止或重启 L3 代理时,设置为 True 可能会影响数据平面。

debug = False

布尔值

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

default_log_levels = ['amqp=WARN', 'amqplib=WARN', 'boto=WARN', 'qpid=WARN', 'sqlalchemy=WARN', 'suds=INFO', 'oslo.messaging=INFO', 'oslo_messaging=INFO', 'iso8601=WARN', 'requests.packages.urllib3.connectionpool=WARN', 'urllib3.connectionpool=WARN', 'websocket=WARN', 'requests.packages.urllib3.util.retry=WARN', 'urllib3.util.retry=WARN', 'keystonemiddleware=WARN', 'routes.middleware=WARN', 'stevedore=WARN', 'taskflow=WARN', 'keystoneauth=WARN', 'oslo.cache=INFO', 'oslo_policy=INFO', 'dogpile.core.dogpile=INFO']

列表值

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

enable_metadata_proxy = True

布尔值

允许运行元数据代理。

external_ingress_mark = 0x2

字符串值

用于标记来自外部网络的 ingress 的 iptables mangle 标记。此标记将屏蔽为 0xffff,以便只使用低 16 位。

fatal_deprecations = False

布尔值

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

ha_confs_path = $state_path/ha_confs

字符串值

保存 keepalived 配置文件的位置

ha_keepalived_state_change_server_threads = <based on operating system>

整数值

keepalived 服务器连接请求的并发线程数量。更多线程在代理节点上创建更高的 CPU 负载。

ha_vrrp_advert_int = 2

整数值

广告间隔(以秒为单位)

ha_vrrp_auth_password = None

字符串值

VRRP 验证密码

ha_vrrp_auth_type = PASS

字符串值

VRRP 验证类型

ha_vrrp_garp_master_delay = 5

整数值

在 MASTER 时收到较低优先级 advert 后第二组 gratuitous ARP 的延时。注意:此配置选项仅适用于 OSP13 和 OSP16。将来的版本将实施模板表单以提供"keepalived"配置。

ha_vrrp_garp_master_repeat = 5

整数值

过渡到 MASTER 后要发送的 gratuitous ARP 消息数量。注意:此配置选项仅适用于 OSP13 和 OSP16。将来的版本将实施模板表单以提供"keepalived"配置。

ha_vrrp_health_check_interval = 0

整数值

VRRP 健康检查间隔(以秒为单位)。值 > 0 启用 VRRP 健康检查。将它设置为 0 可禁用 VRRP 健康检查。推荐的值为 5。这将导致 ping 发送到网关 IP 地址 - 要求在网关上启用 ICMP_ECHO_REQUEST。如果网关失败,则所有路由器都将报告为主要机制,并且以轮循方式重复主选举,直到其中一个路由器恢复网关连接。

handle_internal_only_routers = True

布尔值

表示此 L3 代理还应处理没有配置外部网络网关的路由器。这个选项应该仅为 Neutron 部署中的单一代理为 True,如果所有路由器都必须具有外部网络网关,则所有代理可能是 False。

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

字符串值

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

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

字符串值

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

interface_driver = None

字符串值

用于管理虚拟接口的驱动程序。

`ipv6_gateway = `

字符串值

对于 IPv6,用于外部网关的网络不需要关联的子网,因为可以使用自动分配的本地链路地址(LLA)。但是,需要一个 IPv6 网关地址,用作默认路由的下一跃点。如果此处未配置 IPv6 网关地址,(然后,将 neutron 路由器配置为从路由器公告(RA)获取其默认路由),则上游路由器还必须配置为发送这些 RA。在配置时,ipv6_gateway 应该是上游路由器上接口的 LLA。如果需要使用全局唯一地址(GUA)的下一跃点,需要通过分配给网络的子网来完成,而不是通过此参数。

keepalived_use_no_track = True

布尔值

如果使用没有支持 "no_track" 选项的 keepalived,则应将其设置为 False。keepalived 2.x 中引入了对这个选项的支持

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_logfile_count = 30

整数值

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

max_logfile_size_mb = 200

整数值

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

max_rtr_adv_interval = 100

整数值

radvd.conf 的 MaxRtrAdvInterval 设置

metadata_access_mark = 0x1

字符串值

用于标记元数据有效请求的 iptables mangle 标记。此标记将屏蔽为 0xffff,以便只使用低 16 位。

metadata_port = 9697

端口值

Neutron 元数据命名空间代理使用的 TCP 端口。

min_rtr_adv_interval = 30

整数值

MinRtrAdvInterval setting for radvd.conf

ovs_integration_bridge = br-int

字符串值

要使用的 Open vSwitch 网桥的名称

ovs_use_veth = False

布尔值

使用或不使用 veth 用于 OVS。支持命名空间支持有限的内核(如 RHEL 6.5)和路由器网关端口上的速率限制,只要 ovs_use_ veth 设为 True。

pd_confs = $state_path/pd

字符串值

存储 IPv6 PD 文件的位置。

periodic_fuzzy_delay = 5

整数值

启动定期任务调度程序时随机延迟的秒数,以减少时间戳。(通过设置为 0 来禁用)

periodic_interval = 40

整数值

运行定期任务之间的秒。

prefix_delegation_driver = dibbler

字符串值

用于 ipv6 前缀长度的驱动程序。这需要是 neutron.agent.linux.pd_drivers 命名空间中定义的入口点。有关 neutron 源中包含的入口点,请参阅 setup.cfg。

publish_errors = False

布尔值

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

ra_confs = $state_path/ra

字符串值

存储 IPv6 RA 配置文件的位置

`radvd_user = `

字符串值

传递给 radvd 的用户名,用于丢弃 root 特权,并将用户 ID 更改为 username 的主组 ID。如果没有指定用户(默认为 ),将传递执行 L3 代理的用户。如果指定了 "root",因为 radvd 会生成为 root,则不会传递 "username" 参数。

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

整数值

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

rpc_response_max_timeout = 600

整数值

从 RPC 调用等待响应的最大秒数。

rpc_state_report_workers = 1

整数值

专用于状态报告队列的 RPC worker 进程数量。

rpc_workers = None

整数值

服务的 RPC worker 进程数。如果没有指定,则默认等于 API worker 的数量。

syslog-log-facility = LOG_USER

字符串值

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

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,则忽略此选项。

vendor_pen = 8888

字符串值

RFC3315-EN 要求使用厂商的 Registered Private Enterprise Number 的十进制值。

watch-log-file = False

布尔值

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

8.2.2. agent

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

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

availability_zone = nova

字符串值

此节点的可用区

extensions = []

列表值

要使用的扩展列表

log_agent_heartbeats = False

布尔值

日志代理心跳

report_interval = 30

浮点值

节点报告状态之间的秒数 ; 应该小于 agent_down_time,如果节点为一半或小于 agent_down_time。

8.2.3. network_log

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

Expand
表 8.4. network_log
配置选项 = 默认值类型Description

burst_limit = 25

整数值

每个 rate_limit 的最大数据包数量。

local_output_log_base = None

字符串值

输出代理侧的 logfile 路径,默认 syslog 文件。

rate_limit = 100

整数值

每秒数据包日志记录数上限。

8.2.4. OVS

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

Expand
表 8.5. OVS
配置选项 = 默认值类型Description

bridge_mac_table_size = 50000

整数值

在由 Neutron OVS 代理管理的网桥上学习的最大 MAC 地址数量。合理范围以外的值(10 到 1000,000)可能会根据文档覆盖 Open vSwitch。

igmp_snooping_enable = False

布尔值

为集成网桥启用 IGMP snooping。如果此选项被设置为 True,则集成桥接中启用了对互联网组管理协议(IGMP)的支持。将此选项设置为 True 还将启用 Open vSwitch mcast-snooping-disable-flood-unregistered 标志。这个选项将禁用在所有端口上取消注册的多播数据包。交换机仅将未注册的多播数据包发送到连接到多播路由器的端口。

ovsdb_connection = tcp:127.0.0.1:6640

字符串值

OVSDB 后端的连接字符串。监控时,将用于所有 ovsdb 命令和 ovsdb-client

ovsdb_debug = False

布尔值

启用 OVSDB 调试日志

ovsdb_timeout = 10

整数值

ovsdb 命令的超时时间(以秒为单位)。如果超时到期,则 ovsdb 命令会失败,并显示 ALARMCLOCK 错误。

ssl_ca_cert_file = None

字符串值

与 OVSDB 交互时使用的证书颁发机构(CA)证书。使用前缀为 ovsdb_connection 的 "ssl:" 时需要

ssl_cert_file = None

字符串值

与 OVSDB 交互时使用的 SSL 证书文件。使用前缀为 ovsdb_connection 的 "ssl:" 时需要

ssl_key_file = None

字符串值

与 OVSDB 交互时使用的 SSL 私钥文件。使用前缀为 ovsdb_connection 的 "ssl:" 时需要

8.3. linuxbridge_agent.ini

本节包含 /etc/neutron/plugins/ml2/linuxbridge_agent.ini 文件的选项。

8.3.1. DEFAULT

下表概述了 /etc/neutron/plugins/ml2/linuxbridge_agent.ini 文件中的 [DEFAULT] 组下可用的选项。

.

Expand
配置选项 = 默认值类型Description

debug = False

布尔值

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

default_log_levels = ['amqp=WARN', 'amqplib=WARN', 'boto=WARN', 'qpid=WARN', 'sqlalchemy=WARN', 'suds=INFO', 'oslo.messaging=INFO', 'oslo_messaging=INFO', 'iso8601=WARN', 'requests.packages.urllib3.connectionpool=WARN', 'urllib3.connectionpool=WARN', 'websocket=WARN', 'requests.packages.urllib3.util.retry=WARN', 'urllib3.util.retry=WARN', 'keystonemiddleware=WARN', 'routes.middleware=WARN', 'stevedore=WARN', 'taskflow=WARN', 'keystoneauth=WARN', 'oslo.cache=INFO', 'oslo_policy=INFO', 'dogpile.core.dogpile=INFO']

列表值

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

fatal_deprecations = False

布尔值

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

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

字符串值

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

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

字符串值

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

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_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

整数值

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

rpc_response_max_timeout = 600

整数值

从 RPC 调用等待响应的最大秒数。

syslog-log-facility = LOG_USER

字符串值

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

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,则忽略此选项。

watch-log-file = False

布尔值

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

8.3.2. agent

下表概述了 /etc/ neutron/plugins/ml2/linuxbridge_agent.ini 文件中的 [agent ] 组下可用的选项。

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

dscp = None

整数值

在隧道封装过程中用于外部标头的 DSCP 值。

dscp_inherit = False

布尔值

如果设置为 True,则隧道接口的 DSCP 值会被覆盖,并设置为 inherit。然后,内部标头的 DSCP 值被复制到 outer 标头。

extensions = []

列表值

要使用的扩展列表

polling_interval = 2

整数值

代理在轮询本地设备更改之间等待的时间(以秒为单位)。

quitting_rpc_timeout = 10

整数值

为代理接收 SIGTERM 后新的 rpc 调用设置新的超时时间(以秒为单位)。如果值设为 0,则 rpc timeout 不会更改

8.3.3. linux_bridge

下表概述了 /etc/neutron/plugins/ml2/linuxbridge_agent.ini 文件中的 [linux_bridge] 组下可用的选项。

Expand
表 8.7. linux_bridge
配置选项 = 默认值类型Description

bridge_mappings = []

列表值

<physical_network> 列表<physical_bridge>

physical_interface_mappings = []

列表值

以逗号分隔的 <physical_network> :<physical_interface> 将物理网络名称映射到代理的特定物理网络接口,以用于扁平和 VLAN 网络。服务器上 network_vlan_ranges 中列出的所有物理网络应具有到每个代理上相应接口的映射。

8.3.4. network_log

下表概述了 /etc/neutron/plugins/ml2/linuxbridge_agent.ini 文件中的 [network_log] 组下可用的选项。

Expand
表 8.8. network_log
配置选项 = 默认值类型Description

burst_limit = 25

整数值

每个 rate_limit 的最大数据包数量。

local_output_log_base = None

字符串值

输出代理侧的 logfile 路径,默认 syslog 文件。

rate_limit = 100

整数值

每秒数据包日志记录数上限。

8.3.5. securitygroup

下表概述了 /etc/neutron/plugins/ml2/linuxbridge_agent.ini 文件中的 [securitygroup] 组下可用的选项。

Expand
表 8.9. securitygroup
配置选项 = 默认值类型Description

enable_ipset = True

布尔值

使用 ipset 来加快基于 iptables 的安全组。启用 ipset 支持要求在 L2 代理节点上安装 ipset。

enable_security_group = True

布尔值

控制服务器中是否启用了 neutron 安全组 API。在不使用安全组或使用 nova 安全组 API 时,它应当为 false。

firewall_driver = None

字符串值

L2 代理中的安全组防火墙的驱动程序

permitted_ethertypes = []

列表值

允许以逗号分隔的 ethertypes 列表,以十六进制表示十六进制(从 "0x" 开始)。例如,"0x4008"以允许 InfiniBand。

8.3.6. vxlan

下表概述了 /etc/neutron/plugins/ml2/linuxbridge_agent.ini 文件中的 [vxlan] 组下可用的选项。

Expand
表 8.10. vxlan
配置选项 = 默认值类型Description

arp_responder = False

布尔值

启用本地 ARP 响应器,其提供本地响应而不是在覆盖中执行 ARP 广播。启用本地 ARP 响应器与允许地址对扩展不完全兼容。

enable_vxlan = True

布尔值

在代理上启用 VXLAN。在使用 linuxbridge 机制驱动程序由 ml2 插件管理代理时可以启用

l2_population = False

布尔值

扩展,与 ml2 插件的 l2population 机制驱动程序一起使用。它可让插件填充 VXLAN 转发表。

local_ip = None

IP 地址值

本地覆盖(隧道)网络端点的 IP 地址。使用位于其中一个主机网络接口的 IPv4 或 IPv6 地址。这个值的 IP 版本必须与 neutron 服务器节点上的 ML2 插件配置文件中的 overlay_ip_version 选项值匹配。

multicast_ranges = []

列表值

可选以逗号分隔的 <multicast address>:<vni_min>:<vni_max> triples 列表,描述了如何根据其 VNI ID 为 VXLAN 分配多播地址。

ToS = None

整数值

TOS 用于 vxlan 接口协议数据包。这个选项已弃用,现在使用 AGENT 部分中的 dscp 选项替代,并将在以后的版本中删除。要将 TOS 值转换为 DSCP,请划分 4。

ttl = None

整数值

vxlan 接口协议数据包的 TTL。

udp_dstport = None

端口值

用于 VXLAN 通信的 UDP 端口。默认情况下,Linux 内核不使用 IANA 分配的标准值,因此如果您想要使用它,此选项必须设置为 4789。默认情况下不设置它,因为向后兼容。

udp_srcport_max = 0

端口值

用于 VXLAN 通信的最大 UDP 源端口范围。

udp_srcport_min = 0

端口值

用于 VXLAN 通信的最小 UDP 源端口范围。

vxlan_group = 224.0.0.1

字符串值

vxlan 接口的多播组。可以使用 CIDR 表示法指定组地址范围。指定范围允许不同的 VNI 使用不同的组地址,减少或消除到隧道端点的伪装广播流量。要为每个可能(24-bit) VNI 保留一个唯一的组,请使用 /8,如 239.0.0.0/8。在所有代理中,此设置都必须相同。

8.4. metadata_agent.ini

本节包含 /etc/neutron/metadata_agent.ini 文件的选项。

8.4.1. DEFAULT

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

.

Expand
配置选项 = 默认值类型Description

auth_ca_cert = None

字符串值

ssl 的证书颁发机构公钥(CA 证书)文件

debug = False

布尔值

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

default_log_levels = ['amqp=WARN', 'amqplib=WARN', 'boto=WARN', 'qpid=WARN', 'sqlalchemy=WARN', 'suds=INFO', 'oslo.messaging=INFO', 'oslo_messaging=INFO', 'iso8601=WARN', 'requests.packages.urllib3.connectionpool=WARN', 'urllib3.connectionpool=WARN', 'websocket=WARN', 'requests.packages.urllib3.util.retry=WARN', 'urllib3.util.retry=WARN', 'keystonemiddleware=WARN', 'routes.middleware=WARN', 'stevedore=WARN', 'taskflow=WARN', 'keystoneauth=WARN', 'oslo.cache=INFO', 'oslo_policy=INFO', 'dogpile.core.dogpile=INFO']

列表值

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

fatal_deprecations = False

布尔值

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

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

字符串值

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

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

字符串值

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

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_logfile_count = 30

整数值

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

max_logfile_size_mb = 200

整数值

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

metadata_backlog = 4096

整数值

配置元数据服务器套接字的积压请求数

`metadata_proxy_group = `

字符串值

在初始化后运行元数据代理的组(gid 或名称) (如果为空:代理有效组)。

`metadata_proxy_shared_secret = `

字符串值

在代理元数据请求时,Neutron 使用共享 secret 为 Instance-ID 标头签名,以防止欺骗。您可以为 secret 选择任何字符串,但它必须与 Nova 元数据服务器使用的配置中匹配。注意:Nova 使用相同的配置密钥,但在 [neutron] 部分中。

metadata_proxy_socket = $state_path/metadata_proxy

字符串值

元数据代理 UNIX 域套接字的位置。

metadata_proxy_socket_mode = deduce

字符串值

元数据代理 UNIX 域套接字模式,允许 4 个值:deduce - 从 metadata_proxy_user/group 值的分离模式;user - 将元数据代理套接字模式设置为 0o644,以便在 metadata_proxy_user 是代理有效用户或 root 用户时使用;group - 将元数据代理套接字模式设置为 0o664,以变在 metadata_proxy_group 是有效的代理组或用户时使用;all - 将原始代理套接字模式设置为 0o666,在所有其他情况下使用。

`metadata_proxy_user = `

字符串值

用户(uid 或名称)在其初始化后运行元数据代理(如果为空:代理有效的用户)。

metadata_workers = <based on operating system>

整数值

元数据服务器的单独 worker 进程数量(与 ML2/OVN 一起使用时默认为 2,与其他后端驱动程序的 CPU 数量有一半)

`nova_client_cert = `

字符串值

nova 元数据 api 服务器的客户端证书。

`nova_client_priv_key = `

字符串值

客户端证书的私钥。

nova_metadata_host = 127.0.0.1

主机地址值

Nova 元数据服务器的 IP 地址或 DNS 名称。

nova_metadata_insecure = False

布尔值

允许对 nova 元数据执行不安全的 SSL (https)请求

nova_metadata_port = 8775

端口值

Nova 元数据服务器使用的 TCP 端口。

nova_metadata_protocol = http

字符串值

协议来访问 nova 元数据、http 或 https

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

整数值

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

rpc_response_max_timeout = 600

整数值

从 RPC 调用等待响应的最大秒数。

syslog-log-facility = LOG_USER

字符串值

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

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,则忽略此选项。

watch-log-file = False

布尔值

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

8.4.2. agent

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

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

log_agent_heartbeats = False

布尔值

日志代理心跳

report_interval = 30

浮点值

节点报告状态之间的秒数 ; 应该小于 agent_down_time,如果节点为一半或小于 agent_down_time。

8.4.3. 缓存

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

Expand
表 8.12. 缓存
配置选项 = 默认值类型Description

backend = dogpile.cache.null

字符串值

缓存后端模块。对于具有数百个线程服务器的基于 eventlet 的环境,建议使用带有池(oslo_cache.memcache_pool)的 Memcache。对于小于 100 个线程服务器的环境,建议使用 Memcached (dogpile.cache.memcached)或 Redis (dogpile.cache.redis)。具有单一服务器实例的测试环境可以使用 dogpile.cache.memory 后端。

backend_argument = []

多值

为 backend 模块提供的参数。指定每参数传递到 dogpile.cache 后端的一次这个选项。示例格式:"<argname>:<value>"。

config_prefix = cache.oslo

字符串值

为缓存区域构建配置字典的前缀。除非存在另一个具有相同配置名称的 dogpile.cache 区域,否则这不应更改。

dead_timeout = 60

浮点值

尝试在 HashClient 内部机制中重新添加节点前的时间(以秒为单位)。

debug_cache_backend = False

布尔值

从缓存后端进行额外的调试(缓存键、get/set/delete/etc 调用)。只有在您需要使用键/值查看特定的 cache-backend get/set/delete 调用时才有用。通常,这应该设为 false。

enable_retry_client = False

布尔值

启用重试客户端机制来处理失败。这些机制可用于嵌套所有的 pymemcache 客户端。打包程序允许您定义有多少尝试进行,以及 attemots 之间等待的时间。

enable_socket_keepalive = False

布尔值

dogpile 的 pymemcache 后端的套接字 keepalive 的全局切换

enabled = False

布尔值

缓存的全局切换。

expiration_time = 600

整数值

dogpile.cache 区域中的任何缓存项的默认 TTL (以秒为单位)。这适用于任何未为其定义显式缓存过期时间的缓存方法。

hashclient_retry_attempts = 2

整数值

在客户端标记为死前应尝试的次数,并在 HashClient 的内部机制中从池中删除。

hashclient_retry_delay = 1

浮点值

在 HashClient 内部机制中重试尝试之间应经过的时间(以秒为单位)。

memcache_dead_retry = 300

整数值

在再次尝试前,memcached 服务器被视为 dead 的秒数。(dogpile.cache.memcache 和 oslo_cache.memcache_pool 后端)。

memcache_pool_connection_get_timeout = 10

整数值

操作将等待的秒数,以获取 memcache 客户端连接。

memcache_pool_flush_on_reconnect = False

布尔值

如果 memcache 在重新连接时清除,则全局切换。(仅oslo_cache.memcache_pool 后端)。

memcache_pool_maxsize = 10

整数值

每个 memcached 服务器的最大打开连接数。(oslo_cache.memcache_pool backend)。

memcache_pool_unused_timeout = 60

整数值

到 memcached 的连接在池关闭前没有被使用的秒数。(仅oslo_cache.memcache_pool 后端)。

memcache_servers = ['localhost:11211']

列表值

memcache 服务器格式为 "host:port"。(dogpile.cache.memcached 和 oslo_cache.memcache_pool 后端)。如果给定主机引用 IPv6 或给定域,则您应该为给定地址系列(inet6) (inet6) (inet6) ( inet6[::1]:11211,inet6:[fd12:3456:789a:1::1]:11211,inet6:[controller-0.internalapi]:11211)作为前缀。如果未提供地址系列,则使用的默认地址系列将是 inet (对应于 IPv4)

memcache_socket_timeout = 1.0

浮点值

每次对服务器调用的超时时间(以秒为单位)。(dogpile.cache.memcache 和 oslo_cache.memcache_pool 后端)。

proxies = []

列表值

用于导入的代理类会影响 dogpile.cache 后端功能的方式。有关 change-backend-behavior 的 dogpile.cache 文档。

retry_attempts = 2

整数值

在失败前尝试操作的次数。

retry_delay = 0

浮点值

每次尝试之间休眠的秒数。

socket_keepalive_count = 1

整数值

在丢弃连接前,保持 TCP 的最大 keepalive 探测 TCP 数量。应该是大于零的正整数。

socket_keepalive_idle = 1

整数值

在 TCP 开始发送 keepalive 探测前,连接需要保持闲置的时间(以秒为单位)。应该是大于零的正整数。

socket_keepalive_interval = 1

整数值

各个 keepalive 探测之间的时间(以秒为单位)。应该是大于零的正整数。

tls_allowed_ciphers = None

字符串值

为使用 TLS 上下文创建的套接字设置可用密码。它应该是 OpenSSL 密码列表格式的字符串。如果没有指定,则所有启用了 OpenSSL 的密码都可用。

tls_cafile = None

字符串值

以 PEM 格式串联的 CA 证书文件的路径,以建立缓存服务器的真实性。如果 tls_enabled 是 False,这个选项将被忽略。

tls_certfile = None

字符串值

到 PEM 格式的单个文件的路径,其中包含客户端证书以及建立证书真实性所需的任意数量的 CA 证书。只有在需要客户端身份验证时才需要此文件。如果 tls_enabled 是 False,这个选项将被忽略。

tls_enabled = False

布尔值

与缓存服务器组合时,TLS 使用的全局切换。

tls_keyfile = None

字符串值

到包含客户端私钥的单个文件的路径。其他私钥将从 tls_certfile 中指定的文件获取。如果 tls_enabled 是 False,这个选项将被忽略。

8.5. metering_agent.ini

本节包含 /etc/neutron/metering_agent.ini 文件的选项。

8.5.1. DEFAULT

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

.

Expand
配置选项 = 默认值类型Description

debug = False

布尔值

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

default_log_levels = ['amqp=WARN', 'amqplib=WARN', 'boto=WARN', 'qpid=WARN', 'sqlalchemy=WARN', 'suds=INFO', 'oslo.messaging=INFO', 'oslo_messaging=INFO', 'iso8601=WARN', 'requests.packages.urllib3.connectionpool=WARN', 'urllib3.connectionpool=WARN', 'websocket=WARN', 'requests.packages.urllib3.util.retry=WARN', 'urllib3.util.retry=WARN', 'keystonemiddleware=WARN', 'routes.middleware=WARN', 'stevedore=WARN', 'taskflow=WARN', 'keystoneauth=WARN', 'oslo.cache=INFO', 'oslo_policy=INFO', 'dogpile.core.dogpile=INFO']

列表值

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

driver = neutron.services.metering.drivers.noop.noop_driver.NoopMeteringDriver

字符串值

Metering 驱动程序

fatal_deprecations = False

布尔值

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

granular_traffic_data = False

布尔值

定义 metering 代理驱动程序是否应该以粒度方式呈现流量数据,而不是对标签分配到的所有项目和路由器的流量数据进行分组。默认值为 False,用于向后兼容。

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

字符串值

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

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

字符串值

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

interface_driver = None

字符串值

用于管理虚拟接口的驱动程序。

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_logfile_count = 30

整数值

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

max_logfile_size_mb = 200

整数值

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

measure_interval = 30

整数值

两个 metering 测量之间的间隔

ovs_integration_bridge = br-int

字符串值

要使用的 Open vSwitch 网桥的名称

ovs_use_veth = False

布尔值

使用或不使用 veth 用于 OVS。支持命名空间支持有限的内核(如 RHEL 6.5)和路由器网关端口上的速率限制,只要 ovs_use_ veth 设为 True。

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

整数值

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

report_interval = 300

整数值

两个 metering 报告之间的间隔

rpc_response_max_timeout = 600

整数值

从 RPC 调用等待响应的最大秒数。

syslog-log-facility = LOG_USER

字符串值

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

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,则忽略此选项。

watch-log-file = False

布尔值

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

8.5.2. agent

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

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

log_agent_heartbeats = False

布尔值

日志代理心跳

report_interval = 30

浮点值

节点报告状态之间的秒数 ; 应该小于 agent_down_time,如果节点为一半或小于 agent_down_time。

8.5.3. OVS

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

Expand
表 8.14. OVS
配置选项 = 默认值类型Description

bridge_mac_table_size = 50000

整数值

在由 Neutron OVS 代理管理的网桥上学习的最大 MAC 地址数量。合理范围以外的值(10 到 1000,000)可能会根据文档覆盖 Open vSwitch。

igmp_snooping_enable = False

布尔值

为集成网桥启用 IGMP snooping。如果此选项被设置为 True,则集成桥接中启用了对互联网组管理协议(IGMP)的支持。将此选项设置为 True 还将启用 Open vSwitch mcast-snooping-disable-flood-unregistered 标志。这个选项将禁用在所有端口上取消注册的多播数据包。交换机仅将未注册的多播数据包发送到连接到多播路由器的端口。

ovsdb_connection = tcp:127.0.0.1:6640

字符串值

OVSDB 后端的连接字符串。监控时,将用于所有 ovsdb 命令和 ovsdb-client

ovsdb_debug = False

布尔值

启用 OVSDB 调试日志

ovsdb_timeout = 10

整数值

ovsdb 命令的超时时间(以秒为单位)。如果超时到期,则 ovsdb 命令会失败,并显示 ALARMCLOCK 错误。

ssl_ca_cert_file = None

字符串值

与 OVSDB 交互时使用的证书颁发机构(CA)证书。使用前缀为 ovsdb_connection 的 "ssl:" 时需要

ssl_cert_file = None

字符串值

与 OVSDB 交互时使用的 SSL 证书文件。使用前缀为 ovsdb_connection 的 "ssl:" 时需要

ssl_key_file = None

字符串值

与 OVSDB 交互时使用的 SSL 私钥文件。使用前缀为 ovsdb_connection 的 "ssl:" 时需要

8.6. ml2_conf.ini

本节包含 /etc/neutron/plugins/ml2/ml2_conf.ini 文件的选项。

8.6.1. DEFAULT

下表概述了 /etc/neutron/plugins/ml2/ml2_conf.ini 文件中的 [DEFAULT] 组下可用的选项。

.

Expand
配置选项 = 默认值类型Description

debug = False

布尔值

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

default_log_levels = ['amqp=WARN', 'amqplib=WARN', 'boto=WARN', 'qpid=WARN', 'sqlalchemy=WARN', 'suds=INFO', 'oslo.messaging=INFO', 'oslo_messaging=INFO', 'iso8601=WARN', 'requests.packages.urllib3.connectionpool=WARN', 'urllib3.connectionpool=WARN', 'websocket=WARN', 'requests.packages.urllib3.util.retry=WARN', 'urllib3.util.retry=WARN', 'keystonemiddleware=WARN', 'routes.middleware=WARN', 'stevedore=WARN', 'taskflow=WARN', 'keystoneauth=WARN', 'oslo.cache=INFO', 'oslo_policy=INFO', 'dogpile.core.dogpile=INFO']

列表值

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

fatal_deprecations = False

布尔值

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

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

字符串值

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

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

字符串值

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

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_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

整数值

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

syslog-log-facility = LOG_USER

字符串值

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

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,则忽略此选项。

watch-log-file = False

布尔值

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

8.6.2. ml2

下表概述了 /etc/ neutron/plugins/ml2/ml2_conf.ini 文件中的 [ml 2] 组下可用的选项。

Expand
表 8.15. ml2
配置选项 = 默认值类型Description

extension_drivers = []

列表值

要从 neutron.ml2.extension_drivers 命名空间中载入的扩展驱动程序入口点列表。例如: extension_drivers = port_security,qos

external_network_type = None

字符串值

如果没有指定供应商属性,则外部网络的默认网络类型。默认情况下,它是 None,这意味着如果在创建外部网络时未指定提供程序属性,则它们将与租户网络相同。external_network_type 配置选项允许的值取决于 type_drivers 配置选项中配置的网络类型值。

mechanism_drivers = []

列表值

要从 neutron.ml2.mechanism_drivers 命名空间中载入的网络机制驱动程序入口点的有序列表。

overlay_ip_version = 4

整数值

所有覆盖(隧道)网络端点的 IP 版本。4 代表 IPv4,6 代表 IPv6。

path_mtu = 0

整数值

使用 overlay/tunnel 协议时,可以遍历底层物理网络基础架构的最大大小,而无需碎片。此选项允许指定与默认的 global_physnet_mtu 值不同的物理网络 MTU 值。

physical_network_mtus = []

列表值

物理网络到 MTU 值的映射列表。映射的格式是 <physnet>:<mtu val>。此映射允许指定与默认的 global_physnet_mtu 值不同的物理网络 MTU 值。

tenant_network_types = ['local']

列表值

排序 network_types 列表,以分配为租户网络。默认值为 local,可用于单箱测试,但主机之间不提供连接。

type_drivers = ['local', 'flat', 'vlan', 'gre', 'vxlan', 'geneve']

列表值

要从 neutron.ml2.type_drivers 命名空间中载入的网络类型入口点列表。

8.6.3. ml2_type_flat

下表概述了 /etc/neutron/plugins/ml2/ml2_conf.ini 文件中的 [ml2_type_flat] 组下可用的选项。

Expand
表 8.16. ml2_type_flat
配置选项 = 默认值类型Description

flat_networks = *

列表值

创建扁平网络的 physical_network 名称列表。使用 default * 允许带有任意 physical_network 名称的扁平网络。使用空列表禁用扁平网络。

8.6.4. ml2_type_geneve

下表概述了 /etc/neutron/plugins/ml2/ml2_conf.ini 文件中的 [ml2_type_geneve] 组下可用的选项。

Expand
表 8.17. ml2_type_geneve
配置选项 = 默认值类型Description

max_header_size = 30

整数值

Geneve 封装标头大小为动态的,这个值用于计算驱动程序的最大 MTU。此字段的默认大小为 30,这是 Geneve 标头的大小,而无需额外的选项标头。

vni_ranges = []

列表值

以逗号分隔的 <vni_min>:<vni_max> tuples 枚举 Geneve VNI ID 范围列表,它们可用于租户网络分配

8.6.5. ml2_type_gre

下表概述了 /etc/neutron/plugins/ml2/ml2_conf.ini 文件中的 [ml2_type_gre] 组下可用的选项。

Expand
表 8.18. ml2_type_gre
配置选项 = 默认值类型Description

tunnel_id_ranges = []

列表值

以逗号分隔的 <tun_min>:<tun_max> tuples 枚举可用于租户网络分配的 GRE 隧道 ID 范围

8.6.6. ml2_type_vlan

下表概述了 /etc/neutron/plugins/ml2/ml2_conf.ini 文件中的 [ml2_type_vlan] 组下可用的选项。

Expand
表 8.19. ml2_type_vlan
配置选项 = 默认值类型Description

network_vlan_ranges = []

列表值

<physical_network>:<vlan_min>:<vlan_max> 或 <physical_network> 指定可用于 VLAN 提供程序和租户网络的 physical_network 名称,以及每个可用于分配给租户网络的 VLAN 标签范围。

8.6.7. ml2_type_vxlan

下表概述了 /etc/neutron/plugins/ml2/ml2_conf.ini 文件中的 [ml2_type_vxlan] 组下可用的选项。

Expand
表 8.20. ml2_type_vxlan
配置选项 = 默认值类型Description

vni_ranges = []

列表值

以逗号分隔的 <vni_min>:<vni_max> tuples 枚举的 VXLAN VNI ID 范围列表,它们可用于租户网络分配

vxlan_group = None

字符串值

VXLAN 的多播组。配置后,将启用将所有广播流量发送到此多播组。在未配置的情况下,将禁用多播 VXLAN 模式。

8.6.8. ovs_driver

下表概述了 /etc/neutron/plugins/ml2/ml2_conf.ini 文件中的 [ovs_driver] 组下可用的选项。

Expand
表 8.21. ovs_driver
配置选项 = 默认值类型描述

vnic_type_prohibit_list = []

列表值

以逗号分隔的 VNIC 类型列表,其支持由机制驱动程序进行管理。请注意,支持的 vnic_types 取决于您的网络接口卡、您的操作系统的内核版本,以及 OVS 版本等其他因素。如果是 ovs 机制驱动程序,有效的 vnic 类型是 normal 和 direct。请注意,直接只支持内核 4.8 和 ovs 2.8.0。绑定 DIRECT (SR-IOV)端口允许使用 tc 将 OVS 流卸载到 SR-IOV NIC。这允许通过 tc 支持硬件卸载,并允许我们使用 representor net-device 通过 OpenFlow control plane 管理 VF。

8.6.9. securitygroup

下表概述了 /etc/neutron/plugins/ml2/ml2_conf.ini 文件中的 [securitygroup] 组下可用的选项。

Expand
表 8.22. securitygroup
配置选项 = 默认值类型Description

enable_ipset = True

布尔值

使用 ipset 来加快基于 iptables 的安全组。启用 ipset 支持要求在 L2 代理节点上安装 ipset。

enable_security_group = True

布尔值

控制服务器中是否启用了 neutron 安全组 API。在不使用安全组或使用 nova 安全组 API 时,它应当为 false。

firewall_driver = None

字符串值

L2 代理中的安全组防火墙的驱动程序

permitted_ethertypes = []

列表值

允许以逗号分隔的 ethertypes 列表,以十六进制表示十六进制(从 "0x" 开始)。例如,"0x4008"以允许 InfiniBand。

8.6.10. sriov_driver

下表概述了 /etc/neutron/plugins/ml2/ml2_conf.ini 文件中的 [sriov_driver] 组下可用的选项。

Expand
表 8.23. sriov_driver
配置选项 = 默认值类型描述

vnic_type_prohibit_list = []

列表值

以逗号分隔的 VNIC 类型列表,其支持由机制驱动程序进行管理。请注意,支持的 vnic_types 取决于您的网络接口卡、您的操作系统的内核版本,以及其它因素。如果 sriov 机制驱动,有效的 VNIC 类型是 direct, macvtap 和 direct-physical。

8.7. neutron.conf

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

8.7.1. DEFAULT

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

.

Expand
配置选项 = 默认值类型Description

agent_down_time = 75

整数值

有关代理关闭的秒数;应该至少为 report_interval 两次,以确保代理正常关闭。

allow_automatic_dhcp_failover = True

布尔值

从离线 DHCP 代理自动删除网络。

allow_automatic_l3agent_failover = False

布尔值

自动将路由器从离线 L3 代理重新调度到在线 L3 代理。

allow_bulk = True

布尔值

允许使用批量 API

allow_overlapping_ips = False

布尔值

在 Neutron 中允许重叠的 IP 支持。注意:如果 Neutron 与 Nova 安全组结合使用,则以下参数必须设为 False。

allowed_conntrack_helpers = [{'amanda': 'tcp'}, {'ftp': 'tcp'}, {'h323': 'udp'}, {'h323': 'tcp'}, {'irc': 'tcp'}, {'netbios-ns': 'udp'}, {'pptp': 'tcp'}, {'sane': 'tcp'}, {'sip': 'udp'}, {'sip': 'tcp'}, {'snmp': 'udp'}, {'tftp': 'udp'}]

列表值

定义允许的 conntrack 帮助程序和 conntack helper 模块协议约束。

`api_extensions_path = `

字符串值

API 扩展的路径。请注意,这可以是以冒号分隔的路径列表。例如: api_extensions_path = extensions:/path/to/more/exts:/even/more/exts。neutron.extensions 的路径会附加到此后面,因此如果您的扩展位于那里,则不需要在此处指定它们。

api_paste_config = api-paste.ini

字符串值

api 服务的 paste.deploy 配置的文件名

api_workers = None

整数值

服务的独立 API worker 进程数量。如果未指定,则默认为等于可用 CPU 数量以获得最佳性能,按潜在的 RAM 使用量上限。

auth_strategy = keystone

字符串值

要使用的身份验证类型

backdoor_port = None

字符串值

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

backdoor_socket = None

字符串值

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

backlog = 4096

整数值

配置套接字的积压请求数

base_mac = fa:16:3e:00:00:00

字符串值

Neutron 将用于 VIF 的基本 MAC 地址。前 3 个八位字节将保持不变。如果第 4 个八位字节不是 00,它将被使用。其他对象将随机生成。

bind_host = 0.0.0.0

主机地址值

要绑定到的主机 IP。

bind_port = 9696

端口值

要绑定到的端口

client_socket_timeout = 900

整数值

客户端连接的套接字操作的超时。如果传入的连接闲置了这个秒数,它将被关闭。值 0 表示等待永久。

conn_pool_min_size = 2

整数值

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

conn_pool_ttl = 1200

整数值

池中闲置连接的时间延迟

control_exchange = neutron

字符串值

默认交换,哪些主题在哪些方面有范围。可以被 transport_url 选项指定的交换名称覆盖。

core_plugin = None

字符串值

Neutron 将使用的核心插件

debug = False

布尔值

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

default_availability_zones = []

列表值

可用区提示的默认值。当资源 availability_zone_hints 为空时,可用性区域了解调度程序会使用它。可以使用逗号分隔的字符串来指定多个可用区。这个值可以为空。在这种情况下,即使资源的 availability_zone_hints 为空,在调度资源时将可用性区域视为高可用性。

default_log_levels = ['amqp=WARN', 'amqplib=WARN', 'boto=WARN', 'qpid=WARN', 'sqlalchemy=WARN', 'suds=INFO', 'oslo.messaging=INFO', 'oslo_messaging=INFO', 'iso8601=WARN', 'requests.packages.urllib3.connectionpool=WARN', 'urllib3.connectionpool=WARN', 'websocket=WARN', 'requests.packages.urllib3.util.retry=WARN', 'urllib3.util.retry=WARN', 'keystonemiddleware=WARN', 'routes.middleware=WARN', 'stevedore=WARN', 'taskflow=WARN', 'keystoneauth=WARN', 'oslo.cache=INFO', 'oslo_policy=INFO', 'dogpile.core.dogpile=INFO']

列表值

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

dhcp_agent_notification = True

布尔值

允许向 DHCP 代理发送资源操作通知

dhcp_agents_per_network = 1

整数值

调度用于托管租户网络的 DHCP 代理数量。如果这个数字大于 1,调度程序会自动为给定租户网络分配多个 DHCP 代理,为 DHCP 服务提供高可用性。但是,这并不为隔离网络中的 IPv6 元数据服务提供高可用性。

dhcp_lease_duration = 86400

整数值

DHCP 租期持续时间(以秒为单位)。使用 -1 告知 dnsmasq 使用无限租期时间。

dhcp_load_type = networks

字符串值

代表代理正在报告其负载的资源类型。这可以是 "networks", "subnets" 或 "ports"。指定(默认是网络),服务器将从代理报告状态中提取作为代理配置对象的一部分发送的特定负载,即 network_scheduler_driver 为 WeightScheduler 时,每个 report_interval.dhcp_load_type 都可以与 network_scheduler_driver = neutron.scheduler.dhcp_agent_scheduler.WeightScheduler when network_scheduler_driver 为 WeightScheduler, dhcp_load_type 结合使用,以表示资源的选择。示例: dhcp_load_type=networks

dns_domain = openstacklocal

字符串值

用于构建主机名的域

dvr_base_mac = fa:16:3f:00:00:00

字符串值

Neutron 用于唯一 DVR 实例的基础 mac 地址。前 3 个八位字节将保持不变。如果第 4 个八位字节不是 00,它将被使用。其他对象将随机生成。dvr_base_mac 必须与 base_mac 不同,以避免将它们与分配给租户端口的 MAC 混合。一个 4 个 octet 示例将是 dvr_base_mac = fa:16:3f:4f:00:00。默认值为 3 octet

enable_dvr = True

布尔值

确定是否为 DVR 配置了设置。如果为 False,则禁用 DVR API 扩展。

enable_new_agents = True

布尔值

当 enable_new_agents=False 时,代理以 admin_state_up=False 开头。在这种情况下,在 admin 将 admin_state_up 改为 True 前,用户的资源不会自动调度到代理。

enable_services_on_agents_with_admin_state_down = False

布尔值

在带有 admin_state_up False 的代理上启用服务。如果此选项为 False,当代理的 admin_state_up 变为 False 时,它将禁用它的服务。无论此选项是什么,不会选择具有 admin_state_up False 的代理进行自动调度。但是,如果此选项为 True,则手动调度到这些代理可用。

enable_snat_by_default = True

布尔值

如果 external_gateway_info 中未提供,定义 enable_snat 的默认值。

enable_traditional_dhcp = True

布尔值

如果为 False,neutron-server 将禁用以下 DHCP-agent 相关功能:1。DHCP 置备块 2.DHCP 调度程序 API 扩展 3。网络调度机制 4.DHCP RPC/notification

executor_thread_pool_size = 64

整数值

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

external_dns_driver = None

字符串值

用于外部 DNS 集成的驱动。

fatal_deprecations = False

布尔值

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

filter_validation = True

布尔值

如果为 True,则允许插件决定是否对过滤器参数执行验证。如果打开此配置且所有插件都支持,则启用过滤验证

global_physnet_mtu = 1500

整数值

底层物理网络的 MTU。Neutron 使用这个值为所有虚拟网络组件计算 MTU。对于扁平和 VLAN 网络,neutron 在不修改的情况下使用这个值。对于 VXLAN 等覆盖网络,neutron 会自动从这个值中减去覆盖协议开销。默认为 1500,以太网的标准值。

graceful_shutdown_timeout = 60

整数值

指定安全关闭服务器将退出的超时。零值表示无限期等待。

Host = <based on operating system>

主机地址值

此计算机上运行的 Neutron 服务器、代理和服务使用的主机名。在此计算机上运行的所有代理和服务都必须使用相同的主机值。

host_dvr_for_dhcp = True

布尔值

标志,以确定是否需要将 DVR 本地路由器托管到 DHCP 代理。如果 False,则 DHCP 代理实例支持的任何 L3 功能都不可能,例如:DNS。

http_retries = 3

整数值

在失败的 HTTP 调用中,应重试客户端连接(nova、ironic)的次数。0 (零)表示连接只尝试一次(不重试)。设置为任何正整数表示连接失败时会多次重试。例如,将 设置为 3 表示连接总数为 4。

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

字符串值

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

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

字符串值

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

interface_driver = None

字符串值

用于管理虚拟接口的驱动程序。

ipam_driver = internal

字符串值

要使用的 Neutron IPAM (IP 地址管理)驱动程序。默认情况下,使用 Neutron IPAM 驱动程序的引用实现。

ipv6_pd_enabled = False

布尔值

为自动子网 CIDR 分配启用 IPv6 Prefix Delegation。设置为 True,在 PD 兼容环境中为子网分配启用 IPv6 前缀委派。在不提供 CIDR 或 subnetpool ID 的情况下为 IPv6 子网发出子网创建请求的用户将通过前缀委派机制授予 CIDR。请注意,启用 PD 将覆盖默认 IPv6 subnetpool 的行为。

l3_ha = False

布尔值

为虚拟路由器启用 HA 模式。

l3_ha_net_cidr = 169.254.192.0/18

字符串值

用于 l3 HA 管理网络的子网。

`l3_ha_network_physical_name = `

字符串值

可以创建 HA 网络的物理网络名称。

`l3_ha_network_type = `

字符串值

为 HA 路由器创建 HA 网络时要使用的网络类型。默认情况下,或为空,则使用第一个 tenant_network_types。当 VRRP 流量应使用不是默认网络的特定网络时,这非常有用。

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_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 [%(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_allowed_address_pair = 10

整数值

允许的地址对的最大数量

max_dns_nameservers = 5

整数值

每个子网的 DNS 名称服务器的最大数量

max_header_line = 16384

整数值

要接受的最大消息标头大小。在使用大令牌时可能需要增加 max_header_line (通常是在 keystone 配置为使用具有大型服务目录的 PKI 令牌时生成的)。

max_l3_agents_per_router = 3

整数值

在其上调度 HA 路由器的最大 L3 代理数。如果设为 0,则路由器将调度到每个代理上。

max_logfile_count = 30

整数值

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

max_logfile_size_mb = 200

整数值

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

max_routes = 30

整数值

每个路由器的最大路由数

max_subnet_host_routes = 20

整数值

每个子网的最大主机路由数

`metadata_proxy_group = `

字符串值

在初始化后运行元数据代理的组(gid 或名称) (如果为空:代理有效组)。

metadata_proxy_socket = $state_path/metadata_proxy

字符串值

元数据代理 UNIX 域套接字的位置。

`metadata_proxy_user = `

字符串值

用户(uid 或名称)在其初始化后运行元数据代理(如果为空:代理有效的用户)。

migration_mode = False

布尔值

选项告知环境正在进行从 OVS 迁移到 OVN 的机制驱动程序。

network_auto_schedule = True

布尔值

允许自动调度网络到 DHCP 代理。

network_link_prefix = None

字符串值

此字符串前面带有到 OpenStack Network API 链接返回的普通 URL。如果为空(默认),则 URL 会以保持不变。

network_scheduler_driver = neutron.scheduler.dhcp_agent_scheduler.WeightScheduler

字符串值

用于将网络调度到 DHCP 代理的驱动程序

notify_nova_on_port_data_changes = True

布尔值

当端口数据(fixed_ips/floatingip)更改时向 nova 发送通知,以便 nova 可以更新其缓存。

notify_nova_on_port_status_changes = True

布尔值

当端口状态发生变化时向 nova 发送通知

pagination_max_limit = -1

字符串值

单个响应中返回的最大项目数,值为 无限 或负整数表示没有限制

periodic_fuzzy_delay = 5

整数值

启动定期任务调度程序时随机延迟的秒数,以减少时间戳。(通过设置为 0 来禁用)

periodic_interval = 40

整数值

运行定期任务之间的秒。

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

整数值

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

retry_until_window = 30

整数值

重试要侦听的秒数

router_auto_schedule = True

布尔值

允许自动将路由器调度到 L3 代理。

router_distributed = False

布尔值

系统范围的标志,以确定租户可以创建的路由器类型。只有管理员才能覆盖。

router_scheduler_driver = neutron.scheduler.l3_agent_scheduler.LeastRoutersScheduler

字符串值

用于将路由器调度到默认 L3 代理的驱动程序

rpc_conn_pool_size = 30

整数值

RPC 连接池的大小。

rpc_ping_enabled = False

布尔值

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

rpc_response_max_timeout = 600

整数值

从 RPC 调用等待响应的最大秒数。

rpc_response_timeout = 60

整数值

从调用等待响应的秒数。

rpc_state_report_workers = 1

整数值

专用于状态报告队列的 RPC worker 进程数量。

rpc_workers = None

整数值

服务的 RPC worker 进程数。如果没有指定,则默认等于 API worker 的数量。

run_external_periodic_tasks = True

布尔值

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

send_events_interval = 2

整数值

如果有要发送的事件,则发送事件到 nova 之间的秒数。

service_plugins = []

列表值

Neutron 将使用的服务插件

setproctitle = on

字符串值

将进程名称设置为与子 worker 角色匹配。可用选项包括: off - 保留之前的行为; 在 - 上,将进程重命名为 neutron-server: role (原始字符串); brief - 在 上重命名与 上的 相同,但没有原始字符串,如 neutron-server: 角色

state_path = /var/lib/neutron

字符串值

存储 Neutron 状态文件的位置。这个目录必须可以被代理写入。

syslog-log-facility = LOG_USER

字符串值

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

tcp_keepidle = 600

整数值

为每个服务器套接字设置 TCP_KEEPIDLE 的值(以秒为单位)。在 OS X 上不支持。

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

布尔值

在 API 服务器上启用 SSL

use_stderr = False

布尔值

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

vlan_transparent = False

布尔值

如果为 True,则允许支持它的插件来创建 VLAN 透明网络。

watch-log-file = False

布尔值

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

wsgi_default_pool_size = 100

整数值

wsgi 使用的 greenthreads 池的大小

wsgi_keep_alive = True

布尔值

如果为 False,请明确关闭客户端套接字连接。

wsgi_log_format = %(client_ip) s "%(request_line) s" status: %(status_code) s len: %(body_length) s time: %(wall_seconds).7f

字符串值

用作模板用于生成日志行的 python 格式字符串。以下值可以格式化到其中:client_ip, date_time, request_line, status_code, body_length, wall_seconds。

wsgi_server_debug = False

布尔值

如果服务器应该将异常回溯发送到客户端 500 错误,则为 true。如果为 False,服务器将响应空正文。

8.7.2. agent

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

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

availability_zone = nova

字符串值

此节点的可用区

check_child_processes_action = respawn

字符串值

子进程结束时要执行的操作

check_child_processes_interval = 60

整数值

子进程存活度(秒)检查之间的间隔,使用 0 来禁用

comment_iptables_rules = True

布尔值

为 iptables 规则添加注释。设置为 false 以禁止为生成的 iptables 规则添加注释,以描述每个规则的用途。系统必须支持 iptables 注释模块来添加注释。

debug_iptables_rules = False

布尔值

重复每个 iptables 差异计算,以确保生成的格式与 iptables-save 的格式匹配。对于生产环境的系统,不应该打开这个选项,因为它会给性能损失。

kill_scripts_path = /etc/neutron/kill_scripts/

字符串值

用于终止外部进程的脚本位置。此处的脚本名称必须遵循模式:"<process-name>-kill",其中 <process-name> 是应该使用这个脚本被终止的进程名称。例如,dnsmasq 进程的终止脚本应命名为 "dnsmasq-kill"。如果路径设定为 None,那么将使用默认"kill"命令来停止进程。

log_agent_heartbeats = False

布尔值

日志代理心跳

report_interval = 30

浮点值

节点报告状态之间的秒数 ; 应该小于 agent_down_time,如果节点为一半或小于 agent_down_time。

root_helper = sudo

字符串值

根帮助程序应用。使用 sudo neutron-rootwrap /etc/neutron/rootwrap.conf 使用实际的 root 过滤器工具。更改为 sudo 以跳过过滤并仅直接运行命令。

root_helper_daemon = None

字符串值

尽可能要使用的根帮助程序守护进程应用程序。

使用 sudo neutron-rootwrap-daemon /etc/neutron/rootwrap.conf 以"daemon 模式"运行 rootwrap,该模式已报告以大规模提高性能。有关以"daemon 模式"运行 rootwrap 的更多信息,请参阅:

https://docs.openstack.org/oslo.rootwrap/latest/user/usage.html#daemon-mode

use_helper_for_ns_read = True

布尔值

在列出系统上命名空间时,请使用 root 帮助程序。根据安全配置,可能不需要这样做。如果不需要 root 帮助程序,则将其设置为 False 以提高性能。

use_random_fully = True

布尔值

在 SNAT 伪装规则中使用随机。

8.7.3. CORS

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

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

allow_credentials = True

布尔值

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

allow_headers = ['X-Auth-Token', 'X-Identity-Status', 'X-Roles', 'X-Service-Catalog', 'X-User-Id', 'X-Tenant-Id', 'X-OpenStack-Request-ID']

列表值

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

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

列表值

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

allowed_origin = None

列表值

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

expose_headers = ['X-Auth-Token', 'X-Subject-Token', 'X-Service-Token', 'X-OpenStack-Request-ID', 'OpenStack-Volume-microversion']

列表值

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

max_age = 3600

整数值

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

8.7.4. database

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

Expand
表 8.26. 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

整数值

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

`engine = `

字符串值

使用离线迁移时,将为其生成数据库引擎。

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

布尔值

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

8.7.5. healthcheck

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

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

backends = []

列表值

可执行健康检查并报告该信息作为请求的一部分的其他后端。

detailed = False

布尔值

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

disable_by_file_path = None

字符串值

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

disable_by_file_paths = []

列表值

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

path = /healthcheck

字符串值

响应 healtcheck 请求的路径。

8.7.6. ironic

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

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

auth-url = None

字符串值

身份验证 URL

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

字符串值

范围为的域名

enable_notifications = False

布尔值

将通知事件发送到 ironic。(例如,在相关端口状态上更改。)

insecure = False

布尔值

验证 HTTPS 连接。

keyfile = None

字符串值

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

password = None

字符串值

用户的密码

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

user-domain-id = None

字符串值

用户的域 ID

user-domain-name = None

字符串值

用户的域名

user-id = None

字符串值

用户 ID

username = None

字符串值

用户名

8.7.7. keystone_authtoken

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

Expand
表 8.29. 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 端点,则该服务用户不应该用于验证令牌的端点,因为普通用户可能无法访问该端点。

8.7.8. nova

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

Expand
表 8.30. nova
配置选项 = 默认值类型Description

auth-url = None

字符串值

身份验证 URL

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

字符串值

范围为的域名

endpoint_type = public

字符串值

要使用的 nova 端点的类型。此端点将在 keystone 目录中查找,并且应该是公共、内部或 admin 之一。

insecure = False

布尔值

验证 HTTPS 连接。

keyfile = None

字符串值

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

live_migration_events = False

布尔值

启用此选项后,在实时迁移过程中,OVS 代理仅在目标主机接口绑定时才会发送 "vif-plugged-event"。这个选项还禁用在置备端口时发送到 Nova 这个事件的任何其他代理(如 DHCP)。如果 Nova 补丁 https://review.opendev.org/c/openstack/nova/+/767368 已就位,则可以启用此选项。此选项是临时的,并将在 Y 中删除,行为将是 "True"。

password = None

字符串值

用户的密码

project-domain-id = None

字符串值

包含项目的域 ID

project-domain-name = None

字符串值

包含项目的域名

project-id = None

字符串值

项目 ID 的范围

project-name = None

字符串值

范围的项目名称

region_name = None

字符串值

要使用的 nova 区域名称。如果 keystone 管理多个区域,则很有用。

split-loggers = False

布尔值

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

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

字符串值

用户名

8.7.9. oslo_concurrency

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

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

disable_process_locking = False

布尔值

启用或禁用进程间锁定。

lock_path = None

字符串值

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

8.7.10. oslo_messaging_amqp

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

Expand
表 8.32. 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 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 default_rpc_exchange if set other 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 消息。

notify_address_prefix = openstack.org/om/notify

字符串值

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

notify_server_credit = 100

整数值

传入通知消息的窗口大小

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

多值

发送此类型的消息预先组装。预先设置的消息不会接收来自 peer 的确认信息。请注意:如果发送失败,则预先设置的消息可能会被静默丢弃。允许的值: rpc-call - 发送 RPC Calls pre-settled rpc-reply- 发送 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 消息的窗口大小。

rpc_address_prefix = openstack.org/om/rpc

字符串值

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

rpc_server_credit = 100

整数值

传入 RPC Request 消息的窗口大小

`sasl_config_dir = `

字符串值

包含 SASL 配置的目录路径

`sasl_config_name = `

字符串值

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

`sasl_default_realm = `

字符串值

如果用户名中没有 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 extension (rfc6066)来为每个虚拟主机提供证书。如果服务器的 SSL 证书使用虚拟主机名称而不是 DNS 名称,则将 ssl_verify_vhost 设置为 True。

trace = False

布尔值

debug :将 AMQP 帧转储到 stdout

unicast_address = unicast

字符串值

在发送到特定 RPC/Notification 服务器时,附加到地址前缀。消息总线用来识别发送到单个目的地的消息。

8.7.11. oslo_messaging_kafka

下表概述了 /etc/neutron/neutron.conf 文件中的 [oslo_messaging_kafka] 组下可用的选项。

Expand
表 8.33. oslo_messaging_kafka
配置选项 = 默认值类型Description

compression_codec = none

字符串值

producer 生成的所有数据的压缩 codec。如果没有设置,则不会使用压缩。请注意,这允许的值取决于 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 consumer 的最大获取字节数

max_poll_records = 500

整数值

轮询调用中返回的最大记录数

pool_size = 10

整数值

Kafka Consumers 的池大小

producer_batch_size = 16384

整数值

producer async 发送的批处理大小

producer_batch_timeout = 0.0

浮点值

以秒为单位的 KafkaProducer 批处理延迟上限

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 = `

字符串值

用于身份验证的客户端密钥密码文件。

8.7.12. oslo_messaging_notifications

下表概述了 /etc/neutron/neutron.conf 文件中的 [oslo_messaging_notifications] 组下可用的选项。

Expand
表 8.34. oslo_messaging_notifications
配置选项 = 默认值类型Description

driver = []

多值

处理发送通知的驱动程序。可能的值有 messaging, messagingv2, routing, log, test, noop

retry = -1

整数值

重新发送因为可恢复错误而发送失败的通知消息的最大尝试次数。0 - 不重试,-1 - indefinite

topics = ['notifications']

列表值

用于 OpenStack 通知的 AMQP 主题。

transport_url = None

字符串值

代表用于通知的消息传递驱动程序的 URL。如果没有设置,我们回退到用于 RPC 的同一配置。

8.7.13. oslo_messaging_rabbit

下表概述了 /etc/neutron/neutron.conf 文件中的 [oslo_messaging_rabbit] 组下可用的选项。

Expand
表 8.35. oslo_messaging_rabbit
配置选项 = 默认值类型Description

amqp_auto_delete = False

布尔值

AMQP 中的自动删除队列。

amqp_durable_queues = False

布尔值

在 AMQP 中使用持久队列。

direct_mandatory_flag = True

布尔值

(DEPRECATED)为直接发送启用/禁用 RabbitMQ 强制标记。直接发送用作回复,因此在客户端队列不存在时引发 MessageUndeliverable 异常。MessageUndeliverable 异常将用于循环使发送者恢复。此标志已弃用,且无法停用此功能

enable_cancel_on_failover = False

布尔值

启用 x-cancel-on-ha-failover 标志,使 rabbitmq 服务器将取消并通知 consumerswhen 队列停机

heartbeat_in_pthread = False

布尔值

默认情况下,通过原生 python 线程运行健康检查心跳线程。如果此选项等于 False,则健康检查 heartbeat 将继承父进程的执行模型。例如,如果父进程使用 eventlet/greenlet 对 stdlib 进行补丁,则心跳将通过绿色线程运行。这个选项应该只针对 wsgi 服务设置为 True。

heartbeat_rate = 2

整数值

heartbeat_timeout_threshold 期间的时间我们检查心跳的频率。

heartbeat_timeout_threshold = 60

整数值

如果 heartbeat 的 keep-alive 失败(0 禁用 heartbeat),则 Rabbit 代理被视为 down 的秒数。

kombu_compression = None

字符串值

EXPERIMENTAL: Possible 值为: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\.) gem {"ha-mode": "all"} "

rabbit_interval_max = 30

整数值

RabbitMQ 连接重试的最大间隔。默认值为 30 秒。

rabbit_login_method = AMQPLAIN

字符串值

RabbitMQ 登录方法。

rabbit_qos_prefetch_count = 0

整数值

指定要预抓取的消息数量。设置为零可允许无限消息。

rabbit_retry_backoff = 2

整数值

连接到 RabbitMQ 时重试之间的 backoff 时长。

rabbit_retry_interval = 1

整数值

使用 RabbitMQ 重试连接的频率。

rabbit_transient_queues_ttl = 1800

整数值

正整数代表队列 TTL (x-expires)的持续时间(以秒为单位)。TTL 期间未使用的队列将被自动删除。参数仅影响 reply 和 fanout 队列。

ssl = False

布尔值

通过 SSL 连接。

`ssl_ca_file = `

字符串值

SSL 证书颁发机构文件(仅在启用了 SSL 时评估)。

`ssl_cert_file = `

字符串值

SSL 证书文件(仅在启用了 SSL 时评估)。

`ssl_key_file = `

字符串值

SSL 密钥文件(仅在启用了 SSL 时valid)。

`ssl_version = `

字符串值

要使用的 SSL 版本(仅在启用了 SSL 时评估)。有效值为 TLSv1 和 SSLv23。SSLv2、SSLv3、TLSv1_1 和 TLSv1_2 可能在某些发行版中提供。

8.7.14. oslo_middleware

下表概述了 /etc/neutron/neutron.conf 文件中的 [oslo_middleware] 组下可用的选项。

Expand
表 8.36. oslo_middleware
配置选项 = 默认值类型Description

enable_proxy_headers_parsing = False

布尔值

应用程序是否在代理后面。这决定了中间件是否应该解析标头。

8.7.15. oslo_policy

下表概述了 /etc/neutron/neutron.conf 文件中的 [oslo_policy] 组下可用的选项。

Expand
表 8.37. 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.yaml

字符串值

将角色映射到给定服务权限的文件的相对或绝对路径。必须使用与配置文件设置相关的相对路径。

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 的策略检查的服务器身份验证

8.7.16. oslo_reports

下表概述了 /etc/neutron/neutron.conf 文件中的 [oslo_reports] 组下可用的选项。

Expand
表 8.38. oslo_reports
配置选项 = 默认值类型Description

file_event_handler = None

字符串值

要监视触发报告更改的文件路径,而不是信号。设置此选项会禁用报告的信号触发器。如果应用程序作为 WSGI 应用程序运行,则建议使用此选项而不是信号。

file_event_handler_interval = 1

整数值

设置 file_event_handler 时轮询之间等待的秒数

log_dir = None

字符串值

创建文件的路径

8.7.17. placement

下表概述了 /etc/neutron/neutron.conf 文件中的 [placement] 组下可用的选项。

Expand
表 8.39. placement
配置选项 = 默认值类型Description

auth-url = None

字符串值

身份验证 URL

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

字符串值

范围为的域名

endpoint_type = public

字符串值

要使用的放置端点的类型。此端点将在 keystone 目录中查找,并且应该是公共、内部或 admin 之一。

insecure = False

布尔值

验证 HTTPS 连接。

keyfile = None

字符串值

PEM 编码的客户端证书密钥文件

password = None

字符串值

用户的密码

project-domain-id = None

字符串值

包含项目的域 ID

project-domain-name = None

字符串值

包含项目的域名

project-id = None

字符串值

项目 ID 的范围

project-name = None

字符串值

范围的项目名称

region_name = None

字符串值

要使用的放置区域的名称。如果 keystone 管理多个区域,则很有用。

split-loggers = False

布尔值

将请求记录到多个日志记录器。

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

字符串值

用户名

8.7.18. privsep

下表概述了 /etc/neutron/neutron.conf 文件中的 [privsep] 组下可用的选项。

Expand
表 8.40. privsep
配置选项 = 默认值类型Description

capabilities = []

列表值

privsep 守护进程保留的 Linux 功能列表。

group = None

字符串值

privsep 守护进程应作为.

helper_command = None

字符串值

如果不使用"fork"方法,调用 以启动 privsep 守护进程。如果没有指定,则使用"sudo privsep-helper"和用于重新创建当前配置的参数生成默认值。此命令必须接受合适的 --privsep_context 和 --privsep_sock_path 参数。

logger_name = oslo_privsep.daemon

字符串值

用于此 privsep 上下文的日志记录器名称。默认情况下,带有 oslo_privsep.daemon 的所有上下文日志。

thread_pool_size = <based on operating system>

整数值

可用于 privsep 的线程数量,以同时运行进程。默认为系统中的 CPU 内核数。

user = None

字符串值

privsep 守护进程应以.

8.7.19. profiler

下表概述了 /etc/neutron/neutron.conf 文件中的 [profiler] 组下可用的选项。

Expand
表 8.41. 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 驱动程序进行发送范围。
  • 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 服务。此参数定义名称(例如: sentinal_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 查询。

8.7.20. quotas

下表概述了 /etc/neutron/neutron.conf 文件中的 [quotas] 组下可用的选项。

Expand
表 8.42. quotas
配置选项 = 默认值类型Description

default_quota = -1

整数值

每个租户允许的默认资源数量。负值表示无限。

quota_driver = neutron.db.quota.driver_nolock.DbQuotaNoLockDriver

字符串值

用于配额检查的默认驱动程序。

quota_floatingip = 50

整数值

每个租户允许的浮动 IP 数量。负值表示无限。

quota_network = 100

整数值

每个租户允许的网络数。负值表示无限。

quota_port = 500

整数值

每个租户允许的端口数。负值表示无限。

quota_router = 10

整数值

每个租户允许的路由器数量。负值表示无限。

quota_security_group = 10

整数值

每个租户允许的安全组数。负值表示无限。

quota_security_group_rule = 100

整数值

每个租户允许的安全规则数量。负值表示无限。

quota_subnet = 100

整数值

每个租户允许的子网数,负值表示无限。

track_quota_usage = True

布尔值

在当前资源配额使用情况的数据库中进行跟踪。不利用 neutron 数据库的插件应将此标志设置为 False。

8.7.21. ssl

下表概述了 /etc/neutron/neutron.conf 文件中的 [ssl] 组下可用的选项。

Expand
表 8.43. ssl
配置选项 = 默认值类型Description

ca_file = None

字符串值

用于验证连接客户端的 CA 证书文件。

cert_file = None

字符串值

安全启动服务器时要使用的证书文件。

密码 = None

字符串值

设置可用密码列表。值应该是 OpenSSL 密码列表格式的字符串。

key_file = None

字符串值

安全启动服务器时使用的私钥文件。

version = None

字符串值

要使用的 SSL 版本(仅在启用了 SSL 时评估)。有效值为 TLSv1 和 SSLv23。SSLv2、SSLv3、TLSv1_1 和 TLSv1_2 可能在某些发行版中提供。

8.8. openvswitch_agent.ini

本节包含 /etc/neutron/plugins/ml2/openvswitch_agent.ini 文件的选项。

8.8.1. DEFAULT

下表概述了 /etc/neutron/plugins/ml2/openvswitch_agent.ini 文件中的 [DEFAULT] 组下可用的选项。

.

Expand
配置选项 = 默认值类型Description

debug = False

布尔值

如果设置为 true,则日志级别将设置为 DEBUG,而不是默认的 INFO 级别。

default_log_levels = ['amqp=WARN', 'amqplib=WARN', 'boto=WARN', 'qpid=WARN', 'sqlalchemy=WARN', 'suds=INFO', 'oslo.messaging=INFO', 'oslo_messaging=INFO', 'iso8601=WARN', 'requests.packages.urllib3.connectionpool=WARN', 'urllib3.connectionpool=WARN', 'websocket=WARN', 'requests.packages.urllib3.util.retry=WARN', 'urllib3.util.retry=WARN', 'keystonemiddleware=WARN', 'routes.middleware=WARN', 'stevedore=WARN', 'taskflow=WARN', 'keystoneauth=WARN', 'oslo.cache=INFO', 'oslo_policy=INFO', 'dogpile.core.dogpile=INFO']

列表值

以 logger=LEVEL 的形式列出软件包日志级别列表。如果设置了 log_config_append,则忽略此选项。

fatal_deprecations = False

布尔值

启用或禁用弃用的致命状态。

`instance_format = [instance: %(uuid)s] `

字符串值

通过日志消息传递的实例格式。

`instance_uuid_format = [instance: %(uuid)s] `

字符串值

通过日志消息传递的实例 UUID 的格式。

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_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

整数值

日志速率限制的时间间隔、秒数。

rpc_response_max_timeout = 600

整数值

从 RPC 调用等待响应的最长时间。

syslog-log-facility = LOG_USER

字符串值

syslog 工具可接收日志行。如果设置了 log_config_append,则忽略这个选项。

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,则忽略此选项。

watch-log-file = False

布尔值

使用旨在监视文件系统的日志记录处理程序。移动或移除日志文件时,此处理程序将立即打开具有指定路径的新日志文件。只有在指定了 log_file 选项并使用 Linux 平台时,才有意义。如果设置了 log_config_append,则忽略此选项。

8.8.2. agent

下表概述了 /etc/ neutron/plugins/ml2/openvswitch_agent.ini 文件中的 [agent ] 组下可用的选项。

Expand
表 8.44. agent
配置选项 = 默认值类型Description

arp_responder = False

布尔值

支持本地 ARP 响应器。需要 OVS 2.1 和 ML2 l2population 驱动。允许交换机(在支持覆盖时)在本地响应 ARP 请求,而无需对覆盖执行昂贵的 ARP 广播。注意:如果 enable_distributed_routing 设为 True,则代理中的 arp_responder 将自动设置为 True,无论配置文件中的设置是什么。

baremetal_smartnic = False

布尔值

启用代理处理智能 NIC 端口。

dont_fragment = True

布尔值

在传输 GRE/VXLAN 隧道的传出 IP 数据包上设置或取消设置不分段(DF)位。

drop_flows_on_start = False

布尔值

在启动时重置流程表。把它设置为 True 将会导致流量中断。

enable_distributed_routing = False

布尔值

使 l2 代理在 DVR 模式下运行。

explicitly_egress_direct = False

布尔值

当设置为 True 时,接受的出口单播流量不使用操作 NORMAL。可接受的出口数据包将在最终的出口表中处理,直接输出单播流量的直接输出流。

extensions = []

列表值

要使用的扩展列表

l2_population = False

布尔值

使用 ML2 l2population 机制驱动程序了解远程 MAC 和 IP,并改进隧道可扩展性。

minimize_polling = True

布尔值

通过监控 ovsdb 以进行接口更改来最小化轮询。

ovsdb_monitor_respawn_interval = 30

整数值

在丢失了与它的通信后,在重新生成 ovsdb monitor 前等待的秒数。

tunnel_csum = False

布尔值

在传输 GRE/VXLAN 隧道的传出 IP 数据包上设置或取消设置隧道的隧道标头校验和。

tunnel_types = []

列表值

代理支持的网络类型(gre、vx 和/或 geneve)。

veth_mtu = 9000

整数值

veth 接口的 MTU 大小

vxlan_udp_port = 4789

端口值

用于 VXLAN 隧道的 UDP 端口。

8.8.3. network_log

下表概述了 /etc/neutron/plugins/ml2/openvswitch_agent.ini 文件中的 [network_log] 组下可用的选项。

Expand
表 8.45. network_log
配置选项 = 默认值类型Description

burst_limit = 25

整数值

每个 rate_limit 的最大数据包数量。

local_output_log_base = None

字符串值

输出代理侧的 logfile 路径,默认 syslog 文件。

rate_limit = 100

整数值

每秒数据包日志记录数上限。

8.8.4. OVS

下表概述了 /etc/neutron/plugins/ml2/openvswitch_agent.ini 文件中的 [ovs] 组下可用的选项。

Expand
表 8.46. OVS
配置选项 = 默认值类型Description

bridge_mappings = []

列表值

以逗号分隔的 <physical_network>:<bridge> tuples 将物理网络名称映射到代理的特定 Open vSwitch 网桥名称,以用于扁平和 VLAN 网络。网桥名称的长度不应超过 11。每个网桥都必须存在,并且应将物理网络接口配置为端口。服务器上配置的所有物理网络应具有到每个代理上相应网桥的映射。注意:如果您从这个映射中删除网桥,请确保将其与集成网桥断开连接,因为它不再由代理管理。

datapath_type = system

字符串值

要使用的 OVS 数据路径。system 是默认值,对应于内核数据路径。若要启用用户空间数据路径,请将此值设置为 netdev

disable_packet_marking = False

布尔值

禁用启用 QoS 扩展时标记数据包。将 OVS 与硬件卸载搭配使用时,需要启用此选项,直到 skb_priority, sbk_mark 和输出队列字段受支持并可卸载。如果启用了这个选项,则 VirtIO 端口不会有速率 QoS 规则(带宽限制或最小带宽)。

int_peer_patch_port = patch-tun

字符串值

用于隧道网桥的集成网桥中的对等跳接端口。

integration_bridge = br-int

字符串值

要使用的集成网桥。不要更改此参数,除非有好理由:这是 OVS 集成网桥的名称。每个 hypervisor 都有一个。集成网桥充当虚拟 补丁 bay。所有 VM VIFs 都附加到此网桥,然后根据其网络连接 修补

local_ip = None

IP 地址值

本地覆盖(隧道)网络端点的 IP 地址。使用位于其中一个主机网络接口的 IPv4 或 IPv6 地址。这个值的 IP 版本必须与 neutron 服务器节点上的 ML2 插件配置文件中的 overlay_ip_version 选项值匹配。

of_connect_timeout = 300

整数值

等待本地交换机连接控制器的超时时间(以秒为单位)。

of_inactivity_probe = 10

整数值

local 交换机连接到控制器的 inactivity_probe 间隔(以秒为单位)。0 代表禁用不活跃探测。

of_listen_address = 127.0.0.1

IP 地址值

用于侦听 OpenFlow 连接的地址。

of_listen_port = 6633

端口值

用于侦听 OpenFlow 连接的端口。

of_request_timeout = 300

整数值

等待单个 OpenFlow 请求的超时(以秒为单位)。

ovsdb_connection = tcp:127.0.0.1:6640

字符串值

OVSDB 后端的连接字符串。监控时,将用于所有 ovsdb 命令和 ovsdb-client

ovsdb_debug = False

布尔值

启用 OVSDB 调试日志

resource_provider_bandwidths = []

列表值

以逗号分隔的 <bridge>:<egress_bw>:<ingress_bw> tuples 列表,以给定方向显示给定网桥的可用带宽。方向从虚拟机角度来看。带宽以每秒 kilobits (kbps)来衡量。网桥必须出现在 bridge_mappings 作为值。这里必须列出 bridge_mappings 中的所有网桥。对于此处未列出的网桥,我们都不会在放置中创建资源供应商,也不会报告清单。省略的方向意味着我们不会报告相应类的清单。

resource_provider_default_hypervisor = None

字符串值

用于查找资源提供程序父级的默认管理程序名称。如果没有设置这个选项,则使用规范名称

resource_provider_hypervisors = {}

dict 值

网桥映射到虚拟机监控程序:<bridge>:<hypervisor>,…​ hypervisor 名称用于定位资源供应商树的父名称。只有在 hypervisor 名称与 resource_provider_default_hypervisor 配置选项值不同时,只需要在个别情况下设置,nova-compute 管理该 hypervisor。

resource_provider_inventory_defaults = {'allocation_ratio': 1.0, 'min_unit': 1, 'reserved': 0, 'step_size': 1}

dict 值

key:value 对,用于指定报告资源提供程序清单时使用的默认值。可能的键及其类型:allocation_ratio:float, max_unit:int, min_unit:int, reserved:int, step_size:int, 另请参阅: https://docs.openstack.org/api-ref/placement/#update-resource-provider-inventories

ssl_ca_cert_file = None

字符串值

与 OVSDB 交互时使用的证书颁发机构(CA)证书。使用前缀为 ovsdb_connection 的 "ssl:" 时需要

ssl_cert_file = None

字符串值

与 OVSDB 交互时使用的 SSL 证书文件。使用前缀为 ovsdb_connection 的 "ssl:" 时需要

ssl_key_file = None

字符串值

与 OVSDB 交互时使用的 SSL 私钥文件。使用前缀为 ovsdb_connection 的 "ssl:" 时需要

tun_peer_patch_port = patch-int

字符串值

用于集成网桥的隧道网桥中的对等跳接端口。

tunnel_bridge = br-tun

字符串值

要使用的隧道网桥。

vhostuser_socket_dir = /var/run/openvswitch

字符串值

OVS vhost-user 套接字目录。

8.8.5. securitygroup

下表概述了 /etc/neutron/plugins/ml2/openvswitch_agent.ini 文件中的 [securitygroup] 组下可用的选项。

Expand
表 8.47. securitygroup
配置选项 = 默认值类型Description

enable_ipset = True

布尔值

使用 ipset 来加快基于 iptables 的安全组。启用 ipset 支持要求在 L2 代理节点上安装 ipset。

enable_security_group = True

布尔值

控制服务器中是否启用了 neutron 安全组 API。在不使用安全组或使用 nova 安全组 API 时,它应当为 false。

firewall_driver = None

字符串值

L2 代理中的安全组防火墙的驱动程序

permitted_ethertypes = []

列表值

允许以逗号分隔的 ethertypes 列表,以十六进制表示十六进制(从 "0x" 开始)。例如,"0x4008"以允许 InfiniBand。

8.9. sriov_agent.ini

本节包含 /etc/neutron/plugins/ml2/sriov_agent.ini 文件的选项。

8.9.1. DEFAULT

下表概述了 /etc/neutron/plugins/ml2/sriov_agent.ini 文件中的 [DEFAULT] 组下可用的选项。

.

Expand
配置选项 = 默认值类型Description

debug = False

布尔值

如果设置为 true,则日志级别将设置为 DEBUG,而不是默认的 INFO 级别。

default_log_levels = ['amqp=WARN', 'amqplib=WARN', 'boto=WARN', 'qpid=WARN', 'sqlalchemy=WARN', 'suds=INFO', 'oslo.messaging=INFO', 'oslo_messaging=INFO', 'iso8601=WARN', 'requests.packages.urllib3.connectionpool=WARN', 'urllib3.connectionpool=WARN', 'websocket=WARN', 'requests.packages.urllib3.util.retry=WARN', 'urllib3.util.retry=WARN', 'keystonemiddleware=WARN', 'routes.middleware=WARN', 'stevedore=WARN', 'taskflow=WARN', 'keystoneauth=WARN', 'oslo.cache=INFO', 'oslo_policy=INFO', 'dogpile.core.dogpile=INFO']

列表值

以 logger=LEVEL 的形式列出软件包日志级别列表。如果设置了 log_config_append,则忽略此选项。

fatal_deprecations = False

布尔值

启用或禁用弃用的致命状态。

`instance_format = [instance: %(uuid)s] `

字符串值

通过日志消息传递的实例格式。

`instance_uuid_format = [instance: %(uuid)s] `

字符串值

通过日志消息传递的实例 UUID 的格式。

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_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

整数值

日志速率限制的间隔、秒数。

rpc_response_max_timeout = 600

整数值

从 RPC 调用等待响应的最大秒数。

syslog-log-facility = LOG_USER

字符串值

syslog 工具接收日志行。如果设置了 log_config_append,则忽略此选项。

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,则忽略此选项。

watch-log-file = False

布尔值

使用旨在监视文件系统的日志记录处理程序。移动或移除日志文件时,此处理程序将立即打开具有指定路径的新日志文件。只有在指定了 log_file 选项并使用 Linux 平台时,才有意义。如果设置了 log_config_append,则忽略此选项。

8.9.2. agent

下表概述了 /etc/ neutron/plugins/ml2/sriov_agent.ini 文件中的 [agent ] 组下可用的选项。

Expand
表 8.48. agent
配置选项 = 默认值类型Description

extensions = []

列表值

要使用的扩展列表

8.9.3. sriov_nic

下表概述了 /etc/neutron/plugins/ml2/sriov_agent.ini 文件中的 [sriov_nic] 组下可用的选项。

Expand
表 8.49. sriov_nic
配置选项 = 默认值类型Description

exclude_devices = []

列表值

以逗号分隔的 <network_device>:<vfs_to_exclude> tuples 列表,将 network_device 映射到不应用于虚拟网络的、特定于节点的虚拟功能列表。vfs_to_exclude 是用分号分隔的虚拟功能列表,以便从 network_device 中排除。映射中的 network_device 应该会显示在 physical_device_mappings 列表中。

physical_device_mappings = []

列表值

以逗号分隔的 <physical_network>:<network_device> tuples 将物理网络名称映射到用于 VLAN 网络的特定于代理的 SR-IOV 物理功能的物理网络设备接口。服务器上 network_vlan_ranges 中列出的所有物理网络应具有到每个代理上相应接口的映射。

resource_provider_bandwidths = []

列表值

以逗号分隔的 <network_device>:<egress_bw> tuples 列表,在给定方向中显示给定设备的可用带宽。方向从虚拟机角度来看。带宽以每秒 kilobits (kbps)来衡量。该设备必须出现在 physical_device_mappings 作为值。这里不能列出 physical_device_mappings 中的所有设备。对于此处未列出的设备,我们不会在放置中创建资源供应商,也不会报告清单。省略的方向意味着我们不会报告相应类的清单。

resource_provider_default_hypervisor = None

字符串值

用于查找资源提供程序父级的默认管理程序名称。如果没有设置这个选项,则使用规范名称

resource_provider_hypervisors = {}

dict 值

网络设备映射到 hypervisor: <network_device>:<hypervisor>,…​ hypervisor name 用于找到资源供应商树的父名称。只有在 hypervisor 名称与 resource_provider_default_hypervisor 配置选项值不同时,只需要在个别情况下设置,nova-compute 管理该 hypervisor。

resource_provider_inventory_defaults = {'allocation_ratio': 1.0, 'min_unit': 1, 'reserved': 0, 'step_size': 1}

dict 值

key:value 对,用于指定报告资源提供程序清单时使用的默认值。可能的键及其类型:allocation_ratio:float, max_unit:int, min_unit:int, reserved:int, step_size:int, 另请参阅: https://docs.openstack.org/api-ref/placement/#update-resource-provider-inventories

第 9 章 nova

以下章节包含有关 nova 服务中的配置选项的信息。

9.1. nova.conf

本节包含 /etc/nova/nova.conf 文件的选项。

9.1.1. DEFAULT

下表概述了 /etc/nova/nova.conf 文件中的 [DEFAULT] 组下可用的选项。

.

Expand
配置选项 = 默认值类型Description

allow_resize_to_same_host = False

布尔值

允许目标机器与源进行调整大小。在单主机环境中测试时很有用。默认情况下,不允许调整到同一主机的大小。将此选项设置为 true 会将同一主机添加到目标选项中。如果允许 ServerGroupAffinityFilter 并需要调整大小,则也设置为 true。

arq_binding_timeout = 300

整数值

加速器请求(ARQ)绑定事件消息的超时。

等待 ARQ 绑定解析事件到达的秒数。事件表示实例的每个 ARQ 都已成功绑定或绑定失败。如果没有到达,则实例上线会中止,并显示异常。

backdoor_port = None

字符串值

启用 eventlet backdoor。可接受值为 0、<port> 和 <start>:<end>,其中 0 会导致侦听一个随机的 tcp 端口号;<port> 会导致侦听指定的端口号(如果该端口正在使用),并且 <start>:<end> 会导致在指定端口号范围内侦听最小未使用的端口号。所选端口显示在服务的日志文件中。

backdoor_socket = None

字符串值

启用 eventlet backdoor,使用提供的路径作为可接收连接的 unix 套接字。这个选项与 backdoor_port 相互排斥,其中只能提供一个。如果同时提供了这两个选项,则此选项存在会覆盖该选项的使用。在路径 {pid} 中,路径将被当前进程的 PID 替换。

block_device_allocate_retries = 60

整数值

在服务器创建过程中附加卷前,检查卷是否"可用"的次数。

使用块设备映射创建服务器时,source_type空白的imagesnapshot,而 destination_typenova-compute 服务将创建卷,然后将它附加到服务器。在卷可以被连接前,它必须处于"available"状态。这个选项控制在附加前检查所创建的卷为 "available" 的次数。

如果操作超时,如果块设备映射 delete_on_termination 值为 True,则卷将被删除。

建议您在块存储服务中配置镜像缓存,以加快此操作。详情请查看 https://docs.openstack.org/cinder/latest/admin/blockstorage-image-volume-cache.html

可能的值:

  • 60 (默认)
  • 如果值为 0,则进行一次尝试。
  • 对于任何值 > 0,总尝试为(value + 1)

相关选项:

  • block_device_allocate_retries_interval - 控制检查之间的间隔

block_device_allocate_retries_interval = 3

整数值

失败时块设备分配重试之间的间隔(以秒为单位)。

这个选项允许用户指定连续重试之间的时间间隔。block_device_allocate_retries 选项指定重试的最大数量。

可能的值:

  • 0 :禁用该选项。
  • 任何正整数(以秒为单位)都启用该选项。

相关选项:

  • block_device_allocate_retries - 控制重试次数

cert = self.pem

字符串值

SSL 证书文件的路径。

相关选项:

  • key
  • ssl_only
  • [console] ssl_ciphers
  • [console] ssl_minimum_version

compute_driver = None

字符串值

定义用来控制虚拟化的驱动程序。

可能的值:

  • libvirt.LibvirtDriver
  • fake.FakeDriver
  • ironic.IronicDriver
  • vmwareapi.VMwareVCDriver
  • hyperv.HyperVDriver
  • powervm.PowerVMDriver
  • zvm.ZVMDriver

compute_monitors = []

列出值

以逗号分隔的 monitor 列表,可用于获取计算指标。您可以对 nova.compute.monitors unset 命名空间使用 setuptools 入口点中的 alias/name。如果没有提供命名空间,则会假设 "cpu." 命名空间用于向后兼容。

注意

每个命名空间只能有一个 monitor (例如 cpu)一次可以加载。

可能的值:

  • 空列表将禁用该功能(默认)。
  • 启用 CPU 的示例

    使用 virt 驱动程序变体的带宽监控
    compute_monitors = cpu.virt_driver

config_drive_format = iso9660

字符串值

配置驱动器格式。

配置驱动器格式,其中包含在引导时附加到实例的元数据。

相关选项:

  • 当出现以下替代方案之一时,这个选项非常有意义:

    1. force_config_drive 选项设置为 true
    2. 创建实例的 REST API 调用包含配置驱动器选项的 enable 标记
    3. 用于创建实例的镜像需要配置驱动器,这由该镜像的 img_config_drive 属性定义。
  • 运行 Hyper-V hypervisor 的计算节点可以配置为将配置驱动器作为 CD 驱动器附加。要将配置驱动器作为 CD 驱动器附加,请将 [hyperv] config_drive_cdrom 选项设置为 true。

弃用自:19. 0.0

原因: 此选项最初添加为 libvirt v1.2.17 中错误的一个临时解决方案,它已在 libvirt v1.2.17 中解决。因此,这个选项不再是必需的或有用。

conn_pool_min_size = 2

整数值

连接过期策略的池大小限制

conn_pool_ttl = 1200

整数值

池中闲置连接的生存时间

console_host = <based on operating system>

字符串值

用于连接到此主机上实例的控制台代理主机。它是控制台主机的公开可见名称。

可能的值:

  • 当前主机名(默认)或代表主机名的任何字符串。

control_exchange = nova

字符串值

主题范围的默认交换。可以被 transport_url 选项中指定的交换名称覆盖。

cpu_allocation_ratio = None

浮点值

虚拟 CPU 和物理 CPU 分配比率。

此选项用于配置 VCPU 清单的分配比率,从而影响放置 API 所选择的主机。

  1. note::

    This option does not affect `PCPU` inventory, which cannot be
    overcommitted.
  2. note::

    If this option is set to something *other than* `None` or `0.0`, the
    allocation ratio will be overwritten by the value of this option, otherwise,
    the allocation ratio will not change. Once set to a non-default value, it is
    not possible to "unset" the config to get back to the default behavior. If
    you want to reset back to the initial value, explicitly specify it to the
    value of `initial_cpu_allocation_ratio`.

可能的值:

  • 任何有效的正整数或浮点值

相关选项:

  • initial_cpu_allocation_ratio

daemon = False

布尔值

作为后台进程运行。

debug = False

布尔值

如果设置为 true,则日志级别将设为 DEBUG,而不是默认的 INFO 级别。

default_access_ip_network_name = None

字符串值

用于为实例设置访问 IP 的网络名称。如果有多个 IP 可供选择,则将选择一个任意 IP。

可能的值:

  • none (默认)
  • 代表网络名称的任何字符串。

default_availability_zone = nova

字符串值

计算服务的默认可用区。

此选项决定 nova-compute 服务的默认可用性区域,如果服务不属于与可用性区域元数据聚合,则将使用它。

可能的值:

  • 代表现有可用区名称的任何字符串。

default_ephemeral_format = None

字符串值

默认格式是 ephemeral_volume 的创建时被格式化。

可能的值:

  • ext2
  • ext3
  • ext4
  • xfs
  • NTFS (仅适用于 Windows 客户机)

default_log_levels = ['amqp=WARN', 'amqplib=WARN', 'boto=WARN', 'qpid=WARN', 'sqlalchemy=WARN', 'suds=INFO', 'oslo.messaging=INFO', 'oslo_messaging=INFO', 'iso8601=WARN', 'requests.packages.urllib3.connectionpool=WARN', 'urllib3.connectionpool=WARN', 'websocket=WARN', 'requests.packages.urllib3.util.retry=WARN', 'urllib3.util.retry=WARN', 'keystonemiddleware=WARN', 'routes.middleware=WARN', 'stevedore=WARN', 'taskflow=WARN', 'keystoneauth=WARN', 'oslo.cache=INFO', 'oslo_policy=INFO', 'dogpile.core.dogpile=INFO', 'glanceclient=WARN', 'oslo.privsep.daemon=INFO']

列出值

以 logger=LEVEL 的形式列出软件包日志级别列表。如果设置了 log_config_append,则忽略这个选项。

default_schedule_zone = None

字符串值

实例的默认可用区。

此选项决定了实例的默认可用性区域,当用户在创建实例时不指定域时,将使用该选项。实例将绑定到其生命周期的可用区。

可能的值:

  • 代表现有可用区名称的任何字符串。
  • none,这意味着如果实例从一个计算节点移动到另一个计算节点,可以在其生命周期内从一个可用区移到另一个可用区。

相关选项:

  • [cinder]/cross_az_attach

disk_allocation_ratio = None

浮点值

虚拟磁盘与物理磁盘分配比率。

此选项用于配置 DISK_GB 清单的分配比率,以影响放置 API 选择的主机。

配置后,如果比率大于 1.0,将会导致超额订阅可用物理磁盘。这在使用一个没有使用整个虚拟磁盘的镜像创建实例时更高效地打包实例(如稀疏或压缩镜像)。它可以设置为 0.0 和 1.0 之间的值,以便保留磁盘百分比,以便在实例以外的使用。

  1. note::

    If the value is set to `>1`, we recommend keeping track of the free disk
    space, as the value approaching `0` may result in the incorrect
    functioning of instances using it at the moment.
  2. note::

    If this option is set to something *other than* `None` or `0.0`, the
    allocation ratio will be overwritten by the value of this option, otherwise,
    the allocation ratio will not change. Once set to a non-default value, it is
    not possible to "unset" the config to get back to the default behavior. If
    you want to reset back to the initial value, explicitly specify it to the
    value of `initial_disk_allocation_ratio`.

可能的值:

  • 任何有效的正整数或浮点值

相关选项:

  • initial_disk_allocation_ratio

enable_new_services = True

布尔值

在此主机上自动启用新的 nova-compute 服务。

当一个新的 nova-compute 服务启动时,它将作为已启用的服务在数据库中注册。有时,注册新的计算服务处于 disabled 状态时很有用,然后在稍后启用。此选项仅为 nova-compute 服务设置此行为,它不会自动禁用 nova-conductor、nova-scheduler 或 nova-osapi_compute 等其他服务。

可能的值:

  • 正确 :在注册后,每个新的计算服务都会立即启用。
  • 错误 : Compute 服务必须通过 os-services REST API 调用或使用 nova service-enable <hostname> <binary&gt; 的 CLI 启用,否则它们未就绪。

enabled_apis = ['osapi_compute', 'metadata']

列出值

默认情况下要启用的 API 列表。

enabled_ssl_apis = []

列出值

启用 SSL 的 API 列表。

Nova 为 API 服务器提供 SSL 支持。enabled_ssl_apis 选项允许配置 SSL 支持。

executor_thread_pool_size = 64

整数值

当 executor 为 threading 或 eventle 时,executor 线程池的大小。

fatal_deprecations = False

布尔值

启用或禁用弃用的严重状态。

flat_injected = False

布尔值

这个选项决定是否在引导前将网络设置信息注入虚拟机。虽然它最初只设计为由 nova-network 使用,但 vmware virt 驱动程序也使用它来控制是否将网络信息注入虚拟机。当我们使用 config_drive 配置网络来控制是否将网络信息注入虚拟机时,libvirt virt 驱动程序也会使用它。

force_config_drive = False

布尔值

强制注入在配置驱动器中进行

当默认将此选项设置为 true 配置驱动器功能时,用户仍然可以通过 REST API 或镜像元数据属性启用配置驱动器。启动的实例不受此选项的影响。

可能的值:

  • true :无论 REST API 调用中的用户输入如何,强制使用配置驱动器。
  • false :不强制使用配置驱动器。配置驱动器仍可通过 REST API 或镜像元数据属性启用。

相关选项:

  • 使用 mkisofs_cmd 标志来设置安装 genisoimage 程序的路径。如果 genisoimage 与 nova-compute 服务位于同一个路径中,则不需要设置此标志。
  • 要使用 Hyper-V 的配置驱动器,您必须将 mkisofs_cmd 值设置为 mkisofs.exe 安装的完整路径。另外,您必须将 hyperv 配置部分中的 qemu_img_cmd 值设置为 qemu-img 命令安装的完整路径。

force_raw_images = True

布尔值

强制将后备镜像转换为原始格式。

可能的值:

  • true :备份镜像文件将转换为原始镜像格式
  • false :不会转换备份镜像文件

相关选项:

  • compute_driver :只有 libvirt 驱动程序使用这个选项。
  • [libvirt]/images_type: 如果 images_type 是 rbd,则不允许将此选项设置为 False。详情请查看 https://bugs.launchpad.net/nova/+bug/1816686 错误。

graceful_shutdown_timeout = 60

整数值

指定一个超时,之后安全关闭服务器将退出。零值表示无限等待。

heal_instance_info_cache_interval = 60

整数值

实例网络信息缓存更新之间的间隔。

各个计算节点运行任务之后的秒数,以查询 Neutron 以获取其所有实例网络信息,然后使用该信息更新 Nova db。如果此选项设置为 0,则 Nova 不会更新它。如果不更新缓存,元数据服务和 nova-api 端点将代理有关实例的网络数据。因此,不建议将此选项设置为 0。

可能的值:

  • 任何正整数(以秒为单位)。
  • 任何值 HEKETI0 将禁用同步。不建议这样做。

host = <based on operating system>

字符串值

此主机的主机名、FQDN 或 IP 地址。

用作:

  • nova-compute worker 的 oslo.messaging 队列名称
  • 我们把这个值用于发送到 neutron 的 binding_host。这意味着,如果您使用 neutron 代理,它应该具有相同的值。
  • Cinder 主机附加信息

必须在 AMQP 键内有效。

可能的值:

  • 带有主机名、FQDN 或 IP 地址的字符串。默认为此主机的主机名。

initial_cpu_allocation_ratio = 16.0

浮点值

初始虚拟 CPU 与物理 CPU 分配比率。

这仅在最初为给定 nova-compute 服务创建 computes_nodes 表记录时使用。

如需了解更多详细信息和使用场景,请参阅 https://docs.openstack.org/nova/latest/admin/configuration/schedulers.html

相关选项:

  • cpu_allocation_ratio

initial_disk_allocation_ratio = 1.0

浮点值

初始虚拟磁盘与物理磁盘分配比率。

这仅在最初为给定 nova-compute 服务创建 computes_nodes 表记录时使用。

如需了解更多详细信息和使用场景,请参阅 https://docs.openstack.org/nova/latest/admin/configuration/schedulers.html

相关选项:

  • disk_allocation_ratio

initial_ram_allocation_ratio = 1.5

浮点值

初始虚拟内存和物理 RAM 分配比率。

这仅在最初为给定 nova-compute 服务创建 computes_nodes 表记录时使用。

如需了解更多详细信息和使用场景,请参阅 https://docs.openstack.org/nova/latest/admin/configuration/schedulers.html

相关选项:

  • ram_allocation_ratio

injected_network_template = $pybasedir/nova/virt/interfaces.template

字符串值

/etc/network/interfaces 模板的路径。

/etc/network/interfaces-style 文件的路径,它将由 nova 填充,然后由 cloudinit 使用。这提供了一种在没有 DHCP 服务器的环境中配置网络连接的方法。

模板将使用 Jinja2 模板引擎渲染,并接收名为 interfaces 的顶级密钥。此键将包含一个字典列表,每个接口对应一个。

如需更多信息,请参阅 cloudinit 文档:

https://cloudinit.readthedocs.io/en/latest/topics/datasources.html

可能的值:

  • 到 Debian /etc/network/interfaces 文件的 Jinja2 格式模板的路径。即使使用非 Debian 派生的客户机也是如此。

相关选项:

  • flat_inject :这必须设置为 True,以确保 nova 将网络配置信息嵌入到通过配置驱动器提供的元数据中。

instance_build_timeout = 0

整数值

实例构建可能需要的最长时间(以秒为单位)。

如果这个计时器过期,实例状态将更改为 ERROR。启用此选项将确保实例在较长时间内不会处于 BUILD 状态。

可能的值:

  • 0 :禁用该选项(默认)
  • 任何正整数(以秒为单位):启用该选项。

instance_delete_interval = 300

整数值

重试失败的实例文件删除的时间间隔。

此选项取决于 maximum_instance_delete_attempts。此选项指定重试删除的频率,而 maximum_instance_delete_attempts 指定可以进行的重试尝试的最大数量。

可能的值:

  • 0 :将以默认的定期间隔运行。
  • 任何值 < 0:禁用该选项。
  • 任何正整数(以秒为单位)。

相关选项:

  • 来自 instance_cleaning_opts 组中的 maximum_instance_delete_attempts

`instance_format = [instance: %(uuid)s] `

字符串值

通过日志消息传递的实例格式。

instance_name_template = instance-%08x

字符串值

用于生成实例名称的模板字符串。

此模板控制实例的数据库名称的创建。创建实例时,这不是 您输入的显示名称(通过 Horizon 或 CLI)。对于新部署,建议将默认值(使用数据库自动递增)更改为另一个值,它使用实例的属性,如 instance-%(uuid) s。如果您在更改它时已在部署中有实例,您的部署将中断。

可能的值:

  • 使用实例数据库 ID (如默认值)的字符串。
  • 包含命名数据库列的列表的字符串,如 %(id) d%(uuid) s%(hostname)

instance_usage_audit = False

布尔值

此选项启用定期的 compute.instance.exists 通知。必须配置每个计算节点来生成系统使用量数据。这些通知由 OpenStack Telemetry 服务使用。

instance_usage_audit_period = month

字符串值

生成实例使用的时间周期。通过附加 @ 字符后跟数字定义偏移,可以定义指定周期的可选偏移量。

可能的值:

  • 周期,例如: 小时月份
  • 带有偏移的句点,例如: month@15 将会导致每月审计从每月 15 天开始。

`instance_uuid_format = [instance: %(uuid)s] `

字符串值

通过日志消息传递的实例 UUID 格式。

instances_path = $state_path/instances

字符串值

指定实例存储在虚拟机监控程序磁盘上的位置。它可以指向本地连接的存储或 NFS 上的目录。

可能的值:

  • $state_path/instances,其中 state_path 是一个配置选项,用于指定维护 nova 状态的顶级目录。(默认)或代表目录路径的任何字符串。

相关选项:

  • [workarounds]/ensure_libvirt_rbd_instance_dir_cleanup

internal_service_availability_zone = internal

字符串值

内部服务的可用区。

此选项决定了各种内部 nova 服务的可用性区域,如 nova-schedulernova-conductor 等。

可能的值:

  • 代表现有可用区名称的任何字符串。

key = None

字符串值

SSL 密钥文件(如果与证书分开)。

相关选项:

  • cert

live_migration_retry_count = 30

整数值

live_migration 中最多 1 秒重试次数。它指定在 iptables 投诉时的重试次数。当用户持续将实时迁移请求发送到同一主机时,会发生这种情况,从而将并发请求发送到 iptables。

可能的值:

  • 任何代表重试数的正整数。

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_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 [%(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 使用

long_rpc_timeout = 1800

整数值

这个选项允许为可能需要很长时间的 RPC 调用设置备用超时值。如果设置,对其他服务的 RPC 调用将此值用于超时(以秒为单位),而不是全局 rpc_response_timeout 值。

使用利用这个值的 RPC 调用操作:

  • 实时迁移
  • 调度
  • 启用/禁用计算服务
  • 镜像预缓存
  • 基于快照的/跨取消调整大小
  • 调整/冷迁移大小
  • 卷附加

相关选项:

  • rpc_response_timeout

max_concurrent_builds = 10

整数值

限制 nova-compute 同时运行的最大实例构建数量。如果要求这样做,计算服务可以尝试构建无限数量的实例。实施此限制,以避免在计算节点上同时构建无限实例。此值可以为每个计算节点设置。

可能的值:

  • 0 : 被视为无限。
  • 任何代表并发构建的最大正整数。

max_concurrent_live_migrations = 1

整数值

并发运行的最大实时迁移数量。这个限制是强制的,以避免出站实时迁移导致主机/网络造成问题。不建议您更改此设置,除非您确定环境中这样做是安全且稳定的。

可能的值:

  • 0 : 被视为无限。
  • 任何正整数,代表并发运行的最大实时迁移数。

max_concurrent_snapshots = 5

整数值

同时运行的最大实例快照操作数。实施此限制以防止阻止主机/网络/存储造成故障的快照。此值可以为每个计算节点设置。

可能的值:

  • 0 : 被视为无限。
  • 任何正整数,代表最大并发快照。

max_local_block_devices = 3

整数值

在虚拟机监控程序节点上创建本地镜像的最大设备数。

负数表示无限。将 max_local_block_devices 设置为 0 表示尝试创建本地磁盘的任何请求都将失败。这个选项旨在限制本地磁盘的数量(因此,root 本地磁盘是创建服务器时使用的 imageRef 的结果,以及任何其他临时磁盘和交换磁盘)。0 不意味着镜像将自动转换为卷并从卷引导实例,只是意味着尝试创建本地磁盘的所有请求都将失败。

可能的值:

  • 0:不允许创建本地磁盘。
  • 负数 :允许无限次本地磁盘。
  • 正数 :只允许这些数量的本地磁盘。

max_logfile_count = 30

整数值

轮转日志文件的最大数量。

max_logfile_size_mb = 200

整数值

日志文件最大大小(以 MB 为单位)。如果 "log_rotation_type" 没有设置为 "size",则忽略这个选项。

maximum_instance_delete_attempts = 5

整数值

尝试获取实例文件的次数。

这个选项指定可以进行的重试尝试的最大数量。

可能的值:

  • 任何正整数都定义了要进行多少尝试。

相关选项:

  • [DEFAULT] instance_delete_interval 可用于禁用这个选项。

metadata_listen = 0.0.0.0

字符串值

元数据 API 将侦听的 IP 地址。

元数据 API 服务侦听传入请求的此 IP 地址。

metadata_listen_port = 8775

端口值

元数据 API 将侦听的端口。

元数据 API 服务侦听传入请求的此端口号。

metadata_workers = <based on operating system>

整数值

元数据服务的 worker 数量。如果没有指定可用 CPU 的数量,则会使用。

元数据服务可以配置为作为多进程(workers)运行。这解决了在 API 请求并发增加时降低吞吐量的问题。元数据服务将在指定的进程数中运行。

可能的值:

  • 任何正整数
  • none (默认值)

migrate_max_retries = -1

整数值

失败前重试实时迁移的次数。

可能的值:

  • if == -1,尝试直到主机不足(默认)
  • 如果 == 0,则只尝试一次,则不会重试
  • 大于 0 的整数

mkisofs_cmd = genisoimage

字符串值

用于 ISO 镜像创建的工具名称或路径。

使用 mkisofs_cmd 标志来设置安装 genisoimage 程序的路径。如果 genisoimage 位于系统路径中,则不需要更改默认值。

要使用 Hyper-V 的配置驱动器,您必须将 mkisofs_cmd 值设置为 mkisofs.exe 安装的完整路径。另外,您必须将 hyperv 配置部分中的 qemu_img_cmd 值设置为 qemu-img 命令安装的完整路径。

可能的值:

  • ISO 镜像创建器程序的名称,如果它与 nova-compute 服务位于同一个目录中
  • ISO 镜像创建程序的路径

相关选项:

  • 启用配置驱动器时这个选项非常有意义。
  • 要将配置驱动器与 Hyper-V 搭配使用,您必须将 hyperv 配置部分中的 qemu_img_cmd 值设置为 qemu-img 命令安装的完整路径。

my_block_storage_ip = $my_ip

字符串值

用于连接到块存储网络的 IP 地址。

可能的值:

  • 具有有效 IP 地址的字符串。默认为此主机的 IP 地址。

相关选项:

  • my_ip - 如果没有设置 my_block_storage_ip,则使用 my_ip 值。

my_ip = <based on operating system>

字符串值

主机用于连接管理网络的 IP 地址。

可能的值:

  • 具有有效 IP 地址的字符串。默认为此主机的 IPv4 地址。

相关选项:

  • my_block_storage_ip

network_allocate_retries = 0

整数值

重试网络分配的次数。如果虚拟接口插件失败,需要尝试网络分配重试。

可能的值:

  • 任何代表重试数的正整数。

non_inheritable_image_properties = ['cache_in_nova', 'bittorrent']

列出值

在拍摄快照时不应从实例继承的镜像属性。

这个选项为您提供了选择新创建快照不应继承哪些 image-properties 的机会。

  1. note::

    The following image properties are *never* inherited regardless of
    whether they are listed in this configuration option or not:
    • cinder_encryption_key_id
    • cinder_encryption_key_deletion_policy
    • img_signature
    • img_signature_hash_method
    • img_signature_key_type
    • img_signature_certificate_uuid

可能的值:

  • 以逗号分隔的列表,其项是 image 属性。通常只能包含仅由基础镜像所需的镜像属性,因为从基础镜像创建的快照不需要它们。
  • 默认列表: cache_in_nova, bittorrent

osapi_compute_listen = 0.0.0.0

字符串值

OpenStack API 将侦听的 IP 地址。

OpenStack API 服务侦听此 IP 地址以获取传入请求。

osapi_compute_listen_port = 8774

端口值

OpenStack API 将侦听的端口。

OpenStack API 服务侦听传入请求的此端口号。

`osapi_compute_unique_server_name_scope = `

字符串值

设置检查唯一实例名称的范围。

默认不会检查唯一名称。如果设置了名称检查的范围,则启动新实例或带有重复名称的现有实例的更新会导致 'InstanceExists' 错误。唯一性是不区分大小写的。设置此选项可以提高最终用户的可用性,因为它们不必区分名称相同的实例。

osapi_compute_workers = None

整数值

OpenStack API 服务的 worker 数量。默认值为可用的 CPU 数量。

OpenStack API 服务可以配置为作为多进程(workers)运行。这解决了 API 请求并发增加时吞吐量减少的问题。OpenStack API 服务将在指定数量的进程中运行。

可能的值:

  • 任何正整数
  • none (默认值)

password_length = 12

整数值

生成的实例管理员密码的长度。

periodic_enable = True

布尔值

启用定期任务。

如果设置为 true,这个选项允许服务定期在管理器上运行任务。

如果运行多个调度程序或编排器,您可能需要只在一个主机上运行定期任务 - 在这种情况下,为所有主机禁用这个选项,但其中一个。

periodic_fuzzy_delay = 60

整数值

启动定期任务调度程序时随机延迟的秒数,以减少时间戳。

当计算 worker 在集群中 unison 重启时,它们最终最终会同时运行定期任务,从而导致外部服务出现问题。要缓解此行为,periodic_fuzzy_delay 选项允许您在启动定期任务调度程序时引入随机初始延迟。

可能的值:

  • 任何正整数(以秒为单位)
  • 0 :禁用随机延迟

pointer_model = usbtablet

字符串值

用于指定指针类型的通用属性。

输入设备允许与图形帧缓冲的交互。例如,为绝对光标移动提供图形表。

如果设置,则 hw_input_bushw_pointer_model 镜像元数据属性优先于这个配置选项。

相关选项:

  • usbtablet 必须在启用 VNC 的情况下配置,也可以启用 SPICE 代理并禁用 SPICE 代理。与 libvirt 一起使用时,实例模式应配置为 HVM。

preallocate_images = none

字符串值

要使用的镜像预分配模式。

镜像预分配允许在实例初始置备时预先分配实例镜像的存储。这样可确保如果没有足够的空间,则立即提供反馈。另外,它应该显著提高新块写入的性能,甚至可能会提高 I/O 性能,因为碎片减少。

publish_errors = False

布尔值

启用或禁用错误事件的发布。

pybasedir = /usr/lib/python3.9/site-packages

字符串值

安装了 Nova python 模块的目录。

此目录用于存储网络和远程控制台访问的模板文件。它还是其他需要保留 Nova 内部数据的其他配置选项的默认路径。不太可能您需要更改这个选项的默认值。

可能的值:

  • 到目录的完整路径。

相关选项:

  • state_path

ram_allocation_ratio = None

浮点值

虚拟 RAM 与物理 RAM 分配比率。

此选项用于配置 MEMORY_MB 清单的分配比率,以影响放置 API 选择的主机。

  1. note::

    If this option is set to something *other than* `None` or `0.0`, the
    allocation ratio will be overwritten by the value of this option, otherwise,
    the allocation ratio will not change. Once set to a non-default value, it is
    not possible to "unset" the config to get back to the default behavior. If
    you want to reset back to the initial value, explicitly specify it to the
    value of `initial_ram_allocation_ratio`.

可能的值:

  • 任何有效的正整数或浮点值

相关选项:

  • initial_ram_allocation_ratio

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

整数值

日志速率限制的时间间隔、秒数。

reboot_timeout = 0

整数值

硬重启实例的时间间隔。

当进行软重启时,客户机内核可能会完全挂起,从而导致软重启任务无法完成。如果将这个选项设置为一个时间段(以秒为单位),如果它一直处于重新引导状态超过 N 秒,则会自动重启实例。

可能的值:

  • 0 :禁用该选项(默认)。
  • 任何正整数(以秒为单位):启用该选项。

reclaim_instance_interval = 0

整数值

重新声明已删除实例的间隔。

大于 0 的值将启用 SOFT_DELETE 实例。这个选项决定是否要删除的服务器是否会被置于 SOFT_DELETED 状态。如果这个值大于 0,则删除的服务器不会立即删除,而是会被放入队列,直到它太旧(删除的时间大于 reclaim_instance_interval 的值)。可以使用 restore 操作从删除队列恢复服务器。如果删除的服务器保持超过 reclaim_instance_interval 的值,它将由计算服务中的定期任务自动删除。

请注意,此选项从 API 和计算节点读取,并且必须全局设置,否则服务器可以在 API 中放入软删除状态,并且实际上永远不会在计算节点上回收(删除)。

  1. 注:当使用此选项时,您还应配置 [cinder] auth 选项,如 auth_typeauth_url用户名 等等。由于重新声明发生在定期任务中,因此没有用户令牌来清理附加到任何 SOFT_DELETED 服务器的卷,因此 nova 必须通过管理员角色访问权限来清理 Cinder 中的这些资源。

可能的值:

  • 任何大于 0 的正整数(以秒为单位)将启用这个选项。
  • 任何值 HEKETI0 将禁用该选项。

相关选项:

  • [Cinder] 身份验证选项,用于在重新声明过程中清理附加到服务器的卷

record = None

字符串值

用于存储此主机上运行的代理服务(如 VNC、spice、serial)接收和发送的 websocket 帧的文件名。如果没有设置,则不会进行任何记录。

report_interval = 10

整数值

指示给定虚拟机监控程序上服务状态报告的秒数。Nova 需要知道这一点,以确定部署的整体健康状况。

相关选项:

  • service_down_time report_interval 应该小于 service_down_time。如果 service_down_time 小于 report_interval,则服务将定期考虑,因为它们很少报告。

rescue_timeout = 0

整数值

取消删除实例在 RESCUE 中卡住的间隔。

可能的值:

  • 0 :禁用该选项(默认)
  • 任何正整数(以秒为单位):启用该选项。

reserved_host_cpus = 0

整数值

为主机进程保留的主机 CPU 数量。

主机资源使用情况报告给调度程序,持续来自计算节点上运行的 nova-compute。这个值用于决定向放置报告的 保留 值。

如果定义了 [compute] cpu_shared_set[compute] cpu_dedicated_set 配置选项,则无法设置这个选项。定义这些选项时,未包含在这些值中的任何主机 CPU 都将被视为主机保留。

可能的值:

  • 任何代表要为主机保留的物理 CPU 数量的正整数。

相关选项:

  • [compute] cpu_shared_set
  • [compute] cpu_dedicated_set

reserved_host_disk_mb = 0

整数值

以 MB 为单位的磁盘资源量,使它们始终可用于主机。磁盘用量报告的信息来自计算节点上运行的 nova-compute 的调度程序。为防止磁盘资源被视为可用,可使用此选项为该主机保留磁盘空间。

可能的值:

  • 任何代表要为主机保留的磁盘的正整数。

reserved_host_memory_mb = 512

整数值

为主机保留的内存量(以 MB 为单位),以便主机进程始终可用。主机资源使用情况报告给调度程序,持续来自计算节点上运行的 nova-compute。为防止主机内存被视为可用,此选项用于为主机保留内存。

可能的值:

  • 任何代表要为主机保留的内存量的正整数。

reserved_huge_pages = None

字典值

每个 NUMA 主机单元保留的巨页数量。

可能的值:

  • 有效的 key=value 列表,它反映 NUMA 节点 ID、页大小

    (默认单位为 KiB)和要保留的页数。例如:

    reserved_huge_pages = node:0,size:2048,count:64 reserved_huge_pages = node:1,size:1GB,count:1

    In this example we are reserving on NUMA node 0 64 pages of 2MiB
    and on NUMA node 1 1 page of 1GiB.

resize_confirm_window = 0

整数值

N 秒后自动确认调整大小。

调整大小的功能将在调整大小前保存现有服务器。调整大小完成后,会请求用户来确认调整大小。用户有机会确认或恢复所有更改。确认调整大小将删除原始服务器,并将服务器状态从调整大小调整为 active。将此选项设置为时间段(以秒为单位)将在服务器处于调整大小的时间超过该时间时自动确认调整大小。

可能的值:

  • 0 :禁用该选项(默认)
  • 任何正整数(以秒为单位):启用该选项。

resize_fs_using_block_device = False

布尔值

通过块设备启用调整文件系统的大小。

如果启用,请通过通过块设备访问镜像来尝试调整文件系统的大小。这由主机完成,如果镜像包含最新版本的 cloud-init,可能不需要这样做。可能的机制需要 nbd 驱动程序(用于 qcow 和 raw)或 loop (用于 raw)。

resume_guests_state_on_host_boot = False

布尔值

此选项指定是否在主机重启前启动正在运行的客户机。它确保 Nova 计算节点上的所有实例在每次计算节点引导时都恢复其状态。

rootwrap_config = /etc/nova/rootwrap.conf

字符串值

rootwrap 配置文件的路径。

根打包程序的目标是允许特定服务的非特权用户以最安全的方式以 root 用户身份运行多个操作。此处使用的配置文件必须与 sudoers 条目中定义的配置文件匹配。

rpc_conn_pool_size = 30

整数值

RPC 连接池的大小。

rpc_ping_enabled = False

布尔值

添加端点以回答 ping 调用。端点名为 oslo_rpc_server_ping

rpc_response_timeout = 60

整数值

等待来自调用的响应的秒数。

run_external_periodic_tasks = True

布尔值

某些定期任务可以在单独的进程中运行。我们是否应该在此处运行?

running_deleted_instance_action = reap

字符串值

计算服务定期检查数据库中删除的实例,但仍然在计算节点上运行。以上选项允许在识别此类实例时采取操作。

相关选项:

  • running_deleted_instance_poll_interval
  • running_deleted_instance_timeout

running_deleted_instance_poll_interval = 1800

整数值

清理操作之间等待的时间间隔(以秒为单位)。如果设置为 0,则禁用以上检查。如果 "running_deleted_instance _action" 设置为 "log" 或 "reap",则必须设置大于 0 的值。

可能的值:

  • 任何正整数(以秒为单位)都启用该选项。
  • 0 :禁用该选项。
  • 1800: 默认值。

相关选项:

  • running_deleted_instance_action

running_deleted_instance_timeout = 0

整数值

等待在数据库中标记为已删除的实例的时间间隔(以秒为单位)有资格清理。

可能的值:

  • 任何正整数(以秒为单位为 0)。

相关选项:

  • "running_deleted_instance_action"

scheduler_instance_sync_interval = 120

整数值

发送调度程序列表之间的间隔,以验证其实例的视图是否与 nova 同步。

如果 CONF 选项 scheduler_tracks_instance_changes 为 False,则不会进行同步调用。因此,更改这个选项将无效。

如果不同步情况不常见,则可以增加此间隔,以减少要发送的 RPC 消息数量。同样,如果同步问题导致问题,可以降低间隔以更频繁地检查。

可能的值:

  • 0 :将以默认的定期间隔运行。
  • 任何值 < 0:禁用该选项。
  • 任何正整数(以秒为单位)。

相关选项:

  • 如果将 scheduler_tracks_instance_changes 设为 False,则此选项不会影响。

service_down_time = 60

整数值

自上次检查服务以来的最大时间(以秒为单位)

每个计算节点根据指定的报告间隔定期更新其数据库状态。如果计算节点没有更新 service_down_time 的状态,则计算节点被视为 down。

相关选项:

  • report_interval (service_down_time 不应小于 report_interval)

servicegroup_driver = db

字符串值

此选项指定用于 servicegroup 服务的驱动程序。

nova 中的 ServiceGroup API 启用检查计算节点的状态。当计算工作程序运行 nova-compute 守护进程启动时,它会调用 join API 来加入计算组。nova 调度程序等服务可以查询 ServiceGroup API 来检查节点是否处于活动状态。在内部,ServiceGroup 客户端驱动程序会自动更新计算 worker 状态。此服务有多个后端实现:database ServiceGroup 驱动程序和 Memcache ServiceGroup 驱动程序。

相关选项:

  • service_down_time (自上次检查服务以来的最长时间)

shelved_offload_time = 0

整数值

半情况下,需要经过的时间才能从主机移除实例。

默认情况下,此选项设置为 0,在 shelve 操作后立即从 hypervisor 中删除实例。否则,实例将保留以 shelved_offload_time (以秒为单位)的值,以便在未shelve 操作期间发生,然后定期任务将在 shelved_offload_time 通过后从 hypervisor 中删除实例。

可能的值:

  • 0: 实例将立即卸载。
  • 任何值 < 0: 实例永远不会卸载。
  • 任何正整数(以秒为单位):实例将在卸载前指定的秒数。

shelved_poll_interval = 3600

整数值

轮询 shelved 实例卸载的时间间隔。

定期任务会针对每个 shelved_poll_interval 的秒数运行,并检查是否有任何 shelved 实例。如果它找到 shelved 实例,它基于 shelved_offload_time 配置值,它会卸载 shelved 实例。检查 shelved_offload_time 配置选项描述以了解详细信息。

可能的值:

  • 任何值 swig 0:禁用该选项。
  • 任何正整数(以秒为单位)。

相关选项:

  • shelved_offload_time

shutdown_timeout = 60

整数值

实例执行干净的关闭总时间(以秒为单位)。

它决定了虚拟机允许执行干净的关闭的整体周期(以秒为单位)。在执行 stop、rescue 和 shelve 时,重建操作可让虚拟机在实例关闭前执行受控的关闭。默认超时为 60 秒。值 0 (零)表示客户机将立即关闭,而不会对客户机操作系统进行清理。

超时值可以逐个镜像覆盖,使用 os_shutdown_timeout 是一个镜像元数据设置,允许不同类型的操作系统指定完全关闭所需的时间。

可能的值:

  • 一个正整数或 0 (默认值为 60)。

source_is_ipv6 = False

布尔值

如果使用 IPv6 解决了源主机,则设置为 True。

ssl_only = False

布尔值

不允许未加密的连接。

相关选项:

  • cert
  • key

state_path = $pybasedir

字符串值

维护 Nova 状态的顶级目录。

此目录用于存储 Nova 的内部状态。它被各种从中获取的其他配置选项使用。在某些情况下(如迁移)使用在多个计算主机(例如通过 NFS)之间共享的存储位置。除非 option instances_path 被覆盖,否则此目录可能会非常大。

可能的值:

  • 到目录的完整路径。默认为 pybasedir 中提供的值。

sync_power_state_interval = 600

整数值

在数据库和虚拟机监控程序之间同步电源状态的间隔。

Nova 检查实际虚拟机电源状态和 Nova 在其数据库中具有的电源状态的时间间隔。如果用户关闭其虚拟机,Nova 将更新 API 以报告虚拟机已经关闭。如果出现虚拟机意外打开,Nova 将重新关闭虚拟机,使系统保持在预期状态。

可能的值:

  • 0 :将以默认的定期间隔运行。
  • 任何值 < 0:禁用该选项。
  • 任何正整数(以秒为单位)。

相关选项:

  • 如果 workarounds 组中的 handle_virt_lifecycle_events 为 false,并且此选项为负数,那么在虚拟机监控程序和 Nova 数据库之间不同步的实例必须手动同步。

sync_power_state_pool_size = 1000

整数值

可用于同步电源状态的 greenthreads 数量。

这个选项可用于减少对虚拟机监控程序或具有实际实例电源状态的并发请求数,例如使用 Ironic。

可能的值:

  • 任何代表绿色线程数的正整数。

syslog-log-facility = LOG_USER

字符串值

syslog 工具可接收日志行。如果设置了 log_config_append,则忽略这个选项。

tempdir = None

字符串值

明确指定临时工作目录。

timeout_nbd = 10

整数值

等待 NBD 设备启动的时间(以秒为单位)。

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

update_resources_interval = 0

整数值

更新计算资源的间隔。

这个选项指定 update_available_resource 定期任务运行的频率。小于 0 的值表示完全禁用任务。保留默认值 0 将导致这以默认的定期间隔运行。将它设置为任何正值将导致其在大约的秒数中运行。

可能的值:

  • 0 :将以默认的定期间隔运行。
  • 任何值 < 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_cow_images = True

布尔值

启用使用 copy-on-write (cow)镜像。

QEMU/KVM 允许使用 qcow2 作为后备文件。通过禁用此功能,将不会使用后备文件。

use_eventlog = False

布尔值

日志输出到 Windows 事件日志。

use_rootwrap_daemon = False

布尔值

开始使用可运行需要以 root 特权运行的命令的守护进程。在运行 nova 计算进程的节点上通常启用此选项。

use_stderr = False

布尔值

将日志输出到标准错误。如果设置了 log_config_append,则忽略这个选项。

vcpu_pin_set = None

字符串值

可用于 VCPU 资源的主机 CPU 掩码。

此选项的行为取决于 [compute] cpu_dedicated_set 选项的定义,并影响 [compute] cpu_shared_set 选项的行为。

  • 如果定义了 [compute] cpu_dedicated_set,定义这个选项会导致错误。
  • 如果没有定义 [compute] cpu_dedicated_set,此选项将用于确定 VCPU 资源的清单,并限制可调度固定和未固定实例的主机 CPU,覆盖 [compute] cpu_shared_set 选项。

可能的值:

  • 可以从中分配虚拟 CPU 的物理 CPU 编号的逗号分隔列表。每个元素应该是单个 CPU 编号、CPU 编号范围或一个 caret,后跟一个要从其中排除的 CPU 号。

    之前的范围.例如:
    vcpu_pin_set = "4-12,^8,15"

相关选项:

  • [compute] cpu_dedicated_set
  • [compute] cpu_shared_set

弃用自:20.0.0

原因: 此选项已被 ''[compute] cpu_dedicated_set'' 和 ''[compute] cpu_shared_set' 选项取代,允许同一主机上固定和未固定实例等内容(用于 libvirt 驱动程序)。

vif_plugging_is_fatal = True

布尔值

确定实例是否应在 VIF 插入超时上引导或失败。

Nova 在实例调度后向 Neutron 发送端口更新,为 Neutron 提供必要的信息来完成端口设置。完成后,Neutron 会通知 Nova 已完成设置端口,此时 Nova 将恢复实例的引导,因为现在应该存在网络连接。如果在给定间隔后没有收到回复,则会出现超时。

此选项决定了 VIF 插入超时事件时 Nova 的作用。启用后,实例将出错。禁用后,实例将继续启动,假设端口已就绪。

可能的值:

  • true :实例应该在 VIF 插入超时后失败
  • false :实例应该在 VIF 插入超时后继续引导

vif_plugging_timeout = 300

整数值

Neutron VIF 插入事件消息的超时。

等待 Neutron vif 插入事件在继续或失败前等待的秒数(请参阅 vif_plugging_is_fatal)。

如果您大规模达到超时失败,请考虑通过 [agent]/root_helper_daemon neutron 配置选项在 neutron 代理中运行 rootwrap 以"daemon 模式"。

相关选项:

  • vif_plugging_is_fatal - 如果 vif_plugging_timeout 设为零,并且 vif_plugging_is_fatal 为 False,则事件不应该全部到达。

virt_mkfs = []

多值

临时设备的 mkfs 命令的名称。

格式为 <os_type>=<mkfs command>

volume_usage_poll_interval = 0

整数值

收集卷使用量的间隔。

这个选项更新每个 volume_usage_poll_interval 秒数的卷使用缓存。

可能的值:

  • 任何大于 0 的正整数(以秒为单位)将启用这个选项。
  • 任何值 HEKETI0 将禁用该选项。

watch-log-file = False

布尔值

使用旨在监视文件系统的日志记录处理程序。当移动或删除日志文件时,此处理程序将立即打开具有指定路径的新日志文件。只有在指定了 log_file 选项并使用 Linux 平台时才有意义。如果设置了 log_config_append,则忽略这个选项。

web = /usr/share/spice-html5

字符串值

带有 Web 服务器提供的内容的目录路径。

9.1.2. api

下表概述了 /etc/nova/nova.conf 文件中的 [api] 组下可用的选项。

Expand
表 9.1. api
配置选项 = 默认值类型Description

auth_strategy = keystone

字符串值

确定用于身份验证的策略。

弃用自: 21.0.0

原因: 只有非默认选择 ''noauth2'' 仅用于内部开发和测试目的,不应在部署中使用。这个选项及其中间件 NoAuthMiddleware[V2_18] 将在以后的版本中删除。

compute_link_prefix = None

字符串值

此字符串前面带有到 OpenStack Compute API 链接返回的普通 URL。如果为空(默认),则 URL 会以保持不变。

可能的值:

  • 任何字符串,包括空字符串(默认)。

config_drive_skip_versions = 1.0 2007-01-19 2007-03-01 2007-08-29 2007-10-10 2007-12-15 2008-02-01 2008-09-01

字符串值

当为配置驱动器收集现有元数据时,会为没有出现在这个选项中的所有版本返回 EC2-style 元数据。从 crun 发行版本开始,可用版本有:

  • 1.0
  • 2007-01-19
  • 2007-03-01
  • 2007-08-29
  • 2007-10-10
  • 2007-12-15
  • 2008-02-01
  • 2008-09-01
  • 2009-04-04

选项采用单个字符串的格式,每个版本用空格分开。

可能的值:

  • 代表零个或更多版本的字符串,用空格分开。

dhcp_domain = novalocal

字符串值

用于为实例配置 FQDN 的域名。

为实例主机名配置完全限定域名。如果未设置,则只配置没有域的主机名。

可能的值:

  • 任何作为有效域名的字符串。

enable_instance_password = True

布尔值

启用通过相关服务器 API 调用返回实例密码,如创建、重建、撤离或救援。如果虚拟机监控程序不支持密码注入,则返回的密码将不正确,因此如果您的虚拟机监控程序不支持密码注入,则将其设置为 False。

glance_link_prefix = None

字符串值

此字符串前面带有到 Glance 资源链接返回的普通 URL。如果为空(默认),则 URL 会以保持不变。

可能的值:

  • 任何字符串,包括空字符串(默认)。

instance_list_cells_batch_fixed_size = 100

整数值

如果 instance_list_cells_batch_strategy' 设置为 固定,则控制从每个单元数据库请求的实例的批处理大小。此完整值将定义在每次请求批处理实例时为每个单元发出的限制,无论系统中的单元数或其他因素如何。根据 instance_list_cells_batch_strategy 文档中的调用的一般逻辑,每个批处理的最小值是 100 个记录。

相关选项:

  • instance_list_cells_batch_strategy
  • max_limit

instance_list_cells_batch_strategy = distributed

字符串值

这控制 API 在大型实例列表操作过程中以较小的批处理查询单元数据库的方法。如果执行批处理,则大型实例列表操作将首先从每个单元格数据库中请求部分整体 API 限制,并且会重新请求与每个单元消耗相同的批处理大小(根据需要从每个单元中消耗(返回)。更大的批处理意味着 API 和数据库之间的 chattiness 较少,但可能会处理不会向用户返回的数据库的结果。任何策略将生成至少 100 个记录的批处理大小,以避免用户在请求中造成多个小数据库查询。

相关选项:

  • instance_list_cells_batch_fixed_size
  • max_limit

instance_list_per_project_cells = False

布尔值

启用后,这将导致 API 仅查询租户映射实例的单元数据库。这要求在每个列表前在 API 数据库中进行额外的(fast)查询,但也(可能)限制必须查询的单元数据库数量以提供结果。如果您有少量单元,或者租户可能在所有单元中都有实例,则这应该是 False。如果您有很多单元,特别是如果您将租户限制为这些单元的一小部分,则这应该是 True。

list_records_by_skipping_down_cells = True

布尔值

当设置为 False 时,如果基础架构故障(如不响应的单元格)时,这会导致 API 返回一个 500 错误。如果您希望 API 跳过 down 单元,并从 up cells 设置这个选项设置为 True 时返回结果。

请注意,在 API microversion 2.69 中,部署某些记录不可用时可能会出现临时条件,结果可能部分用于包含这些记录的某些请求。在这种情况下,这个选项将被忽略。如需更多信息,请参阅 Compute API 指南中的"处理关闭 Cells"部分 (https://docs.openstack.org/api-guide/compute/down_cells.html)。

local_metadata_per_cell = False

布尔值

表示 nova-metadata API 服务已按原样部署,以便在多cell 部署中拥有更好的性能和数据隔离。根据 neutron 的设置方式,用户应考虑使用此配置。如果您有跨越单元格的网络,可能需要全局运行 nova-metadata API 服务。如果您的网络分段在单元格内,您可以按单元运行 nova-metadata API 服务。当每个单元运行 nova-metadata API 服务时,您还应配置每个 Neutron metadata-agent 以指向对应的 nova-metadata API 服务。

max_limit = 1000

整数值

作为查询可能会返回数以千计的项目,您可以通过设置这个选项来限制单个响应中的最大项目数。

metadata_cache_expiration = 15

整数值

这个选项是缓存元数据的时间(以秒为单位)。当设置为 0 时,元数据缓存会被完全禁用,通常不建议出于性能考虑。增加此设置应该可在负载过重时提高元数据 API 的响应时间。数值越高,可能会提高内存用量,导致主机元数据更改生效的时间更长。

neutron_default_tenant_id = default

字符串值

用于从 Neutron API 获取默认网络的租户 ID (也称为 项目 ID)。

相关选项:

  • use_neutron_default_nets

use_forwarded_for = False

布尔值

为 True 时,X-Forwarded-For 标头被视为规范远程地址。当 False (默认值)时,会使用 remote_address 标头。

只有在您有一个 HTML sanitizing 代理时才应启用它。

use_neutron_default_nets = False

布尔值

为 True 时,TenantNetworkController 将查询 Neutron API 来获取要使用的默认网络。

相关选项:

  • neutron_default_tenant_id

vendordata_dynamic_connect_timeout = 5

整数值

外部 REST 服务连接的最大等待时间。

可能的值:

  • 任何值大于 3 的整数 (TCP 数据包重新传输超时)。请注意,这个等待时间可能会阻断实例启动,因此这个值应该保持小。

相关选项:

  • vendordata_providers
  • vendordata_dynamic_targets
  • vendordata_dynamic_ssl_certfile
  • vendordata_dynamic_read_timeout
  • vendordata_dynamic_failure_fatal

vendordata_dynamic_failure_fatal = False

布尔值

获取动态 vendordata 失败是否对实例启动是致命的?

相关选项:

  • vendordata_providers
  • vendordata_dynamic_targets
  • vendordata_dynamic_ssl_certfile
  • vendordata_dynamic_connect_timeout
  • vendordata_dynamic_read_timeout

vendordata_dynamic_read_timeout = 5

整数值

外部 REST 服务在连接后返回数据的最大等待时间。

可能的值:

  • 任何整数。请注意,在这个等待时间,实例启动会被阻断,因此这个值应该保持小。

相关选项:

  • vendordata_providers
  • vendordata_dynamic_targets
  • vendordata_dynamic_ssl_certfile
  • vendordata_dynamic_connect_timeout
  • vendordata_dynamic_failure_fatal

`vendordata_dynamic_ssl_certfile = `

字符串值

可选的证书文件或 CA 捆绑包的路径,用于验证动态厂商数据 REST 服务 ssl 证书。

可能的值:

  • 一个空字符串,或到有效证书文件的路径

相关选项:

  • vendordata_providers
  • vendordata_dynamic_targets
  • vendordata_dynamic_connect_timeout
  • vendordata_dynamic_read_timeout
  • vendordata_dynamic_failure_fatal

vendordata_dynamic_targets = []

列表值

动态 vendordata 供应商的目标列表。这些目标的格式是 < name>@<url>

动态 vendordata 提供程序通过联系外部 REST 服务来收集元数据,并查询它们以获取有关实例的信息。此行为记录在 nova 开发人员引用的 vendordata.rst 文件中。

vendordata_jsonfile_path = None

字符串值

云供应商可以将自定义数据存储在厂商数据文件中,然后通过元数据服务提供给实例,以及 config-drive 的渲染。此 JsonFileVendorData 的默认类从 JSON 文件加载此信息,该文件路径由此选项配置。如果没有这个选项设置的路径,则类会返回一个空的字典。

请注意,当使用此选项为配置驱动器提供静态厂商数据时,必须使用此选项配置 nova-compute 服务,且该文件必须可从 nova-compute 主机访问。

可能的值:

  • 代表数据文件的路径或空字符串(默认)的字符串。

vendordata_providers = ['StaticJSON']

列出值

vendordata 供应商列表。

vendordata 供应商如何通过特定于其部署的 configdrive 和 metadata 提供元数据。

有关实施 vendordata 动态端点的要求的更多信息,请参阅 nova 开发人员参考中的 vendordata.rst 文件。

相关选项:

  • vendordata_dynamic_targets
  • vendordata_dynamic_ssl_certfile
  • vendordata_dynamic_connect_timeout
  • vendordata_dynamic_read_timeout
  • vendordata_dynamic_failure_fatal

9.1.3. api_database

下表概述了 /etc/nova/nova.conf 文件中的 [api_database] 组下可用的选项。

Expand
表 9.2. api_database
配置选项 = 默认值类型Description

connection = None

字符串值

用于连接到数据库的 SQLAlchemy 连接字符串。不要为 nova-compute 服务设置此项。

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 中。

max_overflow = None

整数值

如果设置,请对带有 SQLAlchemy 的 max_overflow 使用这个值。

max_pool_size = None

整数值

池中保持打开的最大 SQL 连接数。设置 0 表示没有限制。

max_retries = 10

整数值

在启动过程中重试数据库连接的最大数量。设置为 -1 以指定无限重试计数。

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 使用同步模式。

9.1.4. barbican

下表概述了 /etc/nova/nova.conf 文件中的 [barbican] 组下可用的选项。

Expand
表 9.3. barbican
配置选项 = 默认值类型Description

auth_endpoint = http://localhost/identity/v3

字符串值

使用此端点连接到 Keystone

barbican_api_version = None

字符串值

Barbican API 的版本,例如:"v1"

barbican_endpoint = None

字符串值

使用此端点连接到 Barbican,例如:"http://localhost:9311/"

barbican_endpoint_type = public

字符串值

指定端点的类型。允许的值有:public、private 和 admin

number_of_retries = 60

整数值

重试轮询创建密钥完成的次数

retry_delay = 1

整数值

重试轮询创建密钥完成前等待的秒数

verify_ssl = True

布尔值

指定是否不安全的 TLS (https)请求。如果为 False,则不会验证服务器证书(如果 True),我们可以同时设置 verify_ssl_path 配置。

verify_ssl_path = None

字符串值

要针对的捆绑包或 CA 证书检查的路径,或 None 用于尝试查找并使用 verify_ssh 为 True 的证书。如果 verify_ssl 是 False,这会被忽略。

9.1.5. 缓存

下表概述了 /etc/nova/nova.conf 文件中的 [cache] 组下可用的选项。

Expand
表 9.4. 缓存
配置选项 = 默认值类型Description

backend = dogpile.cache.null

字符串值

缓存后端模块.对于基于事件线程服务器的或环境,建议使用带有池的 Memcache (oslo_cache.memcache_pool)。对于小于 100 个线程服务器的环境,建议使用 Memcached (dogpile.cache.memcached)或 Redis (dogpile.cache.redis)。带有单一服务器实例测试环境可以使用 dogpile.cache.memory 后端。

backend_argument = []

多值

提供给 backend 模块的参数。指定每个参数一次这个选项,以传递给 dogpile.cache 后端。示例格式:"<argname>:<value>"。

config_prefix = cache.oslo

字符串值

为缓存区域构建配置字典的前缀。除非存在具有相同配置名称的另一个 dogpile.cache 区域,否则不需要更改此设置。

dead_timeout = 60

浮点值

尝试将节点重新添加到 HashClient 内部机制中的池前的时间(以秒为单位)。

debug_cache_backend = False

布尔值

从缓存后端(缓存密钥、get/set/delete/etc 调用)进行额外的调试。只有在您需要使用键/值查看特定的 cache-backend get/set/delete 调用时,这才有用。通常,这应该设为 false。

enable_retry_client = False

布尔值

启用重试客户端机制来处理失败。这些机制可用于嵌套所有的 pymemcache 客户端。打包程序允许您定义在 attemots 之间等待多少次尝试和等待的时间。

enable_socket_keepalive = False

布尔值

dogpile 的 pymemcache backend 的 socket keepalive 的全局切换

enabled = False

布尔值

缓存的全局切换。

expiration_time = 600

整数值

dogpile.cache 区域中的任何缓存项目的默认 TTL (以秒为单位)。这适用于没有为其定义显式缓存过期时间的任何缓存方法。

hashclient_retry_attempts = 2

整数值

在客户端被标记为死状态并从 HashClient 内部机制中的池中移除客户端的次数。

hashclient_retry_delay = 1

浮点值

在 HashClient 内部机制中应在重试尝试之间传递的时间(以秒为单位)。

memcache_dead_retry = 300

整数值

在再次尝试前 memcached 服务器被视为死的秒数。(dogpile.cache.memcache 和 oslo_cache.memcache_pool 后端)。

memcache_pool_connection_get_timeout = 10

整数值

操作将等待进入 memcache 客户端连接的秒数。

memcache_pool_flush_on_reconnect = False

布尔值

如果 memcache 将在重新连接时清空,则全局切换。(仅限oslo_cache.memcache_pool 后端)。

memcache_pool_maxsize = 10

整数值

每个 memcached 服务器的最大打开连接数。(仅限oslo_cache.memcache_pool 后端)。

memcache_pool_unused_timeout = 60

整数值

在关闭之前,与 memcached 的连接在池中保持未使用的秒数。(仅限oslo_cache.memcache_pool 后端)。

memcache_servers = ['localhost:11211']

列出值

memcache 服务器的格式是 "host:port"。(dogpile.cache.memcached 和 oslo_cache.memcache_pool 后端)。如果给定主机引用 IPv6 或给定域,则应该为具有地址系列(inet6) (如 inet6[::1]:11211, inet6211 ,inet6:[fd12:3456:789a:1::1]:11211,inet6:[controller-0.internalapi]:11211)添加给定地址作为前缀。如果未指定地址系列,则使用地址系列将是与 IPv4 对应的 inet

memcache_socket_timeout = 1.0

浮点值

对每个对服务器调用的超时时间(dogpile.cache.memcache 和 oslo_cache.memcache_pool 后端)。

proxies = []

列出值

用于导入的代理类将影响 dogpile.cache 后端功能的方式。参阅 dogpile.cache 文档中有关 changing-backend-behavior 的文档。

retry_attempts = 2

整数值

失败前尝试操作的次数。

retry_delay = 0

浮点值

每次尝试之间休眠的秒数。

socket_keepalive_count = 1

整数值

丢弃连接前应发送的最大 keepalive 探测 TCP 数。应该是一个大于零的正整数。

socket_keepalive_idle = 1

整数值

在 TCP 开始发送 keepalive 探测前,连接需要保持闲置的时间(以秒为单位)。应该是一个大于零的正整数。

socket_keepalive_interval = 1

整数值

单个 keepalive 探测之间的时间(以秒为单位)。应该是一个大于零的正整数。

tls_allowed_ciphers = None

字符串值

为使用 TLS 上下文创建的套接字设置可用密码。它应该是 OpenSSL 密码列表格式的字符串。如果没有指定,则所有启用的 OpenSSL 密码都将可用。

tls_cafile = None

字符串值

以 PEM 格式串联的 CA 证书文件的路径,以建立缓存服务器的真实性。如果 tls_enabled 是 False,则忽略这个选项。

tls_certfile = None

字符串值

PEM 格式的单个文件的路径,其中包含客户端证书以及建立证书真实性所需的任意数量的 CA 证书。仅当需要客户端身份验证时,才需要此文件。如果 tls_enabled 是 False,则忽略这个选项。

tls_enabled = False

布尔值

与缓存服务器捆绑时,用于 TLS 使用的全局切换。

tls_keyfile = None

字符串值

到包含客户端私钥的单个文件的路径。其他私钥将被从 tls_certfile 中指定的文件中获取。如果 tls_enabled 是 False,则忽略这个选项。

9.1.6. cinder

下表概述了 /etc/nova/nova.conf 文件中的 [cinder] 组下可用的选项。

Expand
表 9.5. cinder
配置选项 = 默认值类型Description

auth-url = None

字符串值

身份验证 URL

auth_section = None

字符串值

加载插件特定选项的配置部分

auth_type = None

字符串值

要载入的身份验证类型

cafile = None

字符串值

在验证 HTTP 连接时使用的 PEM 编码证书颁发机构。

catalog_info = volumev3::publicURL

字符串值

在服务目录中查找 cinder 时要匹配 info。

& lt;service_name > 是可选的,并默认省略,因为大多数部署中不应该需要它。

可能的值:

  • 格式是以 <service_type>:<service_name>:<endpoint_type> 的形式分隔的值。

注意: 自 Nova Nova 17.0.0 Queens 版本,将不再支持 Cinder v2 API。

相关选项:

  • endpoint_template - 设置此选项将覆盖 catalog_info

certFile = None

字符串值

PEM 编码的客户端证书证书文件

collect-timing = False

布尔值

收集每个API 调用时间信息。

cross_az_attach = True

布尔值

允许在不同可用区中的 instance 和 volume 之间连接。

如果 False,附加到实例的卷必须在 Cinder 中与 Nova 中的实例可用性区域相同。

这也意味着,在从不是"卷"的卷引导实例时应小心谨慎,因为 Nova 将尝试使用与分配给实例相同的可用区创建卷。

如果该 AZ 不在 Cinder 中(或在 cinder.conf 中允许_availability_zone_fallback=False ),则卷创建请求将失败,实例将失败。

默认情况下,卷附加没有可用区限制。

相关选项:

  • [DEFAULT]/default_schedule_zone

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_template = None

字符串值

如果设置了这个选项,它将使用 cinder 端点的此模板覆盖服务目录查找

可能的值:

注意: 自 Nova Nova 17.0.0 Queens 版本,将不再支持 Cinder v2 API。

相关选项:

  • catalog_info - 如果没有设置 endpoint_template,则使用 catalog_info。

http_retries = 3

整数值

cinderclient 应该在任何失败的 http 调用上重试的次数。0 表示只尝试连接一次。把它设置为任何正整数意味着,在失败连接时会重试,例如,将多次设置为 3,表示连接的总尝试为 4。

可能的值:

  • 任何整数值。0 表示只尝试连接一次

insecure = False

布尔值

验证 HTTPS 连接。

keyfile = None

字符串值

PEM 编码的客户端证书密钥文件

os_region_name = None

字符串值

此节点的地区名称。这在选择服务目录中的 URL 时使用。

可能的值:

  • 代表区域名称的任何字符串

password = None

字符串值

用户密码

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

user-domain-id = None

字符串值

用户的域 ID

user-domain-name = None

字符串值

用户的域名

user-id = None

字符串值

用户 ID

username = None

字符串值

用户名

9.1.7. Compute

下表概述了 /etc/nova/nova.conf 文件中的 [compute] 组下可用的选项。

Expand
表 9.6. Compute
配置选项 = 默认值类型Description

consecutive_build_service_disable_threshold = 10

整数值

启用向调度程序报告构建失败。

任何非零值都将启用向调度程序发送构建失败统计信息,供 BuildFailureWeigher 使用。

可能的值:

  • 任何正整数都允许报告构建失败。
  • 零以禁用报告构建失败。

相关选项:

  • [filter_scheduler]/build_failure_weight_multiplier

cpu_dedicated_set = None

字符串值

可用于 PCPU 资源的主机 CPU 掩码。

此选项的行为会影响已弃用的 vcpu_pin_set 选项的行为。

  • 如果定义了这个选项,定义 vcpu_pin_set 将导致错误。
  • 如果没有定义这个选项,则使用 vcpu_pin_set 来确定 VCPU 资源的清单,并限制固定和未固定实例可以调度到的主机 CPU。

当删除 vcpu_pin_set 时,将在以后的版本中简化此行为。

可能的值:

  • 以逗号分隔的物理 CPU 号列表,实例 VCPU 可以从中分配。每个元素应该是单个 CPU 号、一个 CPU 数字范围,或者后面有一个要排除的 CPU 号。

    前一个范围。例如:
    cpu_dedicated_set = "4-12,^8,15"

相关选项:

  • [compute] cpu_shared_set :这是定义应从中分配 VCPU 资源的位置的对应选项。
  • vcpu_pin_set :此选项部分替换的传统选项。

cpu_shared_set = None

字符串值

用于 VCPU 资源和卸载仿真程序线程的主机 CPU 掩码。

这个选项的行为取决于已弃用的 vcpu_pin_set 选项的定义。

  • 如果没有定义 vcpu_pin_set,则使用 [compute] cpu_shared_set 提供 VCPU 清单,并确定未固定实例可以调度到的主机 CPU。它还将用于确定应该为使用共享仿真器线程策略(hw:emulator_threads_policy= share )配置的实例卸载到的主机 CPUS。
  • 如果定义了 vcpu_pin_set,则 [compute] cpu_shared_set 将只用于决定主机 CPU,仿真程序线程应该被卸载到使用 share 仿真程序线程策略(hw:emulator_threads_policy=share)的实例。vcpu_pin_set 将用于提供 VCPU 清单,并确定固定和未固定实例可以调度到的主机 CPU。

当删除 vcpu_pin_set 时,将在以后的版本中简化此行为。

可能的值:

  • 以逗号分隔的物理 CPU 号列表,实例 VCPU 可以从中分配。每个元素应该是单个 CPU 号、一个 CPU 数字范围,或者后面有一个要排除的 CPU 号。

    前一个范围。例如:
    cpu_shared_set = "4-12,^8,15"

相关选项:

  • [compute] cpu_dedicated_set :这是定义应该从中分配 PCPU 资源的位置的对应选项。
  • vcpu_pin_set :其定义可能会更改此选项行为的传统选项。

image_type_exclude_list = []

列表值

此计算节点不支持的镜像格式列表。

在某些情况下,可能需要使计算节点拒绝支持昂贵或复杂的镜像格式。此因素由调度程序在使用给定镜像时选择哪些计算节点做出的决策。

可能的值:

  • 任何 glance 镜像 disk_format 名称(即 rawqcow2 等)

相关选项:

  • [scheduler]query_placement_for_image_type_support - 启用根据支持的镜像类型过滤计算,这需要启用才能生效。

live_migration_wait_for_vif_plug = True

布尔值

确定源计算主机是否应该等待来自(neutron)网络服务的 network-vif-plugged 事件,然后再将客户机的实际传送到目标计算主机。

请注意,此选项在实时迁移的目标主机上读取。如果您在所有计算主机上设置这个选项,则应以通用方式使用相同的网络后端,则不必担心这一点。

在开始传输客户机之前,目标计算主机上会进行一些设置,包括插入虚拟接口。根据目标主机上的网络后端,可能会触发 network-vif-plugged 事件,然后在源计算主机接收,源计算可以等待该事件确保在目标主机上设置网络,然后再启动客户机传输。

  1. note::

    The compute service cannot reliably determine which types of virtual
    interfaces (`port.binding:vif_type`) will send `network-vif-plugged`
    events without an accompanying port `binding:host_id` change.
    Open vSwitch and linuxbridge should be OK, but OpenDaylight is at least
    one known backend that will not currently work in this case, see bug
    https://launchpad.net/bugs/1755890 for more details.

可能的值:

  • true :在启动客户机传输前等待 network-vif-plugged 事件
  • false :在启动客户机传输前不要等待 network-vif-plugged 事件(这是旧的行为)

相关选项:

  • [DEFAULT]/vif_plugging_is _fatal: if live_migration_wait_for _vif_plug_timeout 为 True,vif_plugging_timeout 大于 0,且达到超时,实时迁移过程会失败,但客户机传输不会启动到目标主机
  • [DEFAULT]/vif_plugging_timeout: 如果 live_migration_wait_for_vif_plug 为 True,这会控制超时前等待的时间,如果 vif_plugging_is_fatal 为 True,或者只是继续实时迁移

max_concurrent_disk_ops = 0

整数值

我们将并行执行的并发磁盘 I-IO 密集型操作(glance 镜像下载、镜像格式转换等)如果这设置过高,则响应时间会受到影响。默认值为 0 表示没有限制。

max_disk_devices_to_attach = -1

整数值

允许附加到单个服务器的磁盘设备的最大数量。请注意,服务器支持的磁盘数量取决于所使用的总线。例如,ide 磁盘总线限制为 4 个附加的设备。配置的最大值是在服务器创建、重建、撤离、取消shelve、实时迁移和附加卷期间强制执行的。

通常,磁盘总线会自动从设备类型或磁盘设备以及虚拟化类型决定。但是,也可以通过块设备映射或镜像属性指定磁盘总线。有关在块设备映射中指定磁盘总线的更多信息,请参阅 :doc:/user/block-device-mapping 中的 disk_bus 字段,以及有关 hw_disk_bus 镜像属性的更多信息,请参阅 https://docs.openstack.org/glance/latest/admin/useful-image-properties.html

在托管服务器的计算服务上更改 [compute]/max_disk_devices_to_attach 的 Operator 应注意,如果最大量低于已附加到服务器的设备数,则可能会导致重建失败。例如,如果服务器 A 附加了 26 个设备,并且操作员将 [compute]/max_disk_devices_to_attach 改为 20,则重建服务器 A 的请求将失败,并进入 ERROR 状态,因为 26 设备已连接并超过新配置的最大值 20。

Operator 设置 [compute]/max_disk_devices_to_attach 也请注意,在冷迁移过程中,配置的最大值仅会被强制使用,在移动前不会检查目的地。这意味着,如果运维人员在计算主机 A 上设置了最多 26 个,在计算主机 B 上设置了最多 20 个,则从计算主机 A 中的一个附加了 26 个设备的主机冷迁移到计算主机 B 将成功。然后,当服务器位于计算主机 B 上后,重建服务器的后续请求将失败,并进入 ERROR 状态,因为 26 个设备已附加并超过计算主机 B 上配置的最大 20 个。

配置的最大值不会在 shelved 卸载服务器上强制使用,因为它们没有计算主机。

  1. 警告:如果此选项设为 0,nova-compute 服务将无法启动,因为 0 磁盘设备是一个无效的配置,导致实例无法启动。

可能的值:

  • -1 表示无限
  • 任何整数 >= 1 代表允许的最大值。值 0 将导致 nova-compute 服务无法启动,因为 0 磁盘设备是一个无效的配置,导致实例无法引导。

provider_config_location = /etc/nova/provider_config/

字符串值

包含资源供应商配置数据的 YAML 文件的位置。

这些文件允许操作员指定额外的自定义清单和特征来分配给一个或多个资源提供程序。

有关其他文档,请访问:

https://docs.openstack.org/nova/latest/admin/managing-resource-providers.html

resource_provider_association_refresh = 300

整数值

更新计算节点资源提供程序清单、聚合和特征的 nova-compute-side 缓存的时间间隔。

此选项指定尝试更新提供程序清单、聚合和计算节点的本地缓存中的秒数。

值为零可完全禁用缓存刷新。

通过将 SIGHUP 发送到计算进程,可以随时手动清除缓存,从而导致在下一次访问数据时重新填充缓存。

可能的值:

  • 任何正整数(以秒为单位),或零来禁用刷新。

shutdown_retry_interval = 10

整数值

在向实例重新发送 ACPI 关闭信号前等待的时间(以秒为单位)。

等待的总时间由 shutdown_timeout 设置。

可能的值:

  • 任何大于 0 的整数(以秒为单位)

相关选项:

  • shutdown_timeout

vmdk_allowed_types = ['streamOptimized', 'monolithicSparse']

列表值

描述允许的 VMDK "create-type" 子格式的字符串列表。建议仅包含 single-file-with-sparse-header 变体,以避免因为处理命名扩展而造成潜在的主机文件暴露。如果此列表为空,则不允许使用 VMDK 镜像形式。

9.1.8. conductor

下表概述了 /etc/nova/nova.conf 文件中的 [conductor] 组下可用的选项。

Expand
表 9.7. conductor
配置选项 = 默认值类型Description

Worker = None

整数值

OpenStack Conductor 服务的 worker 数量。默认值为可用的 CPU 数量。

9.1.9. 控制台

下表概述了 /etc/nova/nova.conf 文件中的 [console] 组下可用的选项。

Expand
表 9.8. 控制台
配置选项 = 默认值类型Description

allowed_origins = []

列表值

在控制台 websocket 代理中添加允许的源列表,以允许来自其他原始主机名的连接。websocket 代理将 host 标头与原始标头匹配,以防止跨站点请求。此列表指定在原始标头中是否允许 host 以外的值。

可能的值:

  • 每个元素都是允许的源主机名的列表,其他一个空列表

ssl_ciphers = None

字符串值

OpenSSL 密码首选项字符串,用于指定允许客户端 TLS 连接的密码。例如:

ssl_ciphers = "kEECDH+aECDSA+AES:kEECDH+AES+aRSA:kEDH+aRSA+AES"

有关 密码 首选项字符串格式和允许的值的详情,请查看 OpenSSL 密码命令的 man page:

https://www.openssl.org/docs/man1.1.0/man1/ciphers.html

相关选项:

  • [DEFAULT] cert
  • [DEFAULT] key

ssl_minimum_version = default

字符串值

允许的 SSL/TLS 协议版本。

相关选项:

  • [DEFAULT] cert
  • [DEFAULT] key

9.1.10. consoleauth

下表概述了 /etc/nova/nova.conf 文件中的 [consoleauth] 组下可用的选项。

Expand
表 9.9. consoleauth
配置选项 = 默认值类型Description

token_ttl = 600

整数值

控制台身份验证令牌的生命周期(以秒为单位)。

在授权用户的控制台访问中使用控制台身份验证令牌。在验证令牌时间过后,令牌将被视为过期。然后,已删除已过期的令牌。

9.1.11. CORS

下表概述了 /etc/nova/nova.conf 文件中的 [cors] 组下可用的选项。

Expand
表 9.10. CORS
配置选项 = 默认值类型Description

allow_credentials = True

布尔值

指明实际请求可以包含用户凭证

allow_headers = ['X-Auth-Token', 'X-Openstack-Request-Id', 'X-Identity-Status', 'X-Roles', 'X-Service-Catalog', 'X-User-Id', 'X-Tenant-Id', 'X-OpenStack-Nova-API-Version', 'OpenStack-API-Version']

列表值

指定在实际请求过程中可以使用哪些标头字段名称。

allow_methods = ['GET', 'PUT', 'POST', 'DELETE', 'PATCH']

列表值

指明在实际请求期间可以使用哪些方法。

allowed_origin = None

列表值

指明此资源是否可以与请求"origin"标头中收到的域共享。格式:"<protocol>://<host>[:<port>]",没有尾部斜杠。示例 :https://horizon.example.com

expose_headers = ['X-Auth-Token', 'X-Openstack-Request-Id', 'X-Subject-Token', 'X-Service-Token', 'X-OpenStack-Nova-API-Version', 'OpenStack-API-Version']

列表值

指明哪些标头可以安全地公开给 API。默认为 HTTP Simple Headers。

max_age = 3600

整数值

CORS preflight 请求的最大缓存期限。

9.1.12. cyborg

下表概述了 /etc/nova/nova.conf 文件中的 [cyborg] 组下可用的选项。

Expand
表 9.11. cyborg
配置选项 = 默认值类型Description

cafile = None

字符串值

验证 HTTP 连接时要使用的 PEM 编码证书颁发机构。

certFile = None

字符串值

PEM 编码的客户端证书证书文件

collect-timing = False

布尔值

收集每个 API 调用计时信息。

connect-retries = None

整数值

应该尝试连接错误的最大重试次数。

connect-retry-delay = None

浮点值

两次重试之间延迟(以秒为单位)用于连接错误。如果没有设置,则以 0.5 秒开始的指数重试,最多使用 60 秒。

endpoint-override = None

字符串值

始终使用此端点 URL 用于此客户端的请求。注意:应在此处指定未版本化的端点;若要请求特定的 API 版本,使用 version, min-version, 和/或 max-version 选项。

insecure = False

布尔值

验证 HTTPS 连接。

keyfile = None

字符串值

PEM 编码的客户端证书密钥文件

region-name = None

字符串值

端点 URL 发现的默认 region_name。

service-name = None

字符串值

用于端点 URL 发现的默认 service_name。

service-type = accelerator

字符串值

端点 URL 发现的默认 service_type。

split-loggers = False

布尔值

记录对多个日志记录器的请求。

status-code-retries = None

整数值

应该为可重试 HTTP 状态代码尝试的最大重试次数。

status-code-retry-delay = None

浮点值

可重试状态代码的两个重试之间的延迟(以秒为单位)。如果没有设置,则使用以 0.5 秒开始的指数重试,最多使用 60 秒。

timeout = None

整数值

http 请求的超时值

valid-interfaces = ['internal', 'public']

列出值

用于端点 URL 的接口列表(按首选顺序排列)。

9.1.13. database

下表概述了 /etc/nova/nova.conf 文件中的 [database] 组下可用的选项。

Expand
表 9.12. 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

布尔值

在连接丢失时启用数据库重新连接的实验性使用。

use_tpool = False

布尔值

为所有 DB API 调用启用实验性的线程池使用

9.1.14. devices

下表概述了 /etc/nova/nova.conf 文件中的 [devices] 组下可用的选项。

Expand
表 9.13. devices
配置选项 = 默认值类型Description

enabled_vgpu_types = []

列出值

计算节点上启用 vGPU 类型。

有些 pGPU (如 NVIDIA GRID K1)支持不同的 vGPU 类型。用户可以使用此选项指定可分配给客户端实例的启用 vGPU 类型列表。

如果提供了多个 vGPU 类型,则必须将每个 vGPU 类型 添加一个额外部分 [vgpu_$(VGPU_TYPE)]。然后,每个部分 都必须 配置一个单独的配置选项 device_addresses,它应该是与要分配给此类型的物理 GPU 对应的 PCI 地址列表。

如果缺少一个或多个部分(请注意,对于至少一个物理 GPU,或者未提供设备地址),则 Nova 将只使用 [devices]/enabled_vgpu_types 提供的第一个类型。

如果为两种不同类型的提供了同样的 PCI 地址,nova-compute 会在重启时返回一个 InvalidLibvirtGPUConfig 异常。

例如,如下所示

[devices] enabled_vgpu_types = nvidia-35, nvidia-36

[vgpu_nvidia-35]
device_addresses = 0000:84:00.0,0000:85:00.0
[vgpu_nvidia-36]
device_addresses = 0000:86:00.0

9.1.15. ephemeral_storage_encryption

下表概述了 /etc/nova/nova.conf 文件中的 [ephemeral_storage_encryption] 组下可用的选项。

Expand
表 9.14. ephemeral_storage_encryption
配置选项 = 默认值类型Description

cipher = aes-xts-plain64

字符串值

要使用的 cipher-mode 字符串。

用于加密临时存储的密码和模式。可用的加密模式组合集合取决于内核支持。根据 dm-crypt 文档,密码应该采用以下格式:"<cipher>-<chainmode>-<ivmode>"。

可能的值:

  • 任何在 /proc/crypto 中列出的加密选项。

enabled = False

布尔值

启用/禁用 LVM 临时存储加密。

key_size = 512

整数值

加密密钥长度(以位为单位)。

用于加密临时存储的加密密钥的位长度。在 XTS 模式中,只有一半的位用于加密密钥。

9.1.16. filter_scheduler

下表概述了 /etc/nova/nova.conf 文件中的 [filter_scheduler] 组下可用的选项。

Expand
表 9.15. filter_scheduler
配置选项 = 默认值类型Description

aggregate_image_properties_isolation_namespace = None

字符串值

主机聚合中使用的镜像属性命名空间。

可以配置镜像和主机,以便某些镜像只能调度到特定聚合中的主机。这可以通过在主机聚合上设置的元数据值完成,这些值以此选项的值开头。如果主机是带有此类元数据键的聚合的一部分,则 request spec 中的镜像必须具有该元数据的值,以便调度程序将主机视为可接受的主机。

请注意,此设置仅在启用了 AggregateImagePropertiesIsolation 过滤器时影响调度。

可能的值:

  • 字符串,其中字符串对应于镜像属性命名空间

相关选项:

  • [filter_scheduler] aggregate_image_properties_isolation_separator

aggregate_image_properties_isolation_separator = .

字符串值

镜像属性命名空间和名称的分隔符字符。

使用 aggregate_image_properties_isolation 过滤器时,相关的元数据键使用 aggregate_image_properties_isolation_namespace 配置选项中定义的命名空间作为前缀。此选项定义要使用的分隔符。

请注意,此设置仅在启用了 AggregateImagePropertiesIsolation 过滤器时影响调度。

可能的值:

  • 字符串,其中字符串对应于镜像属性命名空间分隔符字符

相关选项:

  • [filter_scheduler] aggregate_image_properties_isolation_namespace

available_filters = ['nova.scheduler.filters.all_filters']

多值

调度程序可以使用的过滤器。

nova 调度程序可能应用的过滤器类的未排序列表。仅使用 [filter_scheduler] enabled_filters 选项中指定的过滤器,但出现在该选项中的任何过滤器还必须包含在此列表中。

默认情况下,设置为 nova 中包含的所有过滤器。

可能的值:

  • 零个或更多字符串的列表,其中每个字符串都对应于可用于选择主机的过滤器名称

相关选项:

  • [filter_scheduler] enabled_filters

build_failure_weight_multiplier = 1000000.0

浮点值

用于权衡具有最新构建故障的主机倍数。

此选项决定了在具有最新构建故障的计算节点上放置了多少权重。构建失败可能表示失败、配置错误或以其他方式处理计算节点,并避免在调度期间出现帮助。权重与计算节点已经历的最新构建失败数量成比例。由于可用资源,这个值应设置为一些高的值,以偏移由其他启用的 weighers 给出的权重。要禁用按最近的故障数权重计算主机,请将其设置为零。

请注意,此设置仅在启用了 BuildFailureWeigher weigher 时才会影响调度。

可能的值:

  • 整数或浮点值,其中值对应于此 weigher 的倍数比率。

相关选项:

  • [compute] consecutive_build_service_disable_threshold - Must 为计算报告此 weigher 所考虑的数据的非零。
  • [filter_scheduler] weight_classes

cpu_weight_multiplier = 1.0

浮点值

CPU 权重倍数比率。

用于加权空闲 vCPU 的倍数。负数表示堆栈而不是分布。

请注意,此设置仅在启用了 CPUWeigher weigher 时影响调度。

可能的值:

  • 整数或浮点值,其中值对应于此 weigher 的多元比率。

相关选项:

  • [filter_scheduler] weight_classes

cross_cell_move_weight_multiplier = 1000000.0

浮点值

在跨单元迁移期间用于权衡主机的倍数。

这个选项决定在主机上放置多少权重,它在移动服务器时在同一源单元中,例如在跨单元调整大小过程中。默认情况下,当移动实例时,调度程序将首选同一单元格中的主机,因为跨单元迁移的复杂性质可能会较慢且风险更高。

请注意,此设置仅在启用了 CrossCellWeigher weigher 时才会影响调度。如果您的云没有配置为支持跨单元迁移,则这个选项无效。

此配置选项的值可以通过设置相同名称的聚合元数据键(cross_cell_move_weight_multiplier)来覆盖。

可能的值:

  • 整数或浮点值,其中值对应于此 weigher 的倍数比率。正数值表示,weigher 将首选运行该实例的同一单元格中的主机。负值意味着 weigher 将优先选择运行该实例 的其他 单元格中的主机。

相关选项:

  • [filter_scheduler] weight_classes

disk_weight_multiplier = 1.0

浮点值

磁盘权重多率。

用于权衡可用磁盘空间的倍数。负数意味着堆栈与分散。

请注意,此设置仅在启用了 DiskWeigher weigher 时才会影响调度。

可能的值:

  • 整数或浮点值,其中值对应于此 weigher 的多元比率。

enabled_filters = ['AvailabilityZoneFilter', 'ComputeFilter', 'ComputeCapabilitiesFilter', 'ImagePropertiesFilter', 'ServerGroupAntiAffinityFilter', 'ServerGroupAffinityFilter']

列出值

调度程序将使用的过滤器。

用于过滤主机的过滤类名称列表。这些过滤器将按照列出的顺序应用,以便首先将限制性最强的过滤器设置为更高的过滤过程。

此选项中的所有过滤器 都必须 出现在 [scheduler_filter] available_filter 选项中,或者会引发 SchedulerHostFilterNotFound 异常。

可能的值:

  • 零个或更多字符串的列表,其中每个字符串都对应于用于选择主机的过滤器名称

相关选项:

  • [filter_scheduler] available_filters

host_subset_size = 1

整数值

调度程序选择的最佳主机子集的大小。

新实例将调度到从 N best 主机的子集随机选择的主机上,其中 N 是此选项所设置的值。

把它设置为大于 1 的值可降低多个调度程序进程处理类似请求的几率将选择同一主机,从而造成潜在的竞争条件。通过从最适合请求的 N 主机中随机选择主机,会减少冲突的可能性。但是,您设置这个值越高,所选主机可能是给定请求的最佳选择。

可能的值:

  • 整数,整数对应于主机子集的大小。

hypervisor_version_weight_multiplier = 1.0

浮点值

管理程序版本权重倍数比率。

倍数用于根据报告的虚拟机监控程序版本对主机进行权重。负数字表示首选旧的主机,默认值是首选使用较新的主机来协助升级。

可能的值:

  • 整数或浮点值,其中值对应于此 weigher 的倍数比率。

Example:

  • 强烈建议您旧的主机

    1. code-block:: ini

      [filter_scheduler]
      hypervisor_version_weight_multiplier=-1000
  • 中等地首选新主机

    1. code-block:: ini

      [filter_scheduler]
      hypervisor_version_weight_multiplier=2.5
  • 禁用 weigher 影响

    1. code-block:: ini

      [filter_scheduler]
      hypervisor_version_weight_multiplier=0

相关选项:

  • [filter_scheduler] weight_classes

image_properties_default_architecture = None

字符串值

使用镜像属性过滤器时要使用的默认架构。

使用 ImagePropertiesFilter 时,您可以定义一个默认的架构,以便用户体验变得更加简单,并避免类似 x86_64 镜像登录 AARCH64 计算节点上,因为用户没有在 Glance 中指定 hw_architecture 属性。

可能的值:

  • CPU 架构,如 x86_64, aarch64, s390x。

io_ops_weight_multiplier = -1.0

浮点值

IO 操作权重多r比率。

这个选项决定了具有不同工作负载的主机是如何权衡的。负值(如默认值)将导致调度程序首选主机具有更轻的工作负载的主机,而正值则优先选择具有繁重工作负载的主机。查看它的另一个方法是,此选项的正值通常会将实例调度到已经忙碌的主机上,而负值则往往在更多主机之间分发工作负载。绝对值(无论是正还是负)控制 io_ops weigher 相对于其他 Weighers 的强度量。

请注意,只有启用了 IoOpsWeigher weigher 时,此设置才会影响调度。

可能的值:

  • 整数或浮点值,其中值对应于此 weigher 的多条比率。

相关选项:

  • [filter_scheduler] weight_classes

isolated_hosts = []

列表值

只能运行某些镜像的主机列表。

如果需要将一些镜像限制为仅在特定的指定主机上运行,请在此处列出这些主机名。

请注意,此设置仅在启用了 IsolatedHostsFilter 过滤器时影响调度。

可能的值:

  • 字符串列表,每个字符串对应于主机的名称

相关选项:

  • [filter_scheduler] isolated_images
  • [filter_scheduler] restrict_isolated_hosts_to_isolated_images

isolated_images = []

列表值

只能在特定主机上运行的镜像的 UUID 列表。

如果需要将某些镜像限制为仅在特定指定的主机上运行,请在此处列出这些镜像 UUID。

请注意,此设置仅在启用了 IsolatedHostsFilter 过滤器时影响调度。

可能的值:

  • UUID 字符串列表,其中每个字符串都对应于镜像的 UUID

相关选项:

  • [filter_scheduler] isolated_hosts
  • [filter_scheduler] restrict_isolated_hosts_to_isolated_images

max_instances_per_host = 50

整数值

主机上可以存在的最大实例数。

如果您需要限制任何给定主机上的实例数量,请将此选项设置为您要允许的最大实例数量。NumInstancesFilter 和 AggregateNumInstancesFilter 将拒绝任何至少具有多于此选项值的实例的主机。

请注意,此设置仅在启用了 NumInstancesFilterAggregateNumInstancesFilter 过滤器时影响调度。

可能的值:

  • 整数,其中整数对应于主机上可调度的最大实例。

相关选项:

  • [filter_scheduler] enabled_filters

max_io_ops_per_host = 8

整数值

在主机上主动执行 IO 的实例数量。

执行 IO 的实例包括以下状态:build, resize, snapshot, migrate, rescue, unshelve。

请注意,此设置仅在启用了 IoOpsFilter 过滤器时影响调度。

可能的值:

  • 整数,其中整数对应于任意给定主机上可以主动执行 IO 的最大实例数。

相关选项:

  • [filter_scheduler] enabled_filters

pci_weight_multiplier = 1.0

浮点值

PCI 设备关联性权重倍数.

PCI 设备关联性权重根据主机上的 PCI 设备数量以及实例请求的 PCI 设备数量计算权重。

请注意,只有启用了 PCIWeigher weigher 和 NUMATopologyFilter 过滤器时,此设置才会影响调度。

可能的值:

  • 正整数或浮点值,其中值对应于此 weigher 的倍数比率。

相关选项:

  • [filter_scheduler] weight_classes

ram_weight_multiplier = 1.0

浮点值

RAM 权重多器比率。

这个选项决定了具有更多或小于可用 RAM 的主机如何权衡。正值将导致调度程序首选使用更多可用 RAM 的主机,负数会导致调度程序首选使用较少的可用主机。查看它的另一个方法是此选项的正值往往会将实例分散到多个主机上,而负值往往会在调度到较早的主机前填充(stack)主机。绝对值(无论是正还是负值)控制 RAM weigher 相对于其他 Weighers 的强度量。

请注意,只有启用了 RAMWeigher weigher 时,此设置才会影响调度。

可能的值:

  • 整数或浮点值,其中值对应于此 weigher 的多条比率。

相关选项:

  • [filter_scheduler] weight_classes

restrict_isolated_hosts_to_isolated_images = True

布尔值

防止在隔离主机上构建非隔离镜像。

请注意,此设置仅在启用了 IsolatedHostsFilter 过滤器时影响调度。即使如此,这个选项不会影响对隔离镜像的请求行为,这将 始终 限制为隔离的主机。

相关选项:

  • [filter_scheduler] isolated_images
  • [filter_scheduler] isolated_hosts

shuffle_best_same_weighed_hosts = False

布尔值

启用在具有同样最佳权重的主机间分散实例。

[filter_scheduler] host_subset_size 为 1 (默认),但有大量的主机具有相同的 maximal weight 时,启用它很有用。在 Ironic 部署中,这种场景很常见,其中通常有很多裸机节点返回了相同的权重。在这种情况下,启用这个选项会减少重新调度事件的争用和机会。同时,它将使实例打包(即使在未权衡的情况下)会减少密度。

soft_affinity_weight_multiplier = 1.0

浮点值

用于权衡主机用于组软关联性的倍数。

请注意,只有启用了 ServerGroupSoftAffinityWeigher weigher 时,此设置才会影响调度。

可能的值:

  • 非负整数或浮点值,其中值对应于具有组软关联性的主机的权重倍数。

相关选项:

  • [filter_scheduler] weight_classes

soft_anti_affinity_weight_multiplier = 1.0

浮点值

用于 weighing 主机用于组 soft-anti-affinity 的倍数。

请注意,只有启用了 ServerGroupSoftAntiAffinityWeigher weigher 时,此设置才会影响调度。

可能的值:

  • 非负整数或浮点值,其中值对应于具有组软反关联性的主机的权重倍数。

相关选项:

  • [filter_scheduler] weight_classes

track_instance_changes = True

布尔值

启用查询单个主机以获取实例信息。

调度程序可能需要主机上实例的信息,以评估其过滤器和权重。此信息的最常见需求是(anti-) affinity 过滤器,该过滤器需要根据主机上已在运行的实例选择主机。

如果配置的过滤器和 weighers 不需要此信息,则禁用这个选项将提高性能。当跟踪开销证明过重时,可能会禁用它,虽然这会导致需要主机使用数据的类在每个请求上查询数据库。

  1. note::

    In a multi-cell (v2) setup where the cell MQ is separated from the
    top-level, computes cannot directly communicate with the scheduler. Thus,
    this option cannot be enabled in that scenario. See also the
    `[workarounds] disable_group_policy_check_upcall` option.

相关选项:

  • [filter_scheduler] enabled_filters
  • [workarounds] disable_group_policy_check_upcall

weight_classes = ['nova.scheduler.weights.all_weighers']

列出值

调度程序要使用的权衡。

只有通过过滤器的主机才会权衡。任何主机的权重从 0 开始,而 weighers 通过添加到或从之前所分配给的权重来对这些主机进行排序。权重可能会成为负数。实例将调度到 N 个最轻量级主机之一,其中 N 是 [filter_scheduler] host_subset_size

默认情况下,这设置为 Nova 中包含的所有 weighers。

可能的值:

  • 一个零个或多个字符串列表,每个字符串都对应于用于选择主机的 weigher 的名称

9.1.17. Glance

下表概述了 /etc/nova/nova.conf 文件中的 [glance] 组下可用的选项。

Expand
表 9.16. Glance
配置选项 = 默认值类型描述

api_servers = None

列表值

nova 可用的 glance api 服务器端点列表。

HTTPS 用于基于 ssl 的 glance api 服务器。

注意

端点发现的首选机制是通过 keystoneauth1 加载选项。只有您需要多个端点且因为某种原因无法使用负载均衡器时,才使用 api_servers。

可能的值:

  • 任何以 "scheme://hostname:port[/path]" (如 "http://10.0.1.0:9292" 或 "https://my.glance.server/image")格式的完全限定域名。

弃用自: 21.0.0

reason: 在 17.0.0 Queens 发行版本中添加了标准 keystoneauth1 Adapter 选项支持镜像服务配置。api_servers 选项被临时保留,以便消费者能够缩短实时负载平衡解决方案。

cafile = None

字符串值

验证 HTTP 连接时要使用的 PEM 编码证书颁发机构。

certFile = None

字符串值

PEM 编码的客户端证书证书文件

collect-timing = False

布尔值

收集每个 API 调用计时信息。

connect-retries = None

整数值

应该尝试连接错误的最大重试次数。

connect-retry-delay = None

浮点值

两次重试之间延迟(以秒为单位)用于连接错误。如果没有设置,则以 0.5 秒开始的指数重试,最多使用 60 秒。

debug = False

布尔值

使用 glanceclient 启用或禁用调试日志记录。

default_trusted_certificate_ids = []

列表值

应该信任的证书的证书 ID 列表。

可用作证书验证的默认可信证书 ID 列表。如果用户提供了带有实例 API 请求的可信证书 ID 列表,则此选项的值将被忽略。如果启用了签名验证和证书验证,并且如果用户未提供替代列表,则此选项的值将保留给实例数据。如果启用了证书验证时,如果用户必须提供可信证书 ID 列表,否则证书验证将失败。

相关选项:

  • 如果启用了 verify_glance_signatures 和 enable_certificate_validation,则可以使用此选项的值。

enable_certificate_validation = False

布尔值

启用用于镜像签名验证的证书验证。

在镜像签名验证 nova 期间,首先将使用与实例关联的可信证书集合来验证镜像的签名证书的有效性。如果证书验证失败,则不会执行签名验证,实例将放入错误状态。这为最终用户提供了更强的保证,确保镜像数据未经修改且可信。如果禁用,镜像签名验证仍然可以发生,但最终用户不会保证用于生成镜像签名的签名证书仍然是可信的。

相关选项:

  • 只有在启用了 verify_glance_signatures 时,此选项才会生效。
  • 启用此选项时,可以使用 default_trusted_certificate_ids 的值。

弃用自:16.0.0

原因: 此选项旨在简化利用镜像签名验证的部署转换。预期的状态长期用于签名验证和证书验证,以始终一起发生。

enable_rbd_download = False

布尔值

启用直接通过 RBD 下载 Glance 镜像。

允许计算主机直接从 Ceph 中快速下载和缓存镜像,而不是从 Glance API 快速下载并缓存镜像。这可能会使下载几十到几百 GB 镜像所需的时间从几十分钟减少到及十秒,但这需要基于 Ceph 的部署并需要可以从计算节点访问到 Ceph。

相关选项:

  • [glance] rbd_user
  • [glance] rbd_connect_timeout
  • [glance] rbd_pool
  • [glance] rbd_ceph_conf

endpoint-override = None

字符串值

始终使用此端点 URL 用于此客户端的请求。注意:应在此处指定未版本化的端点;若要请求特定的 API 版本,使用 version, min-version, 和/或 max-version 选项。

insecure = False

布尔值

验证 HTTPS 连接。

keyfile = None

字符串值

PEM 编码的客户端证书密钥文件

num_retries = 3

整数值

启用 glance 操作重试。

指定在将 / 下载镜像到 glance 时的重试次数。0 表示没有重试。

`rbd_ceph_conf = `

字符串值

要使用的 ceph 配置文件的路径。

相关选项:

  • 只有在 [glance] enable_rbd_download 设为 True 时才使用这个选项。

rbd_connect_timeout = 5

整数值

在最初连接到集群时,RADOS 客户端超时(以秒为单位)。

相关选项:

  • 只有在 [glance] enable_rbd_download 设为 True 时才使用这个选项。

`rbd_pool = `

字符串值

Glance 镜像存储为 rbd 卷的 RADOS 池。

相关选项:

  • 只有在 [glance] enable_rbd_download 设为 True 时才使用这个选项。

`rbd_user = `

字符串值

用于访问存储为 rbd 卷的 Glance 镜像的 RADOS 客户端名称。

相关选项:

  • 只有在 [glance] enable_rbd_download 设为 True 时才使用这个选项。

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 秒。

timeout = None

整数值

http 请求的超时值

valid-interfaces = ['internal', 'public']

列出值

用于端点 URL 的接口列表(按首选顺序排列)。

verify_glance_signatures = False

布尔值

启用镜像签名验证。

Nova 使用来自 glance 的镜像签名元数据,并在下载该镜像时验证签名。如果无法验证镜像签名,或者镜像签名元数据不完整或不可用,则 nova 将无法引导镜像,而是将实例置于错误状态。这为最终用户提供了对用于创建服务器的镜像数据的完整性的更强的保证。

相关选项:

  • key_manager 组中的选项,因为 key_manager 用于签名验证。
  • 以下的 enable_certificate_validation 和 default_trusted_certificate_ids 依赖于启用此选项。

9.1.18. guestfs

下表概述了 /etc/nova/nova.conf 文件中的 [guestfs] 组下可用的选项。

Expand
表 9.17. guestfs
配置选项 = 默认值类型Description

debug = False

布尔值

启用/禁用 guestfs 日志记录。

这会将 guestfs 配置为调试消息并将其推送到 OpenStack 日志记录系统。当设置为 True 时,它会跟踪 libguestfs API 调用并启用详细调试信息。要使用上述功能,必须安装"libguestfs"软件包。

相关选项:

由于 libguestfs 访问和修改由 libvirt 管理的虚拟机,应设置以下选项以授予这些虚拟机的访问权限。

  • libvirt.inject_key
  • libvirt.inject_partition
  • libvirt.inject_password

9.1.19. healthcheck

下表概述了 /etc/nova/nova.conf 文件中的 [healthcheck] 组下可用的选项。

Expand
表 9.18. healthcheck
配置选项 = 默认值类型Description

backends = []

列出值

可以执行健康检查的额外后端,并报告信息作为请求的一部分。

detailed = False

布尔值

作为响应的一部分,显示更详细的信息。安全备注:启用此选项可能会公开有关被监控服务的敏感详情。务必验证它是否不会违反您的安全策略。

disable_by_file_path = None

字符串值

检查是否存在文件,以确定应用程序是否在端口上运行。由 DisableByFileHealthcheck 插件使用。

disable_by_file_paths = []

列出值

根据端口检查是否存在文件,以确定应用程序是否在端口上运行。需要一个字符串的 "port:path" 列表。由 DisableByFilesPortsHealthcheck 插件使用。

path = /healthcheck

字符串值

响应 healtcheck 请求的路径。

9.1.20. hyperv

下表概述了 /etc/nova/nova.conf 文件中的 [hyperv] 组下可用的选项。

Expand
表 9.19. hyperv
配置选项 = 默认值类型Description

config_drive_cdrom = False

布尔值

将配置驱动器挂载为 CD 驱动器。

OpenStack 可以配置为将实例元数据写入配置驱动器,然后附加到实例启动前。配置驱动器可以作为磁盘驱动器(默认)或 CD 驱动器附加。

相关选项:

  • 这个选项有意义,将 force_config_drive 选项设置为 True,或者当创建实例的 REST API 调用时,将具有 --config-drive=True 标志。
  • config_drive_format 选项必须设置为 iso9660,才能将 CD 驱动器用作配置驱动器镜像。
  • 要将配置驱动器与 Hyper-V 一起使用,您必须将 mkisofs_cmd 值设置为 mkisofs.exe 安装的完整路径。另外,您必须将 qemu_img_cmd 值设置为 qemu-img 命令安装的完整路径。
  • 您可以通过将 force_config_drive 选项设置为 True,将 Compute 服务配置为始终创建配置驱动器。

config_drive_inject_password = False

布尔值

将密码注入配置驱动器。

启用后,可从配置驱动器镜像中提供管理员密码。

相关选项:

  • 这个选项与启用 Hyper-V 的其他选项一起使用时有意义,如 force_config_drive

dynamic_memory_ratio = 1.0

浮点值

动态内存比率

当设置为大于 1 的值时,启用动态内存分配(ballooning)。该值表示分配给实例的 RAM 总量及其启动 RAM 大小之间的比率。例如,1024MB RAM 的实例的 2.0 比例表示在启动时分配的 512MB RAM。

可能的值:

  • 1.0 :禁用动态内存分配(默认)。
  • 大于 1.0 的浮点值:启用分配总表示的 RAM 的分配,以便启动这个值。

enable_instance_metrics_collection = False

布尔值

启用实例指标集合

使用 Hyper-V 的指标 API 为实例启用指标集合。收集的数据可以由其他应用和服务检索,例如:Ceilometer。

enable_remotefx = False

布尔值

启用 RemoteFX 功能

这至少需要启用 Windows / Hyper-V Server 2012 R2 或更新版本和 RDS-Virtualization 功能的一个直接X 11 功能图形适配器。

带有 RemoteFX 的实例可使用以下类型额外规格请求:

OS:分辨率.客户机虚拟机屏幕分辨率大小.可接受值
1024x768, 1280x1024, 1600x1200, 1920x1200, 2560x1600, 3840x2160

3840x2160 仅适用于 Windows / Hyper-V Server 2016。

OS:监控.客户机虚拟机监控器数。可接受值
[1, 4] - Windows / Hyper-V Server 2012 R2 [1, 8] - Windows / Hyper-V Server 2016

os:vram.虚拟机虚拟机 VRAM 数量.仅在 Windows / Hyper-V Server 2016 上提供。可接受值:

64, 128, 256, 512, 1024

`instances_path_share = `

字符串值

实例路径共享

映射到 "instances_path" dir 的 Windows 共享的名称,由调整大小的功能用于将文件复制到目标主机。如果留空,则使用管理共享(隐藏网络共享),查找在本地使用相同的"instances_path"。

可能的值:

  • "":将使用管理共享(默认)。
  • Windows 共享的名称。

相关选项:

  • "instances_path": 此处这个选项为空时将使用的目录。

iscsi_initiator_list = []

列出值

用于稳定 iSCSI 会话的 iSCSI 启动器列表。

如果未指定,Microsoft iSCSI 启动器服务将选择启动器。

limit_cpu_features = False

布尔值

限制 CPU 功能

需要此标志来支持实时迁移到具有不同 CPU 功能的主机,并在实例创建过程中检查,以限制实例使用的 CPU 功能。

mounted_disk_query_retry_count = 10

整数值

挂载的磁盘查询重试计数

重试检查挂载磁盘的次数。查询运行,直到找到设备或达到重试计数为止。

可能的值:

  • 正整数值。建议大于 1 的值(默认值:10)。

相关选项:

  • 使用 "mounted_disk_query_retry_interval" 选项声明磁盘挂载重试之间的时间间隔。

mounted_disk_query_retry_interval = 5

整数值

挂载的磁盘查询重试间隔

检查挂载的磁盘之间的间隔(以秒为单位)。

可能的值:

  • 时间(以秒为单位:5)。

相关选项:

  • 当 mount_disk_query_retry_count 大于 1 时,这个选项是有意义的。
  • 重试循环使用 mount_disk_query_retry_count 和 mounted_disk_query_retry_interval 配置选项运行。

power_state_check_timeframe = 60

整数值

电源状态检查时间线

要检查实例电源状态的时间线会改变。这个选项用于通过指定时间线中的 WMI 接口从 Hyper-V 获取实例状态。

可能的值:

  • 以秒为单位的时间线(默认值:60)。

power_state_event_polling_interval = 2

整数值

电源状态事件轮询间隔

实例电源状态更改事件轮询频率。将电源状态事件的监听程序间隔设置为给定值。这个选项增强了重启自身实例的内部生命周期通知。Operator 不太可能更改这个值。

可能的值:

  • 时间(以秒为单位):2。

qemu_img_cmd = qemu-img.exe

字符串值

qemu-img 命令

一些镜像相关操作需要 QEMU-img,如在不同镜像类型间转换。您可以从 http://qemu.weilnetz.de/ 获得它,或安装 Cloudbase OpenStack Hyper-V Compute Driver (https://cloudbase.it/openstack-hyperv-driver/),这会自动为这个设置选项设置正确的路径。您可以提供 qemu-img.exe 的完整路径,或者在 PATH 环境变量中设置其路径,并将此选项保留为默认值。

可能的值:

  • qemu-img 可执行文件的名称,如果它与 nova-compute 服务或者其路径位于同一个目录中,则其路径位于 PATH 环境变量(Default)中。
  • qemu-img 命令的路径(DRIVELETTER:\PATH\TO\QEMU-IMG\COMMAND)。

相关选项:

  • 如果 config_drive_cdrom 选项为 False,则 qemu-img 将用于将 ISO 转换为 VHD,否则配置驱动器将保留 ISO。要将配置驱动器与 Hyper-V 一起使用,您必须将 mkisofs_cmd 值设置为 mkisofs.exe 安装的完整路径。

use_multipath_io = False

布尔值

在附加 iSCSI 或 FC 磁盘时使用多路径连接。

这要求启用多路径 IO Windows 功能。MPIO 必须配置为声明此类设备。

volume_attach_retry_count = 10

整数值

卷附加重试计数

重试附加卷的次数。卷附加会被重试,直到达到成功或给定的重试计数为止。

可能的值:

  • 正整数值(默认值:10)。

相关选项:

  • 使用 volume_attach_retry_interval 选项声明附加尝试之间的时间间隔。

volume_attach_retry_interval = 5

整数值

卷附加重试间隔

卷附加尝试间隔(以秒为单位)。

可能的值:

  • 时间(以秒为单位:5)。

相关选项:

  • 当 volume_attach_retry_count 大于 1 时,这个选项是有意义的。
  • 重试循环使用 volume_attach_retry_count 和 volume_attach_retry_interval 配置选项运行。

vswitch_name = None

字符串值

外部虚拟交换机名称

Hyper-V 虚拟交换机是基于软件的层-2 以太网网络交换机,可在安装 Hyper-V 服务器角色时获得。交换机包括以编程方式管理和可扩展的功能,将虚拟机连接至虚拟网络和物理网络。另外,Hyper-V 虚拟交换机为安全、隔离和服务级别提供了策略强制。此配置选项所代表的 vSwitch 必须是外部(而非内部或专用)。

可能的值:

  • 如果没有提供,则使用可用 vswitches 列表的第一个。此列表使用 WQL 进行查询。
  • 虚拟交换机名称。

wait_soft_reboot_seconds = 60

整数值

等待软重启秒数

软重启请求后等待实例关闭的秒数。如果实例没有在此窗口中关闭,我们会回退到硬重启。

可能的值:

  • 时间(以秒为单位:60)。

9.1.21. image_cache

下表概述了 /etc/nova/nova.conf 文件中的 [image_cache] 组下可用的选项。

Expand
表 9.20. image_cache
配置选项 = 默认值类型描述

manager_interval = 2400

整数值

镜像缓存管理器运行之间等待的秒数。

请注意,在多个 nova-compute 服务中将共享存储用于 [DEFAULT]/instances_path 配置选项时,这个定期可能会处理大量实例。同样,使用管理集群(如 vmwareapi.VMwareVCDriver)的计算驱动程序可能会导致处理大量实例。因此,您可能需要调整预期负载的时间间隔,或者仅在共享存储聚合中的一个 nova-compute 服务中运行。

可能的值:

  • 0 :以默认间隔运行 60 秒(不推荐)
  • -1: disable
  • 任何其它值

相关选项:

  • [DEFAULT]/compute_driver
  • [DEFAULT]/instances_path

precache_concurrency = 1

整数值

并行触发镜像预缓存的最大计算主机数量。

发出镜像预缓存请求时,将联系计算节点以启动下载。这个数字限制了并行发生的那些数量。数值越高会导致更多计算并行工作,并可能导致时间缩短完成操作,但也可能会导致镜像服务的 DDoS。较低数字会导致更多顺序操作,镜像服务负载较低,但可能会完成较长的运行时。

remove_unused_base_images = True

布尔值

是否应该删除未使用的基础镜像?

remove_unused_original_minimum_age_seconds = 86400

整数值

未使用的未调整基础镜像比不会删除的未调整基础镜像。

remove_unused_resized_minimum_age_seconds = 3600

整数值

未使用的调整了大小不长的基础镜像,不会被删除。

subdirectory_name = _base

字符串值

缓存镜像的位置。

这不是完整路径 - 只是相对于 $instances_path 的文件夹名称。对于 per-compute-host 缓存的镜像,设置为 base$my_ip

9.1.22. ironic

下表概述了 /etc/nova/nova.conf 文件中的 [ironic] 组下可用的选项。

Expand
表 9.21. ironic
配置选项 = 默认值类型Description

api_max_retries = 60

整数值

请求冲突时要重试的次数。如果设置为 0,则尝试一次,则不重试。

相关选项:

  • api_retry_interval

api_retry_interval = 2

整数值

重试请求前等待的秒数。

相关选项:

  • api_max_retries

auth-url = None

字符串值

身份验证 URL

auth_section = None

字符串值

从中加载插件特定选项的配置部分

auth_type = None

字符串值

要加载的身份验证类型

cafile = None

字符串值

验证 HTTP 连接时要使用的 PEM 编码证书颁发机构。

certFile = None

字符串值

PEM 编码的客户端证书证书文件

collect-timing = False

布尔值

收集每个 API 调用计时信息。

connect-retries = None

整数值

应该尝试连接错误的最大重试次数。

connect-retry-delay = None

浮点值

两次重试之间延迟(以秒为单位)用于连接错误。如果没有设置,则以 0.5 秒开始的指数重试,最多使用 60 秒。

domain-id = None

字符串值

范围的域 ID

domain-name = None

字符串值

范围为的域名

endpoint-override = None

字符串值

始终将此端点 URL 用于此客户端的请求。注意:应在此处指定未版本化的端点;若要请求特定的 API 版本,使用 version, min-version, 和/或 max-version 选项。

insecure = False

布尔值

验证 HTTPS 连接。

keyfile = None

字符串值

PEM 编码的客户端证书密钥文件

partition_key = None

字符串值

不区分大小写的键,将可能由此服务管理的节点集合限制为 Ironic 中的一组节点,其具有匹配的 conductor_group 属性。如果未设置,则所有可用节点将有资格由此服务管理。请注意,将其设置为空字符串("")将与默认编排器组匹配,并且与保留选项未设置不同。

password = None

字符串值

用户的密码

peer_list = []

列表值

使用这个 partition_key 配置值的所有 nova-compute 服务(包括此主机)的主机名列表。与 partition_key 值匹配的节点将在此处指定的所有服务之间分发。如果未设置 partition_key,这个选项将被忽略。

project-domain-id = None

字符串值

包含项目的域 ID

project-domain-name = None

字符串值

包含项目的域名

project-id = None

字符串值

项目 ID 的范围

project-name = None

字符串值

范围的项目名称

region-name = None

字符串值

用于端点 URL 发现的默认 region_name。

serial_console_state_timeout = 10

整数值

等待节点串口控制台状态更改的超时(秒)。设置为 0 可禁用超时。

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

字符串值

系统操作范围

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 的接口列表(按首选顺序排列)。

9.1.23. key_manager

下表概述了 /etc/nova/nova.conf 文件中的 [key_manager] 组下可用的选项。

Expand
表 9.22. key_manager
配置选项 = 默认值类型Description

auth_type = None

字符串值

要创建的身份验证凭证类型。可能的值有 token密码keystone_tokenkeystone_password。如果没有将上下文传递给凭证工厂,则需要此项。

auth_url = None

字符串值

使用此端点连接到 Keystone。

backend = barbican

字符串值

指定密钥管理器实现。选项为 "barbican" 和 "vault"。默认为 "barbican"。将支持之前使用 [key_manager]/api_class 设置的值。

domain_id = None

字符串值

域范围的域 ID。keystone_tokenkeystone_password auth_type 的可选选项。

domain_name = None

字符串值

域范围的域名。keystone_tokenkeystone_password auth_type 的可选选项。

fixed_key = None

字符串值

修复了密钥管理器返回的密钥,在 hex 中指定。

可能的值:

  • 空字符串或十六进制值中的键

password = None

字符串值

用于身份验证的密码。passwordkeystone_password auth_type 是必需的。

project_domain_id = None

字符串值

项目的域 ID。keystone_tokenkeystone_password auth_type 的可选选项。

project_domain_name = None

字符串值

项目的域名。keystone_tokenkeystone_password auth_type 的可选选项。

project_id = None

字符串值

项目范围的项目 ID。keystone_tokenkeystone_password auth_type 的可选选项。

project_name = None

字符串值

项目范围的项目名称。keystone_tokenkeystone_password auth_type 的可选选项。

reauthenticate = True

布尔值

如果当前令牌即将过期,允许获取新令牌。keystone_tokenkeystone_password auth_type 的可选选项。

token = None

字符串值

用于身份验证的令牌。如果没有将上下文传递给凭证工厂,tokenkeystone_token auth_type 需要。

trust_id = None

字符串值

信任范围的信任 ID。keystone_tokenkeystone_password auth_type 的可选选项。

user_domain_id = None

字符串值

用于身份验证的用户域 ID。keystone_tokenkeystone_password auth_type 的可选选项。

user_domain_name = None

字符串值

用于身份验证的用户域名。keystone_tokenkeystone_password auth_type 的可选选项。

user_id = None

字符串值

用于身份验证的用户 ID。keystone_tokenkeystone_password auth_type 的可选选项。

username = None

字符串值

用于身份验证的用户名。密码 auth_type 是必需的。keystone_password auth_type 的可选选项。

9.1.24. keystone

下表概述了 /etc/nova/nova.conf 文件中的 [keystone] 组下可用的选项。

Expand
表 9.23. keystone
配置选项 = 默认值类型Description

cafile = None

字符串值

在验证 HTTP 连接时使用的 PEM 编码证书颁发机构。

certFile = None

字符串值

PEM 编码的客户端证书证书文件

collect-timing = False

布尔值

收集每个API 调用时间信息。

connect-retries = None

整数值

应该尝试连接错误的最大重试次数。

connect-retry-delay = None

浮点值

连接错误两次重试之间的延迟(以秒为单位)。如果没有设置,则使用以 0.5 秒开始的指数重试,最多使用 60 秒。

endpoint-override = None

字符串值

始终使用此端点 URL 用于此客户端的请求。注意:应在此处指定未版本化的端点;若要请求特定的 API 版本,使用 version, min-version, 和/或 max-version 选项。

insecure = False

布尔值

验证 HTTPS 连接。

keyfile = None

字符串值

PEM 编码的客户端证书密钥文件

region-name = None

字符串值

端点 URL 发现的默认 region_name。

service-name = None

字符串值

用于端点 URL 发现的默认 service_name。

service-type = identity

字符串值

端点 URL 发现的默认 service_type。

split-loggers = False

布尔值

记录对多个日志记录器的请求。

status-code-retries = None

整数值

应该为可重试 HTTP 状态代码尝试的最大重试次数。

status-code-retry-delay = None

浮点值

可重试状态代码的两个重试之间的延迟(以秒为单位)。如果没有设置,则使用以 0.5 秒开始的指数重试,最多使用 60 秒。

timeout = None

整数值

http 请求的超时值

valid-interfaces = ['internal', 'public']

列出值

用于端点 URL 的接口列表(按首选顺序排列)。

9.1.25. keystone_authtoken

下表概述了 /etc/nova/nova.conf 文件中的 [keystone_authtoken] 组下可用的选项。

Expand
表 9.24. 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 = False

布尔值

(可选)使用 advanced (eventlet 安全) 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 端点,则不 应该与服务用户用来验证令牌的端点相同,因为普通的最终用户可能无法到达该端点。

9.1.26. libvirt

下表概述了 /etc/nova/nova.conf 文件中的 [libvirt] 组下可用的选项。

Expand
表 9.25. libvirt
配置选项 = 默认值类型Description

`connection_uri = `

字符串值

覆盖所选虚拟化类型的默认 libvirt URI。

如果设置,Nova 将使用此 URI 连接到 libvirt。

可能的值:

  • qemu:///system 等 URI。

    This is only necessary if the URI differs to the commonly known URIs
    for the chosen virtualization type.

相关选项:

  • virt_type :影响将什么用作默认值。

cpu_mode = None

字符串值

用于设置实例应具有的 CPU 模式。

如果 virt_type="kvm&verbar;qemu",则默认为 host-model,否则它将默认为 none

相关选项:

  • cpu_models :当 cpu_mode 设置为 custom 时,应只在设置。否则,会导致错误,实例启动将失败。

cpu_model_extra_flags = []

列出值

启用或禁用客户机 CPU 标记。

要显式启用或禁用 CPU 标记,请使用 +flag-flag - + 为客户及启用 CPU 标记,而 - 会禁用它。如果未指定 + 和,则会启用 标志,这是默认行为。例如,如果您指定以下内容(假设主机硬件和软件支持 CPU 模型和功能):

[libvirt]
cpu_mode = custom
cpu_models = Cascadelake-Server
cpu_model_extra_flags = -hle, -rtm, +ssbd, mtrr

Nova 将禁用 guest 的 hlertm 标志;它将启用 ssbdmttr (因为它使用 + 和前缀指定)。

CPU 标志不区分大小写。在以下示例中,客户机将禁用 pdpe1gb 标志;vmxpcid 标志将启用:

[libvirt]
cpu_mode = custom
cpu_models = Haswell-noTSX-IBRS
cpu_model_extra_flags = -PDPE1GB, +VMX, pcid

指定额外的 CPU 标志与 cpu_mode config 属性的所有三个可能值相结合: custom (这还要求通过 cpu_models config 属性指定显式 CPU 模型)、host-modelhost-passthrough

在某些情况下,您可能需要为 主机传递 CPU 模式配置额外的 CPU 标志,因为有时 QEMU 可能会禁用某些 CPU 功能。其中一个例子是 Intel 的"invtsc" (Invariable Time Stamp Counter) CPU 标记的 CPU 标记时,您需要将这个标志公开给 Nova 实例,您需要明确启用它。

cpu_model_extra_flags 的可能值取决于使用的 CPU 型号。对于给定 CPU 模型的可能 CPU 功能标记,请参阅 /usr/share/libvirt/cpu_map configured.xml

特定 CPU 标记的特殊备注: pc id (一个 Intel 处理器功能,因为应用 Meltdown CVE 修复而降低客户机性能下降)。使用自定义 CPU 模式配置此标志时,并非所有 CPU 型号(由 QEMU 和 libvirt 定义)需要它:

  • 包括 pcid 功能的唯一虚拟 CPU 型号是 Intel "Haswell"、"Broadwell" 和 "Skylake" 变体。
  • libvirt / QEMU CPU 型号 "Nehalem", "Westmere", "SandyBridge", 和 "IvyBridge" 默认不 会公开 pcid 功能,即使主机 CPU 相同名称包括它。i.e.在使用上述虚拟 CPU 模型时,需要明确指定 PCID

libvirt 驱动程序的默认 CPU 模式 host-model 将执行正确的操作,以处理客户机的 PCID CPU 标志,假设您正在运行更新的处理器 microcode、主机和客户机内核、libvirt 和 QEMU。 另一个模式 host-passthrough 检查硬件中是否有 PCID,如果将其直接传递给 Nova 客户机。因此,在使用 PCID 模式(host-modelhost-passthrough)的情况下,不需要使用 cpu_model_extra_flags

相关选项:

  • cpu_mode
  • cpu_models

cpu_models = []

列出值

主机支持的 CPU 模型列表。

预期列表是排序的,之前列出了更常见和不太高级 CPU 模型。下面是一个示例:SandyBridge ,IvyBridge,Haswell,Broad well,后者的 CPU 模型的功能更丰富的。

可能的值:

  • 可以通过 virsh cpu-models ARCH 找到命名的 CPU 型号,其中 ARCH 是您的主机架构。

相关选项:

  • cpu_mode :这只在您要配置(通过 cpu_models)特定命名 CPU 模型时设置为 custom。否则,会导致错误,实例启动将失败。
  • virt_type :只有虚拟化类型 kvmqemu 使用它。

    1. 注意:请小心,只指定可在硬件中完全支持的型号。

device_detach_attempts = 8

整数值

驱动程序尝试在 libvirt 中分离设备的最大尝试次数。

相关选项:

  • :oslo.config:option:libvirt.device_detach_timeout

device_detach_timeout = 20

整数值

在重新触发 detach 前,驱动程序等待成功或 libvirt 中的失败事件的最大秒数。

相关选项:

  • :oslo.config:option:libvirt.device_detach_attempts

disk_cachemodes = []

列出值

用于不同磁盘类型的特定缓存模式。

例如: file=directsync,block=none,network=writeback

对于本地或远程附加存储,建议您使用 writethrough (默认)模式,因为它确保了在客户机中运行的应用程序具有可接受的 I/O 性能,特别是对于读操作。但是,建议在远程 NFS 存储中使用缓存模式 none,因为直接 I/O 操作(O_DIRECT)性能优于同步 I/O 操作(使用 O_SYNC)。缓存模式 none 有效地将所有客户机 I/O 操作转换为主机上的直接 I/O 操作,这是此环境中的 NFS 客户端。

可能的缓存模式:

  • 默认:"取决具体情况" — 对于 Nova 管理的磁盘,none,如果主机文件系统符合 Linux 的 O_DIRECT 规格;否则为 writeback。对于卷驱动程序,默认决定于具体的驱动程序:除了 SMBFS 和 Virtuzzo (使用 writeback)外,都为 none
  • none :当缓存模式设置为 none 时,主机页面缓存被禁用,但客户机启用了磁盘写入缓存。在这个模式中,客户机中的写入性能是最佳,因为写入操作会绕过主机页面缓存,并直接进入磁盘写入缓存。如果磁盘写入缓存有电池支持,或者如果客户机传输数据中的应用程序或存储堆栈正确传输数据(通过 fsync 操作或文件系统障碍),则可以确保数据完整性。但是,由于主机页面缓存被禁用,客户机中的读取性能与启用了主机页面缓存的模式不同,如 writethrough 模式。可共享磁盘设备(如用于多附加块存储卷)将将其缓存模式设置为 none,而无论配置是什么。
  • Writethrough :当缓存设置为 writethrough 模式时,主机页面缓存会被启用,但客户机禁用了磁盘写入缓存。因此,这个缓存模式可确保数据完整性,即使客户机中的应用程序和存储堆栈无法正确将数据传送到持久性存储(通过 fsync 操作或文件系统障碍)。由于在这个模式下启用了主机页面缓存,因此在客户机中运行的应用程序的读取性能通常更好。但是,写入性能可能会降低,因为磁盘写入缓存被禁用。
  • writeback :当缓存设置为 writeback 模式时,会为客户机启用主机页面缓存和磁盘写入缓存。因此,在客户机中运行的应用程序的 I/O 性能良好,但数据在电源失败时不受保护。因此,只建议这个缓存模式用于潜在的数据丢失的临时数据。注意:Certain backend disk 机制可以提供安全回写缓存语义。专门用于绕过主机页面缓存,如 QEMU 的集成式 RBD 驱动程序。Ceph 文档建议将其设置为回写以获得最大性能,同时保持数据安全。
  • directsync: 与 "writethrough" 类似,但它绕过主机页面缓存。
  • insecure :不安全缓存模式完全忽略缓存传输操作。顾名思义,此缓存模式应仅用于数据丢失的临时数据。这个模式可用于加快客户机安装,但您应该在生产环境中切换到另一个缓存模式。

disk_prefix = None

字符串值

覆盖附加到实例的设备的默认磁盘前缀。

如果设置,这用于识别总线的可用磁盘空间名称。

可能的值:

  • 任何会导致有效的磁盘设备名称(如 sdahda )的前缀。只有设备名称与虚拟化类型的常用设备名称前缀不同时才需要,如 sd、xvd、uvd、uvd、vd。

相关选项:

  • virt_type :使用哪个设备类型,这决定了默认磁盘前缀。

enabled_perf_events = []

列表值

监视和收集统计数据的性能事件。

这将允许您指定事件列表来监控客户机的低级别性能,并通过 libvirt 驱动程序收集相关统计信息,后者又使用 Linux 内核的 perf 基础架构。设置此配置属性后,Nova 将生成 libvirt 客户机 XML 来监控指定的事件。

例如,要监控 CPU 周期(total/elapsed)和缓存未命中的计数,请按如下所示启用它们:

[libvirt]
enabled_perf_events = cpu_clock, cache_misses

可能的值:字符串列表。支持的事件列表包括在 这里'__。请注意,Intel CMT 事件 - 'cmtmbmbtmbml - 由最新的 Linux 内核版本(4.14+)不支持,nova 会忽略。

__ https://libvirt.org/formatdomain.html#elementsPerf.

file_backed_memory = 0

整数值

可用容量(以 MiB 为单位)用于文件支持的内存。

设置为 0 可禁用文件支持的内存。

启用后,实例将在 /etc/libvirt/qemu.confmemory_backing_dir 选项指定的目录中创建内存文件。默认位置为 /var/lib/libvirt/qemu/ram

启用后,为此选项定义的值会报告为节点内存容量。计算节点系统内存将通过内核的 pagecache 机制用作文件支持的内存的缓存。

  1. 注意: 这个功能与巨页不兼容。
  2. 注意: 这个功能与内存过量使用不兼容。

相关选项:

  • virt_type 必须设置为 kvmqemu
  • ram_allocation_ratio 必须设置为 1.0。

gid_maps = []

列表值

guid 目标和范围列表。Syntax 是 guest-gid:host-gid:count。允许最多 5 个。

hw_disk_discard = None

字符串值

nova 受管磁盘的丢弃选项。

需要:

  • Libvirt >= 1.0.6
  • qemu >= 1.5 (原始格式)
  • qemu >= 1.6 (qcow2 格式)

hw_machine_type = None

列表值

对于 qemu 或 KVM 客户机,将此选项设置为为每个主机架构指定默认机器类型。您可以通过检查 :command:virsh capabilities 命令的输出来查找环境中支持的机器类型列表。此配置选项的值格式为 host-arch=machine-type。例如: x86_64=machinetype1,armv7l=machinetype2

`images_rbd_ceph_conf = `

字符串值

要使用的 ceph 配置文件的路径

images_rbd_glance_copy_poll_interval = 15

整数值

要求将镜像复制到本地 rbd 存储后轮询 Glance 的时间间隔(以秒为单位)。这会影响我们要求 Glance 报告复制完成的频率,因此应该很快注意到这个问题,但我们不会给 Glance 服务器产生意外负载。

相关选项:

  • images_type - 必须设置为 rbd
  • images_rbd_glance_store_name - 必须设置为存储名称

images_rbd_glance_copy_timeout = 600

整数值

我们将等待 Glance 完成镜像副本到本地 rbd 存储的总最长时间。这应该足够长,允许将大型镜像复制到本地存储之间的网络链接和镜像通常所在的位置。设置的不足时间只是捕获镜像副本停滞或继续太慢时很有用的情况。Glance 将报告实际错误,并根据轮询间隔进行通知。

相关选项:* images_type - 必须设置为 rbd * images_rbd_glance_store_name - 必须设置为存储名称 * images_rbd_glance_copy_poll_interval - 控制故障 time-to-notice

`images_rbd_glance_store_name = `

字符串值

代表此节点使用的 rbd 集群的 Glance 存储的名称。如果设置,这将允许 Nova 请求 Glance 将现有的非本地存储中的镜像复制到此选项命名的位置,以便维护正确的写时复制行为。

相关选项:

  • images_type - 必须设置为 rbd
  • images_rbd_glance_copy_poll_interval - 控制状态轮询频率
  • images_rbd_glance_copy_timeout - 控制整个复制超时

images_rbd_pool = rbd

字符串值

存储 rbd 卷的 RADOS 池

images_type = default

字符串值

VM 镜像格式.

如果指定了 default,则使用 use_cow_images 标志而不是这个标志。

相关选项:

  • compute.use_cow_images
  • images_volume_group
  • [workarounds]/ensure_libvirt_rbd_instance_dir_cleanup
  • compute.force_raw_images

images_volume_group = None

字符串值

当您指定 images_type=lvm 时,用于虚拟机镜像的 LVM 卷组

相关选项:

  • images_type

inject_key = False

布尔值

允许在引导时注入 SSH 密钥。

镜像中不需要代理来执行此操作。如果主机上的 libguestfs 可用,它将被使用。否则会使用 nbd。镜像的文件系统将被挂载,SSH 密钥(在 REST API 调用中提供的)将作为 root 用户的 SSH 密钥注入,并附加到该用户的 authorized_keys。如有必要,将设置 SELinux 上下文。请注意,当实例从卷启动时,无法 注入。

此配置选项将启用直接修改实例磁盘,不会影响 cloud-init 可使用 config_drive 选项或元数据服务的数据。

仅限 Linux 发行版客户机。

相关选项:

  • inject_partition :此选项将决定文件系统的发现和使用。它还可以禁用注入。

inject_partition = -2

整数值

决定如何选择文件系统来将数据注入到其中。

libguestfs 用于注入数据。如果 libguestfs 无法确定 root 分区(因为存在多个根分区,或者无法挂载文件系统),则会导致错误,实例无法引导。

可能的值:

  • -2 TOKEN 禁用数据注入。
  • -1 swig 找到使用 libguestfs 挂载的文件系统的根分区
  • 0 swig 镜像没有分区
  • >0 327 用于注入的分区数

Linux 发行版客户机。

相关选项:

  • inject_key :如果此选项允许注入 SSH 密钥,它依赖于值大于或等于 -1 用于 inject_partition
  • inject_password :如果此选项允许注入 admin 密码,它依赖于值大于或等于 -1 用于 inject_partition
  • [guestfs]/debug 您可以使用此配置选项启用 debug 日志级别 libguestfs。更详细的输出有助于调试问题。
  • virt_type :如果您使用 lxc 作为 virt_type,它将被视为单个分区镜像

inject_password = False

布尔值

仅允许在创建和重建过程中为实例注入管理员密码。

镜像中没有代理来执行此操作。如果主机上有 libguestfs,它将被使用。否则会使用 nbd。镜像的文件系统将被挂载,并且 admin 密码(在 REST API 调用中提供)将作为 root 用户的密码注入。如果没有 root 用户可用,则不会启动实例,并抛出错误。请注意,当实例从卷启动时,无法进行 注入。

Linux 发行版客户机。

可能的值:

  • true :允许注入。
  • false :不允许注入。任何通过 REST API 提供的管理员密码都将被静默忽略。

相关选项:

  • inject_partition :该选项将决定文件系统的发现和使用。它还可以完全禁用注入。

iscsi_iface = None

字符串值

需要用于连接到目标的 iSCSI 传输 iface,以防需要卸载支持。

默认格式为 < transport_name>.<hwaddress& gt;,其中 & lt;transport_name& gt; 是 (be2iscsi,bnx2i,cxgb3i,cxgb4i, cxgb4i ,qla4xxx,ocs,tcp)之一,其中 < hwaddress > 是接口的 MAC 地址,并可通过 iscsiadm -m iface 命令生成。不要将 iscsi_iface 参数与实际传输名称一起提供。

iser_use_multipath = False

布尔值

使用 iSER 卷的多路径连接。

iSER 卷可以作为多路径设备连接。这将提供高可用性和容错功能。

live_migration_bandwidth = 0

整数值

迁移期间要使用的最大带宽(以 MiB/s)。

如果设置为 0,则虚拟机监控程序将选择合适的默认值。有些 hypervisor 不支持此功能,如果带宽不是 0,将返回错误。详情请查看 libvirt 文档。

live_migration_completion_timeout = 800

整数值

迁移在中止操作前成功传输数据的时间(以秒为单位)。

值是要传输的每个 GiB 客户机 RAM + 磁盘,其绑定最少为 2 GiB。通常应大于停机时间延迟,以等待停机步骤。设置为 0 以禁用超时。

相关选项:

  • live_migration_downtime
  • live_migration_downtime_steps
  • live_migration_downtime_delay

live_migration_downtime = 500

整数值

实时迁移切换允许的最大停机时间(以毫秒为单位)。

将向上舍入为最小 100ms。如果要允许实时迁移更快地完成,或者避免实时迁移超时错误,可以增加这个值。在实时迁移切换过程中,您可以增加这个值。

相关选项:

  • live_migration_completion_timeout

live_migration_downtime_delay = 75

整数值

迁移停机时间的每个步骤之间等待的时间(以秒为单位)。

最小延迟为 3 秒。值是要传输的每个 GiB 客户机 RAM + 磁盘,每个设备至少为 2 GiB。

live_migration_downtime_steps = 10

整数值

达到最大停机时间值的增量步骤数。

将向上舍入为至少 3 个步骤。

live_migration_inbound_addr = None

主机地址值

用作此主机的实时迁移地址的 IP 地址。

这个选项表示在迁移到此 hypervisor 时应用作实时迁移流量的目标的 IP 地址。然后,实时迁移流量的源使用此元数据来构建迁移 URI。

如果此选项设置为 None,则将使用迁移目标计算节点的主机名。

这个选项对于在实时迁移流量可能会显著影响 network plane 的环境中非常有用。实时迁移流量的一个单独的网络可以使用此配置选项,并避免对管理网络的影响。

live_migration_permit_auto_converge = False

布尔值

此选项允许 nova 使用自动聚合启动实时迁移。

如果正在进行实时迁移缓慢,则自动聚合 CPU 节流。只有在此标志被设置为 True 且因为正在使用的 libvirt 和 QEMU 版本不可用时,才会使用 autoverge。

相关选项:

  • live_migration_permit_post_copy

live_migration_permit_post_copy = False

布尔值

此选项允许 nova 将实时迁移切换到复制后模式,即,在迁移完成前将活动虚拟机切换到目标节点上的一个虚拟机,从而确保需要传输的内存上的上限。后复制需要 libvirt>=1.3.3 和 QEMU>=2.5.0。

允许后,如果达到 live_migration_completion_timeout 定义的超时,且 ,则 live_migration_timeout_action 设置为 force_complete,则 post-copy 模式将自动激活。请注意,如果您没有超时,或者选择使用 abort,即 live_migration_completion_timeout = 0, 则没有自动切换到 post-copy。

实时迁移强制完成 API 在允许后使用 post-copy。如果复制后模式不可用,则强制完成回退到暂停虚拟机,以确保实时迁移操作完成。

使用 post-copy 模式时,如果源和目标主机丢失网络连接,则需要重启实时迁移的虚拟机。如需了解更多详细信息,请参阅管理指南。

相关选项:

  • live_migration_permit_auto_converge
  • live_migration_timeout_action

live_migration_scheme = None

字符串值

实时迁移由实时迁移流量源使用的 URI 方案。

覆盖默认的 libvirt 实时迁移方案(这依赖于 virt_type)。如果此选项设置为 None,则 nova 将自动根据虚拟机监控程序选择适合的默认默认值。不建议您修改,除非您非常确定 hypervisor 支持特定方案。

相关选项:

  • virt_type :此选项仅在将 virt_type 设置为 kvmqemu 时才有意义。
  • live_migration_uri: 如果 live_migration_uri 值不是 None,则用于从 live_migration_uri 中进行实时迁移的方案。

live_migration_timeout_action = abort

字符串值

这个选项将用于确定在 live_migration_completion_timeout 过期后针对虚拟机执行的操作。默认情况下,实时迁移操作将在完成超时后中止。如果设置为 force_complete,则计算服务将暂停虚拟机或触发 Post-copy,具体取决于启用后复制(live_migration_permit_post_copy 被设为 True)。

相关选项:

  • live_migration_completion_timeout
  • live_migration_permit_post_copy

live_migration_tunnelled = False

布尔值

启用隧道迁移。

这个选项启用隧道迁移功能,其中迁移数据通过 libvirtd 连接传输。如果启用,我们使用 VIR_MIGRATE_TUNNELLED 迁移标志,以避免配置网络以允许直接管理程序到虚拟机监控程序通信。如果为 False,请使用原生传输。如果没有设置,Nova 将根据虚拟机监控程序中的原生加密支持来选择可行的默认默认值。启用此选项将一定会影响性能。

请注意,这个选项与块迁移的使用不兼容。

弃用自: 23.0.0

原因 :"隧道实时迁移"有两个固有的限制:它无法处理非共享存储设置中的磁盘实时迁移;并且其性能具有巨大的性能成本。这两个问题都由 ''live_migration_with_native_tls''(需要预先配置的 TLS 环境)解决,这是保护所有实时迁移流的建议方法。

live_migration_uri = None

字符串值

实时迁移目标 URI,供实时迁移流量的来源使用。

覆盖默认的 libvirt 实时迁移目标 URI (依赖于 virt_type)。任何包括的 "%s" 被替换为迁移目标主机名,如果设置了,则替换 live_migration_inbound_addr

如果此选项被设置为 None (默认值),Nova 将根据以下列表中的 4 支持的 virt_type 自动生成 live_migration_uri 值:

  • kvm: qemu+tcp://%s/system
  • qemu: qemu+tcp://%s/system
  • parallels: parallels+tcp://%s/system

相关选项:

  • live_migration_inbound_addr: 如果 live_migration_inbound_addr 值不是 None,并且 live_migration_tunnelled 为 False,将使用目标计算节点的 ip/hostname 地址而不是 live_migration_uri 作为作实时迁移的 uri。
  • live_migration_scheme :如果没有设置 live_migration_uri,则用于从 live_migration_scheme 进行实时迁移的方案。

弃用自:15.0.0

reason: live_migration_uri 已弃用,用于分别更改实时迁移方案和目标 URI: ''live_migration_scheme' 和 ''live_migration_inbound_addr' 的其他选项。

live_migration_with_native_tls = False

布尔值

在实时迁移时使用 QEMU 原生 TLS 加密。

此选项允许通过原生 TLS 传输迁移流(guest RAM 设备状态)和磁盘流,例如在 QEMU 中内置的 TLS 支持。

先决条件:在所有相关 Compute 节点上正确配置 TLS 环境。这意味着,证书颁发机构(CA)、服务器、客户端证书、其相应的密钥及其文件未命中,并进行验证。

备注:

  • 要使迁移流和磁盘流加密(也称为"块迁移"),live_migration_with_native_tls 是首选的配置属性,而不是 live_migration_tunnelled
  • 因为两个主要原因,live_migration_tunnelled 将被弃用:(a)它会产生巨大的性能损失;(b)它与块迁移不兼容。因此,如果您的计算节点至少具有 libvirt 4.4.0 和 QEMU 2.11.0,则强烈建议您使用 live_migration_with_native_tls
  • live_migration_tunnelledlive_migration_with_native_tls 不应同时使用。
  • live_migration_tunnelled 不同,live_migration_with_native_tls 与块迁移兼容。也就是说,使用此选项 NBD 流,通过哪个磁盘迁移到目标主机。

相关选项:

live_migration_tunnelled :此通过 libvirtd 传输迁移流(而不是磁盘流)。

max_queues = None

整数值

创建多队列客户端时可启用的最大 virtio 队列对数。分配的 virtio 队列数量将减少客户机所请求的 CPU 以及定义的最大值。默认情况下,这个值被设置为 none,这意味着会根据报告的内核主版本使用旧的限制。

mem_stats_period_seconds = 10

整数值

内存用量统计周期的秒数。零或负值意味着禁用内存用量统计。

nfs_mount_options = None

字符串值

传递给 NFS 客户端的挂载选项。详情请查看 nfs man page 的 部分。

挂载选项控制挂载文件系统的方式,以及访问此挂载点上的文件时 NFS 客户端的行为方式。

可能的值:

  • 代表以逗号分开的挂载选项的任何字符串。
  • 示例字符串: vers=3,lookupcache=pos

nfs_mount_point_base = $state_path/mnt

字符串值

将 NFS 卷挂载到计算节点上的目录。默认为安装 nova 的 Python 模块的位置的 mnt 目录。

NFS 为 OpenStack 块存储服务提供共享存储。

可能的值:

  • 代表挂载点的绝对路径的字符串。

num_aoe_discover_tries = 3

整数值

重新发现 AoE 目标来查找卷的次数。

Nova 支持通过 AOE (以太网上的ATA)附加到主机。这个选项允许用户指定可用于发现 AoE 设备的最大重试尝试次数。

num_iser_scan_tries = 5

整数值

扫描 iSER 目标来查找卷的次数。

iSER 是一个服务器网络协议,扩展 iSCSI 协议以使用远程直接内存访问(RDMA)。这个选项允许用户指定查找 iSER 卷的最大扫描尝试次数。

num_memory_encrypted_guests = None

整数值

具有加密内存的最大客户机数量,可在此计算主机上运行。

现在,这只与支持 SEV (安全加密虚拟化)的 AMD 机器相关。此类机器在其内存控制器中具有有限数量的插槽来存储加密密钥。每个运行带有加密内存的客户机都将消耗其中一个插槽。

未来可能会将选项用于其他同等技术。如果计算机不支持内存加密,则忽略 选项,并且清单将设置为 0。

如果机器确实支持内存加密,则现在为 None 表示有效的无限制清单,即 Nova 不会对可启动的 SEV 客户机数量实施任何限制,即使底层硬件将强制实施自己的限制。但是,预计将来会从硬件中自动检测清单,此时 None 将导致自动检测自动实施正确的限制。

  1. note::

    It is recommended to read :ref:`the deployment documentation's
    section on this option <num_memory_encrypted_guests>` before
    deciding whether to configure this setting or leave it at the
    default.

相关选项:

  • :oslo.config:option:libvirt.virt_type 必须设置为 kvm
  • 建议您在 :oslo.config:option:libvirt.hw_machine_type; :ref: deploy-sev-enabled-infrastructure 中包含 x86_64=q35

num_nvme_discover_tries = 5

整数值

重新发现 NVMe 目标以查找卷的次数

Nova 支持通过 NVMe 附加到主机(Non-Volatile Memory Express)。这个选项允许用户指定可用于发现 NVMe 设备的最大重试尝试次数。

num_pcie_ports = 0

整数值

实例将获取的 PCIe 端口数量。

libvirt 允许一个目标实例的自定义 PCIe 端口(pcie-root-port 控制器)。其中一些将默认使用,其余则可用于热插拔。

默认情况下,我们只有 1-2 个可用端口来限制热插拔。

更多信息: https://github.com/qemu/qemu/blob/master/docs/pcie.txt

由于 aarch64/virt 最大值的 QEMU 限制设置为 28

默认值 0 将计算端口数量移到 libvirt。

num_volume_scan_tries = 5

整数值

扫描给定存储协议来查找卷的次数。

pmem_namespaces = []

列出值

配置持久内存(pmem)命名空间。

这些命名空间必须已在主机上创建。此配置选项采用以下格式:

"$LABEL:$NSNAME[&verbar;$NSNAME][,$LABEL:$NSNAME[&verbar;$NSNAME]]"
  • $NSNAME 是 pmem 命名空间的名称。
  • $LABEL 代表一个资源类,它用于生成资源类名称,作为 CUSTOM_PMEM_NAMESPACE_$LABEL

    例如:
    [libvirt] pmem_namespaces=128G:ns0|ns1|ns2|ns3,262144MB:ns4|ns5,MEDIUM:ns6|ns7

quobyte_client_cfg = None

字符串值

到 Quobyte 客户端配置文件的路径。

quobyte_mount_point_base = $state_path/mnt

字符串值

计算节点上挂载 Quobyte 卷的目录。

Nova 支持 Quobyte 卷驱动程序,它允许在 Quobyte 存储后端上存储块存储服务卷。此 Option 指定挂载 Quobyte 卷的目录的路径。

可能的值:

  • 代表挂载点的绝对路径的字符串。

rbd_connect_timeout = 5

整数值

在最初连接到集群时,RADOS 客户端超时(以秒为单位)。

rbd_destroy_volume_retries = 12

整数值

销毁 RBD 卷的重试次数。

相关选项:

  • [libvirt]/images_type = rbd

rbd_destroy_volume_retry_interval = 5

整数值

每次连续重试之间等待的秒数,以销毁 RBD 卷。

相关选项:

  • [libvirt]/images_type = rbd

rbd_secret_uuid = None

字符串值

rbd_user 卷的机密的 libvirt UUID。

rbd_user = None

字符串值

用于访问 rbd (RADOS 块设备)卷的 RADOS 客户端名称。

在连接并使用 Ceph RBD 服务器进行身份验证时,libvirt 将引用此用户。

realtime_scheduler_priority = 1

整数值

在客户机的实时主机上下文 vCPU 中,将在该调度优先级中运行。优先级取决于主机内核(通常为 1-99)

remote_filesystem_transport = ssh

字符串值

libvirt 远程文件操作的传输方法。

因为 libvirt 无法使用 RPC 通过网络将文件复制到其他计算节点,所以必须使用其他方法:

  • 在远程主机上创建目录
  • 在远程主机上创建文件
  • 从远程主机中删除文件
  • 将文件复制到远程主机

rescue_image_id = None

字符串值

从中引导的镜像的 ID,以便从损坏的实例救援数据。

如果 rescue REST API 操作不提供要使用的镜像的 ID,则会使用此 ID 引用的镜像。如果没有设置这个选项,则使用实例中的镜像。

可能的值:

  • 镜像 ID 或无任何内容。如果它指向 Amazon Machine Image (AMI),请考虑设置配置选项 rescue_kernel_idrescue_ramdisk_id。如果没有设置任何设置,则使用实例的镜像。

相关选项:

  • rescue_kernel_id :如果所选的救援镜像允许单独定义其内核磁盘,则使用此选项的值(如果指定)。当 Amazon 的 AMI/AKI/ARI 镜像格式用于救援镜像时,会出现这种情况。
  • rescue_ramdisk_id :如果所选的救援镜像允许单独定义其 RAM 磁盘,则使用此选项的值(如果指定)。当 Amazon 的 AMI/AKI/ARI 镜像格式用于救援镜像时,会出现这种情况。

rescue_kernel_id = None

字符串值

与救援镜像一起使用的内核(AKI)镜像的 ID。

如果所选的救援镜像允许独立定义其内核磁盘,则使用这个选项的值(如果指定)。当 Amazon 的 AMI/AKI/ARI 镜像格式用于救援镜像时,会出现这种情况。

可能的值:

  • 内核镜像的 ID 或无任何内容。如果未指定任何内容,则使用实例的内核磁盘(如果其启动)。

相关选项:

  • rescue_image_id :如果该选项指向 Amazon 的 AMI/AKI/ARI 镜像格式中的镜像,则使用 rescue_kernel_id 也很有用。

rescue_ramdisk_id = None

字符串值

用于救援镜像的 RAM 磁盘(ARI)镜像的 ID。

如果所选的救援镜像允许单独定义其 RAM 磁盘,则使用此选项的值(如果指定)。当 Amazon 的 AMI/AKI/ARI 镜像格式用于救援镜像时,会出现这种情况。

可能的值:

  • RAM 磁盘镜像或无任何内容的 ID。如果未指定任何内容,则使用实例的 RAM 磁盘(如果实例启动)。

相关选项:

  • rescue_image_id :如果该选项指向 Amazon 的 AMI/AKI/ARI 镜像格式中的镜像,则使用 rescue_ramdisk_id 也很有用。

rng_dev_path = /dev/urandom

字符串值

用作主机上熵源的 RNG (随机数字生成器)设备的路径。从 libvirt 1.3.4 开始,所有路径(在读取时返回随机数字)都被接受。推荐的熵源是 /dev/urandom HEKETI-wagonit 是非阻止的,因此相对快,并避免了 /dev/random 的限制,它是一个旧的接口。如需了解更多详细信息(以及不同 RNG 源之间的比较),请参阅 Linux 内核 API 文档中的"用法"部分 [u]random:http://man7.org/linux/man-pages/man4/urandom.4.htmlhttp://man7.org/linux/man-pages/man7/random.7.html

rx_queue_size = None

整数值

配置 virtio rx 队列大小。

这个选项仅适用于带有 vhost 和 vhost-user 后端的 virtio-net 设备。仅适用于 QEMU/KVM。需要 libvirt v2.3 QEMU v2.7。

`smbfs_mount_options = `

字符串值

传递给 SMBFS 客户端的挂载选项。

提供 SMBFS 选项作为包含所有参数的单个字符串。详情请查看 mount.cifs man page。请注意,必须指定 libvirt-qemu uidgid

smbfs_mount_point_base = $state_path/mnt

字符串值

将 SMBFS 共享挂载到计算节点上的目录。

snapshot_compression = False

布尔值

qcow2 镜像启用快照压缩。

注意:您可以将 snapshot_image_format 设置为 qcow2,以强制所有快照采用 qcow2 格式,独立于其原始镜像类型。

相关选项:

  • snapshot_image_format

snapshot_image_format = None

字符串值

确定发送到镜像服务时的快照镜像格式。

如果设置,这决定了将快照发送到镜像服务时使用的格式。如果没有设置,则默认为与源镜像相同的类型。

snapshots_directory = $instances_path/snapshots

字符串值

将快照上传到镜像服务前,libvirt 驱动程序将存储快照的位置

sparse_logical_volumes = False

布尔值

如果此标志设为 True,则创建稀疏逻辑卷(带有 virtualsize)。

弃用自:18.0.0

reason: 稀疏逻辑卷是一个没有测试的功能,因此不支持。默认情况下,LVM 逻辑卷是预分配的。如果要精简配置,请使用 Cinder 精简配置的卷。

swtpm_enabled = False

布尔值

在客户机中启用模拟 TPM (受信任的平台模块)。

swtpm_group = tss

字符串值

运行 swtpm 二进制文件的组。

使用模拟 TPM 时,swt pm 二进制文件将运行来模拟 TPM 设备。此二进制运行的用户取决于 libvirt 配置,而 tss 为默认值。

为了支持冷迁移和调整大小,nova 需要知道运行 swtpm 二进制文件的组,以确保文件在节点间移动后获得正确的所有权。

相关选项:

  • 还必须设置 swtpm_user

swtpm_user = tss

字符串值

运行 swtpm 二进制文件的用户。

使用模拟 TPM 时,swt pm 二进制文件将运行来模拟 TPM 设备。此二进制运行的用户取决于 libvirt 配置,而 tss 为默认值。

为了支持冷迁移和调整大小,nova 需要知道哪个用户正在运行 swtpm 二进制文件,以确保文件在节点间移动后获得正确的所有权。

相关选项:

  • 还必须设置 swtpm_group

sysinfo_serial = unique

字符串值

用于填充虚拟 BIOS 中客户机的主机"serial" UUID 的数据源。除 唯一 外的所有选择都将在将实例迁移到另一个主机时更改串行。更改此选项的选择还将影响此主机上的现有实例,一旦停止并重新启动。建议使用默认选择(唯一),因为迁移实例时不会改变。但是,除了按实例序列号外,如果您还需要对每个主机的序列号进行,请考虑通过主机聚合限制类别。

tx_queue_size = None

整数值

配置 virtio tx 队列大小。

这个选项仅适用于带有 vhost-user 后端的 virtio-net 设备。仅适用于 QEMU/KVM。需要 libvirt v3.7 QEMU v2.10。

uid_maps = []

列出值

uid 目标和范围列表。Syntax 是 guest-uid:host-uid:count。允许最多 5 个。

use_virtio_for_bridges = True

布尔值

使用 virtio 进行带有 KVM/QEMU 的网桥接口

virt_type = kvm

字符串值

描述应使用虚拟化类型(或称为域类型)libvirt。

此类型的选择必须与您为该主机选择的底层虚拟化策略匹配。

相关选项:

  • connection_uri: 取决于这一点
  • disk_prefix :取决于这个
  • cpu_mode: 取决于这一点
  • cpu_models: 取决于这一点

volume_clear = zero

字符串值

在删除临时磁盘时用于擦除临时磁盘的方法。仅在将 LVM 设置为后备存储时才生效。

相关选项:

  • images_type - must be set to lvm
  • volume_clear_size

volume_clear_size = 0

整数值

MiB 中所分配的卷开始的区域大小,从分配的卷开始,将使用 volume_clear 选项中设置的方法清除。

可能的值:

  • 0 - 清除整个卷
  • >0 - 清除指定的 MiB

相关选项:

  • images_type - must be set to lvm
  • volume_clear - 必须设置,值不是 none 时才能使此选项产生实际影响

volume_use_multipath = False

布尔值

使用 iSCSI 或 FC 卷的多路径连接

卷可以在 LibVirt 作为多路径设备中连接。这将提供高可用性和容错功能。

vzstorage_cache_path = None

字符串值

SSD 缓存文件的路径。

您可以将 SSD 驱动器附加到客户端,并将驱动器配置为存储频繁访问数据的本地缓存。通过在客户端的 SSD 驱动器上有一个本地缓存,您可以将集群的整体性能增加到 10 或更多次。警告!有许多 SSD 模型不是 server grade,并可能对电源丢失进行任意的一组数据更改。此类 SSD 不应在 Vstorage 中使用,并且存在危险,因为可能会导致数据崩溃和不一致。请参考手册,了解哪些 SSD 模型已知是安全的,或使用 vstorage-hwflush-check (1)实用程序进行验证。

此选项定义应包含 "%(cluster_name) s" 模板的路径,来将缓存与多个共享分开。

相关选项:

  • vzstorage_mount_opts 可能包括更详细的缓存选项。

vzstorage_log_path = /var/log/vstorage/%(cluster_name)s/nova.log.gz

字符串值

vzstorage 客户端日志的路径。

此选项定义集群操作的日志,它应包含 "%(cluster_name) s" 模板,以将日志与多个共享分开。

相关选项:

  • vzstorage_mount_opts 可能包括更详细的日志记录选项。

vzstorage_mount_group = qemu

字符串值

挂载所有者组名称。

此选项定义 Vzstorage 集群挂载点的所有者组。

相关选项:

  • vzstorage_mountedServiceSet 组的参数

vzstorage_mount_opts = []

列表值

pstorage-mount 的额外挂载选项

有关它们的完整描述,请参阅 https://static.openvz.org/vz-man/man1/pstorage-mount.1.gz.html 格式是参数列表的 python 字符串表示,如 "[-v,-R,500]" Shouldn't include -c, -l, -C, -u, -g 和 -m 作为那些具有显式 vzstorageer 选项的选项。

相关选项:

  • 所有其他 vzstorage AlertManager 选项

vzstorage_mount_perms = 0770

字符串值

挂载访问模式。

此选项定义 Vzstorage 集群挂载点的访问位,其格式类似于 chmod (1)实用程序,如下所示:0770。它由一到四个数字组成,范围从 0 到 7,如果缺少前面的位则代表这些位为 0。

相关选项:

  • vzstorage_mountedServiceSet 组的参数

vzstorage_mount_point_base = $state_path/mnt

字符串值

在计算节点上挂载 Virtuozzo 存储集群的目录。

这个选项为 Vzstorage 集群定义非标准挂载点。

相关选项:

  • vzstorage_mountedServiceSet 组的参数

vzstorage_mount_user = stack

字符串值

挂载所有者用户名。

此选项定义 Vzstorage 集群挂载点的所有者用户。

相关选项:

  • vzstorage_mountedServiceSet 组的参数

wait_soft_reboot_seconds = 120

整数值

在发出软重启请求后等待实例关闭的秒数。如果实例在此窗口中没有关闭,我们回退到硬重启。

9.1.27. metrics

下表概述了 /etc/nova/nova.conf 文件中的 [metrics] 组下可用的选项。

Expand
表 9.26. metrics
配置选项 = 默认值类型Description

必需 = True

布尔值

是否需要指标。

此设置决定了如何处理不可用的指标。如果此选项设置为 True,则指标不可用的任何主机都会引发异常,因此建议在 weighing 前使用 MetricFilter 来过滤这些主机。

可能的值:

  • 布尔值,其中 False 确保主机的任何指标都不可用,则将主机权重设置为 [metrics] weight_of_unavailable

相关选项:

  • [metrics] weight_of_unavailable

weight_multiplier = 1.0

浮点值

根据报告的指标,用于权衡主机的倍数。

当使用指标来权重主机的适用性时,您可以使用此选项更改计算的权重对分配给主机的权重的影响,如下所示:

  • >1.0: 增加指标对整体权重的影响
  • 1.0 :对计算的权重没有改变
  • >0.0,<1.0: 减少指标对整体权重的影响
  • 0.0 :指标值会被忽略,并返回 [metrics] weight_of_unavailable 选项的值
  • >-1.0,<0.0: effect 被减少并撤销
  • -1.0: 效果被撤销
  • <-1.0: 效果会按比例和反向增加

可能的值:

  • 整数或浮点值,其中值对应于此 weigher 的多条比率。

相关选项:

  • [filter_scheduler] weight_classes
  • [metrics] weight_of_unavailable

weight_of_unavailable = -10000.0

浮点值

不可用指标的默认权重。

当满足以下条件时,将使用这个值来代替任何实际指标值:

  • 主机无法使用 [metrics] weight_setting 中命名的指标,并且 所需的值False
  • [metrics] weight_setting 中为指标指定的比率为 0。
  • [metrics] weight_multiplier 选项设为 0。

可能的值:

  • 整数或浮点值,其中值对应于此 weigher 的多元比率。

相关选项:

  • [metrics] weight_setting
  • [metrics] 必需
  • [metrics] weight_multiplier

weight_setting = []

列出值

指标映射到权重修饰符。

此设置指定要权衡的指标以及每个指标的相对比例。这应该是一个字符串值,由由由一个或多个 name=ratio 对组成的序列组成,用逗号分开,其中 name 是要 weighed 的指标名称,而 ratio 是该指标的相对权重。

请注意,如果比率设定为 0,则指标值将被忽略,而 weight 将设置为 [metrics] weight_of_unavailable 选项的值。

例如,让我们考虑将此选项设置为以下情况:

`name1=1.0, name2=-1.3`

最终的权重为:

`(name1.value * 1.0) + (name2.value * -1.3)`

可能的值:

  • 零个或更多键/值对列表,用逗号分开,其中键是代表指标名称的字符串,值是该指标的数字权重。如果值为 0,则忽略该值,权重将设置为 [metrics] weight_of_unavailable 选项的值。

相关选项:

  • [metrics] weight_of_unavailable

9.1.28. mks

下表概述了 /etc/nova/nova.conf 文件中的 [mks] 组下可用的选项。

Expand
表 9.27. mks
配置选项 = 默认值类型Description

enabled = False

布尔值

为虚拟机启用图形控制台访问。

mksproxy_base_url = http://127.0.0.1:6090/

URI 值

MKS Web 控制台代理的位置

响应中的 URL 指向一个 WebMKS 代理,该代理在客户端和实例运行的对应 vCenter 服务器之间启动代理。要使用基于 Web 的控制台访问,应该安装并配置 WebMKS 代理

可能的值:

  • 必须是表单的有效 URL:http://host:port/https://host:port/

9.1.29. neutron

下表概述了 /etc/nova/nova.conf 文件中的 [neutron] 组下可用的选项。

Expand
表 9.28. neutron
配置选项 = 默认值类型Description

auth-url = None

字符串值

身份验证 URL

auth_section = None

字符串值

从中加载插件特定选项的配置部分

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 身份验证中忽略。

default_floating_pool = nova

字符串值

浮动 IP 池的默认名称。

指定用于分配浮动 IP 的浮动 IP 池的名称。只有在 Neutron 没有在端口绑定仓库中指定浮动 IP 池名称时才使用这个选项。

domain-id = None

字符串值

域 ID 范围

domain-name = None

字符串值

域名范围为

endpoint-override = None

字符串值

始终使用此端点 URL 用于此客户端的请求。注意:应在此处指定未版本化的端点;若要请求特定的 API 版本,使用 version, min-version, 和/或 max-version 选项。

extension_sync_interval = 600

整数值

整数值,代表在查询 Neutron 进行扩展前要等待的秒数。下一次 Nova 需要在 Neutron 中创建资源时的秒数,它将重新查询 Neutron 以获取已加载的扩展。将值设为 0 将刷新没有等待的扩展。

http_retries = 3

整数值

neutronclient 应该在任何失败的 http 调用上重试的次数。

0 表示只尝试连接一次。把它设置为任何正整数意味着,在失败连接时会重试,例如,将多次设置为 3,表示连接的总尝试为 4。

可能的值:

  • 任何整数值。0 表示只尝试连接一次

insecure = False

布尔值

验证 HTTPS 连接。

keyfile = None

字符串值

PEM 编码的客户端证书密钥文件

`metadata_proxy_shared_secret = `

字符串值

此选项包含用于验证对 Neutron 元数据请求的代理请求的共享机密字符串。要使用,必须在请求中提供 X-Metadata-Provider-Signature 标头。

相关选项:

  • service_metadata_proxy

ovs_bridge = br-int

字符串值

Open vSwitch 集成网桥的默认名称。

指定 OpenvSwitch 使用的集成网桥接口的名称。只有在 Neutron 没有在端口绑定响应中指定 OVS 网桥名称时才使用这个选项。

password = None

字符串值

用户密码

physnets = []

列出值

此主机上存在的 physnets 列表。

对于列出的每个 physnet,另一个部分 [neutron_physnet_$PHYSNET] 将添加到配置文件中。每个部分都必须配置单个配置选项 numa_nodes,它应该是与这个 physnet 相关联的所有 NUMA 节点的节点 ID 列表。例如:

[neutron]
physnets = foo, bar
[neutron_physnet_foo]
numa_nodes = 0
[neutron_physnet_bar]
numa_nodes = 0,1

任何没有使用此选项列出的 physnet 都被视为没有特定的 NUMA 节点关联性。

Tunnelled 网络(VXLAN, GRE, …​)无法以这种方式考虑,而是使用 [neutron_tunnel] 组进行配置。例如:

[neutron_tunnel]
numa_nodes = 1

相关选项:

  • [neutron_tunnel] numa_nodes 可用于为所有隧道网络配置 NUMA 关联性
  • [neutron_physnet_$PHYSNET] numa_nodes 需要为由这个选项指定的每个 $PHYSNET 值进度设置

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 = network

字符串值

端点 URL 发现的默认 service_type。

service_metadata_proxy = False

布尔值

当设置为 True 时,此选项表示 Neutron 将用于代理元数据请求并解析实例 ID。否则,实例 ID 必须传递给 X-Instance-ID 标头中的元数据请求。

相关选项:

  • metadata_proxy_shared_secret

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 的接口列表(按首选顺序排列)。

9.1.30. notifications

下表概述了 /etc/nova/nova.conf 文件中的 [notifications] 组下可用的选项。

Expand
表 9.29. notifications
配置选项 = 默认值类型Description

bdms_in_notifications = False

布尔值

如果启用,请在版本的通知有效负载中包含块设备信息。默认情况下,发送块设备信息会被默认禁用,因为信息可能会发生系统的一些开销,因为这些信息可能需要从数据库加载。

default_level = INFO

字符串值

传出通知的默认通知级别。

notification_format = unversioned

字符串值

指定 nova 应发出哪些通知格式。

版本化的通知接口是带有旧接口的功能奇偶校验,且版本化的界面被积极开发,因此新的用户应使用版本化的接口。

但是,ceilometer 和其他成熟的 OpenStack 组件会大量使用旧接口,使其保持默认设置。

请注意,可以通过在 [oslo_messaging_notifications] 组中设置 driver=noop 来完全禁用通知。

版本通知列表在 https://docs.openstack.org/nova/latest/reference/notifications.html中可见

notify_on_state_change = None

字符串值

如果设置,在实例状态上发送 compute.instance.update 通知。

有关通知的详情,请参考 https://docs.openstack.org/nova/latest/reference/notifications.html

versioned_notifications_topics = ['versioned_notifications']

列出值

指定 nova 发布的版本化通知的主题。

对于大多数部署来说,默认值是正常的,很少需要更改。但是,如果您有一个使用版本通知的第三方服务,这可能值得获得该服务的主题。Nova 将向此列表中的每个主题队列发送包含版本通知有效负载的消息。

版本通知列表在 https://docs.openstack.org/nova/latest/reference/notifications.html中可见

9.1.31. oslo_concurrency

下表概述了 /etc/nova/nova.conf 文件中的 [oslo_concurrency] 组下可用的选项。

Expand
表 9.30. oslo_concurrency
配置选项 = 默认值类型Description

disable_process_locking = False

布尔值

启用或禁用进程间的锁定。

lock_path = None

字符串值

用于锁定文件的目录。为安全起见,指定的目录应该只对运行需要锁定的进程的用户写入。默认为环境变量 OSLO_LOCK_PATH。如果使用外部锁定,则必须设置锁定路径。

9.1.32. oslo_messaging_amqp

下表概述了 /etc/nova/nova.conf 文件中的 [oslo_messaging_amqp] 组下可用的选项。

Expand
表 9.31. 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 服务器时,附加到地址前缀中。由消息总线用来识别发送到单个目的地的消息。

9.1.33. oslo_messaging_kafka

下表概述了 /etc/nova/nova.conf 文件中的 [oslo_messaging_kafka] 组下可用的选项。

Expand
表 9.32. oslo_messaging_kafka
配置选项 = 默认值类型Description

compression_codec = none

字符串值

producer 生成的所有数据的压缩 codec。如果没有设置,则不会使用压缩。请注意,这允许的值取决于 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 consumer 的最大获取字节数

max_poll_records = 500

整数值

轮询调用中返回的最大记录数

pool_size = 10

整数值

Kafka Consumers 的池大小

producer_batch_size = 16384

整数值

producer async 发送的批处理大小

producer_batch_timeout = 0.0

浮点值

以秒为单位的 KafkaProducer 批处理延迟上限

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 = `

字符串值

用于身份验证的客户端密钥密码文件。

9.1.34. oslo_messaging_notifications

下表概述了 /etc/nova/nova.conf 文件中的 [oslo_messaging_notifications] 组下可用的选项。

Expand
表 9.33. oslo_messaging_notifications
配置选项 = 默认值类型Description

driver = []

多值

处理发送通知的驱动程序。可能的值有 messaging, messagingv2, routing, log, test, noop

retry = -1

整数值

重新发送因为可恢复错误而发送失败的通知消息的最大尝试次数。0 - 不重试,-1 - indefinite

topics = ['notifications']

列表值

用于 OpenStack 通知的 AMQP 主题。

transport_url = None

字符串值

代表用于通知的消息传递驱动程序的 URL。如果没有设置,我们回退到用于 RPC 的同一配置。

9.1.35. oslo_messaging_rabbit

下表概述了 /etc/nova/nova.conf 文件中的 [oslo_messaging_rabbit] 组下可用的选项。

Expand
表 9.34. oslo_messaging_rabbit
配置选项 = 默认值类型Description

amqp_auto_delete = False

布尔值

AMQP 中的自动删除队列。

amqp_durable_queues = False

布尔值

在 AMQP 中使用持久队列。

direct_mandatory_flag = True

布尔值

(DEPRECATED)为直接发送启用/禁用 RabbitMQ 强制标记。直接发送用作回复,因此在客户端队列不存在时引发 MessageUndeliverable 异常。MessageUndeliverable 异常将用于循环使发送者恢复。此标志已弃用,且无法停用此功能

enable_cancel_on_failover = False

布尔值

启用 x-cancel-on-ha-failover 标志,使 rabbitmq 服务器将取消并通知 consumerswhen 队列停机

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_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_key_file = `

字符串值

SSL 密钥文件(仅在启用 SSL 时才评估)。

`ssl_version = `

字符串值

要使用的 SSL 版本(仅在启用 SSL 时验证)。有效值为 TLSv1 和 SSLv23。在某些发行版中可能会提供 SSLv2、SSLv3、TLSv1_1 和 TLSv1_2。

9.1.36. oslo_middleware

下表概述了 /etc/nova/nova.conf 文件中的 [oslo_middleware] 组下可用的选项。

Expand
表 9.35. oslo_middleware
配置选项 = 默认值类型Description

enable_proxy_headers_parsing = False

布尔值

应用程序是否位于代理后面。这决定了中间件是否应该解析标头。

max_request_body_size = 114688

整数值

每个请求的最大正文大小,以字节为单位。

secure_proxy_ssl_header = X-Forwarded-Proto

字符串值

用于确定原始请求协议方案的 HTTP 标头,即使它已被 SSL 终止代理隐藏。

9.1.37. oslo_policy

下表概述了 /etc/nova/nova.conf 文件中的 [oslo_policy] 组下可用的选项。

Expand
表 9.36. 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.yaml

字符串值

文件相对或绝对路径,用于将角色映射到给定服务的权限。必须根据配置文件设置此选项指定相对路径。

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 策略检查的服务器身份验证

9.1.38. pci

下表概述了 /etc/nova/nova.conf 文件中的 [pci] 组下可用的选项。

Expand
表 9.37. pci
配置选项 = 默认值类型Description

alias = []

多值

PCI 透传设备要求的别名。

这允许用户在类别的额外 specs 中指定别名,而无需重复所有 PCI 属性要求。

这应该为 nova-api 服务配置,假设您想为每个 nova-compute 服务使用 move 操作。

可能的值:

  • 描述别名的 JSON 值的字典。例如:

    alias = {
      "name": "QuickAssist",
      "product_id": "0443",
      "vendor_id": "8086",
      "device_type": "type-PCI",
      "numa_policy": "required"
    }
    This defines an alias for the Intel QuickAssist card. (multi valued). Valid
    key values are :
    `name`
      Name of the PCI alias.
    `product_id`
      Product ID of the device in hexadecimal.
    `vendor_id`
      Vendor ID of the device in hexadecimal.
    `device_type`
      Type of PCI device. Valid values are: `type-PCI`, `type-PF` and
      `type-VF`. Note that `"device_type": "type-PF"` **must** be specified
      if you wish to passthrough a device that supports SR-IOV in its entirety.
    `numa_policy`
      Required NUMA affinity of device. Valid values are: `legacy`,
      `preferred` and `required`.
  • 通过重复 选项(而不是通过指定)支持多个别名

    一个列表值)
    alias = { "name": "QuickAssist-1", "product_id": "0443", "vendor_id": "8086", "device_type": "type-PCI", "numa_policy": "required" } alias = { "name": "QuickAssist-2", "product_id": "0444", "vendor_id": "8086", "device_type": "type-PCI", "numa_policy": "required" }

passthrough_whitelist = []

多值

可用于虚拟机的 PCI 设备列表。

可能的值:

  • 描述白名单 PCI 设备的 JSON 字典。它应该需要

    以下格式

    ["vendor_id": "<id>",] ["product_id": "<id>",] ["address": "[[[[[<domain>]:]<bus>]:][<slot>][.[<function>]]" | "devname": "<name>",] {"<tag>": "<tag_value>",}

    Where `[` indicates zero or one occurrences, `{` indicates zero or
    multiple occurrences, and `&verbar;` mutually exclusive options. Note that any
    missing fields are automatically wildcarded.
    Valid key values are :
    `vendor_id`
      Vendor ID of the device in hexadecimal.
    `product_id`
      Product ID of the device in hexadecimal.
    `address`
      PCI address of the device. Both traditional glob style and regular
      expression syntax is supported. Please note that the address fields are
      restricted to the following maximum values:
  • 域 - 0xFFFF
  • 总线 - 0xFF
  • slot - 0x1F
  • 功能 - 0x7

    `devname`
      Device name of the device (for e.g. interface name). Not all PCI devices
      have a name.
    `<tag>`
      Additional `<tag>` and `<tag_value>` used for matching PCI devices.
      Supported `<tag>` values are :
    • physical_network
    • trusted

      有效示例包括
      passthrough_whitelist = {"devname":"eth0", "physical_network":"physnet"} passthrough_whitelist = {"address":":0a:00."} passthrough_whitelist = {"address":":0a:00.", "physical_network":"physnet1"} passthrough_whitelist = {"vendor_id":"1137", "product_id":"0071"} passthrough_whitelist = {"vendor_id":"1137", "product_id":"0071", "address": "0000:0a:00.1", "physical_network":"physnet1"} passthrough_whitelist = {"address":{"domain": ".", "bus": "02", "slot": "01", "function": "[2-7]"}, "physical_network":"physnet1"} passthrough_whitelist = {"address":{"domain": ".", "bus": "02", "slot": "0[1-2]", "function": ".*"}, "physical_network":"physnet1"} passthrough_whitelist = {"devname": "eth0", "physical_network":"physnet1", "trusted": "true"}
      以下是无效的,因为它们指定了相互排斥的选项
      passthrough_whitelist = {"devname":"eth0", "physical_network":"physnet", "address":":0a:00."}
  • 与上述格式对应的 JSON 字典的 JSON 列表。对于

    示例
    passthrough_whitelist = [{"product_id":"0001", "vendor_id":"8086"}, {"product_id":"0002", "vendor_id":"8086"}]

9.1.39. placement

下表概述了 /etc/nova/nova.conf 文件中的 [placement] 组下可用的选项。

Expand
表 9.38. placement
配置选项 = 默认值类型Description

auth-url = None

字符串值

身份验证 URL

auth_section = None

字符串值

加载插件特定选项的配置部分

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 编码的客户端证书密钥文件

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 = placement

字符串值

端点 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 的接口列表(按首选顺序排列)。

9.1.40. powervm

下表概述了 /etc/nova/nova.conf 文件中的 [powervm] 组下可用的选项。

Expand
表 9.39. powervm
配置选项 = 默认值类型Description

disk_driver = localdisk

字符串值

用于 PowerVM 磁盘的磁盘驱动程序。PowerVM 支持 localdisk 和 PowerVM 共享存储池磁盘驱动程序。

相关选项:

  • volume_group_name - 使用 localdisk 时是必需的

proc_units_factor = 0.1

浮点值

用于计算提供给每个 vCPU 的物理处理器计算能力的因素。例如1.0 代表整个物理处理器,而 0.05 表示物理处理器的 1/20 个。

`volume_group_name = `

字符串值

用于块设备操作的卷组。如果 disk_driver 是 localdisk,则必须指定此属性。强烈建议您不要使用 rootvg,因为此由管理分区使用,并填充它将导致失败。

9.1.41. privsep

下表概述了 /etc/nova/nova.conf 文件中的 [privsep] 组下可用的选项。

Expand
表 9.40. privsep
配置选项 = 默认值类型Description

capabilities = []

列出值

privsep 守护进程保留的 Linux 功能列表。

group = None

字符串值

privsep 守护进程应运行的组。

helper_command = None

字符串值

如果不使用"fork"方法,则调用用于启动 privsep 守护进程的命令。如果没有指定,则使用 "sudo privsep-helper" 和参数生成默认值,旨在重新创建当前配置。此命令必须接受合适的 --privsep_context 和 --privsep_sock_path 参数。

logger_name = oslo_privsep.daemon

字符串值

用于此 privsep 上下文的日志记录器名称。默认情况下,所有使用 oslo_privsep.daemon 的上下文日志。

thread_pool_size = <based on operating system>

整数值

可用于并发运行进程的线程数量。默认为系统中的 CPU 内核数。

user = None

字符串值

privsep 守护进程应以.

9.1.42. profiler

下表概述了 /etc/nova/nova.conf 文件中的 [profiler] 组下可用的选项。

Expand
表 9.41. 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 查询。

9.1.43. quota

下表概述了 /etc/nova/nova.conf 文件中的 [quota] 组下可用的选项。

Expand
表 9.42. quota
配置选项 = 默认值类型Description

cores = 20

整数值

每个项目允许的实例内核数或 vCPU 数量。

可能的值:

  • 正整数或 0。
  • -1 禁用配额。

count_usage_from_placement = False

布尔值

启用放置服务的配额使用量计数。

从 Train 开始,可以计算内核的配额使用量,以及来自放置服务和来自 API 数据库的实例,而不是从单元数据库计数。

如果每个放置部署只有一个 Nova 部署运行,这可以正常工作。但是,如果操作器运行多个 Nova 部署共享放置部署,则不应将此选项设置为 True,因为当前放置服务没有每个 Nova 部署分区资源提供程序的方法。当此选项保留为默认值或设置为 False 时,Nova 将使用传统计数方法来计算其单元数据库中的实例、核心和 RAM 的配额使用量。

请注意,如果此选项设置为 True,则与调整大小相关的配额使用量行为将会受到影响。在调整大小期间在源上保存分配时,会在目标上声明放置资源分配,直到调整大小确认或恢复为止。在这段时间中,当服务器处于 VERIFY_RESIZE 状态时,配额使用量将反映源和目的地上的资源消耗。这很有用,因为它保留了 downsize 恢复空间,但也意味着配额使用量将在确认或恢复调整大小前被忽略。

对于处于 ERROR 状态的未调度的服务器,行为也会不同。永不调度到计算主机的服务器没有放置分配,因此它不会消耗内核和 RAM 的配额使用量。

对于处于 SHELVED_OFFLOADED 状态的服务器,行为会有所不同。SHELVED_OFFLOADED 状态的服务器没有放置分配,因此它不会消耗内核和 RAM 的配额使用量。请注意,由于此,如果用户没有足够的配额来支持服务器所需的核心和 RAM,则可能会拒绝服务器的请求。

在从放置计算使用前,必须完成 populate_queued_for_deletepopulate_user_id 在线数据迁移。在数据迁移完成前,如果此配置选项被设置为 True,则系统将回退到来自单元数据库的旧配额使用量计数,具体取决于每个配额检查期间 EXISTS 数据库查询的结果。希望避免从 EXISTS 查询性能达到的 Operator 应该等待将此配置选项设置为 True,直到它们通过 nova-manage db online_data_migrations 完成在线数据迁移。

driver = nova.quota.DbQuotaDriver

字符串值

为配额检查提供抽象。用户可以配置特定的驱动程序,以用于配额检查。

injected_file_content_bytes = 10240

整数值

每个注入的文件允许的字节数。

可能的值:

  • 正整数或 0。
  • -1 禁用配额。

injected_file_path_length = 255

整数值

允许的最大注入的文件路径长度。

可能的值:

  • 正整数或 0。
  • -1 禁用配额。

injected_files = 5

整数值

允许注入的文件数量。

文件注入允许用户在启动时通过注入数据来自定义实例的个人。只允许文本文件注入:不接受二进制或 ZIP 文件。在文件注入过程中,任何匹配指定文件的现有文件都会被重命名为包括带有时间戳的 .bak 扩展。

可能的值:

  • 正整数或 0。
  • -1 禁用配额。

instances = 10

整数值

每个项目允许的实例数量。

可能的值

  • 正整数或 0。
  • -1 禁用配额。

key_pairs = 100

整数值

每个用户允许的最大密钥对数。

用户可以为每个项目至少创建一个密钥对,并将密钥对用于属于该项目的多个实例。

可能的值:

  • 正整数或 0。
  • -1 禁用配额。

metadata_items = 128

整数值

每个实例允许的元数据项数。

用户可以在实例创建过程中将元数据与实例关联。此元数据采用键值对的形式。

可能的值:

  • 正整数或 0。
  • -1 禁用配额。

ram = 51200

整数值

每个项目允许的实例 RAM 数量。

可能的值:

  • 正整数或 0。
  • -1 禁用配额。

recheck_quota = True

布尔值

在创建资源后重新检查配额,以防止超过配额。

默认值为 True (在资源创建后重新检查配额),但可以设置为 False,以避免在允许超过配额时避免额外的负载。例如,当用户设置为 False 时,如果用户进行高度并行的 REST API 请求来创建服务器,则它们可以创建比其允许的配额更多的服务器。如果配额是 10 个服务器,则它们可能会在突发期间创建 50。在突发后,他们将无法创建任何更多服务器,但它们能够在删除前保留其 50 个服务器。

初始配额检查是在创建资源之前完成的,因此如果多个并行请求同时到达,则所有请求都可以通过配额检查并创建资源,可能超过配额。当 recheck_quota 为 True 时,在创建资源后会第二次检查配额,如果资源超过配额,它将被删除,并且会引发 OverQuota,通常是对 REST API 用户的 403 响应。这使得用户无法超过其配额,但可能会发现 REST API 用户可能会在有冲突的情况下拒绝 403 响应,即使用户在发出请求时也有足够的配额可用。

server_group_members = 10

整数值

每个服务器组的最大服务器数。

可能的值:

  • 正整数或 0。
  • -1 禁用配额。

server_groups = 10

整数值

每个项目的最大服务器组数。

服务器组用于控制一组服务器或实例的关联性和反关联性调度策略。减少配额不会影响任何现有组,但不允许使用新的服务器到已超过配额的组中。

可能的值:

  • 正整数或 0。
  • -1 禁用配额。

9.1.44. rdp

下表概述了 /etc/nova/nova.conf 文件中的 [rdp] 组下可用的选项。

Expand
表 9.43. rdp
配置选项 = 默认值类型Description

enabled = False

布尔值

启用与远程桌面协议(RDP)相关功能。

Hyper-V 与 Nova 计算节点上使用的大多数虚拟机监控程序不同,使用 RDP 而不是 VNC 和 SPICE 作为桌面共享协议来提供实例控制台访问。这个选项为 Hyper-V 创建的虚拟机启用 RDP 访问。

注: RDP 应该只在支持 Hyper-V 虚拟化平台的计算节点上启用。

相关选项:

  • compute_driver: 必须为超v。

html5_proxy_base_url = http://127.0.0.1:6083/

URI 值

最终用户用来连接到 RDP HTML5 控制台代理的 URL。使用这个 token-embedded URL 调用控制台代理服务,并建立到正确实例的连接。

RDP HTML5 控制台代理服务需要配置为侦听此处配置的地址。通常,控制台代理服务将在控制器节点上运行。用作默认值的 localhost 地址只能在单一节点环境中工作,例如 devstack。

RDP HTML5 代理允许用户使用 RDP 通过任何 Windows 服务器或工作站的 Web 或图形控制台访问。RDP HTML5 控制台代理服务包括 FreeRDP, wsgate。See https://github.com/FreeRDP/FreeRDP-WebConnect

可能的值:

  • <scheme>://<ip-address>:<port-number>/

    The scheme must be identical to the scheme configured for the RDP HTML5
    console proxy service. It is `http` or `https`.
    The IP address must be identical to the address on which the RDP HTML5
    console proxy service is listening.
    The port must be identical to the port on which the RDP HTML5 console proxy
    service is listening.

相关选项:

  • RDP.enabled :必须为 html5_proxy_base_url 设置为 True

9.1.45. remote_debug

下表概述了 /etc/nova/nova.conf 文件中的 [remote_debug] 组下可用的选项。

Expand
表 9.44. remote_debug
配置选项 = 默认值类型Description

host = None

主机地址值

要连接的调试主机(IP 或名称)。

当您想通过不同主机上运行的调试器连接到 nova 服务时,会使用此命令行参数。

请注意,使用远程 debug 选项更改 nova 如何使用 eventlet 库来支持 async IO。这可能会导致在正常操作下不会发生失败。自行使用风险。

可能的值:

  • 远程主机的 IP 地址作为命令行参数到 nova 服务。

    例如:
    nova-compute --config-file /etc/nova/nova.conf --remote_debug-host <IP address of the debugger>

port = None

端口值

要连接的调试端口。

此命令行参数允许您通过不同主机上运行的调试器指定您要用来连接到 nova 服务的端口。

请注意,使用远程 debug 选项更改 nova 如何使用 eventlet 库来支持 async IO。这可能会导致在正常操作下不会发生失败。自行使用风险。

可能的值:

  • 您要用作 nova 服务的命令行参数的端口号。

    例如:
    nova-compute --config-file /etc/nova/nova.conf --remote_debug-host <IP 地址 debugger> --remote_debug-port <port debugger 正在侦听>。

9.1.46. scheduler

下表概述了 /etc/nova/nova.conf 文件中的 [scheduler] 组下可用的选项。

Expand
表 9.45. scheduler
配置选项 = 默认值类型Description

discover_hosts_in_cells_interval = -1

整数值

定期任务间隔。

这个值控制调度程序应尝试发现添加到单元中的新主机的频率(以秒为单位)。如果为负(默认),则不会发生自动发现。

计算节点上线并经常需要启用的部署,在添加节点时可能希望手动发现主机,以避免持续检查开销。如果启用,每次运行时,我们将在每次运行时都会从每个单元数据库中选择任何未映射的主机。

可能的值:

  • 整数,其中整数对应于定期任务间隔(以秒为单位)。0 使用默认间隔(60 秒)。负值禁用定期任务。

enable_isolated_aggregate_filtering = False

布尔值

将聚合的使用限制为具有匹配元数据的实例。

此设置允许调度程序根据聚合元数据和实例 flavor/image 中匹配的所需特征来限制聚合中的主机。如果使用带有键特征的属性配置了聚合:trait:$TRAIT_NAME 和值 required,则实例类别 extra_specs 和/或镜像元数据还必须包含trait:$TRAIT_NAME=required 有资格调度到该聚合中的主机。更多技术详情 :https://docs.openstack.org/nova/latest/reference/isolate-aggregates.html

可能的值:

  • 布尔值。

image_metadata_prefilter = False

布尔值

使用 placement 根据镜像元数据过滤主机。

此设置会导致调度程序将已知的镜像元数据属性转换为放置所需的特征,以根据镜像元数据过滤主机。此功能需要主机支持,且目前由以下计算驱动程序支持:

  • libvirt.LibvirtDriver (自 Ussuri (21.0.0)开始)

可能的值:

  • 布尔值。

相关选项:

  • [compute] compute_driver

limit_tenants_to_placement_aggregate = False

布尔值

将租户限制为特定的放置聚合。

此设置会导致调度程序使用设置为传入请求的项目的 filter_tenant_id 的元数据键查找主机聚合,并从放置请求请求结果限制为该聚合。通过将序列号附加到密钥,可以将多个租户添加到单个聚合中,如 filter_tenant_id:123。

必须在放置中镜像匹配的聚合 UUID,才能正常工作。如果没有找到租户 id 的主机聚合,或者该聚合与放置中的不匹配,则结果将与为请求查找任何合适的主机相同。

可能的值:

  • 布尔值。

相关选项:

  • [scheduler] placement_aggregate_required_for_tenants

max_attempts = 3

整数值

调度尝试的最大数量。

这是对给定实例构建/移动操作进行的最多尝试次数。它限制调度程序返回的备用主机数量。当主机列表耗尽时,会引发 MaxRetriesExceeded 异常,并且实例设置为错误状态。

可能的值:

  • 正整数,其中整数对应于构建或移动实例时可以进行的最多尝试次数。

max_placement_results = 1000

整数值

要请求的最大放置结果数。

此设置决定了调度操作期间从放置服务接收的结果的最大限制。它有效地限制可考虑调度与大量候选者匹配的请求的主机数量。

值 1 (最小值)将有效延迟到放置服务的调度。数值越高,调度程序将在过滤和权重过程中考虑的结果数上限。大型部署可能需要此设置低于可用主机总数,以限制调度程序的内存消耗、网络流量等。

可能的值:

  • 一个整数,其中整数对应于要返回的放置结果数量。

placement_aggregate_required_for_tenants = False

布尔值

需要所有租户的放置聚合关联。

当 limit_tenants_to_placement_aggregate=True 时,此设置将控制是否允许没有聚合关联性的租户调度到任何可用节点。如果使用聚合来限制某些租户但并非所有,则这应为 False。如果所有租户都应通过聚合限制,则这应该是 True,以防止它们收到不受限制的调度到任何可用节点。

可能的值:

  • 布尔值。

相关选项:

  • [scheduler] placement_aggregate_required_for_tenants

query_placement_for_availability_zone = False

布尔值

使用 placement 确定可用区。

此设置会使调度程序使用设置为传入请求所提供的值的元数据键(availability_zone)查找主机聚合,并从放置请求请求结果限制为该聚合。

必须在放置中镜像匹配的聚合 UUID,才能正常工作。如果没有找到带有 availability_zone 键的主机聚合,或者该聚合与放置中的不匹配,则结果将与找不到任何合适的主机相同。

请注意,如果启用此标志,您可以在调度程序中禁用(无效率) AvailabilityZoneFilter。

可能的值:

  • 布尔值。

相关选项:

  • [filter_scheduler] enabled_filters

query_placement_for_image_type_support = False

布尔值

使用 placement 来确定对实例的镜像类型的主机支持。

此设置会导致调度程序仅为支持请求中使用的镜像的 disk_format 的计算主机请求放置。

可能的值:

  • 布尔值。

query_placement_for_routed_network_aggregates = False

布尔值

启用调度程序过滤从属的计算主机以路由网络段聚合。

详情请查看 https://docs.openstack.org/neutron/latest/admin/config-routed-networks.html

Worker = None

整数值

nova-scheduler 服务的 worker 数量。

默认为可用的 CPU 数量。

可能的值:

  • 一个整数,整数对应于 worker 进程的数量。

9.1.47. serial_console

下表概述了 /etc/nova/nova.conf 文件中的 [serial_console] 组下可用的选项。

Expand
表 9.46. serial_console
配置选项 = 默认值类型Description

base_url = ws://127.0.0.1:6083/

URI 值

最终用户用来连接到 nova-serialproxy 服务的 URL。

nova-serialproxy 服务使用此令牌增强 URL 调用,并建立与正确实例的连接。

相关选项:

  • IP 地址必须与 nova-serialproxy 服务正在侦听的地址相同(请参见本节中的 serialproxy_host 选项)。
  • 端口必须与本节的 serialproxy_port 选项中的相同。
  • 如果您选择使用安全的 websocket 连接,请使用 ws:// 而不是未保护的 ws:// 启动此选项。必须为此在 [DEFAULT] 项中设置 certkey 选项。

enabled = False

布尔值

启用串行控制台功能。

要使用此功能,服务 nova-serialproxy 需要运行。此服务通常在控制器节点上执行。

port_range = 10000:20000

字符串值

客户端可用于其后端的一组 TCP 端口。

每个创建的实例都将使用这个范围内的一个端口。如果范围不足以为新实例提供另一个端口,则此实例将不会启动。

可能的值:

  • 每个传递 regex ^\d+:\d+$ 的字符串,如 10000:20000。确保第一个端口号小于第二个端口号,并且两者都范围为 0 到 65535。

proxyclient_address = 127.0.0.1

字符串值

代理客户端(如 nova-serialproxy)应连接到的 IP 地址,以获取实例的串行控制台。

这通常是 nova-compute 服务的主机的 IP 地址。

serialproxy_host = 0.0.0.0

字符串值

nova-serialproxy 服务用来侦听传入请求的 IP 地址。

nova-serialproxy 服务侦听此 IP 地址,以获取向公开串行控制台的实例发出的传入连接请求。

相关选项:

  • 确保这与本节的 base_url 选项中定义的 IP 地址相同,或使用 0.0.0.0 侦听所有地址。

serialproxy_port = 6083

端口值

nova-serialproxy 服务用来侦听传入请求的端口号。

nova-serialproxy 服务侦听此端口号,以获取向公开串行控制台的实例发出的传入连接请求。

相关选项:

  • 确保这与本节的 base_url 选项中定义的端口号相同。

9.1.48. service_user

下表概述了 /etc/nova/nova.conf 文件中的 [service_user] 组下可用的选项。

Expand
表 9.47. service_user
配置选项 = 默认值类型Description

auth-url = None

字符串值

身份验证 URL

auth_section = None

字符串值

加载插件特定选项的配置部分

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

字符串值

域名范围为

insecure = False

布尔值

验证 HTTPS 连接。

keyfile = None

字符串值

PEM 编码的客户端证书密钥文件

password = None

字符串值

用户密码

project-domain-id = None

字符串值

包含项目的域 ID

project-domain-name = None

字符串值

包含项目的域名

project-id = None

字符串值

项目 ID 到范围

project-name = None

字符串值

项目名称到范围

send_service_user_token = False

布尔值

为 True 时,如果向 REST API 发送用户令牌,也会发送服务令牌。

Nova 通常重复使用提供给 nova-api 的用户令牌,以与其他 REST API 通信,如 Cinder、Glance 和 Neutron。当用户令牌在向 Nova 发出请求时有效时,令牌可能会在到达其他服务之前过期。为避免出现任何故障,并且使其清除为 Nova 代表用户调用服务,我们会包括服务令牌以及用户令牌。如果用户的令牌已过期,则有效的服务令牌可确保 keystone 中间件仍接受 REST API 请求。

split-loggers = False

布尔值

记录对多个日志记录器的请求。

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

字符串值

用户名

9.1.49. spice

下表概述了 /etc/nova/nova.conf 文件中的 [spice] 组下可用的选项。

Expand
表 9.48. spice
配置选项 = 默认值类型Description

agent_enabled = True

布尔值

在实例上启用 SPICE 客户机代理支持。

Spice 代理与 Spice 协议配合使用,以提供更好的客户机控制台体验。但是,Spice 控制台仍可在没有 Spice 代理的情况下使用。安装 Spice 代理后,启用了以下功能:

  • 在客户机和客户端机器之间复制和粘贴文本和图像
  • 当客户端屏幕更改时自动调整分辨率 - 例如,如果您使 Spice 控制台完整屏幕,客户机解析将调整以匹配其匹配,而不是字母箱。
  • 更好的鼠标集成 - 可以捕获和释放鼠标,而无需点击控制台内或按键来释放它。鼠标移动的性能也得到了提高。

enabled = False

布尔值

启用 SPICE 相关功能。

相关选项:

  • 必须明确禁用 VNC 才能访问 SPICE 控制台。在 [vnc] 部分中将 enabled 选项设置为 False,以禁用 VNC 控制台。

html5proxy_base_url = http://127.0.0.1:6082/spice_auto.html

URI 值

SPICE HTML5 控制台代理的位置。

最终用户将使用此 URL 连接到 nova-spicehtml5proxy 服务。此服务将请求转发到实例的控制台。

要使用 SPICE 控制台,服务 nova-spicehtml5proxy 应该正在运行。此服务通常在控制器节点上启动。

可能的值:

  • 必须是表单的有效 URL:http://host:port/spice_auto.html,其中 host 是运行 nova-spicehtml5proxy 的节点,端口通常为 6082。考虑不要使用默认值,因为它没有为任何实际部署定义。

相关选项:

  • 这个选项取决于 html5proxy_hosthtml5proxy_port 选项。计算节点返回的访问 URL 必须具有 nova-spicehtml5proxy 服务正在侦听的主机和端口。

html5proxy_host = 0.0.0.0

主机地址值

nova-spicehtml5proxy 服务侦听传入请求的 IP 地址或主机名。

相关选项:

  • 这个选项取决于 html5proxy_base_url 选项。nova-spicehtml5proxy 服务必须侦听一个可从 HTML5 客户端访问的主机。

html5proxy_port = 6082

端口值

nova-spicehtml5proxy 服务在其上侦听传入请求的端口。

相关选项:

  • 这个选项取决于 html5proxy_base_url 选项。nova-spicehtml5proxy 服务必须侦听一个可从 HTML5 客户端访问的端口。

server_listen = 127.0.0.1

字符串值

实例上运行的 SPICE 服务器应侦听的地址。

通常,nova-spicehtml5proxy 代理客户端在控制器节点上运行,并通过专用网络连接到计算节点上的这个地址。

可能的值:

  • 要侦听的 IP 地址。

server_proxyclient_address = 127.0.0.1

字符串值

nova-spicehtml5proxy 客户端用于连接实例控制台的地址。

通常,nova-spicehtml5proxy 代理客户端在控制器节点上运行,并通过专用网络连接到计算节点上的这个地址。

可能的值:

  • 计算节点上的任何有效的 IP 地址。

相关选项:

  • 此选项取决于 server_listen 选项。代理客户端必须能够使用此选项的值访问 server_listen 中指定的地址。

9.1.50. upgrade_levels

下表概述了 /etc/nova/nova.conf 文件中的 [upgrade_levels] 组下可用的选项。

Expand
表 9.49. upgrade_levels
配置选项 = 默认值类型Description

baseapi = None

字符串值

基本 API RPC API 版本大写。

可能的值:

  • 默认情况下,发送客户端知道的最新版本
  • 代表 N.N 格式的版本号的字符串;例如,可能的值可以是 1.122.0
  • 小写的 OpenStack 版本名称,如 mitakaliberty

cert = None

字符串值

Cert RPC API 版本大写。

可能的值:

  • 默认情况下,发送客户端知道的最新版本
  • 代表 N.N 格式的版本号的字符串;例如,可能的值可以是 1.122.0
  • 小写的 OpenStack 版本名称,如 mitakaliberty

弃用自:18.0.0

reason: nova-cert 服务在 16.0.0 (Pike)中删除,因此不再使用这个选项。

compute = None

字符串值

计算 RPC API 版本大写。

默认情况下,我们始终使用客户端知道的最新版本发送消息。

如果您运行有旧的计算服务和新的计算服务,应该将其设置为最低部署的版本。这是为了保证所有服务永远不会发送其中一个计算节点无法理解的消息。请注意,我们只支持从 N 版本升级到 N+1。

如果要让计算 RPC 模块根据部署中的服务版本自动决定要使用的版本,请将此选项设置为 "auto"。

可能的值:

  • 默认情况下,发送客户端了解的最新版本
  • 自动 :根据部署中的服务版本自动决定要使用的版本。
  • 代表 N.N 格式的版本号的字符串;例如,可能的值可以是 1.122.0
  • OpenStack 版本名称,在小写中,如 mitakaliberty

conductor = None

字符串值

编排器 RPC API 版本上限。

可能的值:

  • 默认情况下,发送客户端了解的最新版本
  • 代表 N.N 格式的版本号的字符串;例如,可能的值可以是 1.122.0
  • OpenStack 版本名称,在小写中,如 mitakaliberty

scheduler = None

字符串值

调度程序 RPC API 版本大写。

可能的值:

  • 默认情况下,发送客户端了解的最新版本
  • 代表 N.N 格式的版本号的字符串;例如,可能的值可以是 1.122.0
  • OpenStack 版本名称,在小写中,如 mitakaliberty

9.1.51. vault

下表概述了 /etc/nova/nova.conf 文件中的 [vault] 组下可用的选项。

Expand
表 9.50. vault
配置选项 = 默认值类型Description

approle_role_id = None

字符串值

Approle role_id 用于使用 vault 进行身份验证

approle_secret_id = None

字符串值

Approle secret_id 用于使用 vault 进行身份验证

kv_mountpoint = secret

字符串值

要使用的 Vault 中的 KV 存储挂载点,例如: secret

kv_version = 2

整数值

要使用的 Vault 中的 KV 版本,例如: 2

root_token_id = None

字符串值

vault 的 root 令牌

ssl_ca_crt_file = None

字符串值

ca 证书文件的绝对路径

use_ssl = False

布尔值

SSL Enabled/Disabled

vault_url = http://127.0.0.1:8200

字符串值

使用此端点连接到 Vault,例如:"http://127.0.0.1:8200"

9.1.52. vendordata_dynamic_auth

下表概述了 /etc/nova/nova.conf 文件中的 [vendordata_dynamic_auth] 组下可用的选项。

Expand
表 9.51. vendordata_dynamic_auth
配置选项 = 默认值类型Description

auth-url = None

字符串值

身份验证 URL

auth_section = None

字符串值

加载插件特定选项的配置部分

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

字符串值

域名范围为

insecure = False

布尔值

验证 HTTPS 连接。

keyfile = None

字符串值

PEM 编码的客户端证书密钥文件

password = None

字符串值

用户密码

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

user-domain-id = None

字符串值

用户的域 ID

user-domain-name = None

字符串值

用户的域名

user-id = None

字符串值

用户 ID

username = None

字符串值

用户名

9.1.53. vmware

下表概述了 /etc/nova/nova.conf 文件中的 [vmware] 组下可用的选项。

Expand
表 9.52. vmware
配置选项 = 默认值类型Description

api_retry_count = 10

整数值

在连接失败时,必须重试 VMware vCenter 服务器 API 的次数,如套接字错误等。

ca_file = None

字符串值

指定验证 vCenter 服务器证书时使用的 CA 捆绑包文件。

cache_prefix = None

字符串值

此选项为存储缓存镜像的文件夹添加前缀

这不是完整路径 - 只是文件夹前缀。只有在计算节点间共享数据存储缓存时,才应使用此选项。

注意:仅当计算节点在同一主机上运行或者具有共享文件系统时,才应使用它。

可能的值:

  • 代表文件夹的缓存前缀的任何字符串

cluster_name = None

字符串值

VMware Cluster ComputeResource 的名称。

connection_pool_size = 10

整数值

这个选项设置 http 连接池大小

连接池大小是从 nova 到 vSphere 的最大连接数。只有存在表示连接池已满的警告时,才会增加它,否则,默认值应 suffice。

console_delay_seconds = None

整数值

如果受增加的网络延迟的影响,请在远程控制台中输入时重复字符,则设置这个值。

datastore_regex = None

字符串值

匹配数据存储名称的正则表达式模式。

datastore_regex 设置指定要用于计算的数据存储。例如, datastore_regex="nas configured" 选择名称以 "nas" 开头的所有数据存储。

注意

如果没有提供 regex,它只是使用最多可用空间选择数据存储。

可能的值:

  • 必须提供与数据存储匹配的正则表达式

host_ip = None

主机地址值

用于连接到 VMware vCenter 主机的主机名或 IP 地址。

host_password = None

字符串值

连接到 VMware vCenter 主机的密码。

host_port = 443

端口值

用于连接到 VMware vCenter 主机的端口。

host_username = None

字符串值

连接到 VMware vCenter 主机的用户名。

insecure = False

布尔值

如果为 true,则不会验证 vCenter 服务器证书。如果为 false,则使用默认 CA 信任存储进行验证。

相关选项:* ca_file :如果设置了 "ca_file",则此选项将被忽略。

integration_bridge = None

字符串值

只有在使用 NSX-MH Neutron 插件时,才应配置这个选项。这是 ESXi 服务器或主机上的集成桥接名称。这不应该为任何其他 Neutron 插件设置。因此,不会设置默认值。

可能的值:

  • 代表集成网桥名称的任何有效字符串

maximum_objects = 100

整数值

此选项指定要在单个结果中返回的最大对象数量的限制。

当对象数量达到指定的限制时,正值将导致操作暂停检索。服务器仍然可以将计数限制为小于配置的值。任何剩余的对象都可以使用额外的请求检索。

pbm_default_policy = None

字符串值

此选项指定要使用的默认策略。

如果设置了 pbm_enabled,并且没有为特定请求定义存储策略,则使用此策略。

可能的值:

  • 任何有效的存储策略,如 VSAN 默认存储策略

相关选项:

  • pbm_enabled

pbm_enabled = False

布尔值

此选项启用或禁用实例的存储策略放置。

相关选项:

  • pbm_default_policy

pbm_wsdl_location = None

字符串值

此选项指定 PBM 服务 WSDL 文件位置 URL。

设置此选项将禁用基于实例的存储策略放置。

可能的值:

serial_log_dir = /opt/vmware/vspc

字符串值

指定 Virtual Serial Port Concentrator 存储控制台日志文件的目录。它应与 VSPC 的 serial_log_dir 配置值匹配。

serial_port_proxy_uri = None

URI 值

标识提供对 serial_port_service_uri 的网络访问权限的代理服务。

可能的值:

  • 任何有效的 URI (方案为 telnettelnet )。

相关选项:如果没有指定 serial_port_service_uri,则此选项将被忽略。* serial_port_service_uri

serial_port_service_uri = None

字符串值

标识将发送串行端口流量的远程系统。

此选项添加一个虚拟串行端口,它将控制台输出发送到可配置的服务 URI。在服务 URI 地址中,将收集控制台日志的虚拟串行端口集中器。如果没有设置,则不会将串行端口添加到创建的虚拟机中。

可能的值:

  • 任何有效的 URI

task_poll_interval = 0.5

浮点值

在 VMware VC 服务器上轮询远程任务的时间间隔(以秒为单位)。

use_linked_clone = True

布尔值

此选项启用/禁用链接克隆的使用。

ESX hypervisor 需要 VMDK 文件的副本才能引导虚拟机。计算驱动程序必须通过 HTTP 从 OpenStack Image 服务下载 VMDK 到虚拟机监控程序可见的数据存储并缓存它。需要 VMDK 的后续虚拟机使用缓存的版本,不需要从 OpenStack 镜像服务再次复制文件。

如果设置为 false,即使使用缓存的 VMDK,仍有一个从缓存位置复制到共享数据存储中的虚拟机监控程序文件目录的副本操作。如果设置为 true,则避免上述复制操作,因为它创建与其父虚拟机共享虚拟磁盘的虚拟机副本。

vnc_keymap = en-us

字符串值

VNC 的键映射。

键盘映射(键映射)决定默认应使用 VNC 会话的键盘布局。

可能的值:

  • 此节点上的底层虚拟机监控程序支持的键盘布局。这通常是一个 IETF 语言标签 (如 en-us)。

vnc_port = 5900

端口值

这个选项指定 VNC 启动端口。

由 ESX 主机创建的每个虚拟机都带有为远程连接启用 VNC 客户端的选项。以上选项 vnc_port 可帮助您为 VNC 客户端设置默认启动端口。

可能的值:

  • Any valid port number within 5900 -(5900 + vnc_port_total)

相关选项:应将以下选项设置为启用 VNC 客户端。* vnc.enabled = True * vnc_port_total

vnc_port_total = 10000

整数值

VNC 端口总数。

9.1.54. vnc

下表概述了 /etc/nova/nova.conf 文件中的 [vnc] 组下可用的选项。

Expand
表 9.53. vnc
配置选项 = 默认值类型Description

auth_schemes = ['none']

列出值

与计算节点一起使用的身份验证方案。

控制代理和计算主机之间允许哪些 RFB 身份验证方案。如果启用了多个方案,则使用第一个匹配的方案,因此应首先列出最强的方案。

相关选项:

  • [VNC]vencrypt_client_key,[vnc]vencrypt_client_cert: 还必须设置

enabled = True

布尔值

启用 VNC 相关功能。

将通过图形设备创建客户机来支持这一点。然后,客户端(如 Horizon)可以建立到客户机的 VNC 连接。

novncproxy_base_url = http://127.0.0.1:6080/vnc_auto.html

URI 值

noVNC VNC 控制台代理的公共地址。

VNC 代理是一种 OpenStack 组件,它允许计算服务用户通过 VNC 客户端访问其实例。noVNC 通过基于 websocket 的客户端提供 VNC 支持。

这个选项设置客户端系统要连接的公共基本 URL。noVNC 客户端可以使用这个地址连接到 noVNC 实例,并通过扩展 VNC 会话。

如果使用 noVNC >= 1.0.0,则应使用 vnc_lite.html 而不是 vnc_auto.html

相关选项:

  • novncproxy_host
  • novncproxy_port

novncproxy_host = 0.0.0.0

字符串值

noVNC 控制台代理应绑定到的 IP 地址。

VNC 代理是一种 OpenStack 组件,它允许计算服务用户通过 VNC 客户端访问其实例。noVNC 通过基于 websocket 的客户端提供 VNC 支持。

这个选项设置 noVNC 控制台代理服务应绑定到的专用地址。

相关选项:

  • novncproxy_port
  • novncproxy_base_url

novncproxy_port = 6080

端口值

noVNC 控制台代理应绑定到的端口。

VNC 代理是一种 OpenStack 组件,它允许计算服务用户通过 VNC 客户端访问其实例。noVNC 通过基于 websocket 的客户端提供 VNC 支持。

此选项设置 noVNC 控制台代理服务应绑定到的私有端口。

相关选项:

  • novncproxy_host
  • novncproxy_base_url

server_listen = 127.0.0.1

主机地址值

实例应侦听此节点上的传入 VNC 连接请求的 IP 地址或主机名。

server_proxyclient_address = 127.0.0.1

主机地址值

VNC 控制台代理的私有、内部 IP 地址或主机名。

VNC 代理是一种 OpenStack 组件,它允许计算服务用户通过 VNC 客户端访问其实例。

此选项设置代理客户端应连接到的专用地址,如 nova-novncproxy

vencrypt_ca_certs = None

字符串值

CA 证书 PEM 文件的路径

到计算节点的 VNC 服务器使用的证书颁发机构的一个或多个 x509 证书的 PEM 文件的完全限定路径。

相关选项:

  • vnc.auth_schemes: 必须包括 vencrypt

vencrypt_client_cert = None

字符串值

客户端密钥文件的路径(用于 x509)

包含 x509 证书的 PEM 文件的完全限定路径,在 VNC 身份验证期间向计算节点显示这些证书。

Realted 选项:

  • vnc.auth_schemes: 必须包括 vencrypt
  • vnc.vencrypt_client_key: 还必须设置

vencrypt_client_key = None

字符串值

客户端证书 PEM 文件的路径(用于 x509)

到 PEM 文件的完全限定路径,其中包含 VNC 代理服务器在 VNC 身份验证期间向计算节点呈现的私钥。

相关选项:

  • vnc.auth_schemes: 必须包括 vencrypt
  • vnc.vencrypt_client_cert: 还必须设置

9.1.55. 临时解决方案

下表概述了 /etc/nova/nova.conf 文件中的 [workarounds] 组下可用的选项。

Expand
表 9.54. 临时解决方案
配置选项 = 默认值类型描述

disable_compute_service_check_for_ffu = False

布尔值

如果设置了此项,则旧计算服务的正常安全检查将被视为警告,而不是错误。这只是为了促进 Fast-Forward 升级,其中新的控制服务在计算节点能够更新其服务记录之前启动。在 FFU 中,数据库中的服务记录将超过一个版本,直到计算节点启动为止,但首先需要在线控制服务。

disable_fallback_pcpu_query = False

布尔值

在使用固定实例时,禁用对 VCPU 分配的回退请求。

从 Train 开始,使用 libvirt virt 驱动程序的计算节点可能会报告 PCPU 清单,并将这用于固定实例。调度程序将自动使用与旧 CPU 固定相关的类别额外的 specs, hw:cpu_policyhw:cpu_thread_policy、其镜像元数据属性以及仿真程序线程固定类型额外的 spec, hw:emulator_threads_policy,将请求固定到新的放置请求。但是,计算节点需要额外的配置来报告 PCPU 清单,升级后可能不会立即存在此配置。为确保可在没有此额外配置的情况下创建固定实例,调度程序将发出第二个请求放置旧样式的 VCPU分配,并在需要时回退到这些分配候选。这对性能略有影响,不需要在所有主机上设置了新配置或升级新的部署。通过设置此选项,第二个查找被禁用,调度程序将仅请求基于 PCPU的分配。

弃用自:20.0.0

*reason:*None

disable_group_policy_check_upcall = False

布尔值

在 compute 中禁用服务器组策略检查 upcall。

为了检测使用服务器组关联性策略的争用,计算服务会尝试验证策略是否未被调度程序违反。它通过对 API 数据库进行调用,以列出服务器组中其正在启动的实例,这会违反我们的 api/cell 隔离目标。最终,通过调度程序和放置服务中的正确关联性保证可以解决这个问题,但之后需要进行此后检查以确保正确的关联性策略。

想要进行此检查的 api/cell 隔离应启用此标志的 Operator,这样可避免从计算中调用该标志。

相关选项:

  • [filter_scheduler]/track_instance_changes 还依赖于计算服务到调度程序服务的 upcalls。

disable_libvirt_livesnapshot = False

布尔值

使用 libvirt 驱动程序时禁用实时快照。

实时快照允许在不中断客户机的情况下进行磁盘的快照,与客户机代理一起使用以静止文件系统。

当使用 libvirt 1.2.2 实时快照在负载时失败(类似于并发 libvirt/qemu 操作)。此配置选项提供了一种机制来禁用实时快照,取代冷快照,同时解决这一问题。冷快照会在客户机完成快照过程中导致实例中断。

如需更多信息,请参阅错误报告:

https://bugs.launchpad.net/nova/+bug/1334398

可能的值:

  • true :使用 libvirt 时禁用实时快照
  • 错误:当快照进行时,始终使用实时快照(只要有新的足够 libvirt,后端存储支持它)

弃用自:19. 0.0

原因: 添加了这个选项以解决 libvirt 1.2.2 的问题。我们不再支持这个版本的 libvirt,这意味着不再需要这个临时解决方案。它将在以后的发行版本中被删除。

disable_native_luksv1 = False

布尔值

将加密的 LUKSv1 Cinder 卷附加到实例时,libvirt 驱动程序会将加密磁盘配置为由 QEMU 原生解密。

QEMU 使用的 libgcrypt 库中发现了一个性能问题,该库服务器在此场景中限制 I/O 性能。

如需更多信息,请参阅以下错误报告:

RFE: 硬件加速 AES-XTS 模式 https://bugzilla.redhat.com/show_bug.cgi?id=1762765

启用此临时解决方案选项将导致 Nova 使用传统的基于 dm-crypt 的 os-brick 加密器来解密 LUKSv1 卷。

请注意,在使用不提供主机块设备(如 Ceph)的卷时启用此选项将导致无法从卷启动或将卷附加到实例。如需了解避免 RBD 的这种方法,请参阅 [workarounds]/rbd_block_device 选项。

相关选项:

  • compute_driver (libvirt)
  • rbd_block_device (workarounds)

弃用自: 23.0.0

原因: libgcrypt 中的底层性能回归问题,提示此临时解决方案从 1.8.5 开始解决

disable_rootwrap = False

布尔值

使用 sudo 而不是使用 rootwrap。

出于性能的原因,允许回退到 sudo。

如需更多信息,请参阅错误报告:

https://bugs.launchpad.net/nova/+bug/1415106

可能的值:

  • true :使用 sudo 而不是 rootwrap
  • false :通常使用 rootwrap

与其他选项的相互依存关系:

  • 所有影响 rootwrap 的选项都将被忽略。

enable_numa_live_migration = False

布尔值

启用使用 NUMA 拓扑的实例实时迁移。

使用 libvirt 驱动程序时,只有完全升级到 Train 的部署才支持使用 NUMA 拓扑的实例实时迁移。在以前的版本中,或在进行滚动升级的混合 Stein/Train 部署中,在使用 libvirt 驱动程序时默认禁用带有 NUMA 拓扑的实例实时迁移。这包括 CPU 固定或大页的实例实时迁移。目前没有重新计算此类实例的 CPU 固定和巨页信息,如 'bug footnote89064'_ 所述。这意味着,如果目标主机上已存在实例,迁移的实例可以放在与这些实例相同的专用内核中,或者使用为另一个实例分配的大页。另外,如果主机平台不是同构的,可以将实例分配给不存在的内核,或者在主机 NUMA 节点间意外分割。

尽管存在这些已知问题,但在某些情况下可能需要实时迁移。通过启用此选项,Operator 会了解问题,并愿意手动解决问题,从而为这些实例启用实时迁移支持。

相关选项:

弃用自:20.0.0

*reason:* 添加了这个选项,以便在使用 libvirt 驱动程序实时迁移带有 NUMA 拓扑的实例时缓解已知问题。这些问题在 Train 中解决。使用 libvirt 驱动程序的云,并完全升级到 Train 支持 NUMA 感知实时迁移。这个选项将在以后的发行版本中被删除。

enable_qemu_monitor_announce_self = False

布尔值

如果设置为 True,libvirt 驱动程序将尝试将宣布自己命令发送到 QEMU 监视器,以便生成 RARP 帧,以便在目的地后实时迁移阶段更新网络交换机。

请注意,这会导致域被 libvirt 视为污点。

相关选项:

  • :oslo.config:option:DEFAULT.compute_driver (libvirt)

ensure_libvirt_rbd_instance_dir_cleanup = False

布尔值

在使用 rbd 时,确保实例目录在清理过程中移除。

当启用此临时解决方案时,请确保使用 [libvirt]/images_type=rbd 在清理过程中删除实例目录。这可避免出现以下错误并恢复调整大小清理,导致主机上剩余的实例目录:

https://bugs.launchpad.net/nova/+bug/1414895

https://bugs.launchpad.net/nova/+bug/1761062

然后,当实例尝试返回主机时,这两个 bug 都可能会导致 DestinationDiskExists 错误。

  1. 警告:: Operator 需要确保实例目录本身(由 [DEFAULT]/instances_path 指定)在计算之间不会被共享,否则启用此临时解决方案,否则 console.log、内核、ramdisk 以及正在运行的实例使用的任何其他文件将会丢失。

相关选项:

  • compute_driver (libvirt)
  • [libvirt]/images_type (rbd)
  • instances_path

handle_virt_lifecycle_events = True

布尔值

启用处理从计算驱动程序发出的事件。

许多计算驱动程序会发出生命周期事件,它们是在实例启动或停止时发生的事件。如果实例因为 API 操作而完成任务状态更改,如调整大小,则忽略事件。

这是一个高级功能,允许虚拟机监控程序向计算服务发出意外状态更改的信号,并且实例可以自动关闭。不幸的是,这可能会在某些情况下竞争,例如在重启操作或计算服务或主机重启时(计划外或中断)。如果此类争用很常见,则建议禁用此功能。

当此功能被禁用并且 sync_power_state_interval 设置为负值时,应小心。在这种情况下,任何在虚拟机监控程序和 Nova 数据库之间同步的实例都必须手动同步。

如需更多信息,请参阅错误报告: https://bugs.launchpad.net/bugs/1444630

与其他选项的相互依存关系:

  • 如果 sync_power_state_interval 为负数,并且禁用此功能,则虚拟机监控程序和 Nova 数据库之间没有同步的实例必须手动同步。

libvirt_disable_apic = False

布尔值

当某些内核初始化客户机时,可能会导致内核挂起使客户机不可用。这是因为内核错误而发生。在大多数情况下,正确的修复会将客户机镜像内核更新至被修补的内核,但在某些情况下不可能。此临时解决方案允许模拟每个主机禁用,但不建议在 CI 或开发人员云之外使用。

never_download_image_if_on_rbd = False

布尔值

当从由 Ceph 支持的计算节点上的镜像引导时,如果镜像尚未驻留在 ceph 集群中(如果 glance 也使用相同的集群),nova 将从 glance 下载镜像并将其上传到 ceph 本身。如果使用多个 ceph 集群,这可能会导致 nova 意外地在本地 ceph 部署中以非COW 的方式复制镜像,这会浪费空间。

如需更多信息,请参阅错误报告:

https://bugs.launchpad.net/nova/+bug/1858877

启用此选项将导致 nova 在需要从 glance 下载镜像并将其上传到 ceph 本身时 拒绝 引导实例。

相关选项:

  • compute_driver (libvirt)
  • [libvirt]/images_type (rbd)

rbd_volume_local_attach = False

布尔值

将 RBD Cinder 卷作为主机块设备附加到计算。

启用此选项后,会指示 os-brick 将计算主机上的 RBD 卷作为块设备进行本地连接,而不是通过 QEMU 进行原生连接。

这个临时解决方案目前不支持扩展附加的卷。

这可以与 disable_native_luksv1 临时解决方案配置选项一起使用,以避免在 libgcrypt 库中找到最近发现的性能问题。

这个临时解决方案是临时的,在所有受影响的发行版本都能够更新其 libgcrypt 库后,会在 W release 中删除。

相关选项:

  • compute_driver (libvirt)
  • disable_qemu_native_luksv1 (workarounds)

弃用自: 23.0.0

原因: libgcrypt 中的底层性能回归问题,提示此临时解决方案从 1.8.5 开始解决

reserve_disk_resource_for_image_cache = False

布尔值

如果设置为 True,则 libvirt 驱动程序将为镜像缓存中存储的镜像保留 DISK_GB 资源。如果 :oslo.config:option:DEFAULT.instances_path 位于与镜像缓存目录不同的磁盘分区上,则驱动程序不会为缓存保留资源。

此类磁盘保留由每个 :oslo.config:option:update_resources_interval 秒运行的资源跟踪器中的一个定期任务完成。因此,当镜像被缓存时,不会立即更新保留。

相关选项:

  • :oslo.config:option:DEFAULT.instances_path
  • :oslo.config:option:image_cache.subdirectory_name
  • :oslo.config:option:update_resources_interval

skip_cpu_compare_at_startup = False

布尔值

这将在 Compute 服务启动时跳过 CPU 比较调用,并允许 libvirt 处理它。

skip_cpu_compare_on_dest = False

布尔值

启用后,它将跳过目标主机上的 CPU 比较。当使用 QEMU >= 2.9 和 libvirt >= 4.4.0 时,libvirt 将对在实时迁移过程中检查目标主机上的 CPU 兼容性进行正确的操作。

skip_hypervisor_version_check_on_lm = False

布尔值

启用后,它将在实时迁移过程中跳过虚拟机监控程序的版本检查。

wait_for_vif_plugged_event_during_hard_reboot = []

列表值

libvirt virt 驱动程序通过停止重新引导实例的每个 vif 来实施电源和硬重启,然后再次插入它们。默认情况下,nova 不会等待来自 neutron 的 network-vif-plugged 事件,然后让实例运行。这可能会导致实例通过 DHCP 请求 IP,然后 neutron 后端有机会在 vif 插件后设置网络后端。

此标志定义在硬重启过程中需要 network-vif-plugged 事件。可能的值有 neutron port vnic 类型:

  • normal
  • direct
  • macvtap
  • baremetal
  • direct-physical
  • virtio-forwarder
  • smart-nic
  • vdpa
  • accelerator-direct
  • accelerator-direct-physical

向此配置中添加 vnic_type 会导致 Nova 等待每个实例的 vifs 的 vifs 在取消暂停实例之前具有特定 vnic_type 的 vifs 等待网络插入事件,类似于新实例创建的工作方式。

请注意,并非所有 neutron 网络后端都会为某些 vnic_type 发送插件时间事件,因此此配置默认为空。

ml2/ovs 和 networking-odl 后端已知为带有 normal vnic_type 的端口发送插件时间事件,因此如果您在计算主机上只使用这些后端,则可以安全地将此配置 正常 添加。

在带有 direct vnic_type 的端口期间,neutron in-tree SRIOV 后端不会可靠地发送 network-vif-plugged 事件,且永远不会在插件期间发送具有 直接物理 vnic_type 的端口的事件。对于其他 vnic_type 和 backend 对,请查阅后端开发人员。

相关选项:

  • :oslo.config:option:DEFAULT.vif_plugging_timeout

9.1.56. wsgi

下表概述了 /etc/nova/nova.conf 文件中的 [wsgi] 组下可用的选项。

Expand
表 9.55. wsgi
配置选项 = 默认值类型Description

api_paste_config = api-paste.ini

字符串值

此选项代表 nova-api 的 paste.deploy 配置的文件名。

可能的值:

  • 代表 paste.deploy 配置的文件名的字符串。

client_socket_timeout = 900

整数值

这个选项指定客户端连接的套接字操作的超时时间。如果传入的连接闲置了这个秒数,它将被关闭。它表示套接字连接中的单独读/写的超时。等待ever 设置为 0。

default_pool_size = 1000

整数值

这个选项指定 wsgi 使用的 greenthreads 池的大小。可以使用此选项限制并发连接数。

keep_alive = True

布尔值

这个选项允许使用相同的 TCP 连接来发送和接收多个 HTTP 请求/响应,而不是为每个单个请求/响应打开一个新的请求/响应。HTTP keep-alive 表示 HTTP 连接重复使用。

可能的值:

  • true :重复使用 HTTP 连接。
  • false :明确关闭客户端套接字连接。

相关选项:

  • tcp_keepidle

max_header_line = 16384

整数值

此选项指定要接受的消息标头的最大行大小。在使用带有大型服务目录的 Keystone v3 API 生成时,可能需要增加 max_header_line 的最大行大小。

由于 TCP 是一种基于流的协议,因此为了重复使用连接,因此 HTTP 必须有一种方式来指示之前响应的结束和下一个开始。因此,在 keep_alive 情况下,所有消息都必须具有自我定义的消息长度。

secure_proxy_ssl_header = None

字符串值

这个选项指定用于确定原始请求的协议方案的 HTTP 标头,即使它是由 SSL 终止代理删除的。

可能的值:

  • none (默认)- 请求方案不受任何 HTTP 标头的影响
  • 有效的 HTTP 标头,如 HTTP_X_FORWARDED_PROTO
警告

除非您知道要做什么,否则请不要设置此项。

在设置此选项前,请确保以下所有都为 true (假设上例中的值):

  • 您的 API 位于代理后面。
  • 您的代理从所有传入的请求中剥离 X-Forwarded-Proto 标头。换句话说,如果最终用户在其请求中包含该标头,代理会丢弃它。
  • 您的代理设置 X-Forwarded-Proto 标头并将其发送到 API,但只适用于最初通过 HTTPS 附带的请求。

如果其中任何一个不是 true,则把此设置设置为 None。

ssl_ca_file = None

字符串值

此选项允许设置到应该用于验证连接客户端的 CA 证书文件的路径。

可能的值:

  • 代表 CA 证书文件的路径的字符串。

相关选项:

  • enabled_ssl_apis

ssl_cert_file = None

字符串值

此选项允许设置到 API 服务器的 SSL 证书的路径。

可能的值:

  • 代表到 SSL 证书的路径的字符串。

相关选项:

  • enabled_ssl_apis

ssl_key_file = None

字符串值

这个选项指定在 SSL 生效时存储 API 服务器的 SSL 私钥的文件的路径。

可能的值:

  • 代表到 SSL 私钥的路径的字符串。

相关选项:

  • enabled_ssl_apis

tcp_keepidle = 600

整数值

这个选项为每个服务器套接字设置 TCP_KEEPIDLE 的值(以秒为单位)。它指定保持连接处于活跃状态的时间持续时间。TCP 为请求保持连接活跃的应用程序生成 KEEPALIVE 传输。在 OS X 上不支持。

相关选项:

  • keep_alive

wsgi_log_format = %(client_ip) s "%(request_line) s" status: %(status_code) s len: %(body_length) s time: %(wall_seconds).7f

字符串值

它代表了一个 python 格式字符串,用作模板来生成日志行。以下值可以格式化为:client_ip, date_time, request_line, status_code, body_length, wall_seconds。

此选项用于在 eventlet 下运行 nova-api 时构建自定义请求日志。如果在 uwsgi 或 apache 下使用,这个选项无效。

可能的值:

  • %(client_ip) s "%(request_line) s" status: %(status_code) s ' 'len: %(body_length) s time: %(wall_seconds).7f (default)
  • 由特定值组成的任何格式化字符串。

弃用自:16.0.0

reason: 此选项仅在 eventlet 下运行 nova-api 时起作用,并对非常特定于事件的信息进行编码。从 Pike 开始,运行 nova-api 的首选模型位于 uwsgi 或 apache mod_wsgi 下。

9.1.57. zvm

下表概述了 /etc/nova/nova.conf 文件中的 [zvm] 组下可用的选项。

Expand
表 9.56. zvm
配置选项 = 默认值类型Description

ca_file = None

字符串值

在启用了 TLS 的 httpd 服务器中验证的 CA 证书文件

字符串,它必须是要使用的 CA 捆绑包的路径。

cloud_connector_url = None

URI 值

用于与 z/VM 云连接器通信的 URL。

image_tmp_path = $state_path/images

字符串值

镜像要存储的路径(快照、部署等)。

用于部署和通过快照捕获的镜像需要存储在计算主机的本地磁盘中。此配置标识目录位置。

可能的值:运行计算服务的主机上的文件系统路径。

reachable_timeout = 300

整数值

等待实例启动超时(秒)。

z/VM 驱动程序依赖于实例和云连接器之间的通信。创建实例后,必须有足够的时间等待所有网络信息写入用户目录中。该驱动程序会将网络状态重新检查到带有超时值的实例,如果设置网络失败,它将通知用户启动实例失败,并将实例置于 ERROR 状态。然后会删除底层 z/VM 客户机。

可能的值:任何正整数。建议至少为 300 秒(5 分钟),但它会根据实例和系统负载而有所不同。值 0 用于 debug。在这种情况下,当实例被标记为 ERROR 状态时,底层 z/VM 客户机不会被删除。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部