ovn_vpn_agent.ini

这是基于 OVN 的设置的独立 VPN 代理的配置文件。

默认值

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

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

ipsec

config_base_dir
类型:

字符串

默认值:

$state_path/ipsec

存储 ipsec 服务器配置文件位置

ipsec_status_check_interval
类型:

整数

默认值:

60

检查 ipsec 状态的间隔

enable_detailed_logging
类型:

布尔值

默认值:

False

启用 ipsec pluto 进程的详细日志记录。如果该标志设置为 True,则详细日志将被写入 config_base_dir/<pid>/log。注意:此设置仅适用于 OpenSwan 和 LibreSwan。StrongSwan 记录到 syslog。

ovn

ovn_nb_connection
类型:

列表

默认值:

['tcp:127.0.0.1:6641']

OVN_Northbound OVSDB 的连接字符串。使用 tcp:IP:PORT 进行 TCP 连接。使用 ssl:IP:PORT 进行 SSL 连接。ovn_nb_private_key、ovn_nb_certificate 和 ovn_nb_ca_cert 是必需的。使用 unix:FILE 进行 unix 域套接字连接。可以通过逗号分隔的字符串指定多个连接。请参阅:https://github.com/openvswitch/ovs/blob/ab4d3bfbef37c31331db5a9dbe7c22eb8d5e5e5f/python/ovs/db/idl.py#L215-L216

ovn_nb_private_key
类型:

字符串

默认值:

''

用于 SSL 连接到 OVN-NB-DB 的 PEM 文件中的私钥

ovn_nb_certificate
类型:

字符串

默认值:

''

用于证明 ovn_nb_private_key 中指定的私钥的 PEM 文件中的证书

ovn_nb_ca_cert
类型:

字符串

默认值:

''

OVN 应用于验证 SSL 对等体提供的证书的 CA 证书的 PEM 文件

ovn_sb_connection
类型:

列表

默认值:

['tcp:127.0.0.1:6642']

OVN_Southbound OVSDB 的连接字符串。使用 tcp:IP:PORT 进行 TCP 连接。使用 ssl:IP:PORT 进行 SSL 连接。ovn_sb_private_key、ovn_sb_certificate 和 ovn_sb_ca_cert 是必需的。使用 unix:FILE 进行 unix 域套接字连接。可以通过逗号分隔的字符串指定多个连接。请参阅:https://github.com/openvswitch/ovs/blob/ab4d3bfbef37c31331db5a9dbe7c22eb8d5e5e5f/python/ovs/db/idl.py#L215-L216

ovn_sb_private_key
类型:

字符串

默认值:

''

用于 SSL 连接到 OVN-SB-DB 的 PEM 文件中的私钥

ovn_sb_certificate
类型:

字符串

默认值:

''

用于证明 ovn_sb_private_key 中指定的私钥的 PEM 文件中的证书

ovn_sb_ca_cert
类型:

字符串

默认值:

''

OVN 应用于验证 SSL 对等体提供的证书的 CA 证书的 PEM 文件

ovsdb_connection_timeout
类型:

整数

默认值:

180

OVSDB 连接事务的超时时间,以秒为单位

ovsdb_retry_max_interval
类型:

整数

默认值:

180

重试获取 OVN NB 和 SB IDL 之间的最大间隔时间,以秒为单位

ovsdb_probe_interval
类型:

整数

默认值:

60000

最小值:

0

OVSDB 会话的探测间隔,以毫秒为单位。如果此值为零,则禁用连接保活功能。如果非零,则该值将被强制为至少 1000 毫秒。默认值为 60 秒。

neutron_sync_mode
类型:

字符串

默认值:

log

有效值:

off, log, repair, migrate

OVN_Northbound OVSDB 与 Neutron DB 的同步模式。

可能的值

关闭

同步已关闭。

log

在 neutron-server 启动时,检查 OVN 是否与 Neutron 数据库同步。记录发现的任何不一致性,以便管理员进行调查。

repair

在 neutron-server 启动时,自动创建在 Neutron 中找到但未在 OVN 中找到的资源。同时删除 OVN 中不再在 Neutron 中找到的资源。

migrate

此模式用于 OVS 到 OVN 的迁移。它将像 repair 模式一样同步 DB,但它还会修复 Neutron DB 资源从 OVS 到 OVN。

ovn_l3_scheduler
类型:

字符串

默认值:

leastloaded

有效值:

leastloaded, chance

用于在 hypervisor/chassis 上调度路由器网关端口的 OVN L3 调度器类型。

可能的值

leastloaded

选择网关端口最少的 chassis。

chance

随机选择 chassis。

enable_distributed_floating_ip
类型:

布尔值

默认值:

False

启用分布式浮动 IP 支持。如果为 True,则浮动 IP 的 NAT 操作将在本地完成,而不是在集中式网关中完成。这节省了到外部网络的路径。这要求用户在每个计算节点上配置物理网络映射(即 ovn-bridge-mappings)。

vhost_sock_dir
类型:

字符串

默认值:

/var/run/openvswitch

所有 vswitch 守护进程创建 vhost virtio 套接字的位置

dhcp_default_lease_time
类型:

整数

默认值:

43200

与 OVN 的本机 DHCP 服务一起使用的默认租约时间(以秒为单位)。

ovsdb_log_level
类型:

字符串

默认值:

INFO

有效值:

CRITICAL, ERROR, WARNING, INFO, DEBUG

OVSDB 使用的日志级别

ovn_metadata_enabled
类型:

布尔值

默认值:

False

是否使用元数据服务。

dns_servers
类型:

列表

默认值:

[]

逗号分隔的 DNS 服务器列表,如果子网的 dns_nameservers 字段为空,则将用作转发器。如果子网的 dns_nameservers 和此选项都为空,则将使用运行 neutron 服务器的主机上的 DNS 解析器。

dns_records_ovn_owned
类型:

布尔值

默认值:

False

是否将 OVN 本地 DNS 记录视为本地。对于 OVN 版本 24.03 及更高版本,如果此选项设置为 True,DNS 记录将被视为 OVN 控制器本地,并且它将响应对其已知记录和记录类型的查询,否则它将转发到配置的 DNS 服务器。

ovn_dhcp4_global_options
类型:

dict

默认值:

{}

DHCPv4 全局选项的字典,这些选项将在创建每个子网时自动设置,并在 Neutron 启动时设置所有现有子网。DHCP 选项的空值将导致全局取消设置该选项。示例:- ntp_server:1.2.3.4,wpad:1.2.3.5 - 设置 ntp_server 和 wpad - ntp_server:,wpad:1.2.3.5 - 取消设置 ntp_server 并设置 wpad 请参阅 ovn-nb(5) 手册页中可用的选项。

ovn_dhcp6_global_options
类型:

dict

默认值:

{}

DHCPv6 全局选项的字典,这些选项将在创建每个子网时自动设置,并在 Neutron 启动时设置所有现有子网。DHCPv6 选项的空值将导致全局取消设置该选项。请参阅 ovn-nb(5) 手册页中可用的选项。

ovn_emit_need_to_frag
类型:

布尔值

默认值:

True

配置 OVN 在 MTU 不匹配时发出“need to frag”数据包。如果运行旧的主机内核(版本 < 5.2),则可能需要禁用此选项。您可以检查以下命令的输出:ovs-appctl -t ovs-vswitchd dpif/show-dp-features br-int | grep “Check pkt length action”。

警告

此选项自 2025.1 起已弃用,未来可能会被静默忽略。

原因:

此选项仅对非常旧的 Linux 内核(版本 < 5.2)有用。

disable_ovn_dhcp_for_baremetal_ports
类型:

布尔值

默认值:

False

禁用 OVN 的内置 DHCP 用于裸机端口(VNIC 类型“baremetal”)。这允许运营商插入他们自己的 DHCP 服务器来 PXE 启动裸机节点。OVN 23.06.0 及更高版本也支持基于 IPv6 的裸机 PXE 基于的配置。如果使用旧版本的 OVN 进行基于 IPv6 的裸机配置,则应将此选项设置为“True”,并使用 neutron-dhcp-agent 代替。默认值为“False”。

localnet_learn_fdb
类型:

布尔值

默认值:

False

如果启用,它将允许 localnet 端口学习 MAC 地址并将它们存储在 FDB SB 表中。这避免了在禁用端口安全时向未知 IP 发送洪泛流量。它需要 OVN 22.09 或更高版本。

fdb_age_threshold
类型:

整数

默认值:

0

最小值:

0

在 OVN DB 中保留 FDB 条目的秒数。该值默认为 0,表示禁用。这受 OVN >= 23.09 支持。

mac_binding_age_threshold
类型:

整数

默认值:

0

最小值:

0

在 OVN DB 中保留 MAC_Binding 条目的秒数。0 表示禁用老化。

broadcast_arps_to_all_routers
类型:

布尔值

默认值:

True

如果启用(默认),OVN 将向网络上所有连接的端口广播 ARP 请求。如果设置为 False,ARP 请求仅会发送到网络上的路由器,如果目标 MAC 地址匹配。不匹配路由器的 ARP 请求仅会转发到非路由器端口。受 OVN >= 23.06 支持。

ovn_router_indirect_snat
类型:

布尔值

默认值:

False

是否为通过任何其他路由器连接到路由器的所有嵌套子网配置 SNAT,类似于默认 ML2/OVS 行为。默认值为“False”。

live_migration_activation_strategy
类型:

字符串

默认值:

rarp

有效值:

rarp, ‘’

用于实时迁移的激活策略。

可能的值

rarp

期望 hypervisor 在迁移完成后通过迁移端口发送反向 ARP 请求。

‘’

迁移端口立即在目标主机上激活。

stateless_nat_enabled
类型:

布尔值

默认值:

False

如果启用,浮动 IP NAT 规则将是无状态的,而不是使用 conntrack OVN 操作。此策略在某些环境中更快,例如 DPDK 部署。

ovs

ovsdb_connection
类型:

字符串

默认值:

unix:/usr/local/var/run/openvswitch/db.sock

本机 OVSDB 后端的连接字符串。使用 tcp:IP:PORT 进行 TCP 连接。使用 unix:FILE 进行 unix 域套接字连接。

ovsdb_connection_timeout
类型:

整数

默认值:

180

OVSDB 连接事务的超时时间,以秒为单位

pluto

shutdown_check_timeout
类型:

整数

默认值:

1

检查 pluto 守护进程是否关闭的初始间隔,以秒为单位

已弃用的变体

Group

名称

libreswan

shutdown_check_timeout

shutdown_check_retries
类型:

整数

默认值:

5

检查 pluto 守护进程关闭的重试次数上限

已弃用的变体

Group

名称

libreswan

shutdown_check_retries

shutdown_check_back_off
类型:

浮点数

默认值:

1.5

每次重试增加重试间隔的系数

已弃用的变体

Group

名称

libreswan

shutdown_check_back_off

restart_check_config
类型:

布尔值

默认值:

False

启用此标志以避免不必要的重启

已弃用的变体

Group

名称

libreswan

restart_check_config

strongswan

ipsec_config_template
类型:

字符串

默认值:

/home/zuul/src/opendev.org/openstack/neutron-vpnaas/neutron_vpnaas/services/vpn/device_drivers/template/strongswan/ipsec.conf.template

ipsec 配置的模板文件。

strongswan_config_template
类型:

字符串

默认值:

/home/zuul/src/opendev.org/openstack/neutron-vpnaas/neutron_vpnaas/services/vpn/device_drivers/template/strongswan/strongswan.conf.template

strongswan 配置的模板文件。

ipsec_secret_template
类型:

字符串

默认值:

/home/zuul/src/opendev.org/openstack/neutron-vpnaas/neutron_vpnaas/services/vpn/device_drivers/template/strongswan/ipsec.secret.template

ipsec secret 配置的模板文件。

default_config_area
类型:

字符串

默认值:

/etc/strongswan.d

默认 StrongSwan 配置文件所在的区域。

vpnagent

vpn_device_driver
类型:

多值

默认值:

neutron_vpnaas.services.vpn.device_drivers.ovn_ipsec.OvnStrongSwanDriver

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

Neutron 将使用的 OVN VPN 设备驱动程序