3.2.3. 已知问题
目前,Red Hat OpenStack Platform 存在的已知问题包括:
BZ#1515815
当路由器网关被清除后,不会删除与学习 IP 地址相关的 3 层流。学到的 IP 地址包括 PNF 和外部网关 IP 地址。这会造成过时的流,但无法正常工作问题。外部网关和 IP 地址不会频繁更改。删除外部网络时,会删除过时的流。
BZ#1519783
Neutron 可能会出现错误声明,用于 Neutron 路由器创建配额超过。存在一个已知问题:由于 networking-odl 错误,在 Neutron DB 中使用单一创建请求来创建多个路由器资源。造成此问题的解决方法是,使用 OpenStack Neutron CLI 删除重复的路由器,然后再次创建路由器,从而产生单个实例。
BZ#1559055
OpenDaylight 日志记录可能缺少以前的日志。这是 OpenDaylight journald 日志记录的一个已知问题(使用 "docker logs opendaylght_api" 命令)。当前的一个临时解决方案是将 OpenDaylight 日志记录切换为 "file" 机制,该机制会将容器内的 /opt/opendaylight/data/logs/karaf.log 记录到 /opt/opendaylight/data/logs/karaf.log。为此,请配置以下 heat 参数:OpenDaylightLogMechanism: 'file'。
BZ#1568311
当实例没有浮动 IP 地址访问另一个路由器上的浮动 IP 时,多个子网的 nova 实例之间的第 3 层连接可能会失败。当 nova 实例分散到多个计算节点时,会出现这种情况。这个问题还没有适当的临时解决方案。
BZ#1568976
在部署过程中,一个或多个 OpenDaylight 实例可能会因为功能加载错误而无法正确启动。这可能会导致部署或功能失败。
当部署通过时,三个 OpenDaylight 实例必须只有两个可以正常工作,才能成功进行部署。第三个 OpenDaylight 实例可能会错误地启动。使用 docker ps
命令检查每个容器的健康状况。如果不健康,请使用 docker restart opendaylight_api
重启容器。
当部署失败时,唯一的选项是重启部署。对于基于 TLS 的部署,所有 OpenDaylight 实例都必须正确引导或部署将失败。
BZ#1583541
如果基于 SRIOV 的计算实例在不同的网络上,则没有与 OVS 计算实例的连接。解决办法是使用连接到两个 VLAN 提供商网络的外部路由器。
BZ#1588186
一个竞争条件会导致 Open vSwitch 没有连接到 Opendaylight openflowplugin。目前,针对此产品的 13.z 版本实施了一个修复程序。
BZ#1593757
在现有 overcloud 部署上启用 Octavia 作为成功报告,但 Octavia API 端点无法访问,因为 Controller 节点上的防火墙规则配置错误。
临时解决方案:
在所有控制器节点上,添加防火墙规则,并确保在 DROP 规则之前插入它们:
IPv4: # iptables -A INPUT -p tcp -m multiport --dports 9876 -m state --state NEW -m comment --comment "100 octavia_api_haproxy ipv4" -j ACCEPT # iptables -A INPUT -p tcp -m multiport --dports 13876 -m state --state NEW -m comment --comment "100 octavia_api_haproxy_ssl ipv4" -j ACCEPT # iptables -A INPUT -p tcp -m multiport --dports 9876,13876 -m state --state NEW -m comment --comment "120 octavia_api ipv4" -j ACCEPT
IPv4:
# iptables -A INPUT -p tcp -m multiport --dports 9876 -m state --state NEW -m comment --comment "100 octavia_api_haproxy ipv4" -j ACCEPT
# iptables -A INPUT -p tcp -m multiport --dports 13876 -m state --state NEW -m comment --comment "100 octavia_api_haproxy_ssl ipv4" -j ACCEPT
# iptables -A INPUT -p tcp -m multiport --dports 9876,13876 -m state --state NEW -m comment --comment "120 octavia_api ipv4" -j ACCEPT
IPv6: # ip6tables -A INPUT -p tcp -m multiport --dports 9876 -m state --state NEW -m comment --comment "100 octavia_api_haproxy ipv6" -j ACCEPT # ip6tables -A INPUT -p tcp -m multiport --dports 13876 -m state --state NEW -m comment --comment "100 octavia_api_haproxy_ssl ipv6" -j ACCEPT # ip6tables -A INPUT -p tcp -m multiport --dports 9876,13876 -m state --state NEW -m comment --comment "120 octavia_api ipv6" -j ACCEPT
IPv6:
# ip6tables -A INPUT -p tcp -m multiport --dports 9876 -m state --state NEW -m comment --comment "100 octavia_api_haproxy ipv6" -j ACCEPT
# ip6tables -A INPUT -p tcp -m multiport --dports 13876 -m state --state NEW -m comment --comment "100 octavia_api_haproxy_ssl ipv6" -j ACCEPT
# ip6tables -A INPUT -p tcp -m multiport --dports 9876,13876 -m state --state NEW -m comment --comment "120 octavia_api ipv6" -j ACCEPT
重启 HAProxy:
docker restart haproxy-bundle-docker-0
# docker restart haproxy-bundle-docker-0