Victoria 系列发布说明

17.4.1-84

新特性

  • 添加了删除 ML2/OVN agent 的支持。 之前,删除 agent 会返回 Bad Request 错误。 除了删除 agent 之外,此更改还大大提高了 ML2/OVN agent 处理代码的可扩展性。

  • 添加 use_random_fully 设置,允许操作员禁用 iptables 规则上的 iptables random-fully 属性。

已知问题

  • 在隔离网络上,元数据服务的可用性受到限制或根本不存在。 当管理它的 DHCP agent 是冗余时,IPv4 元数据是冗余的,但恢复与 DHCP 租约的续订相关联,这使得大多数恢复非常缓慢。 IPv6 元数据根本不冗余,因为 IPv6 元数据地址只能在同一时间在单个位置配置,因为它是链路本地的。 多个 agent 尝试配置它将生成 IPv6 重复地址检测失败。

    管理员可能会在 DHCP 命名空间中看到 IPv6 元数据地址处于“dadfailed”状态,这是因为上述原因,仅表示它不可用性很高。 在对隔离的元数据服务进行重新设计之前,没有更好的部署选项。 请参阅 bug 1953165 以获取更多信息。

  • 如果禁用 use_random_fully 设置,它将阻止使用 random fully,如果两个 guest 位于不同的网络中,使用相同的 source_ip 和 source_port,并且它们尝试访问相同的 dest_ip 和 dest_port,由于竞争的元组生成,内核可能会丢弃数据包。 仅当 source_port 非常重要(例如在网络防火墙 ACL 中)并且平台内的 source_ip 绝不重复时,才应禁用此设置。

错误修复

  • 1986003 修复了并发请求激活相同的端口绑定时,其中一个请求返回 500 内部服务器错误的问题。 使用修复后,一个请求将成功返回,而另一个将返回 409 Conflict(绑定已激活)。 这修复了 nova 实时迁移中可能发送这些并发请求时出现的错误。 Nova 可以正常处理 409/Conflict 响应。

  • 对于 IPv4 子网,如果子网中未设置 dns_nameservers,则使用在 ‘ovn/dns_servers’ 配置选项或系统的 resolv.conf 中定义的服务器,但对于 IPv6 子网,则不使用这些服务器。 现在,IPv6 子网也将使用相同的服务器。 此外,在 ‘ovn/dns_servers’ 配置选项或系统的 resolv.conf 中添加的 dns 服务器将根据子网的 IP 版本进行过滤。 有关更多信息,请参阅 bug 报告 1951816

  • 修复了 OVN 驱动程序中的一个问题,即使是意外删除,网络元数据也可能变得不可用。 要重新创建端口,用户现在可以使用 Neutron API 禁用然后启用与网络关联的一个子网的 DHCP。 这将尝试创建端口,类似于 ML2/OVS 中 DHCP agent 中发生的情况。 有关更多信息,请参阅 bug 2015377

其他说明

  • 将缺失的扩展 uplink-status-propagation 添加到 ML2/OVN 机制驱动程序。 此扩展由 ML2/SR-IOV 机制驱动程序使用,可以与 ML2/OVN 一起加载。 现在可以创建定义了“uplink-status-propagation”标志的端口。

17.4.0

错误修复

  • 强制执行浮动 IP 的 ‘qos_policy_id’ 属性的策略,以便只有授权用户才能设置/取消设置它。 有关更多信息,请参阅 bug LP#1957175

其他说明

  • OVN 机制驱动程序仅允许每个桥接一个物理网络。

17.3.0

错误修复

  • 更改了使用 OVN 驱动程序时的 API 行为,以强制不允许删除路由器端口上的所有 IP。 有关更多信息,请参阅 bug LP#1948457

  • 现在,agent 向服务器报告状态时,将使用设置为 report_interval 配置选项值的 RPC 超时时间。 请参阅 1948676

17.2.1

安全问题

  • 修复 bug 1939733,方法是在传递给 dnsmasq 之前,从 dhcp 额外选项值中删除第一个换行符 (\n) 之后的所有内容。

17.2.0

已知问题

  • 在使用最小带宽 QoS 功能时,由于 bug https://launchpad.net/bugs/1921150,物理 NIC 资源提供程序在一段时间内被创建,其父级不正确(即超visor RP)。 现在已部分修复,新的资源提供程序将使用预期的父级(即 agent RP)创建。 但是,Placement 不允许重新父级已经存在的资源提供程序,因此在修复 bug 1921150 之后,可能需要更新 Placement DB:neutron/tools/bug-1921150-re-parent-device-rps.sql。 在所有资源提供程序都具有正确的父级之前,neutron-server 将重试重新父级更新,每次都会被拒绝,因此预计日志会受到污染,并且 Placement 上会浪费一些负载。 但是,请注意,即使资源提供程序父级不正确,带宽感知调度也应该可以工作。

错误修复

  • 1926693 引入的检测 hypervisor 主机名的逻辑,由 change 69660 引入,已得到修复,现在返回与 libvirt 一致的结果。

  • 添加了新的 resource_provider_defualt_hypervisor 选项,以替换默认的 hypervisor 名称以查找根资源提供程序,而无需在 resource_provider_hypervisors 选项中提供完整的接口或桥接列表。 此选项位于 [ovs] ini 部分用于 ovs-agent[sriov_nic] ini 部分用于 sriov-agent

17.1.2

其他说明

  • OVN Metadata Agent 现在创建的网络命名空间包括 Neutron 网络 UUID 在其名称中。 以前,使用了 OVN datapath UUID,并且对于操作员和调试来说,很难确定哪个命名空间对应于哪个 Neutron 网络。

17.1.1

错误修复

  • 修复了 OVN 驱动程序中的配置问题,该问题阻止了外部 IGMP 查询到达虚拟机。 有关详细信息,请参阅 bug 1918108

其他说明

  • 为了提高 DHCP agent 的性能,它将不再为 Neutron 中创建的每个端口类型配置 DHCP 服务器。 例如,对于浮动 IP 或路由器 HA 接口,不需要,因为客户端不会为它们发出 DHCP 请求

17.1.0

已知问题

  • 即使 “igmp_snooping_enable” 配置选项表明启用此选项时不会将流量泛洪到未注册的 VM,ML2/OVN 驱动程序也没有遵循该行为。 现在已修复此问题,并且当设置此配置选项为 True 时,ML2/OVN 将不再将流量泛洪到未注册的 VM。

错误修复

  • 停止从 ovs agent 发送 agent heartbeat,当它检测到 OVS 已死机时。 这有助于提醒云操作员给定节点上存在问题。

  • 修复了启用 ovs offload 时的 MAC 学习问题。 OVS 防火墙减少了正常操作的使用量以减少 CPU 利用率。 这导致了泛洪规则,因为没有在入站流量上进行 MAC 学习。 虽然这对于非 offload 情况来说是可以的,但在使用 ovs offload 时,泛洪规则不会被 offload。 此修复程序修复了 offload 中的 MAC 学习,因此我们避免了泛洪规则。 #1897637

17.0.0

序言

添加了对 OVN 中浮动 IP 端口转发的支持。

新功能

  • 添加了一个新的配置选项 http_retries。 此选项允许配置 nova 或 ironic 客户端在 HTTP 调用失败时重试的次数。

  • 添加了新的配置选项 keepalived_use_no_track。 如果部署中使用的 keepalived 版本不支持其配置文件中的 no_track 标志(例如 keepalived 1.x),则应将此选项设置为 False。 此选项的默认值为 True

  • DVR 路由器现在支持 flat 网络。

  • dns 分配将反映网络中定义的 dns 域或用户在创建端口时使用 --dns-domain 发送的 dns 域,而不是仅获取 neutron 配置中定义的 dns 域

  • 已添加对 OVN 后端的浮动 IP 端口转发的支持。

  • 使元数据服务可通过 IPv6 链路本地地址 fe80::a9fe:a9fe 提供。 IPv6 元数据在连接到 Neutron 路由器的网络以及双栈和仅 IPv6 网络上工作。 没有新的配置选项。 通常的配置选项(enable_isolated_metadataforce_metadataenable_metadata_proxy)现在控制 IPv4 和 IPv6 上的元数据服务。 此更改仅影响 guest 通过租户网络访问元数据服务。 此功能不会更改 metadata-agent 与 Nova 元数据服务的通信方式。 预计 guest OS 将从路由器通告中获取路由,以便此功能工作。 至少以下 IPv6 子网模式有效

    • --ipv6-ra-mode slaac --ipv6-address-mode slaac

    • --ipv6-ra-mode dhcpv6-stateless --ipv6-address-mode dhcpv6-stateless

    • --ipv6-ra-mode dhcpv6-stateful --ipv6-address-mode dhcpv6-stateful

    请注意,元数据 IPv6 地址(是链路本地的)在没有区域标识符的情况下是不完整的(在 Linux guest 中,通常是接口名称后跟百分号)。 另外请注意,在 URL 中,您应该对百分号本身进行 URL 编码。 例如,假设 guest 中的主网络接口是 eth0,则基本元数据 URL 是 http://[fe80::a9fe:a9fe%25eth0]:80/

  • 添加了对 OVN 中路由器可用性区域的支持。 OVN 驱动程序现在可以从路由器的 availability_zone_hints 字段读取,并根据给定的可用性区域相应地调度路由器端口。

  • neutron-server 子进程名称的先前更改也修改了 neutron agent 的名称。 这可能会影响依赖于 /proc/PID/environ 格式或 ps -e 输出的监控系统。 现在,所有 neutron agent 都有格式化的进程名称(显示旧样式的进程名称和可见于最新版本中的完整进程名称)neutron-agent-name (原始 进程 名称 包括 解释器)

    有关更多详细信息,请参阅 bug 1881297

升级说明

  • 配置选项 firewall_driver 不再由 neutron-server 使用,它仅适用于 L2 agent。 这对于混合插件的向后兼容性是必需的,但自 Newton 发布以来,L2 agent 能够报告混合插件是否需要在其报告消息中返回给服务器。

  • 限制数据库引擎中 ML2 VLAN 分配的值为 [1, 4094]。 数据库引擎目前无法支持此约束。 在这种情况下,它将被忽略。 有关更多信息,请参阅 neutron.db.migration.alembic_migrations.versions.victoria.expand.dfe425060830_limit_vlan_allocation_id_values.py 中的说明。

  • IPv6 元数据功能使得每次 dhcp-agent 重启都会触发对 dhcp-agent 控制的元数据代理的快速重启,以便它们可以获取新的配置,从而也绑定到 fe80::a9fe:a9fe。 这些重启会导致元数据服务短暂不可用。 这是为了能够在升级期间为预先存在的隔离网络启用元数据服务。 请注意,预先存在的实例可能需要重新获取通过路由器发现和/或 DHCP 获取的所有信息,此功能才能开始工作。

  • 对于 ML2/OVN 驱动程序,metadata_workers 配置选项的默认值已更改为 2。 对于 ML2/OVS,默认值保持不变。 每个驱动程序在向实例提供元数据时采用不同的方法,并且之前的默认值“<CPU 数量> / 2” 对于 ML2/OVN 来说没有意义,因为 OVN 元数据代理是在计算节点上分布式运行的,而不是在控制器节点上。 事实上,之前的默认值可能会导致 ML2/OVN 的可伸缩性问题,并且已被部署工具覆盖以避免问题。

  • 升级后应检查依赖于精确进程名称的监控工具,并在必要时进行修改。

弃用说明

  • neutron.agent.linux.interface.LinuxInterfaceDriver 类的抽象方法 plug_new 现在接受一个可选参数 link_up。 未使用 link_up 的此方法(该方法接受 5 到 9 个位置参数)的使用现在已被弃用,并且在 W 版本中将不再可能。 继承自此基类的第三方驱动程序应更新其 plug_new 方法的实现。

  • 弃用在计量标签规则中使用 remote_ip_prefix,它将在未来的版本中删除。 应该使用 source_ip_prefix 和/或 destination_ip_prefix 参数。 有关更多详细信息,请参阅规范:https://review.opendev.org/#/c/744702/

  • 诸如 masterslave 之类的术语已被更具包容性的词语(例如 primarybackup)替换,尽可能地进行替换。

    对于 OpenvSwitch 和 SRIOV 机制驱动程序,配置选项 vnic_type_blacklist 已被弃用,并替换为 vnic_type_prohibit_list。 它们将在未来的版本中删除。

错误修复

  • 1671448 现在使用标准的可配置 RBAC 策略(‘get_quota’、‘update_quota’、‘delete_quota’)管理 Neutron 配额的访问权限。

  • 1875981 Neutron 现在在管理员删除端口、服务器或浮动 IP 时,会正确删除相关的 DNS 记录。

  • 修复了错误 1876092,该错误导致在与 DVR 路由器一起使用的 flat 网络上出现 DUP ICMP 响应。

  • 修复了一个问题,即在双栈(IPv4 + IPv6)网络上的客户端无法从 dnsmasq DHCP 服务器获取配置。 请参阅错误:1876094

其他说明

  • 当启用 uplink-status-propagation 扩展时,新创建的端口将默认将 propagate_uplink_status 的值设置为 True。