Ocata 系列发布说明¶
10.0.7-88¶
新特性¶
为 Neutron OVS 代理添加了一个新的配置选项
bridge_mac_table_size。此值将在由 openvswitch-neutron-agent 管理的每个 Open vSwitch 网桥上设置在 ovsdb 中的other_config:mac-table-size列中。此新选项的默认值设置为 50000,对于大多数系统来说应该足够了。有关此选项的更多详细信息,请参阅 Open vSwitch 文档。有关更多信息,请参阅 bug 1775797。
关键问题¶
neutron-openvswitch-agent有时会花费过多的时间来处理大量端口,超过其超时值`agent_boot_time`,用于L2填充。因此,某些流更新操作将不会被触发,导致在代理重启期间丢失流,特别是对于主机到主机vxlan隧道流,导致原始隧道流由于不同的cookie ID而被视为陈旧。代理的第一个RPC循环也会执行陈旧流清理过程并删除它们,导致连接丢失。请确保所有neutron-server和neutron-openvswitch-agent二进制文件都已升级,以使更改生效,之后L2填充`agent_boot_time`配置选项将不再使用。
错误修复¶
其他说明¶
为了提高高负载 ovs 代理重启的成功率,不再使用重试或 fullsync,而是将 native 驱动程序的
of_connect_timeout和of_request_timeout现在设置为 300s。该值对常规压力 ovs 代理没有副作用。
10.0.5¶
新特性¶
基于
ML2_common_agent的 L2 代理现在可以使用 L2 扩展 API。此 API 可供 L2 扩展驱动程序用于向 L2 代理请求资源。例如,它用于将IptablesManager的实例传递给LinuxbridgeL2 代理QoS 扩展 驱动程序。
错误修复¶
修复了 bug 1736674,安全组规则现在由启用
QoS 扩展 驱动程序的Linuxbridge L2 代理正确应用。
通过协议号添加安全组规则已记录在案,但不知何故在最近几次发布中没有被注意到而中断。现在已修复。有关更多信息,请参阅 bug 1716045。
10.0.3¶
新特性¶
某些场景测试需要高级
Glance镜像(例如,Ubuntu或CentOS)才能通过。现在默认情况下会跳过这些测试。如果您需要执行这些测试,请配置tempest.conf以使用高级镜像,并在tempest.conf文件的neutron_plugin_options部分设置image_is_advanced为True。第一个需要设置新选项才能执行的场景测试用例是test_trunk。
10.0.0¶
序言¶
Hyper-V Neutron Agent 已从 Neutron 中完全分解。因此,neutron.plugins.hyperv.agent.security_groups_driver.HyperVSecurityGroupsDriver 防火墙驱动程序已被删除。更新 Hyper-V 节点上的 neutron_hyperv_agent.conf / neutron_ovs_agent.conf 文件以使用 hyperv.neutron.security_groups_driver.HyperVSecurityGroupsDriver,即 networking_hyperv 安全组驱动程序。
新特性¶
添加了中间件来解析
X-Forwarded-ProtoHTTP 标头或 Proxy 协议,以帮助 Neutron 在置于 TLS 代理(例如haproxy)之后时使用正确的 URL 引用。这会将http_proxy_to_wsgi中间件添加到管道中。此中间件默认禁用,但可以通过[oslo_middleware]组中的配置选项启用。
Linux Bridge 代理现在支持 QoS DSCP 标记规则。
Keepalived VRRP 健康检查功能,用于启用从“主”路由器到所有网关的连接性验证。激活此功能可启用网关连接性验证,并在丢失连接性时将“主”路由器重新安排到另一个节点。如果所有路由器都丢失与网关的连接,则将重复轮询选举过程,直到其中一个路由器恢复其网关连接。在此期间,所有路由器都将报告为“主”路由器。
添加了一个新的配置部分
[placement],其中包含两个新选项,允许segments插件使用Compute放置 ReST API。此 API 允许根据路由网络中 IPv4 地址的可用性来影响实例的节点放置。第一个选项 region_name 指示要使用的放置区域。如果 keystone 管理多个区域,此选项很有用。第二个选项 endpoint_type 确定要使用的放置端点的类型。将在 keystone 目录中查找此端点,并且应该是public、internal或admin中的一个。
Designate 驱动程序现在可以使用 Keystone v3 身份验证选项。“
[designate]部分现在接受auth_type选项,以及其他keystoneauth选项(例如auth_url、username、user_domain_name、password、project_name、project_domain_name)。”
资源标签机制现在支持子网、端口、子网池和路由器资源。
已向
neutron-netns-cleanup工具添加了一种新机制,允许杀死侦听任何Unix或网络套接字在命名空间内的进程。新机制将尝试使用SIGTERM信号优雅地杀死这些进程,如果它们拒绝死亡,则将向每个剩余进程发送SIGKILL信号,以确保正确清理。
QoS 驱动程序架构已重构,以克服几个先前的限制,主要限制是将 QoS 详细信息耦合到机制驱动程序中,下一个限制是需要配置旋钮来启用每个特定的通知驱动程序,现在将自动处理这些限制。
资源字段
created_at和updated_at现在在末尾包含时区指示符。由于这是字段格式的更改,旧的timestamp_core扩展已被删除,并替换为standard-attr-timestamp扩展。
已添加对
oslo.privsep的初步支持。大多数外部命令仍然使用oslo.rootwrap执行。
vhost-user 重连是一种机制,允许 vhost-user 前端在后端因正常关闭或崩溃而终止时重新连接到 vhost-user 后端。这允许使用 vhost-user 接口的 VM 自动重新连接到后端,例如 Open vSwitch,而无需重新启动 VM。在此版本中,已向 neutron Open vSwitch 代理和
ml2驱动程序添加了 vhost-user 重连的支持。
已知问题¶
在内核 < 3.19 中,
net.ipv4.ip_nonlocal_bindsysctl 选项未隔离到网络命名空间范围。L3 HA 将此选项设置为零,以避免为在处理过程中删除的 IP 地址发送不必要的 ARP。如果发生这种情况,将发送不必要的 ARP。这可能会用错误的 MAC 地址填充对等 ARP 缓存表。
升级说明¶
更新了 paste 管道的
api-paste.ini配置文件,以添加http_proxy_to_wsgi中间件。
DHCP 代理配置选项
dhcp_domain在 Liberty 周期中已弃用,现在不再使用。应使用dns_domain选项。
升级时,通过 SLAAC 在 DHCP 命名空间中动态创建的 IPv6 地址将被删除,并添加静态 IPv6 地址。
更新 Hyper-V 节点上的 neutron_hyperv_agent.conf / neutron_ovs_agent.conf 文件以使用 hyperv.neutron.security_groups_driver.HyperVSecurityGroupsDriver,即 networking_hyperv 安全组驱动程序。
已添加一个新的选项
ha_keepalived_state_change_server_threads,用于配置为 keepalived 服务器连接请求生成的并发线程数。较高的值会增加代理节点上的 CPU 负载。默认值为节点上 CPU 数量的一半。这允许操作员调整线程数以适应其环境。使用更多线程,可以更快地处理多个 HA 路由器的状态变化的并发请求。
为了与预 Icehouse 版本向后兼容,已删除树中留下的过时的
oslo.messaging.notify.drivers入口点。这些是neutron.openstack.common.notifier.log_notifier、neutron.openstack.common.notifier.no_op_notifier、neutron.openstack.common.notifier.test_notifier、neutron.openstack.common.notifier.rpc_notifier2、neutron.openstack.common.notifier.rpc_notifier。使用oslo.messaging库提供的值来配置通知驱动程序。
删除了
advertise_mtu选项。现在 Neutron 始终使用所有可用手段向实例通告 MTU(包括 DHCPv4 和 IPv6 RA)。
配置选项
min_l3_agents_per_router在 Newton 周期中已弃用,并在 Ocata 中删除。HA 路由器不再需要创建最小数量的 L3 代理,尽管显然需要至少两个 L3 代理才能提供 HA 保障。删除该选项的原因是,当代理未运行时,路由器刚刚创建时。路由器的创建现在将成功,并且当第二个代理恢复运行后,路由器将被安排到它,从而提供 HA。
升级后,未配置 physical_interface_mappings 的 macvtap 代理无法启动。指定有效的映射才能启动和使用 macvtap 代理。
已删除
timestamp_core扩展,并替换为standard-attr-timestamp扩展。资源仍然在created_at和updated_at字段中具有时间戳,但时间戳将在末尾附加时区信息,以与其他 OpenStack 项目保持一致。
弃用说明¶
L3 代理
send_arp_for_ha configuration选项已弃用,将在 Pike 中删除。该功能将保留,并且代理将在配置新的浮动 IP 时发送三个不必要的 ARP。
下一个版本的 Neutron 将不再启用
iptables防火墙驱动程序中的桥接防火墙。如果您的发行版覆盖了相关 sysctl 设置(net.bridge.bridge-nf-call-arptables、net.bridge.bridge-nf-call-ip6tables和net.bridge.bridge-nf-call-iptables)的默认值,请确保使用 /etc/sysctl.conf 或 /etc/sysctl.d/* 配置文件将它们设置回上游内核默认值(1)。
已弃用 [qos] 部分中的 notification_drivers。它将在未来的版本中删除。
错误修复¶
在 DHCP 命名空间中添加端口时存在竞争条件,IPv6 地址可能会通过来自 L3 代理的路由器通告通过 SLAAC 动态创建,导致 DHCP 代理启动失败。此错误已修复,但在升级时必须注意处理任何潜在的过时动态地址。有关更多信息,请参阅错误 1627902。
版本低于 1.2.20 的
keepalived不会在keepalived进程收到SIGHUP信号时发送不必要的 ARP。这些版本未打包在某些 Linux 发行版中,例如 Red Hat Enterprise Linux 7、CentOS 7 或 Ubuntu Xenial。未发送不必要的 ARP 可能会导致对等 ARP 缓存表包含关于浮动 IP 地址的错误条目,直到这些条目失效。为了解决这种情况,Neutron 现在为出现在路由器命名空间中的所有新的非 HA 接口上的所有新 IP 地址发送不必要的 ARP。此行为模拟了新版本keepalived的行为。
其他说明¶
由于内部 L3 逻辑的变化,FIP 创建期间的服务器崩溃/后端故障可能会在外部网络上留下悬挂的端口。这些端口可以通过
PENDINGdevice_id参数识别。虽然管理员也可以删除这些端口,但neutron-server服务现在还将触发定期(大约每 10 分钟一次)清理来解决该问题。
已删除配置选项
allow_pagination和allow_sorting。现在,如果插件支持这些功能,则始终启用排序和分页。
vhost-user 重连需要 dpdk 16.07 和 qemu 2.7 以及 openvswitch 2.6 才能正常工作。如果使用较旧的 qemu,则重连将不可用,但 vhost-user 仍然可以正常工作。