Pike 系列发布说明

11.0.8-45

升级说明

  • IPv6 网络中的第一个地址现在是路由器的一个有效且可用的 IP。此前它已被保留,但现在可以分配给路由器,以便以“::”结尾的 IPv6 地址可以成为有效的默认路由。

其他说明

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

  • 添加了一个新的选项 [ovs] of_inactivity_probe,允许更改在使用 OVS ML2 代理和 native OpenFlow 驱动程序时的不活动探测间隔。如果遇到 OpenFlow 超时,操作员可以增加此值。默认值为 10 秒。

11.0.7

关键问题

  • neutron-openvswitch-agent有时会花费过多的时间来处理大量端口,超过其超时值`agent_boot_time`,用于L2填充。因此,某些流更新操作将不会被触发,导致在代理重启期间丢失流,特别是对于主机到主机vxlan隧道流,导致原始隧道流由于不同的cookie ID而被视为陈旧。代理的第一个RPC循环也会执行陈旧流清理过程并删除它们,导致连接丢失。请确保所有neutron-server和neutron-openvswitch-agent二进制文件都已升级,以使更改生效,之后L2填充`agent_boot_time`配置选项将不再使用。

错误修复

  • 修复了bug 1501206。这确保了运行dnsmasq作为DNS服务器的DHCP代理实例不能被用作DNS放大器,当租户网络使用公共路由IP地址时,通过添加一个选项,使其仅为本地网络提供DNS请求。

  • 修复了一个问题,导致在初始IP分配由于缺少绑定信息而延迟时,端口更新上的IP分配失败。如果端口mac_address和绑定信息(binding_host_id)在同一个请求中更新,则fixed_ips字段会在内部添加到请求中。完成延迟分配的代码在那种情况下未能执行。(有关更多信息,请参阅bug 1811905。)

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

其他说明

  • 计量代理iptables驱动程序现在可以使用`metering_agent.ini`文件中的stevedore别名加载其接口驱动程序。例如,`interface_driver = openvswitch`而不是`interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver`

11.0.6

新特性

  • 为 Neutron OVS 代理添加了一个新的配置选项 bridge_mac_table_size。此值将在由 openvswitch-neutron-agent 管理的每个 Open vSwitch 网桥上设置在 ovsdb 中的 other_config:mac-table-size 列中。此新选项的默认值设置为 50000,对于大多数系统来说应该足够了。有关此选项的更多详细信息,请参阅 Open vSwitch 文档。有关更多信息,请参阅 bug 1775797

11.0.5

错误修复

  • 对于 Infiniband 支持,Ironic 需要将“client-id” DHCP 选项作为数字发送,以便进行 IP 地址分配。现在 Neutron 支持此功能,可以将其指定为 RFC 4776 中定义的选项 61。有关更多信息,请参阅 bug 1770932

11.0.3

新功能

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

错误修复

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

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

11.0.2

错误修复

  • Openvswitch 代理有一个名为 fdb 的扩展,它使用 Linux bridge 命令。该 bridge 命令已添加到 openvswitch-plugin.filters 文件的 rootwrap 中。有关更多信息,请参阅 bug:1730407

11.0.0

序言

已添加一个新的 agent_mode(dvr_no_external) 用于 DVR 路由器,允许服务器配置与 DVR 关联的浮动 IP,在集中节点上。

新功能

  • openvswitch L2 代理现在支持双向带宽限制。

  • QoS 服务插件现在支持 qos_bandwidth_limit_rule 中的新属性。这个新参数称为 direction,允许指定应应用限制的流量方向。

  • 端口现在有一个 dns_domain 属性。从向外部 DNS 服务发布它的角度来看,端口的 dns_domain 属性优先于网络的 dns_domain

  • 允许在未加载和公开 dvr API 扩展的情况下配置 router 服务插件。为此,在 neutron.conf 文件中将新的 enable_dvr 选项设置为 False

  • 已添加新的 net-mtu-writable 扩展 API 定义。该新扩展指示网络的 mtu 属性是可写的。预计支持该扩展的插件也支持 net-mtu。第一个支持新扩展的插件是 ml2

  • data_plane_status 属性添加到端口资源,以表示底层数据平面的状态。此属性应由网络服务外部的实体管理,而 status 属性由网络服务管理。两种状态属性是相互独立的。第三方可以通过 Neutron API 报告底层数据平面中影响 Neutron 端口连接的问题。属性可以取值 None(默认)、ACTIVEDOWN,并且可供用户读取,管理员和被授予 data-plane-integrator 角色的用户可写入。将 data_plane_status 附加到 [ml2] extension_drivers 配置选项以加载扩展驱动程序。

  • 资源标签机制已重构,以便可以轻松支持新资源的标签支持。支持标签的资源包括网络、子网、端口、子网池、干道、浮动 IP、策略、安全组和路由器。

  • Neutron API 现在可以由兼容 mod_wsgi 的 Web 服务器(例如 apache2 (httpd)、nginx 等)管理。

  • 添加“默认”行为到 QoS 策略。Neutron 现在支持为项目拥有默认 QoS 策略,自动分配给所有新创建的网络。

  • 某些场景测试需要高级 Glance 镜像(例如,UbuntuCentOS)才能通过。现在默认情况下会跳过它们。如果您需要执行这些测试,请配置 tempest.conf 以使用高级镜像,并在 tempest.conf 文件的 neutron_plugin_options 部分中将 image_is_advanced 设置为 True。第一个需要设置新选项才能执行的场景测试用例是 test_trunk

  • Neutron API 现在支持使用 HTTP If-Match 标头中设置的所需修订号来有条件地更新具有“revision_number”属性的资源。这允许客户端确保在客户端检索资源后资源未被修改。可以通过查找受支持的扩展中的“revision-if-match”扩展来检查服务器对条件更新的支持。

  • 引入了新的 DVR 代理类型 dvr_no_external。此代理类型允许将浮动 IP(DNAT/南北路由)集中化,同时将东西路由保持分布式。

  • 当配置网关时,主动在所有计算节点上创建 DVR 浮动 IP 命名空间。

  • 与 DVR 路由器关联的浮动 IP 如果与未绑定的端口关联,将不会被分布式,而是集中化并在网络节点或 dvr_snat 节点的 SNAT 命名空间中实现。与 DVR 路由器关联的 allowed_address_pair 端口 IP 并且绑定到多个活动 VM 的浮动 IP 将在网络节点或 dvr_snat 节点的 SNAT 命名空间中实现。这将解决 VRRP 用例。有关此信息,请参阅 bug 1583694

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

  • 实现了一个新的扩展,quota_details,它扩展了现有的配额 API,以显示指定租户的详细信息。新的 API 显示诸如 limitsusedreserved 等详细信息。

  • Linuxbridge L2 代理支持入站带宽限制。linuxbridge L2 代理现在支持双向带宽限制。

  • LinuxBridge 代理中 VXLAN 使用的 UDP 端口现在可以使用 VXLAN.udp_srcport_min、VXLAN.udp_srcport_max 和 VXLAN.udp_dstport 配置选项进行配置。要使用 IANA 分配的端口号,请将 VXLAN.udp_dstport 设置为 4789。默认值未从 Linux 内核默认值 8472 更改。

  • 计量代理驱动程序现在可以使用 stevedore 别名在 metering_agent.ini 文件中指定。例如,driver = iptables 而不是 driver = neutron.services.metering.iptables.iptables_driver:IptablesMeteringDriver

  • 引入了一个新的 network_link_prefix 配置选项,允许更改 API 响应中包含的 URL 中的域。它的行为方式与 compute_link_prefixglance_link_prefix 选项对 Nova 和 Glance 的作用相同。

  • openvswitch 机制驱动程序现在支持通过 SR-IOV 进行硬件卸载。它允许绑定直接(SR-IOV)端口。使用 openvswitch 2.8.0 和“Linux Kernel” 4.8 允许通过 OpenFlow 控制平面控制 SR-IOV VF 并获得加速的“Open vSwitch”。

  • 现在支持网络 QoS 策略用于 network:router_gateway 端口。现在设置在外部网络上的 Neutron QoS 策略适用于外部路由器端口(DVR 或非 DVR)。

  • 新的 API 用于获取支持的规则类型的详细信息。QoS 服务插件现在可以在 Neutron 部署中公开有关支持的 QoS 规则类型的详细信息。新的 API 调用仅允许具有管理员权限的用户调用。

  • 为了减少元数据代理内存占用,haproxy 现在被用作 neutron-ns-metadata-proxy Python 实现的替代品。

  • 子端口分段详细信息现在可以在干道创建/更新请求期间接受 inherit 作为分段类型。干道插件将确定分段类型和 ID,并将其替换为端口连接的网络的分段类型和 ID。目前,只有单段 VLAN 网络才能获得预期和正确的结果。

  • 启用在 linuxbridge 代理中通过 VNI-地址映射分配不同多播地址的 VXLAN。引入了一个新的配置选项 multicast_ranges

已知问题

  • 可以混合使用 dvr 代理和 dvr_no_external 代理。但是,请避免在 dvr 代理和 dvr_no_external 代理之间迁移具有浮动 IP 的 VM。所有具有浮动 IP 的 VM 端口都应迁移到相同的 agent_mode。这将是其中一个限制。

  • 主动在所有节点上创建 DVR 浮动 IP 命名空间可能会消耗公共 IP 地址,但通过使用 networking guide 中解释的子网服务类型 网络指南,消费者可以使用私有 IP 地址作为浮动 IP 代理网关端口,并且不需要消耗任何公共 IP 地址。

  • 绑定的端口浮动 IP 是分布式的,而未绑定的端口浮动 IP 是集中的。

升级说明

  • 如果您的配置不支持 DVR,请考虑将 enable_dvr 设置为 Falseneutron.conf 文件中。这将使 Neutron 停止通过其 /v2.0/extensions API 端点通告对 dvr API 扩展的支持。

  • 以下资源的默认配额已增加:网络(从 10 到 100)、子网(从 10 到 100)、端口(从 50 到 500)。如果您想坚持使用旧值,请考虑在 neutron.conf 文件中显式设置它们。

  • 此前,neutron-server 使用与库默认值不同的 oslo.db 的配置值。具体来说,当未在配置文件中覆盖时,它使用了以下值:max_pool_size = 10,max_overflow = 20,pool_timeout = 10。在此版本中,neutron-server 而是依赖于库本身定义的默认值。如果您依赖于旧的默认值,可能需要调整您的配置文件以显式设置新的值。

  • 添加了一种新的 DVR 代理模式 dvr_no_external。在 dvr 和此模式之间切换是对数据平面的破坏性操作。

  • 移除了 send_arp_for_ha 配置选项。Neutron 现在始终为分配给端口的地址发送三个免费 ARP 请求。

  • 在 Newton 周期中已弃用 max_fixed_ips_per_port 配置选项,并在 Pike 中已移除。

  • 已弃用的 prevent_arp_spoofing 选项已被移除,默认行为是始终防止 ARP 欺骗,除非端口(或网络)上禁用了端口安全。

  • 由于 neutron-l3-agentneutron-dhcp-agent 之前未使用 haproxy,因此在升级时必须复制这两个代理的 rootwrap 过滤器。

  • 要升级到基于 haproxy 的元数据代理,必须重新启动 neutron-l3-agentneutron-dhcp-agent。在启动时,将检测到旧的代理进程并替换为 haproxy

  • 升级后,未配置 physical_interface_mappings 的 macvtap 代理无法启动。指定有效的映射才能启动和使用 macvtap 代理。

弃用说明

  • 用户可以使用“tagging”扩展代替“tag”扩展和“tag-ext”扩展。这些扩展现在已被弃用,将在 Queens 版本中移除。

  • L3 代理选项 gateway_external_network_id 已被弃用,将在后续版本中移除,以及它所依赖的 external_network_bridge

  • 现在支持 XenServer 的 rootwrap 守护程序模式,因此 neutron-rootwrap-xen-dom0 脚本已被弃用,将在下一个版本中移除。

  • Open vSwitch 代理配置选项 of_interface 已被弃用,将来将被移除。选项移除后,当前的默认驱动程序(native)将是唯一支持的 of_interface 驱动程序。

  • 选项 nova_metadata_ip 已被弃用,将在 Queens 中移除。它已被弃用,以支持新的 nova_metadata_host 选项,因为它更好地反映了该选项接受 IP 地址和 DNS 名称的事实。

  • web_framework 选项已被弃用,将在 Queens 期间移除。此选项只是为了更容易地过渡到 pecan 而添加的,因此操作员不应该使用非默认选项。

错误修复

  • 允许将未绑定的端口浮动 IP 正确配置为 DVR 路由器,无论其 device_owner 如何。

其他说明

  • 更改 MTU 配置选项(global_physnet_mtuphysical_network_mtuspath_mtu)并重新启动 neutron-serer 不会影响现有网络的 MTU。但是,新网络将使用新的选项值进行 MTU 计算。要反映现有网络的配置更改,可以使用新的 net-mtu-writable API 扩展来更新这些网络的 mtu 属性。

  • 在 ml2_conf.ini 的 [vxlan] 配置部分中,multicast_ranges 的示例配置:multicast_ranges = 224.0.0.10:10:90,225.0.0.15:100:900。对于 10 到 90 之间的 VNI,将使用多播地址 224.0.0.0.10,对于 100 到 900,将使用 225.0.0.15。其他 VNI 值将获得标准的 vxlan_group 地址。有关更多信息,请参阅 RFE https://bugs.launchpad.net/neutron/+bug/1579068