Trove 配置选项

以下是 Trove 中所有可用配置选项的概述。有关示例配置文件,请参阅 Trove 示例配置文件

默认值

executor_thread_pool_size
类型:

整数

默认值:

64

当 executor 是 threading 或 eventlet 时,executor 线程池的大小。

已弃用的变体

Group

名称

DEFAULT

rpc_thread_pool_size

rpc_response_timeout
类型:

整数

默认值:

60

等待调用响应的秒数。

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/2025.2/reference/transport.html

control_exchange
类型:

字符串

默认值:

openstack

主题的作用域所在的默认交换机。可以通过 transport_url 选项中指定的交换机名称覆盖。

rpc_ping_enabled
类型:

布尔值

默认值:

False

添加一个端点来响应 ping 调用。端点命名为 oslo_rpc_server_ping

pybasedir
类型:

字符串

默认值:

/home/zuul/src/opendev.org/openstack/trove/trove

Trove Python 模块安装的目录。

public_endpoint
类型:

字符串

默认值:

<None>

用于 versions 端点的公共 URL。默认为 None,将使用请求的 host_url 属性来填充 URL 基础。如果 Trove 在代理后面运行,您可能需要将其更改为代表代理的 URL。

bind_host
类型:

ip 地址

默认值:

0.0.0.0

API 服务器将监听的 IP 地址。

bind_port
类型:

端口号

默认值:

8779

最小值:

0

最大值:

65535

API 服务器将监听的端口。

api_paste_config
类型:

字符串

默认值:

api-paste.ini

trove-api 的 paste.deploy 配置文件名。

trove_volume_support
类型:

布尔值

默认值:

False

是否为 datadir 预配 Cinder 卷。

volume_rootdisk_support
类型:

布尔值

默认值:

False

是否为 rootdisk 预配 Cinder 卷。

volume_rootdisk_size
类型:

整数

默认值:

10

数据库实例的卷 rootdisk 大小。

admin_roles
类型:

列表

默认值:

[]

要添加到管理员用户的角色。

警告

此选项已弃用,将来可能会被静默忽略。

原因:

使用 context_is_admin 策略规则。

update_status_on_fail
类型:

布尔值

默认值:

True

当实例在配置的 usage_timeout 内未能变为 active 时,将服务和实例任务状态设置为 ERROR。

nova_compute_url
类型:

URI

默认值:

<None>

不包含租户段的 URL。

nova_compute_service_type
类型:

字符串

默认值:

compute

搜索目录时使用的服务类型。

nova_compute_endpoint_type
类型:

字符串

默认值:

publicURL

搜索目录时使用的服务端点类型。

nova_client_version
类型:

字符串

默认值:

2.12

计算服务客户端的版本。

glance_client_version
类型:

字符串

默认值:

2

镜像服务客户端的版本。

nova_api_insecure
类型:

布尔值

默认值:

False

允许向 nova 发起不安全的 SSL 请求。

nova_keypair
类型:

字符串

默认值:

<None>

Nova 密钥对的名称,用于注入到数据库实例中以启用 SSH 访问。密钥对应由云运营商提前创建。

neutron_url
类型:

URI

默认值:

<None>

不包含租户段的 URL。

neutron_service_type
类型:

字符串

默认值:

network

搜索目录时使用的服务类型。

neutron_endpoint_type
类型:

字符串

默认值:

publicURL

搜索目录时使用的服务端点类型。

neutron_api_insecure
类型:

布尔值

默认值:

False

允许向 neutron 发起不安全的 SSL 请求。

cinder_url
类型:

URI

默认值:

<None>

不包含租户段的 URL。

cinder_service_type
类型:

字符串

默认值:

volumev3

搜索目录时使用的服务类型。

cinder_endpoint_type
类型:

字符串

默认值:

publicURL

搜索目录时使用的服务端点类型。

cinder_api_insecure
类型:

布尔值

默认值:

False

允许向 cinder 发起不安全的 SSL 请求。

swift_url
类型:

URI

默认值:

<None>

AUTH_ 结尾的 URL。

swift_service_type
类型:

字符串

默认值:

object-store

搜索目录时使用的服务类型。

swift_endpoint_type
类型:

字符串

默认值:

publicURL

搜索目录时使用的服务端点类型。

swift_api_insecure
类型:

布尔值

默认值:

False

允许向 swift 发起不安全的 SSL 请求。

glance_url
类型:

URI

默认值:

<None>

AUTH_ 结尾的 URL。

glance_service_type
类型:

字符串

默认值:

image

搜索目录时使用的服务类型。

glance_endpoint_type
类型:

字符串

默认值:

publicURL

搜索目录时使用的服务端点类型。

taskmanager_manager
类型:

字符串

默认值:

trove.taskmanager.manager.Manager

taskmanager 的驱动程序。

trove_url
类型:

字符串

默认值:

<None>

不包含租户段的 URL。

trove_service_type
类型:

字符串

默认值:

database

搜索目录时使用的服务类型。

trove_endpoint_type
类型:

字符串

默认值:

publicURL

搜索目录时使用的服务端点类型。

host
类型:

ip 地址

默认值:

0.0.0.0

用于监听 RPC 消息的主机。

report_interval
类型:

整数

默认值:

30

定期任务运行的间隔(秒)。

trove_dns_support
类型:

布尔值

默认值:

False

Trove 是否应在创建时添加 DNS 条目(使用 Designate DNSaaS)。

db_api_implementation
类型:

字符串

默认值:

trove.db.sqlalchemy.api

Trove 数据库访问的 API 实现。

dns_driver
类型:

字符串

默认值:

trove.dns.driver.DnsDriver

DNSaaS 的驱动程序。

dns_instance_entry_factory
类型:

字符串

默认值:

trove.dns.driver.DnsInstanceEntryFactory

用于添加 DNS 条目的工厂。

dns_hostname
类型:

hostname

默认值:

localhost

用于添加 DNS 条目的主机名。

dns_account_id
类型:

字符串

默认值:

''

DNSaaS 的租户 ID。

dns_endpoint_url
类型:

URI

默认值:

http://0.0.0.0

DNSaaS 的端点 URL。

dns_service_type
类型:

字符串

默认值:

''

DNSaaS 的服务类型。

dns_region
类型:

字符串

默认值:

''

DNSaaS 的区域名称。

dns_auth_url
类型:

URI

默认值:

http://0.0.0.0

DNSaaS 的认证 URL。

dns_user_domain_id
类型:

字符串

默认值:

default

用于身份验证的 Keystone 用户域 ID。

dns_project_domain_id
类型:

字符串

默认值:

default

用于身份验证的 Keystone 项目域 ID。

dns_domain_name
类型:

字符串

默认值:

''

用于添加 DNS 条目的域名称。

dns_username
类型:

字符串

默认值:

''

DNSaaS 的用户名。

dns_passkey
类型:

字符串

默认值:

''

DNSaaS 的密码。

dns_management_base_url
类型:

URI

默认值:

http://0.0.0.0

DNSaaS 的管理 URL。

dns_ttl
类型:

整数

默认值:

300

刷新 DNS 信息前的等待时间(秒)。

dns_domain_id
类型:

字符串

默认值:

''

用于添加 DNS 条目的域 ID。

users_page_size
类型:

整数

默认值:

20

列出用户的页面大小。

databases_page_size
类型:

整数

默认值:

20

列出数据库的页面大小。

instances_page_size
类型:

整数

默认值:

20

列出实例的页面大小。

clusters_page_size
类型:

整数

默认值:

20

列出集群的页面大小。

backups_page_size
类型:

整数

默认值:

20

列出备份的页面大小。

configurations_page_size
类型:

整数

默认值:

20

列出配置的页面大小。

modules_page_size
类型:

整数

默认值:

20

列出模块的页面大小。

agent_call_low_timeout
类型:

整数

默认值:

15

等待 Guest Agent “快速”请求(例如检索用户或数据库列表)的最大时间(秒)。

agent_call_high_timeout
类型:

整数

默认值:

180

等待 Guest Agent “慢速”请求(例如重新启动数据库)的最大时间(秒)。

agent_replication_snapshot_timeout
类型:

整数

默认值:

1800

等待 Guest Agent 复制快照的最大时间(秒)。

command_process_timeout
类型:

整数

默认值:

30

等待进程外命令完成的最大时间(秒)。

guest_id
类型:

字符串

默认值:

<None>

Guest 实例的 ID。

controller_address
类型:

字符串

默认值:

<None>

Guest Agent 在开发者模式下下载 Trove 代码所使用的地址。此地址将插入到 guest 中的文件 /etc/trove/controller.conf 中。

state_change_wait_time
类型:

整数

默认值:

180

等待数据库状态更改的最大时间(秒)。

state_change_poll_time
类型:

整数

默认值:

3

状态更改轮询请求之间的间隔(秒)。

state_healthy_counts
类型:

整数

默认值:

5

对于 HEALTHY 状态,连续成功的数据库连接数。

agent_heartbeat_time
类型:

整数

默认值:

10

Guest Agent 回复心跳请求的最大时间(秒)。

agent_heartbeat_expiry
类型:

整数

默认值:

90

guest 被视为不可达的时间(秒)。

num_tries
类型:

整数

默认值:

3

检查卷是否存在次数。

volume_fstype
类型:

字符串

默认值:

ext4

有效值:

ext3, ext4, xfs

用于格式化卷的文件系统类型。

cinder_volume_type
类型:

字符串

默认值:

<None>

预配 Cinder 卷时使用的卷类型。

format_options
类型:

字符串

默认值:

-m 5

格式化卷时使用的选项。

volume_format_timeout
类型:

整数

默认值:

120

等待卷格式化的最大时间(秒)。

mount_options
类型:

字符串

默认值:

defaults,noatime

挂载卷时使用的选项。

max_instances_per_tenant
类型:

整数

默认值:

10

每个租户的默认最大实例数。

已弃用的变体

Group

名称

DEFAULT

max_instances_per_user

max_ram_per_tenant
类型:

整数

默认值:

-1

每个租户的默认最大总 RAM 量(MB)。

max_accepted_volume_size
类型:

整数

默认值:

10

每个实例的默认最大卷大小(GB)。

max_volumes_per_tenant
类型:

整数

默认值:

40

每个租户的默认最大卷容量(GB),跨越所有 Trove 卷。

已弃用的变体

Group

名称

DEFAULT

max_volumes_per_user

max_backups_per_tenant
类型:

整数

默认值:

50

每个租户创建的默认最大备份数。

已弃用的变体

Group

名称

DEFAULT

max_backups_per_user

quota_driver
类型:

字符串

默认值:

trove.quota.quota.DbQuotaDriver

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

taskmanager_queue
类型:

字符串

默认值:

taskmanager> 监听的消息队列名称。

Taskmanager 将监听的消息队列名称。

conductor_queue
类型:

字符串

默认值:

trove-conductor

Conductor 将监听的消息队列名称。

trove_conductor_workers
类型:

整数

默认值:

<None>

Conductor 服务的 worker 数量。默认为可用 CPU 数量。

use_nova_server_config_drive
类型:

布尔值

默认值:

False

启动实例时使用配置驱动器进行文件注入。

device_path
类型:

字符串

默认值:

/dev/vdb

启用卷支持时的卷设备路径。

default_datastore
类型:

字符串

默认值:

<None>

如果用户未提供,则使用的默认数据存储 ID 或名称。如果默认值为 None,则该字段在实例创建请求中为必填项。

datastore_manager
类型:

字符串

默认值:

<None>

Guest Agent 中的管理器类,由 Taskmanager 在实例预配时设置。

datastore_version
类型:

字符串

默认值:

<None>

Taskmanager 在实例预配期间设置的 Guest 数据存储版本。

block_device_mapping
类型:

字符串

默认值:

vdb

映射到已创建实例的块设备。

server_delete_time_out
类型:

整数

默认值:

60

等待服务器删除的最大时间(秒)。

volume_time_out
类型:

整数

默认值:

60

等待卷附加的最大时间(秒)。

reboot_time_out
类型:

整数

默认值:

120

等待服务器重启的最大时间(秒)。

dns_time_out
类型:

整数

默认值:

120

等待 DNS 条目添加的最大时间(秒)。

resize_time_out
类型:

整数

默认值:

900

等待服务器调整大小的最大时间(秒)。

revert_time_out
类型:

整数

默认值:

600

等待服务器大小调整回滚的最大时间(秒)。

cluster_delete_time_out
类型:

整数

默认值:

180

等待集群删除的最大时间(秒)。

root_grant
类型:

列表

默认值:

['ALL']

授予 'root' 用户的权限。

root_grant_option
类型:

布尔值

默认值:

True

为“root”用户分配 GRANT 权限。

http_get_rate
类型:

整数

默认值:

200

HTTP “GET”请求的最大数量(每分钟)。

http_post_rate
类型:

整数

默认值:

200

HTTP “POST”请求的最大数量(每分钟)。

http_delete_rate
类型:

整数

默认值:

200

HTTP “DELETE”请求的最大数量(每分钟)。

http_put_rate
类型:

整数

默认值:

200

HTTP “PUT”请求的最大数量(每分钟)。

http_mgmt_post_rate
类型:

整数

默认值:

200

管理 HTTP “POST”请求的最大数量(每分钟)。

hostname_require_valid_ip
类型:

布尔值

默认值:

True

要求用户主机名为有效 IP 地址。

已弃用的变体

Group

名称

DEFAULT

hostname_require_ipv4

trove_security_groups_support
类型:

布尔值

默认值:

True

Trove 是否应在创建时添加安全组。

trove_security_group_name_prefix
类型:

字符串

默认值:

trove_sg

创建安全组时使用的前缀。

trove_security_group_rule_cidr
类型:

字符串

默认值:

0.0.0.0/0

创建安全组规则时使用的 CIDR。

trove_api_workers
类型:

整数

默认值:

<None>

API 服务的 worker 数量。默认为可用 CPU 数量。

usage_sleep_time
类型:

整数

默认值:

5

检查 Guest 是否 active 时的睡眠时间。

region
类型:

字符串

默认值:

LOCAL_DEV

此服务所在区域。

backup_runner
类型:

字符串

默认值:

trove.guestagent.backup.backup_types.InnoBackupEx

备份使用的运行程序。

警告

此选项已弃用,将来可能会被静默忽略。

backup_runner_options
类型:

dict

默认值:

{}

传递给备份运行程序的其他选项。

警告

此选项已弃用,将来可能会被静默忽略。

verify_swift_checksum_on_restore
类型:

布尔值

默认值:

True

在开始恢复前启用 Swift 校验和验证。确保原始备份的校验和与 Swift 备份文件的校验和匹配。

verify_replica_volume_size
类型:

布尔值

默认值:

True

在创建副本时,要求副本卷大小大于或等于主卷大小。

storage_strategy
类型:

字符串

默认值:

swift

存储备份的默认策略。

storage_namespace
类型:

字符串

默认值:

trove.common.strategies.storage.swift

从其中加载默认存储策略的命名空间。

警告

此选项已弃用,将来可能会被静默忽略。

backup_swift_container
类型:

字符串

默认值:

database_backups

存储备份的 Swift 容器。

backup_use_gzip_compression
类型:

布尔值

默认值:

True

使用 gzip 压缩备份。

警告

此选项自 V 起已弃用,准备移除。将来可能会被静默忽略。

原因:

默认启用备份数据压缩。此选项已被忽略。

backup_use_openssl_encryption
类型:

布尔值

默认值:

True

使用 OpenSSL 加密备份。

警告

此选项自 V 起已弃用,准备移除。将来可能会被静默忽略。

原因:

Trove 不应代表用户加密备份数据。此选项已被忽略。

backup_aes_cbc_key
类型:

字符串

默认值:

''

用于解密 Victoria 之前创建的备份数据的默认 OpenSSL aes_cbc 密钥。

警告

此选项自 V 起已弃用,准备移除。将来可能会被静默忽略。

原因:

此选项仅为向后兼容。Victoria 之后创建的备份不再加密。

backup_use_snet
类型:

布尔值

默认值:

False

通过 snet 发送备份文件。

警告

此选项自 V 起已弃用,准备移除。将来可能会被静默忽略。

原因:

此选项不再支持。

backup_chunk_size
类型:

整数

默认值:

65536

流式传输到 Swift 容器的块大小(字节)。这应该是 128 字节的倍数,因为这是 md5 摘要块的大小,允许进程在流式传输期间更新文件校验和。请参阅:http://stackoverflow.com/questions/1131220/

backup_segment_max_size
类型:

整数

默认值:

2147483648

备份文件每个段的最大大小(字节)。

remote_dns_client
类型:

字符串

默认值:

trove.common.clients.dns_client

发送 DNS 调用到的客户端。

remote_guest_client
类型:

字符串

默认值:

trove.common.clients.guest_client

发送 Guest Agent 调用到的客户端。

remote_nova_client
类型:

字符串

默认值:

trove.common.clients_admin.nova_client_trove_admin

发送 Nova 调用到的客户端。

remote_neutron_client
类型:

字符串

默认值:

trove.common.clients_admin.neutron_client_trove_admin

发送 Neutron 调用到的客户端。

remote_cinder_client
类型:

字符串

默认值:

trove.common.clients_admin.cinder_client_trove_admin

发送 Cinder 调用到的客户端。

remote_swift_client
类型:

字符串

默认值:

trove.common.clients.swift_client

发送 Swift 调用到的客户端。

remote_trove_client
类型:

字符串

默认值:

trove.common.trove_remote.trove_client

发送 Trove 调用到的客户端。

remote_glance_client
类型:

字符串

默认值:

trove.common.clients_admin.glance_client_trove_admin

发送 Glance 调用到的客户端。

exists_notification_transformer
类型:

字符串

默认值:

<None>

存在通知的转换器。

exists_notification_interval
类型:

整数

默认值:

3600

推送事件之间的等待时间(秒)。

quota_notification_interval
类型:

整数

默认值:

<None>

推送事件之间的等待时间(秒)。

notification_service_id
类型:

dict

默认值:

{'mysql': '2f3ff068-2bfb-4f70-9a9d-a6bb65bc084b', 'percona': 'fd1723f5-68d2-409c-994f-a4a197892a17', 'pxc': '75a628c3-f81b-4ffb-b10a-4087c26bc854', 'redis': 'b216ffc5-1947-456c-a4cf-70f94c05f7d0', 'cassandra': '459a230d-4e97-4344-9067-2a54a310b0ed', 'couchbase': 'fa62fe68-74d9-4779-a24e-36f19602c415', 'mongodb': 'c8c907af-7375-456f-b929-b637ff9209ee', 'postgresql': 'ac277e0d-4f21-40aa-b347-1ea31e571720', 'couchdb': 'f0a9ab7b-66f7-4352-93d7-071521d44c7c', 'vertica': 'a8d805ae-a3b2-c4fd-gb23-b62cee5201ae', 'db2': 'e040cd37-263d-4869-aaa6-c62aa97523b5', 'mariadb': '7a4f82cc-10d2-4bc6-aadc-d9aacc2a3cb5'}

标记通知事件的唯一 ID。

network_label_regex
类型:

字符串

默认值:

^private$

匹配 Trove 网络标签的正则表达式。

警告

此选项已弃用,将来可能会被静默忽略。

ip_regex
类型:

字符串

默认值:

<None>

匹配此正则表达式的 IP 地址列表。

black_list_regex
类型:

字符串

默认值:

<None>

排除匹配此正则表达式的 IP 地址。

cloudinit_location
类型:

字符串

默认值:

/etc/trove/cloudinit

cloudinit 脚本文件夹的路径。

injected_config_location
类型:

字符串

默认值:

/etc/trove/conf.d

在实例创建期间,配置文件将注入到 Guest 中的文件夹路径。

injected_config_owner
类型:

字符串

默认值:

ubuntu

在实例创建期间,Guest Agent 目录和要注入文件的所有者。

injected_config_group
类型:

字符串

默认值:

root

在实例创建期间,Guest Agent 目录和要注入文件的组。

guest_config
类型:

字符串

默认值:

/etc/trove/trove-guestagent.conf

在实例创建期间将注入的 Guest Agent 配置文件路径。

guest_info
类型:

字符串

默认值:

guest_info.conf

在注入的配置位置找到的 guest 信息文件名。如果指定了完整路径,则将其用作 guest 信息文件的路径。

datastore_registry_ext
类型:

dict

默认值:

{}

默认数据存储管理器的扩展。允许使用 Trove 支持的每个数据存储的自定义管理器。

docker_bridge_network_ip
类型:

字符串

默认值:

<None>

Docker 桥接网络 IP。

docker_insecure_registries
类型:

列表

默认值:

[]

用于图像开发的 Docker 不安全注册表。

template_path
类型:

字符串

默认值:

/etc/trove/templates/

通往数据存储模板的路径。

sql_query_logging
类型:

布尔值

默认值:

False

允许在通过 SQLAlchemy 执行查询时进行不安全日志记录。

expected_filetype_suffixes
类型:

列表

默认值:

['json']

utils 方法 correct_id_with_req 不会重新附加到 ID 的文件类型后缀。

management_networks
类型:

列表

默认值:

[]

管理网络 ID 列表,这些网络应附加到实例,而不管在 create API 调用中指定了哪些 NIC。目前只允许一个管理网络。

已弃用的变体

Group

名称

DEFAULT

default_neutron_networks

management_security_groups
类型:

列表

默认值:

[]

应用于数据库实例管理端口的安全组 ID 列表。

max_header_line
类型:

整数

默认值:

16384

可接受的消息头的最大行大小。当使用大型令牌时(通常是 Keystone v3 API 使用大型服务目录生成的令牌),可能需要增加 max_header_line。

conductor_manager
类型:

字符串

默认值:

trove.conductor.manager.Manager

用于 conductor 管理器的限定类名。

network_driver
类型:

字符串

默认值:

trove.network.neutron.NeutronDriver

描述用于管理网络属性(安全组、浮动 IP 等)的实际网络管理器。

usage_timeout
类型:

整数

默认值:

1800

等待 Guest 变为 active 的最大时间(秒)。

restore_usage_timeout
类型:

整数

默认值:

3600

等待从备份恢复的 Guest 实例变为 active 的最大时间(秒)。

cluster_usage_timeout
类型:

整数

默认值:

36000

等待集群变为 active 的最大时间(秒)。

module_aes_cbc_key
类型:

字符串

默认值:

module_aes_cbc_key

用于模块加密的 OpenSSL aes_cbc 密钥。

module_types
类型:

列表

默认值:

['ping', 'new_relic_license']

支持的模块类型列表。模块类型对应于 ModuleDriver 的名称。

module_reapply_max_batch_size
类型:

整数

默认值:

50

一次重新应用模块的最大实例数。

module_reapply_min_batch_delay
类型:

整数

默认值:

2

后续模块批次重新应用执行之间的最小延迟(秒)。

guest_log_container_name
类型:

字符串

默认值:

database_logs

存储 guest 日志组件的容器名称。

guest_log_limit
类型:

整数

默认值:

1000000

保存在 guest 日志容器中的块的最大大小。

guest_log_expiry
类型:

整数

默认值:

2592000

guest 日志容器中对象的过期时间(秒)。

enable_secure_rpc_messaging
类型:

布尔值

默认值:

True

是否应通过加密保护 RPC 消息流量。

taskmanager_rpc_encr_key
类型:

字符串

默认值:

bzH6y0SGmjuoY0FNSTptrhgieGXNDX6PIhvz

用于 taskmanager RPC 加密的密钥(OpenSSL aes_cbc)。

inst_rpc_key_encr_key
类型:

字符串

默认值:

emYjgHFqfXNB1NGehAFIUeoyw4V4XwWHEaKP

用于加密数据库中实例密钥的密钥(OpenSSL aes_cbc)。

instance_rpc_encr_key
类型:

字符串

默认值:

<None>

用于实例 RPC 加密的密钥(OpenSSL aes_cbc)。

database_service_uid
类型:

字符串

默认值:

1001

数据库服务用户的 UID(GID)。

reserved_network_cidrs
类型:

列表

默认值:

[]

为 Trove guest 实例管理保留的网络 CIDR。

online_volume_resize
类型:

布尔值

默认值:

True

是否支持在线卷大小调整。

enable_volume_az
类型:

布尔值

默认值:

False

如果为 true,则在与实例相同的可用区域创建卷。

replica_snapshot_driver
类型:

字符串

默认值:

<None>

有效值:

cinder, swift

默认情况下,这与 storage_strategy 相同。将其设置为不同的驱动程序可能很有用,以避免备份驱动程序的限制。例如,当 storage_strate 是 swift 时,可以将其设置为 cinder 以提高备份速度;当 storage_strate 是 cinder 时,可以将其设置为 swift 以支持跨可用区域或区域的备份。

debug
类型:

布尔值

默认值:

False

可变:

此选项可以在不重启的情况下更改。

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

log_config_append
类型:

字符串

默认值:

<None>

可变:

此选项可以在不重启的情况下更改。

日志配置文件的名称。此文件将附加到任何现有的日志配置文件。有关日志配置文件的详细信息,请参阅 Python 日志模块文档。请注意,当使用日志配置文件时,所有日志配置都设置在配置文件中,并且其他日志配置选项将被忽略(例如,log-date-format)。

已弃用的变体

Group

名称

DEFAULT

log-config

DEFAULT

log_config

log_date_format
类型:

字符串

默认值:

%Y-%m-%d %H:%M:%S

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

log_file
类型:

字符串

默认值:

<None>

(可选) 将日志输出发送到的日志文件名。如果没有设置默认值,日志将输出到 stderr,如 use_stderr 中定义的那样。如果设置了 log_config_append,则此选项将被忽略。

已弃用的变体

Group

名称

DEFAULT

logfile

log_dir
类型:

字符串

默认值:

<None>

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

已弃用的变体

Group

名称

DEFAULT

logdir

watch_log_file
类型:

布尔值

默认值:

False

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

警告

此选项已弃用,将来可能会被静默忽略。

原因:

已知此功能长期存在问题,并且依赖于未维护的库

use_syslog
类型:

布尔值

默认值:

False

使用 syslog 进行日志记录。现有的 syslog 格式已弃用,以后将更改为符合 RFC5424。如果设置了 log_config_append,则此选项将被忽略。

use_journal
类型:

布尔值

默认值:

False

启用 journald 进行日志记录。如果正在 systemd 环境中运行,您可能希望启用 journal 支持。这样做将使用 journal 本机协议,其中包括结构化元数据以及日志消息。如果设置了 log_config_append,则此选项将被忽略。

syslog_log_facility
类型:

字符串

默认值:

LOG_USER

接收日志行的 syslog facility。如果设置了 log_config_append,则此选项将被忽略。

use_json
类型:

布尔值

默认值:

False

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

use_stderr
类型:

布尔值

默认值:

False

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

log_color
类型:

布尔值

默认值:

False

(可选) 根据日志级别设置“color”键。此选项仅在将日志记录到 stderr 或 stdout 时生效。如果设置了 log_config_append,则此选项将被忽略。

log_rotate_interval
类型:

整数

默认值:

1

日志文件轮换前的时间量。如果未设置 log_rotation_type 为“interval”,则此选项将被忽略。

log_rotate_interval_type
类型:

字符串

默认值:

days

有效值:

秒、分钟、小时、天、星期几、午夜

轮换间隔类型。在安排下一次轮换时,使用上次文件更改时间(或服务启动时间)。

max_logfile_count
类型:

整数

默认值:

30

最大轮换日志文件数。

max_logfile_size_mb
类型:

整数

默认值:

200

日志文件最大大小(MB)。如果“log_rotation_type”未设置为“size”,则此选项将被忽略。

log_rotation_type
类型:

字符串

默认值:

none

有效值:

interval, size, none

日志轮换类型。

可能的值

interval

以预定义的时间间隔轮换日志。

size

当日志达到预定义的大小后轮换日志。

none

不轮换日志文件。

logging_context_format_string
类型:

字符串

默认值:

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

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

logging_default_format_string
类型:

字符串

默认值:

%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)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_exception_prefix
类型:

字符串

默认值:

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

将此格式作为异常输出的每一行的前缀。由 oslo_log.formatters.ContextFormatter 使用

logging_user_identity_format
类型:

字符串

默认值:

%(user)s %(project)s %(domain)s %(system_scope)s %(user_domain)s %(project_domain)s

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

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,则此选项将被忽略。

publish_errors
类型:

布尔值

默认值:

False

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

instance_format
类型:

字符串

默认值:

"[instance: %(uuid)s] "

与日志消息一起传递的实例的格式。

instance_uuid_format
类型:

字符串

默认值:

"[instance: %(uuid)s] "

与日志消息一起传递的实例 UUID 的格式。

rate_limit_interval
类型:

整数

默认值:

0

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

rate_limit_burst
类型:

整数

默认值:

0

每 rate_limit_interval 允许记录的最大消息数。

rate_limit_except_level
类型:

字符串

默认值:

CRITICAL

有效值:

CRITICAL, ERROR, INFO, WARNING, DEBUG, ‘’

速率限制使用的日志级别。日志级别大于或等于 rate_limit_except_level 的日志不会被过滤。空字符串表示所有级别都不会被过滤。

fatal_deprecations
类型:

布尔值

默认值:

False

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

cache

config_prefix
类型:

字符串

默认值:

cache.oslo

用于构建缓存区域配置字典的前缀。除非有另一个 dogpile.cache 区域使用相同的配置名称,否则不需要更改此项。

expiration_time
类型:

整数

默认值:

600

最小值:

1

默认 TTL(秒),适用于 dogpile.cache 区域中的任何缓存项。这适用于任何没有为其定义显式缓存过期时间的缓存方法。

backend_expiration_time
类型:

整数

默认值:

<None>

最小值:

1

在缓存后端中自动清除过期记录的过期时间。此值应大于 expiration_time 和所有 cache_time 选项

backend
类型:

字符串

默认值:

dogpile.cache.null

有效值:

oslo_cache.memcache_pool, oslo_cache.dict, oslo_cache.mongo, oslo_cache.etcd3gw, dogpile.cache.pymemcache, dogpile.cache.memcached, dogpile.cache.pylibmc, dogpile.cache.bmemcached, dogpile.cache.dbm, dogpile.cache.redis, dogpile.cache.redis_sentinel, dogpile.cache.memory, dogpile.cache.memory_pickle, dogpile.cache.null

缓存后端模块。对于基于 eventlet 的环境或具有数百个线程服务器的环境,建议使用带有池化的 Memcache (oslo_cache.memcache_pool)。对于具有少于 100 个线程服务器的环境,建议使用 Memcached (dogpile.cache.memcached) 或 Redis (dogpile.cache.redis)。测试环境可以使用单个服务器实例使用 dogpile.cache.memory 后端。

backend_argument
类型:

多值

默认值:

''

传递给后端模块的参数。对于要传递给 dogpile.cache 后端的每个参数,指定此选项一次。示例格式:“<argname>:<value>”。

proxies
类型:

列表

默认值:

[]

要导入的代理类,它们会影响 dogpile.cache 后端的运作方式。请参阅 dogpile.cache 文档中关于 changing-backend-behavior 的内容。

enabled
类型:

布尔值

默认值:

False

全局缓存开关。

debug_cache_backend
类型:

布尔值

默认值:

False

来自缓存后端的额外调试信息(缓存键、get/set/delete/等调用)。只有在需要查看带有键/值的特定缓存后端 get/set/delete 调用时,此选项才真正有用。通常应将其设置为 false。

memcache_servers
类型:

列表

默认值:

['localhost:11211']

Memcache 服务器,格式为“host:port”。这由依赖 Memcached 的后端使用。如果使用 dogpile.cache.memcachedoslo_cache.memcache_pool,并且给定的主机引用 IPv6 或给定的域引用 IPv6,那么您应该在给定的地址前加上地址系列(inet6)(例如 inet6:[::1]:11211inet6:[fd12:3456:789a:1::1]:11211inet6:[controller-0.internalapi]:11211)。如果未给出地址系列,则这些后端将使用默认的 inet 地址系列,该系列对应于 IPv4。

memcache_dead_retry
类型:

整数

默认值:

300

在再次尝试之前,Memcached 服务器被认为已死的时间(秒)。(仅适用于 dogpile.cache.memcache 和 oslo_cache.memcache_pool 后端)。

memcache_socket_timeout
类型:

浮点数

默认值:

1.0

每次调用服务器的超时时间(秒)。(仅适用于 dogpile.cache.memcache 和 oslo_cache.memcache_pool 后端)。

memcache_pool_maxsize
类型:

整数

默认值:

10

每个 Memcached 服务器的最大开放连接数。(仅适用于 oslo_cache.memcache_pool 后端)。

memcache_pool_unused_timeout
类型:

整数

默认值:

60

连接在池中未被使用之前保持打开状态的秒数。(仅适用于 oslo_cache.memcache_pool 后端)。

memcache_pool_connection_get_timeout
类型:

整数

默认值:

10

获取 Memcache 客户端连接的操作等待的秒数。

memcache_pool_flush_on_reconnect
类型:

布尔值

默认值:

False

全局切换,确定是否在重新连接时刷新 Memcache。(仅适用于 oslo_cache.memcache_pool 后端)。

memcache_sasl_enabled
类型:

布尔值

默认值:

False

如果 SASL_enable 为 true,则启用 SASL(简单身份验证和安全层),否则禁用。

memcache_username
类型:

字符串

默认值:

<None>

启用 SASL 的 Memcached 的用户名

memcache_password
类型:

字符串

默认值:

<None>

启用 SASL 的 Memcached 的密码

redis_server
类型:

字符串

默认值:

localhost:6379

Redis 服务器的格式为“host:port”

redis_db
类型:

整数

默认值:

0

最小值:

0

Redis 服务器中的数据库 ID

redis_username
类型:

字符串

默认值:

<None>

redis 的用户名

redis_password
类型:

字符串

默认值:

<None>

redis 的密码

redis_sentinels
类型:

列表

默认值:

['localhost:26379']

Redis sentinel 服务器的格式为“host:port”

redis_socket_timeout
类型:

浮点数

默认值:

1.0

每次调用服务器的超时时间(秒)。(仅适用于 dogpile.cache.redis 和 dogpile.cache.redis_sentinel 后端)。

redis_sentinel_service_name
类型:

字符串

默认值:

mymaster

Redis sentinel 集群的服务名称。

tls_enabled
类型:

布尔值

默认值:

False

与缓存服务器通信时使用 TLS 的全局切换。目前受 dogpile.cache.bmemcachedogpile.cache.pymemcacheoslo_cache.memcache_pooldogpile.cache.redisdogpile.cache.redis_sentinel 支持。

tls_cafile
类型:

字符串

默认值:

<None>

建立缓存服务器身份验证所需的 PEM 格式的串联 CA 证书的文件路径。如果 tls_enabled 为 False,则忽略此选项。

tls_certfile
类型:

字符串

默认值:

<None>

包含客户端证书以及建立证书身份验证所需的任何数量的 CA 证书的单个 PEM 格式的文件。只有在需要客户端身份验证时才需要此文件。如果 tls_enabled 为 False,则忽略此选项。

tls_keyfile
类型:

字符串

默认值:

<None>

包含客户端私钥的单个文件。否则,私钥将从 tls_certfile 中指定的文件中获取。如果 tls_enabled 为 False,则忽略此选项。

tls_allowed_ciphers
类型:

字符串

默认值:

<None>

设置使用 TLS 上下文创建的套接字的可用密码。它应该是 OpenSSL 密码列表格式的字符串。如果未指定,将提供所有 OpenSSL 启用的密码。目前受 dogpile.cache.bmemcachedogpile.cache.pymemcacheoslo_cache.memcache_pool 支持。

enable_socket_keepalive
类型:

布尔值

默认值:

False

dogpile 的 pymemcache 后端的套接字保活的全局切换

socket_keepalive_idle
类型:

整数

默认值:

1

最小值:

0

连接在开始发送保活探测之前需要保持空闲的时间(秒)。应该是一个大于零的正整数。

socket_keepalive_interval
类型:

整数

默认值:

1

最小值:

0

各个保活探测之间的时间(秒)。应该是一个大于零的正整数。

socket_keepalive_count
类型:

整数

默认值:

1

最小值:

0

TCP 在放弃连接之前应该发送的最大保活探测次数。应该是一个大于零的正整数。

enable_retry_client
类型:

布尔值

默认值:

False

启用重试客户端机制以处理故障。这些机制可用于包装所有类型的 pymemcache 客户端。该包装器允许您定义重试次数以及尝试之间的等待时间。

retry_attempts
类型:

整数

默认值:

2

最小值:

1

在失败之前尝试操作的次数。

retry_delay
类型:

浮点数

默认值:

0

每次尝试之间的睡眠秒数。

hashclient_retry_attempts
类型:

整数

默认值:

2

最小值:

1

在 HashClient 的内部机制中,客户端应该尝试的次数,然后将其标记为已死并从池中删除。

hashclient_retry_delay
类型:

浮点数

默认值:

1

HashClient 的内部机制中,重试尝试之间应该经过的秒数。

dead_timeout
类型:

浮点数

默认值:

60

在 HashClient 的内部机制中,在尝试将节点放回池中之前应该经过的时间(秒)。

enforce_fips_mode
类型:

布尔值

默认值:

False

全局切换,用于强制 OpenSSL FIPS 模式。此功能需要 Python 支持。在所有环境中的 Python 3.9 中可用,并且可能已回溯到较旧的 Python 版本。如果使用的 Python 可执行文件不支持 OpenSSL FIPS 模式,将引发异常。目前受 dogpile.cache.bmemcachedogpile.cache.pymemcacheoslo_cache.memcache_pool 支持。

cors

allowed_origin
类型:

列表

默认值:

<None>

指示是否允许与请求“origin”标头中接收到的域共享此资源。格式:“<protocol>://<host>[:<port>]”,不带尾部斜杠。示例:https://horizon.example.com

allow_credentials
类型:

布尔值

默认值:

True

指示实际请求是否可以包含用户凭据

expose_headers
类型:

列表

默认值:

[]

指示哪些标头可以安全地暴露给 API。默认值为 HTTP 简单标头。

max_age
类型:

整数

默认值:

3600

CORS 预检请求的最大缓存时间。

allow_methods
类型:

列表

默认值:

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

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

allow_headers
类型:

列表

默认值:

[]

指示实际请求期间可以使用哪些标头字段名称。

database

sqlite_synchronous
类型:

布尔值

默认值:

True

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

backend
类型:

字符串

默认值:

sqlalchemy

用于数据库的后端。

connection
类型:

字符串

默认值:

<None>

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

slave_connection
类型:

字符串

默认值:

<None>

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

asyncio_connection
类型:

字符串

默认值:

<None>

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

asyncio_slave_connection
类型:

字符串

默认值:

<None>

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

mysql_sql_mode
类型:

字符串

默认值:

TRADITIONAL

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

mysql_wsrep_sync_wait
类型:

整数

默认值:

<None>

仅适用于 Galera,配置新连接上的 wsrep_sync_wait 因果关系检查。默认值为 None,表示不配置任何设置。

connection_recycle_time
类型:

整数

默认值:

3600

连接在连接池中存在的时间超过此秒数后,将在下次从池中检出时替换为新的连接。

max_pool_size
类型:

整数

默认值:

5

保持在池中打开的 SQL 连接的最大数量。将值设置为 0 表示没有限制。

max_retries
类型:

整数

默认值:

10

启动期间打开数据库连接的最大重试次数。设置为 -1 表示无限重试次数。

retry_interval
类型:

整数

默认值:

10

重试打开 SQL 连接的间隔时间。

max_overflow
类型:

整数

默认值:

50

如果设置,则使用此值作为 SQLAlchemy 的 max_overflow。

connection_debug
类型:

整数

默认值:

0

最小值:

0

最大值:

100

SQL 调试信息的详细程度:0=无,100=全部。

connection_trace
类型:

布尔值

默认值:

False

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

pool_timeout
类型:

整数

默认值:

<None>

如果设置,则使用此值作为 SQLAlchemy 的 pool_timeout。

use_db_reconnect
类型:

布尔值

默认值:

False

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

db_retry_interval
类型:

整数

默认值:

1

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

db_inc_retry_interval
类型:

布尔值

默认值:

True

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

db_max_retry_interval
类型:

整数

默认值:

10

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

db_max_retries
类型:

整数

默认值:

20

在出现连接错误或死锁错误之前,数据库重试的最大次数。设置为 -1 表示无限重试次数。

connection_parameters
类型:

字符串

默认值:

''

可选的 URL 参数,用于在连接时附加到连接 URL,格式为 param1=value1&param2=value2&…

guest_agent

Guest Agent 使用的配置选项。

container_registry
类型:

字符串

默认值:

<None>

注册表的 URL。例如:https://index.docker.io/v1/

container_registry_username
类型:

字符串

默认值:

<None>

注册表用户名。

container_registry_password
类型:

字符串

默认值:

<None>

明文注册表密码。

healthcheck

path
类型:

字符串

默认值:

/healthcheck

响应 healthcheck 请求的路径。

警告

此选项已弃用,将来可能会被静默忽略。

detailed
类型:

布尔值

默认值:

False

在响应中显示更多详细信息。安全说明:启用此选项可能会暴露有关正在监视的服务敏感详细信息。请确保验证它不会违反您的安全策略。

backends
类型:

列表

默认值:

[]

可以执行 healthcheck 并将该信息作为请求的一部分返回的其他后端。

allowed_source_ranges
类型:

列表

默认值:

[]

用于限制允许访问 healthcheck 信息的源 IP 的网络地址列表。来自这些网络地址之外的任何请求将被忽略。

ignore_proxied_requests
类型:

布尔值

默认值:

False

忽略带有代理标头的请求。

disable_by_file_path
类型:

字符串

默认值:

<None>

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

disable_by_file_paths
类型:

列表

默认值:

[]

检查基于端口的文件是否存在情况,以确定应用程序是否正在端口上运行。期望一个“port:path”字符串列表。由 DisableByFilesPortsHealthcheck 插件使用。

enable_by_file_paths
类型:

列表

默认值:

[]

检查文件的存在情况。由 EnableByFilesHealthcheck 插件使用。

instance_ports_cache

expiration_time
类型:

整数

默认值:

86400

用于缓存实例端口的 dogpile.cache 区域中任何缓存项的 TTL(秒)。

caching
类型:

布尔值

默认值:

True

用于获取 Trove 实例端口时的缓存切换开关。请注意,必须启用 oslo.cache 的全局切换([cache] 组中的 enabled=True)才能使用此功能。

keystone_authtoken

www_authenticate_uri
类型:

字符串

默认值:

<None>

完整的“公共”身份 API 端点。此端点不应是“admin”端点,因为它应可供所有最终用户访问。未经身份验证的客户端将被重定向到此端点以进行身份验证。虽然此端点理想情况下应该是未版本化的,但实际客户端支持各不相同。如果您在此处使用版本化的 v2 端点,则不应与服务用户用于验证令牌的端点相同,因为普通最终用户可能无法访问该端点。

已弃用的变体

Group

名称

keystone_authtoken

auth_uri

auth_uri
类型:

字符串

默认值:

<None>

完整的“公共”身份 API 端点。此端点不应是“admin”端点,因为它应可供所有最终用户访问。未经身份验证的客户端将被重定向到此端点以进行身份验证。虽然此端点理想情况下应该是未版本化的,但实际客户端支持各不相同。如果您在此处使用版本化的 v2 端点,则不应与服务用户用于验证令牌的端点相同,因为普通最终用户可能无法访问该端点。此选项已被弃用,以支持 www_authenticate_uri,并且将在 S 版本中删除。

警告

此选项已弃用以供删除,自 Queens 以来。其值将来可能会被默默地忽略。

原因:

auth_uri 选项已被弃用,以支持 www_authenticate_uri,并且将在 S 版本中删除。

auth_version
类型:

字符串

默认值:

<None>

身份 API 端点的 API 版本。

interface
类型:

字符串

默认值:

internal

用于身份 API 端点的接口。有效值为“public”、“internal”(默认)或“admin”。

delay_auth_decision
类型:

布尔值

默认值:

False

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

http_connect_timeout
类型:

整数

默认值:

<None>

与 Identity API 服务器通信的请求超时值。

http_request_max_retries
类型:

整数

默认值:

3

与 Identity API 服务器通信时,我们尝试重新连接多少次。

cache
类型:

字符串

默认值:

<None>

请求环境键,其中存储了 Swift 缓存对象。当 auth_token 中间件与 Swift 缓存一起部署时,使用此选项与 swift 共享缓存后端。否则,请改用 memcached_servers 选项。

certfile
类型:

字符串

默认值:

<None>

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

keyfile
类型:

字符串

默认值:

<None>

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

cafile
类型:

字符串

默认值:

<None>

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

insecure
类型:

布尔值

默认值:

False

验证 HTTPS 连接。

region_name
类型:

字符串

默认值:

<None>

可以找到身份服务器的区域。

memcached_servers
类型:

列表

默认值:

<None>

可选地指定要用于缓存的 memcached 服务器列表。如果未定义,则令牌将改为在进程内缓存。

已弃用的变体

Group

名称

keystone_authtoken

memcache_servers

token_cache_time
类型:

整数

默认值:

300

为了防止花费过多的精力来验证令牌,中间件将先前看到的令牌缓存配置的时间(以秒为单位)。设置为 -1 以完全禁用缓存。

memcache_security_strategy
类型:

字符串

默认值:

有效值:

None, MAC, ENCRYPT

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

memcache_secret_key
类型:

字符串

默认值:

<None>

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

memcache_tls_enabled
类型:

布尔值

默认值:

False

(可选) 与缓存服务器通信时 TLS 使用的全局切换。

memcache_tls_cafile
类型:

字符串

默认值:

<None>

(可选) 建立缓存服务器身份所需的 PEM 格式的串联 CA 证书的文件路径。如果 tls_enabled 为 False,则忽略此选项。

memcache_tls_certfile
类型:

字符串

默认值:

<None>

(可选) 包含客户端证书以及建立证书身份所需的任何数量的 CA 证书的单个 PEM 格式的文件路径。仅当需要客户端身份验证时才需要此文件。如果 tls_enabled 为 False,则忽略此选项。

memcache_tls_keyfile
类型:

字符串

默认值:

<None>

(可选) 包含客户端私钥的单个文件。否则,私钥将从 tls_certfile 中指定的 文件中获取。如果 tls_enabled 为 False,则忽略此选项。

memcache_tls_allowed_ciphers
类型:

字符串

默认值:

<None>

(可选) 设置使用 TLS 上下文创建的套接字的可用密码。它应该是 OpenSSL 密码列表格式的字符串。如果未指定,将启用所有 OpenSSL 密码。

memcache_pool_dead_retry
类型:

整数

默认值:

300

(可选) memcached 服务器被认为已死并在重试之前的时间(以秒为单位)。

memcache_pool_maxsize
类型:

整数

默认值:

10

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

memcache_pool_socket_timeout
类型:

整数

默认值:

3

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

memcache_pool_unused_timeout
类型:

整数

默认值:

60

(可选) 连接在池中未使用的时间(以秒为单位),然后将其关闭。

memcache_pool_conn_get_timeout
类型:

整数

默认值:

10

(可选) 操作等待从池中获取 memcached 客户端连接的时间(以秒为单位)。

memcache_use_advanced_pool
类型:

布尔值

默认值:

True

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

include_service_catalog
类型:

布尔值

默认值:

True

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

enforce_token_bind
类型:

字符串

默认值:

permissive

用于控制令牌绑定使用和类型。可以设置为:“disabled”以不检查令牌绑定。“permissive”(默认)如果绑定类型是服务器已知的一种形式,则验证绑定信息,如果不是则忽略它。“strict”类似于“permissive”,但如果绑定类型未知,则拒绝该令牌。“required”需要任何形式的令牌绑定才能被允许。最后,是必须出现在令牌中的绑定方法的名称。

service_token_roles
类型:

列表

默认值:

['service']

服务令牌中必须存在的一组角色选择。服务令牌允许请求可以使用过期的令牌,因此此检查应严格控制只有实际的服务才能发送此令牌。此处的角色作为 ANY 检查应用,因此列表中任何角色都必须存在。出于向后兼容的原因,这目前仅影响 allow_expired 检查。

service_token_roles_required
类型:

布尔值

默认值:

False

出于向后兼容的原因,我们必须允许通过 service_token_roles 检查但未通过有效服务令牌。将此设置为 true 将在未来的版本中成为默认设置,如果可能,应启用它。

service_type
类型:

字符串

默认值:

<None>

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

memcache_sasl_enabled
类型:

布尔值

默认值:

False

如果 SASL_enable 为 true,则启用 SASL(简单身份验证和安全层),否则禁用。

memcache_username
类型:

字符串

默认值:

''

SASL 的用户名

memcache_password
类型:

字符串

默认值:

''

SASL 的用户名密码

auth_admin_prefix
类型:

字符串

默认值:

''

添加到路径开头的字符串。已弃用,请使用 identity_uri。

auth_host
类型:

字符串

默认值:

127.0.0.1

提供管理员身份 API 端点的主机。已弃用,请使用 identity_uri。

auth_port
类型:

整数

默认值:

35357

管理员身份 API 端点的端口。已弃用,请使用 identity_uri。

auth_protocol
类型:

字符串

默认值:

https

有效值:

http, https

管理员身份 API 端点的协议。已弃用,请使用 identity_uri。

identity_uri
类型:

字符串

默认值:

<None>

完整的管理员身份 API 端点。这应指定未版本化的根端点,例如 https://:35357/

admin_token
类型:

字符串

默认值:

<None>

此选项已弃用,并可能在未来版本中删除。与 Keystone 配置共享的单个共享密钥,用于引导 Keystone 安装,或绕过正常身份验证过程。不应使用此选项,而应使用 admin_useradmin_password

admin_user
类型:

字符串

默认值:

<None>

服务用户名。

admin_password
类型:

字符串

默认值:

<None>

服务用户密码。

admin_tenant_name
类型:

字符串

默认值:

admin(管理员)

服务租户名称。

auth_type
类型:

未知类型

默认值:

<None>

要加载的身份验证类型

已弃用的变体

Group

名称

keystone_authtoken

auth_plugin

auth_section
类型:

未知类型

默认值:

<None>

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

auth_url
类型:

未知类型

默认值:

<None>

认证 URL

system_scope
类型:

未知类型

默认值:

<None>

系统操作的作用域

domain_id
类型:

未知类型

默认值:

<None>

作用域的域 ID

domain_name
类型:

未知类型

默认值:

<None>

作用域的域名称

project_id
类型:

未知类型

默认值:

<None>

作用域的项目 ID

已弃用的变体

Group

名称

keystone_authtoken

tenant-id

keystone_authtoken

tenant_id

project_name
类型:

未知类型

默认值:

<None>

作用域的项目名称

已弃用的变体

Group

名称

keystone_authtoken

tenant-name

keystone_authtoken

tenant_name

project_domain_id
类型:

未知类型

默认值:

<None>

包含项目的域 ID

project_domain_name
类型:

未知类型

默认值:

<None>

包含项目的域名称

trust_id
类型:

未知类型

默认值:

<None>

用作受托人的信任 ID

default_domain_id
类型:

未知类型

默认值:

<None>

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

default_domain_name
类型:

未知类型

默认值:

<None>

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

user_id
类型:

未知类型

默认值:

<None>

用户 ID

username
类型:

未知类型

默认值:

<None>

用户名

已弃用的变体

Group

名称

keystone_authtoken

user-name

keystone_authtoken

user_name

user_domain_id
类型:

未知类型

默认值:

<None>

用户域 ID

user_domain_name
类型:

未知类型

默认值:

<None>

用户的域名称

password
类型:

未知类型

默认值:

<None>

用户的密码

mariadb

为 MariaDB 数据存储设计的 Oslo 选项组。

database_service_uname
类型:

字符串

默认值:

database

数据库服务用户的名称。

database_service_uid
类型:

字符串

默认值:

<None>

数据库服务用户的 UID。

database_service_gid
类型:

字符串

默认值:

<None>

数据库服务用户的 GID。

icmp
类型:

布尔值

默认值:

False

是否允许 ICMP。

警告

此选项已弃用,将来可能会被静默忽略。

tcp_ports
类型:

列表

默认值:

['3306', '4444', '4567', '4568']

要在安全组中打开的 TCP 端口和/或端口范围列表(仅当 trove_security_groups_support 为 True 时适用)。

udp_ports
类型:

列表

默认值:

[]

要在安全组中打开的 UDP 端口和/或端口范围列表(仅当 trove_security_groups_support 为 True 时适用)。

backup_strategy
类型:

字符串

默认值:

mariabackup

执行备份的默认策略。

已弃用的变体

Group

名称

DEFAULT

backup_strategy

replication_strategy
类型:

字符串

默认值:

MariaDBGTIDReplication

复制的默认策略。

replication_namespace
类型:

字符串

默认值:

trove.guestagent.strategies.replication.mariadb_gtid

从中加载复制策略的命名空间。

mount_point
类型:

字符串

默认值:

/var/lib/mysql

启用卷支持时挂载卷的文件系统路径。

root_on_create
类型:

布尔值

默认值:

False

在实例创建期间启用服务 root 用户的自动创建。为 root 用户生成的密码将立即在 instance-create 的响应中以“password”字段返回。

usage_timeout
类型:

整数

默认值:

400

等待 Guest 变为 active 的最大时间(秒)。

volume_support
类型:

布尔值

默认值:

True

是否为 datadir 预配 Cinder 卷。

device_path
类型:

字符串

默认值:

/dev/vdb

启用卷支持时的卷设备路径。

root_controller
类型:

字符串

默认值:

trove.extensions.common.service.DefaultRootController

mysql 的根控制器实现。

ignore_users
类型:

列表

默认值:

['os_admin', 'root']

列出用户时要排除的用户。

已弃用的变体

Group

名称

DEFAULT

ignore_users

ignore_dbs
类型:

列表

默认值:

['mysql', 'information_schema', 'performance_schema']

列出数据库时要排除的数据库。

已弃用的变体

Group

名称

DEFAULT

ignore_dbs

guest_log_exposed_logs
类型:

字符串

默认值:

general,slow_query

要公开发布的 Guest 日志列表。

guest_log_long_query_time
类型:

整数

默认值:

1000

一个语句必须花费的时间(毫秒)才能记录在 slow_query 日志中。

警告

此选项已弃用,将来可能会被静默忽略。

原因:

将被配置组选项 long_query_time 取代。

cluster_support
类型:

布尔值

默认值:

True

启用集群的创建和管理。

min_cluster_member_count
类型:

整数

默认值:

3

MariaDB 集群中的最小成员数。

api_strategy
类型:

字符串

默认值:

trove.common.strategies.cluster.experimental.galera_common.api.GaleraCommonAPIStrategy

实现数据存储特定 API 逻辑的类。

taskmanager_strategy
类型:

字符串

默认值:

trove.common.strategies.cluster.experimental.galera_common.taskmanager.GaleraCommonTaskManagerStrategy

实现数据存储特定任务管理器逻辑的类。

guestagent_strategy
类型:

字符串

默认值:

trove.common.strategies.cluster.experimental.galera_common.guestagent.GaleraCommonGuestAgentStrategy

实现数据存储特定 Guest Agent API 逻辑的类。

default_password_length
类型:

整数

默认值:

${mysql.default_password_length}

生成的密码的字符长度。

docker_image
类型:

字符串

默认值:

mariadb

数据库 docker 镜像。

backup_docker_image
类型:

字符串

默认值:

your-registry/your-repo/db-backup-mariadb

此选项有一个示例默认值,这意味着其实际默认值可能与上述文档值不同。

用于备份和恢复的 docker 镜像。Trove 将使用数据存储版本作为镜像标签,例如:your-registry/your-repo/db-backup-mariadb:10.3 用于版本为 10.3 的 mariadb 数据存储。

mysql

为 MySQL 数据存储设计的 Oslo 选项组。

database_service_uname
类型:

字符串

默认值:

database

数据库服务用户的名称。

database_service_uid
类型:

字符串

默认值:

<None>

数据库服务用户的 UID。

database_service_gid
类型:

字符串

默认值:

<None>

数据库服务用户的 GID。

icmp
类型:

布尔值

默认值:

False

是否允许 ICMP。

警告

此选项已弃用,将来可能会被静默忽略。

tcp_ports
类型:

列表

默认值:

['3306']

要在安全组中打开的 TCP 端口和/或端口范围列表(仅当 trove_security_groups_support 为 True 时适用)。

udp_ports
类型:

列表

默认值:

[]

要在安全组中打开的 UDP 端口和/或端口范围列表(仅当 trove_security_groups_support 为 True 时适用)。

backup_strategy
类型:

字符串

默认值:

innobackupex

执行备份的默认策略。

已弃用的变体

Group

名称

DEFAULT

backup_strategy

replication_strategy
类型:

字符串

默认值:

MysqlGTIDReplication

复制的默认策略。

replication_namespace
类型:

字符串

默认值:

trove.guestagent.strategies.replication.mysql_gtid

从中加载复制策略的命名空间。

mount_point
类型:

字符串

默认值:

/var/lib/mysql

启用卷支持时挂载卷的文件系统路径。

root_on_create
类型:

布尔值

默认值:

False

在实例创建期间启用服务 root 用户的自动创建。为 root 用户生成的密码将立即在 instance-create 的响应中以“password”字段返回。

usage_timeout
类型:

整数

默认值:

400

等待 Guest 变为 active 的最大时间(秒)。

volume_support
类型:

布尔值

默认值:

True

是否为 datadir 预配 Cinder 卷。

device_path
类型:

字符串

默认值:

/dev/vdb

启用卷支持时的卷设备路径。

root_controller
类型:

字符串

默认值:

trove.extensions.common.service.DefaultRootController

mysql 的根控制器实现。

ignore_users
类型:

列表

默认值:

['os_admin', 'root']

列出用户时要排除的用户。

已弃用的变体

Group

名称

DEFAULT

ignore_users

ignore_dbs
类型:

列表

默认值:

['mysql', 'information_schema', 'performance_schema', 'sys']

列出数据库时要排除的数据库。

已弃用的变体

Group

名称

DEFAULT

ignore_dbs

guest_log_exposed_logs
类型:

字符串

默认值:

general,slow_query

要公开发布的 Guest 日志列表。

guest_log_long_query_time
类型:

整数

默认值:

1000

一个语句必须花费的时间(毫秒)才能记录在 slow_query 日志中。

警告

此选项已弃用,将来可能会被静默忽略。

原因:

将被配置组选项 long_query_time 取代。

default_password_length
类型:

整数

默认值:

36

生成的密码的字符长度。

docker_image
类型:

字符串

默认值:

mysql

数据库 docker 镜像。

backup_docker_image
类型:

字符串

默认值:

your-registry/your-repo/db-backup-mysql

此选项有一个示例默认值,这意味着其实际默认值可能与上述文档值不同。

用于备份和恢复的 docker 镜像。Trove 将使用数据存储版本作为镜像标签,例如:your-registry/your-repo/db-backup-mysql:5.7 用于版本为 5.7 的 mysqldatastore。

network

与 trove 实例网络相关的选项。

public_network_id
类型:

字符串

默认值:

<None>

用于为公共 trove 实例创建浮动 IP 的 Neutron 公共网络 ID。如果未提供,Trove 将尝试查询所有公共网络并使用列表中的第一个。

enable_access_check
类型:

布尔值

默认值:

True

检查用户提供的网络是否与路由器关联。这对于实例初始化是必需的。在创建公共实例时也需要此检查。将此选项设置为 False 的场景是使用 Neutron 提供商网络时。

network_isolation
类型:

布尔值

默认值:

True

是否将用户定义的端口连接到数据库容器。这对于将用户流量与管理流量隔离以及避免网络地址冲突非常有用。

oslo_messaging_kafka

kafka_max_fetch_bytes
类型:

整数

默认值:

1048576

Kafka 消费者最大获取字节数

kafka_consumer_timeout
类型:

浮点数

默认值:

1.0

Kafka 消费者的默认超时时间(秒)

consumer_group
类型:

字符串

默认值:

oslo_messaging_consumer

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

producer_batch_timeout
类型:

浮点数

默认值:

0.0

KafkaProducer 批量处理延迟的上限(秒)

producer_batch_size
类型:

整数

默认值:

16384

生产者异步发送的批处理大小

compression_codec
类型:

字符串

默认值:

none

有效值:

none, gzip, snappy, lz4, zstd

生产者生成的所有数据的压缩编解码器。如果未设置,则不使用压缩。请注意,允许的值取决于 kafka 版本

enable_auto_commit
类型:

布尔值

默认值:

False

启用异步消费者提交

max_poll_records
类型:

整数

默认值:

500

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

security_protocol
类型:

字符串

默认值:

PLAINTEXT

有效值:

PLAINTEXT, SASL_PLAINTEXT, SSL, SASL_SSL

用于与代理通信的协议

sasl_mechanism
类型:

字符串

默认值:

PLAIN

安全协议为 SASL 时的机制

ssl_cafile
类型:

字符串

默认值:

''

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

ssl_client_cert_file
类型:

字符串

默认值:

''

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

ssl_client_key_file
类型:

字符串

默认值:

''

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

ssl_client_key_password
类型:

字符串

默认值:

''

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

oslo_messaging_notifications

driver
类型:

多值

默认值:

''

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

transport_url
类型:

字符串

默认值:

<None>

用于通知的消息驱动程序的 URL。如果未设置,我们将回退到用于 RPC 的相同配置。

topics
类型:

列表

默认值:

['notifications']

用于 OpenStack 通知 AMQP 主题。

retry
类型:

整数

默认值:

-1

由于可恢复错误而未能传递的通知消息重试的最大次数。0 - 不重试,-1 - 无限

oslo_messaging_rabbit

amqp_durable_queues
类型:

布尔值

默认值:

False

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

amqp_auto_delete
类型:

布尔值

默认值:

False

在 AMQP 中自动删除队列。

rpc_conn_pool_size
类型:

整数

默认值:

30

最小值:

1

RPC 连接池的大小。

conn_pool_min_size
类型:

整数

默认值:

2

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

conn_pool_ttl
类型:

整数

默认值:

1200

池中空闲连接的生存时间(秒)

ssl
类型:

布尔值

默认值:

False

通过 SSL 连接。

ssl_version
类型:

字符串

默认值:

''

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

ssl_key_file
类型:

字符串

默认值:

''

SSL 密钥文件(仅在启用 SSL 时有效)。

ssl_cert_file
类型:

字符串

默认值:

''

SSL 证书文件(仅在启用 SSL 时有效)。

ssl_ca_file
类型:

字符串

默认值:

''

用于验证服务器证书的 SSL 证书颁发机构文件(仅在启用 SSL 时有效)。

ssl_enforce_fips_mode
类型:

布尔值

默认值:

False

全局切换以强制执行 OpenSSL FIPS 模式。此功能需要 Python 支持。这在所有环境中的 Python 3.9 中可用,并且可能已回溯到旧版本的 Python。如果使用的 Python 可执行文件不支持 OpenSSL FIPS 模式,将引发异常。

heartbeat_in_pthread
类型:

布尔值

默认值:

False

(已弃用) 建议不再使用此选项。默认情况下,通过本机 python 线程运行健康检查心跳线程。如果此选项等于 False,则心跳将继承父进程的执行模型。例如,如果父进程通过使用 eventlet/greenlet 猴子补丁了 stdlib,则心跳将通过绿色线程运行。仅当使用 eventlet 作为核心服务框架的服务时,才应将此选项设置为 True。

警告

此选项已弃用,将来可能会被静默忽略。

原因:

该选项与即将删除的 Eventlet 相关。此外,这从未像预期那样与使用 eventlet 作为核心服务框架的服务一起工作。

kombu_reconnect_delay
类型:

浮点数

默认值:

1.0

最小值:

0.0

最大值:

4.5

响应 AMQP 消费者取消通知后重新连接的等待时间(秒)。

kombu_reconnect_splay
类型:

浮点数

默认值:

0.0

最小值:

0.0

响应 AMQP 消费者取消通知后重新连接时随机等待时间。

kombu_compression
类型:

字符串

默认值:

<None>

实验性:可能的值是:gzip、bz2。如果未设置,则不使用压缩。此选项可能在未来版本中不可用。

kombu_missing_consumer_retry_timeout
类型:

整数

默认值:

60

在放弃向其发送回复之前等待缺失客户端的时间。此值不应大于 rpc_response_timeout。

已弃用的变体

Group

名称

oslo_messaging_rabbit

kombu_reconnect_timeout

kombu_failover_strategy
类型:

字符串

默认值:

round-robin

有效值:

round-robin, shuffle

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

rabbit_login_method
类型:

字符串

默认值:

AMQPLAIN

有效值:

PLAIN, AMQPLAIN, EXTERNAL, RABBIT-CR-DEMO

RabbitMQ 登录方法。

rabbit_retry_interval
类型:

整数

默认值:

1

最小值:

1

与 RabbitMQ 重新连接的频率。

rabbit_retry_backoff
类型:

整数

默认值:

2

最小值:

0

在连接到 RabbitMQ 时重试之间的回退时间。

rabbit_interval_max
类型:

整数

默认值:

30

最小值:

1

RabbitMQ 连接重试的最大间隔。

rabbit_ha_queues
类型:

布尔值

默认值:

False

尝试在 RabbitMQ 中使用 HA 队列(x-ha-policy:all)。如果您更改此选项,则必须擦除 RabbitMQ 数据库。在 RabbitMQ 3.0 中,队列镜像不再由声明队列时的 x-ha-policy 参数控制。如果您只想确保所有队列(不包括具有自动生成名称的队列)在所有节点上镜像,请运行:“rabbitmqctl set_policy HA ‘^(?!amq.).*’ ‘{“ha-mode”: “all”}’ “

rabbit_quorum_queue
类型:

布尔值

默认值:

False

在 RabbitMQ 中使用 quorum 队列(x-queue-type:quorum)。quorum 队列是 RabbitMQ 的一种现代队列类型,它实现了一个基于 Raft 共识算法的持久、复制的 FIFO 队列。它从 RabbitMQ 3.8.0 开始可用。如果设置此选项,它将与 HA 队列(rabbit_ha_queues)即镜像队列冲突,换句话说,应禁用 HA 队列。Quorum 队列默认情况下也是持久的,因此启用此选项时会忽略 amqp_durable_queues 选项。

rabbit_transient_quorum_queue
类型:

布尔值

默认值:

False

在 RabbitMQ 中为瞬态队列使用 quorum 队列。启用此选项将确保这些队列也使用 quorum 类型的 rabbit 队列,这些队列默认情况下是 HA。

rabbit_quorum_delivery_limit
类型:

整数

默认值:

0

每次将消息重新传递给消费者时,都会递增计数器。一旦重新传递计数超过传递限制,该消息将被丢弃或死信(如果配置了 DLX 交换机)。仅当启用 rabbit_quorum_queue 时使用,默认值为 0,表示不设置限制。

rabbit_quorum_max_memory_length
类型:

整数

默认值:

0

默认情况下,所有消息都保存在内存中。如果 quorum 队列增长,可能会给集群带来内存压力。此选项可以限制 quorum 队列中的消息数量。仅当启用 rabbit_quorum_queue 时使用,默认值为 0,表示不设置限制。

rabbit_quorum_max_memory_bytes
类型:

整数

默认值:

0

默认情况下,所有消息都保存在内存中。如果 quorum 队列增长,可能会给集群带来内存压力。此选项可以限制 quorum 队列使用的内存字节数。仅在启用 rabbit_quorum_queue 时使用,默认值为 0,表示不设置限制。

rabbit_transient_queues_ttl
类型:

整数

默认值:

1800

最小值:

0

表示队列 TTL(x-expires)的秒数(正整数)。对于达到 TTL 持续时间的未使用的队列,将自动删除。该参数仅影响回复和扇出队列。将值设置为 0 将禁用 x-expires。如果这样做,请确保您拥有一个 rabbitmq 策略来删除队列,否则您的部署会随着时间的推移创建无限数量的队列。如果将 rabbit_stream_fanout 设置为 True,此选项将控制扇出队列中消息的数据保留策略(x-max-age),而不是队列持续时间本身。因此,一旦达到 TTL,流队列中最旧的数据将被丢弃。将设置为 0 将禁用流的 x-max-age,从而使流无限增长并填满磁盘空间

rabbit_qos_prefetch_count
类型:

整数

默认值:

0

指定要预取的消息数量。设置为零允许无限数量的消息。

heartbeat_timeout_threshold
类型:

整数

默认值:

60

如果心跳的 keep-alive 失败,则 Rabbit broker 被认为已关闭的时间(秒)。(0 禁用心跳)。

heartbeat_rate
类型:

整数

默认值:

3

在 heartbeat_timeout_threshold 期间检查心跳的频率。

direct_mandatory_flag
类型:

布尔值

默认值:

True

(已弃用)启用/禁用直接发送的 RabbitMQ mandatory 标志。直接发送用作回复,因此如果客户端队列不存在,则会引发 MessageUndeliverable 异常。MessageUndeliverable 异常将用于超时循环,以便让发送者有机会恢复。此标志已弃用,并且不再可以禁用此功能

警告

此选项已弃用,将来可能会被静默忽略。

原因:

Mandatory 标志不再可以禁用。

enable_cancel_on_failover
类型:

布尔值

默认值:

False

启用 x-cancel-on-ha-failover 标志,以便 rabbitmq 服务器在队列关闭时取消并通知消费者

use_queue_manager
类型:

布尔值

默认值:

False

我们应该使用一致的队列名称还是随机名称

hostname
类型:

字符串

默认值:

node1.example.com

此选项有一个示例默认值,这意味着其实际默认值可能与上述文档值不同。

队列管理器使用的主机名。默认值为 socket.gethostname() 返回的值。

processname
类型:

字符串

默认值:

nova-api

此选项有一个示例默认值,这意味着其实际默认值可能与上述文档值不同。

队列管理器使用的进程名称

rabbit_stream_fanout
类型:

布尔值

默认值:

False

在 RabbitMQ 中使用流队列(x-queue-type: stream)。流是 RabbitMQ 3.9.0 及更高版本中一种新的持久化和复制的数据结构(“队列类型”),它模拟了一个仅追加日志,具有非破坏性消费者语义。如果设置此选项,将用单个流队列替换所有扇出队列。

oslo_middleware

enable_proxy_headers_parsing
类型:

布尔值

默认值:

False

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

oslo_policy

enforce_scope
类型:

布尔值

默认值:

True

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

警告

此选项已弃用,将来可能会被静默忽略。

原因:

此配置是临时添加的,旨在促进顺利过渡到新的 RBAC。OpenStack 将始终强制执行范围检查。此配置选项已被弃用,将在 2025.2 版本周期中删除。

enforce_new_defaults
类型:

布尔值

默认值:

True

此选项控制在评估策略时是否使用旧的弃用默认值。如果为 True,则不会评估旧的弃用默认值。这意味着,如果任何现有的令牌允许使用旧的默认值,但对于新的默认值不允许,则将被禁止。鼓励启用此标志以及 enforce_scope 标志,以便同时获得新默认值和 scope_type 的好处。如果为 False,则逻辑上将弃用策略检查字符串与新的策略检查字符串进行 OR 运算,从而允许在具有新策略的发布版本之间实现平滑的升级体验,这是默认行为。

policy_file
类型:

字符串

默认值:

policy.yaml

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

policy_default_rule
类型:

字符串

默认值:

default

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

policy_dirs
类型:

多值

默认值:

policy.d

存储策略配置文件目录。它们可以相对于 config_dir 选项定义的搜索路径中的任何目录,也可以是绝对路径。要搜索这些目录,必须存在 policy_file 中定义的的文件。忽略丢失或空的目录。

remote_content_type
类型:

字符串

默认值:

application/x-www-form-urlencoded

有效值:

application/x-www-form-urlencoded, application/json

用于基于 REST 的策略检查发送和接收数据的 Content Type

remote_ssl_verify_server_crt
类型:

布尔值

默认值:

False

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

remote_ssl_ca_crt_file
类型:

字符串

默认值:

<None>

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

remote_ssl_client_crt_file
类型:

字符串

默认值:

<None>

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

remote_ssl_client_key_file
类型:

字符串

默认值:

<None>

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

remote_timeout
类型:

浮点数

默认值:

60

最小值:

0

基于 REST 的策略检查的超时时间(秒)

postgresql

PostgreSQL 数据存储的 Oslo 选项组。

database_service_uname
类型:

字符串

默认值:

database

数据库服务用户的名称。

database_service_uid
类型:

字符串

默认值:

<None>

数据库服务用户的 UID。

database_service_gid
类型:

字符串

默认值:

<None>

数据库服务用户的 GID。

enable_clean_wal_archives
类型:

布尔值

默认值:

True

启用用于清理 WAL 存档文件夹的定期作业。

docker_image
类型:

字符串

默认值:

postgres

数据库 docker 镜像。

backup_docker_image
类型:

字符串

默认值:

your-registry/your-repo/db-backup-postgresql

此选项有一个示例默认值,这意味着其实际默认值可能与上述文档值不同。

用于备份和恢复的 docker 镜像。Trove 将使用数据存储版本作为镜像标签,例如:your-registry/your-repo/db-backup-postgresql:12 用于版本为 12 的 postgresql 数据存储。

icmp
类型:

布尔值

默认值:

False

是否允许 ICMP。

警告

此选项已弃用,将来可能会被静默忽略。

tcp_ports
类型:

列表

默认值:

['5432']

要在安全组中打开的 TCP 端口和/或端口范围列表(仅当 trove_security_groups_support 为 True 时适用)。

udp_ports
类型:

列表

默认值:

[]

要在安全组中打开的 UDP 端口和/或端口范围列表(仅当 trove_security_groups_support 为 True 时适用)。

postgresql_port
类型:

端口号

默认值:

5432

最小值:

0

最大值:

65535

服务器监听的 TCP 端口。

backup_strategy
类型:

字符串

默认值:

pg_basebackup

执行备份的默认策略。

replication_strategy
类型:

字符串

默认值:

PostgresqlReplicationStreaming

复制的默认策略。

replication_namespace
类型:

字符串

默认值:

trove.guestagent.strategies.replication.postgresql

从中加载复制策略的命名空间。

mount_point
类型:

字符串

默认值:

/var/lib/postgresql

启用卷支持时挂载卷的文件系统路径。

wal_archive_location
类型:

字符串

默认值:

/mnt/wal_archive

启用 WAL 传输备份或复制时存储 WAL 存档文件的文件系统路径。

警告

此选项已弃用,将来可能会被静默忽略。

原因:

此选项已不再使用,将在未来版本中删除。

root_on_create
类型:

布尔值

默认值:

False

在实例创建期间启用服务 root 用户的自动创建。为 root 用户生成的密码将立即在 instance-create 的响应中以“password”字段返回。

volume_support
类型:

布尔值

默认值:

True

是否为 datadir 预配 Cinder 卷。

device_path
类型:

字符串

默认值:

/dev/vdb

ignore_users
类型:

列表

默认值:

['os_admin', 'postgres']

ignore_dbs
类型:

列表

默认值:

['os_admin', 'postgres']

root_controller
类型:

字符串

默认值:

trove.extensions.common.service.DefaultRootController

postgresql 的根控制器实现。

guest_log_exposed_logs
类型:

字符串

默认值:

general

要公开发布的 Guest 日志列表。

guest_log_long_query_time
类型:

整数

默认值:

0

一个语句必须花费的时间(毫秒)才能记录在“general”日志中。值为“0”表示记录所有语句,而“-1”则关闭语句日志记录。

警告

此选项已弃用,将来可能会被静默忽略。

原因:

将被配置组选项 log_min_duration_statement 取代。

default_password_length
类型:

整数

默认值:

36

生成的密码的字符长度。

profiler

enabled
类型:

布尔值

默认值:

False

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

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

可能的值

  • True:启用该功能

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

已弃用的变体

Group

名称

profiler

profiler_enabled

trace_sqlalchemy
类型:

布尔值

默认值:

False

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

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

可能的值

  • True:启用 SQL 请求分析。每个 SQL 查询都将成为跟踪的一部分,并可以分析花费的时间。

  • False:禁用 SQL 请求分析。花费的时间仅在较高层次的操作上显示。无法以这种方式分析单个 SQL 查询。

trace_requests
类型:

布尔值

默认值:

False

启用 python requests 包分析。

支持的驱动程序:jaeger+otlp

默认值为 False。

可能的值

  • True:启用请求分析。

  • False:禁用请求分析。

hmac_keys
类型:

字符串

默认值:

SECRET_KEY

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

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

应设置“enabled”标志和“hmac_keys”配置选项才能启用分析。此外,为了生成所有服务之间的正确分析信息,至少有一个密钥需要在 OpenStack 项目之间保持一致。这确保了客户端可以使用它来生成包含所有可能资源的跟踪。

connection_string
类型:

字符串

默认值:

messaging://

通知后端连接字符串。

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

可能的示例值

  • messaging:// - 使用 oslo_messaging 驱动程序发送跨度。

  • redis://127.0.0.1:6379 - 使用 redis 驱动程序发送跨度。

  • mongodb://127.0.0.1:27017 - 使用 mongodb 驱动程序发送跨度。

  • elasticsearch://127.0.0.1:9200 - 使用 elasticsearch 驱动程序发送跨度。

  • jaeger://127.0.0.1:6831 - 使用 jaeger 跟踪作为驱动程序发送跨度。

es_doc_type
类型:

字符串

默认值:

notification

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

es_scroll_time
类型:

字符串

默认值:

2m

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

es_scroll_size
类型:

整数

默认值:

10000

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

socket_timeout
类型:

浮点数

默认值:

0.1

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

sentinel_service_name
类型:

字符串

默认值:

mymaster

Redissentinel 使用服务名称来标识主 redis 服务。此参数定义该名称(例如:sentinal_service_name=mymaster)。

filter_error_trace
类型:

布尔值

默认值:

False

启用将包含错误/异常的跟踪过滤到单独的位置。

默认值为 False。

可能的值

  • True:启用过滤包含错误/异常的跟踪。

  • False:禁用过滤器。

profiler_jaeger

service_name_prefix
类型:

字符串

默认值:

<None>

将服务名称前缀设置为 Jaeger 服务名称。

process_tags
类型:

dict

默认值:

{}

设置进程跟踪器标签。

profiler_otlp

service_name_prefix
类型:

字符串

默认值:

<None>

将服务名称前缀设置为 OTLP 导出器。

service_credentials

与 Trove 服务凭证相关的选项。

auth_url
类型:

URI

默认值:

https://0.0.0.0/identity/v3

Keystone 认证 URL。

已弃用的变体

Group

名称

DEFAULT

trove_auth_url

username
类型:

字符串

默认值:

''

Trove 服务用户名。

已弃用的变体

Group

名称

DEFAULT

nova_proxy_admin_user

password
类型:

字符串

默认值:

''

Trove 服务用户密码。

已弃用的变体

Group

名称

DEFAULT

nova_proxy_admin_pass

project_id
类型:

字符串

默认值:

''

Trove 服务项目 ID。

已弃用的变体

Group

名称

DEFAULT

nova_proxy_admin_tenant_id

project_name
类型:

字符串

默认值:

''

Trove 服务项目名称。

已弃用的变体

Group

名称

DEFAULT

nova_proxy_admin_tenant_name

user_domain_name
类型:

字符串

默认值:

默认值

Trove 服务用户的 Keystone 域名称。

已弃用的变体

Group

名称

DEFAULT

nova_proxy_admin_user_domain_name

project_domain_name
类型:

字符串

默认值:

默认值

Trove 服务项目的 Keystone 域名称。

已弃用的变体

Group

名称

DEFAULT

nova_proxy_admin_project_domain_name

region_name
类型:

字符串

默认值:

RegionOne

Trove 服务项目的 Keystone 区域名称。

已弃用的变体

Group

名称

DEFAULT

os_region_name