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`配置选项将不再使用。

错误修复

  • neutron-openvswitch-agent已更改为在第一个RPC循环中通知neutron-server已重启。这会向neutron-server发出信号,以提供更新的L2填充信息,以正确编程FDB条目,确保实例的连接不会中断。这修复了以下bug:17949911799178181370318137141813715

其他说明

  • 为了提高高负载 ovs 代理重启的成功率,不再使用重试或 fullsync,而是将 native 驱动程序的 of_connect_timeoutof_request_timeout 现在设置为 300s。该值对常规压力 ovs 代理没有副作用。

10.0.5

新特性

  • 基于 ML2 _common_agent 的 L2 代理现在可以使用 L2 扩展 API。此 API 可供 L2 扩展驱动程序用于向 L2 代理请求资源。例如,它用于将 IptablesManager 的实例传递给 Linuxbridge L2 代理 QoS 扩展 驱动程序

错误修复

  • 修复了 bug 1736674,安全组规则现在由启用 QoS 扩展 驱动程序Linuxbridge L2 代理 正确应用。

  • 通过协议号添加安全组规则已记录在案,但不知何故在最近几次发布中没有被注意到而中断。现在已修复。有关更多信息,请参阅 bug 1716045

10.0.3

新特性

  • 某些场景测试需要高级 Glance 镜像(例如,UbuntuCentOS)才能通过。现在默认情况下会跳过这些测试。如果您需要执行这些测试,请配置 tempest.conf 以使用高级镜像,并在 tempest.conf 文件的 neutron_plugin_options 部分设置 image_is_advancedTrue。第一个需要设置新选项才能执行的场景测试用例是 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-Proto HTTP 标头或 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 目录中查找此端点,并且应该是 publicinternaladmin 中的一个。

  • Designate 驱动程序现在可以使用 Keystone v3 身份验证选项。“[designate] 部分现在接受 auth_type 选项,以及其他 keystoneauth 选项(例如 auth_urlusernameuser_domain_namepasswordproject_nameproject_domain_name)。”

  • 资源标签机制现在支持子网、端口、子网池和路由器资源。

  • 已向 neutron-netns-cleanup 工具添加了一种新机制,允许杀死侦听任何 Unix 或网络套接字在命名空间内的进程。新机制将尝试使用 SIGTERM 信号优雅地杀死这些进程,如果它们拒绝死亡,则将向每个剩余进程发送 SIGKILL 信号,以确保正确清理。

  • QoS 驱动程序架构已重构,以克服几个先前的限制,主要限制是将 QoS 详细信息耦合到机制驱动程序中,下一个限制是需要配置旋钮来启用每个特定的通知驱动程序,现在将自动处理这些限制。

  • 资源字段 created_atupdated_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_bind sysctl 选项未隔离到网络命名空间范围。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_notifierneutron.openstack.common.notifier.no_op_notifierneutron.openstack.common.notifier.test_notifierneutron.openstack.common.notifier.rpc_notifier2neutron.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_atupdated_at 字段中具有时间戳,但时间戳将在末尾附加时区信息,以与其他 OpenStack 项目保持一致。

弃用说明

  • L3 代理 send_arp_for_ha configuration 选项已弃用,将在 Pike 中删除。该功能将保留,并且代理将在配置新的浮动 IP 时发送三个不必要的 ARP。

  • 下一个版本的 Neutron 将不再启用 iptables 防火墙驱动程序中的桥接防火墙。如果您的发行版覆盖了相关 sysctl 设置(net.bridge.bridge-nf-call-arptablesnet.bridge.bridge-nf-call-ip6tablesnet.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 创建期间的服务器崩溃/后端故障可能会在外部网络上留下悬挂的端口。这些端口可以通过 PENDING device_id 参数识别。虽然管理员也可以删除这些端口,但 neutron-server 服务现在还将触发定期(大约每 10 分钟一次)清理来解决该问题。

  • 已删除配置选项 allow_paginationallow_sorting。现在,如果插件支持这些功能,则始终启用排序和分页。

  • vhost-user 重连需要 dpdk 16.07 和 qemu 2.7 以及 openvswitch 2.6 才能正常工作。如果使用较旧的 qemu,则重连将不可用,但 vhost-user 仍然可以正常工作。