yunionio/cloudpods

[BUG]在allinone部署后,修改host文件添加了业务网口,宿主机离线

Opened this issue · 19 comments

在centos7.9环境下allinone安装3.11.8版本,在只有一个管理网口时正常,在添加业务网口重启host后,宿主机显示离线

在host文件中添加了下面 的字段
ovn_encap_ip: 192.168.100.2
networks:

  • eth0/br0/110.xx.xx.xx
  • bond0/br1/192.168.100.2

eth0是管理网口,bond0想做业务网口

下面是重启后default-host的pod的日志
[info 2024-12-07 16:42:39 informer.NewWatchManagerBySessionBg.func1(watcher.go:51)] callback with watchMan success.
[info 2024-12-07 16:42:41 hostinfo.(*SHostInfo).ensureMasterNetworks(hostinfo.go:1246)] Master ip 192.168.100.2 to fetch wire
[info 2024-12-07 16:42:41 hostinfo.(*SHostInfo).tryCreateNetworkOnWire(hostinfo.go:1217)] Get master ip 192.168.100.2 and mask 24
[error 2024-12-07 16:42:41 hostinfo.(*SHostInfo).onFail(hostinfo.go:1142)] register failed: initHostRecords: initHostRecord: try create network: find_matched == false: InvalidStatusError
[error 2024-12-07 16:42:41 hostinfo.(*SHostInfo).onFail(hostinfo.go:1148)] register failed, try 30 seconds later...
[info 2024-12-07 16:43:11 hostinfo.(*SHostInfo).ensureMasterNetworks(hostinfo.go:1246)] Master ip 192.168.100.2 to fetch wire
[info 2024-12-07 16:43:11 hostinfo.(*SHostInfo).tryCreateNetworkOnWire(hostinfo.go:1217)] Get master ip 192.168.100.2 and mask 24
[error 2024-12-07 16:43:11 hostinfo.(*SHostInfo).onFail(hostinfo.go:1142)] register failed: initHostRecords: initHostRecord: try create network: find_matched == false: InvalidStatusError
[error 2024-12-07 16:43:11 hostinfo.(*SHostInfo).onFail(hostinfo.go:1148)] register failed, try 30 seconds later...
[info 2024-12-07 16:43:39 ovnutils.configBridgeMtu.func1(ovnutils.go:42)] set brvpc MTU to 1500 success!
[info 2024-12-07 16:43:41 hostinfo.(*SHostInfo).ensureMasterNetworks(hostinfo.go:1246)] Master ip 192.168.100.2 to fetch wire
[info 2024-12-07 16:43:41 hostinfo.(*SHostInfo).tryCreateNetworkOnWire(hostinfo.go:1217)] Get master ip 192.168.100.2 and mask 24
[error 2024-12-07 16:43:41 hostinfo.(*SHostInfo).onFail(hostinfo.go:1142)] register failed: initHostRecords: initHostRecord: try create network: find_matched == false: InvalidStatusError
[error 2024-12-07 16:43:41 hostinfo.(*SHostInfo).onFail(hostinfo.go:1148)] register failed, try 30 seconds later...
[info 2024-12-07 16:44:11 hostinfo.(*SHostInfo).ensureMasterNetworks(hostinfo.go:1246)] Master ip 192.168.100.2 to fetch wire
[info 2024-12-07 16:44:11 hostinfo.(*SHostInfo).tryCreateNetworkOnWire(hostinfo.go:1217)] Get master ip 192.168.100.2 and mask 24
[error 2024-12-07 16:44:11 hostinfo.(*SHostInfo).onFail(hostinfo.go:1142)] register failed: initHostRecords: initHostRecord: try create network: find_matched == false: InvalidStatusError
[error 2024-12-07 16:44:11 hostinfo.(*SHostInfo).onFail(hostinfo.go:1148)] register failed, try 30 seconds later...

zexi commented

@Misswjy 要看下平台有没有包含 110.xx.xx.xx 和 192.168.100.2 这两个 ip 的子网

@Misswjy 要看下平台有没有包含 110.xx.xx.xx 和 192.168.100.2 这两个 ip 的子网

有110的没有192

zexi commented

@Misswjy 要看下平台有没有包含 110.xx.xx.xx 和 192.168.100.2 这两个 ip 的子网

有110的没有192

那创建包含 192.168.100.2 这个 ip 的子网再重启 host 服务试试

@Misswjy 要看下平台有没有包含 110.xx.xx.xx 和 192.168.100.2 这两个 ip 的子网

有110的没有192

那创建包含 192.168.100.2 这个 ip 的子网再重启 host 服务试试
我看新建192网络需要网关,但是我192这个网络没有网关

@Misswjy 要看下平台有没有包含 110.xx.xx.xx 和 192.168.100.2 这两个 ip 的子网

有110的没有192

那创建包含 192.168.100.2 这个 ip 的子网再重启 host 服务试试

一台服务器不能有两个网关吧

zexi commented

@Misswjy 管理口和 host.conf 里面的 listen_interface 有关系,没设置的话就是 networks 里面的第一个作为管理口

@Misswjy 管理口和 host.conf 里面的 listen_interface 有关系,没设置的话就是 networks 里面的第一个作为管理口

在host文件没见listen_interface 是要在host文件添加这个位管理口ip吗?

zexi commented

@Misswjy 管理口和 host.conf 里面的 listen_interface 有关系,没设置的话就是 networks 里面的第一个作为管理口

在host文件没见listen_interface 是要在host文件添加这个位管理口ip吗?

需要手动添加 listen_interface: <网卡名>

@Misswjy 管理口和 host.conf 里面的 listen_interface 有关系,没设置的话就是 networks 里面的第一个作为管理口

在host文件没见listen_interface 是要在host文件添加这个位管理口ip吗?

需要手动添加 listen_interface: <网卡名>

屏幕截图 2024-12-27 144016
修改后报错 pod起不来

@Misswjy 管理口和 host.conf 里面的 listen_interface 有关系,没设置的话就是 networks 里面的第一个作为管理口

在host文件没见listen_interface 是要在host文件添加这个位管理口ip吗?

需要手动添加 listen_interface: <网卡名>

是否应该改为br0,因为eth0上的ip现在在br0上

zexi commented

@Misswjy 管理口和 host.conf 里面的 listen_interface 有关系,没设置的话就是 networks 里面的第一个作为管理口

在host文件没见listen_interface 是要在host文件添加这个位管理口ip吗?

需要手动添加 listen_interface: <网卡名>

是否应该改为br0,因为eth0上的ip现在在br0上

可以重启下操作系统,正常的情况是先查询 eth0 ,然后获取到 ip 后才有 br0 。

@Misswjy 管理口和 host.conf 里面的 listen_interface 有关系,没设置的话就是 networks 里面的第一个作为管理口

在host文件没见listen_interface 是要在host文件添加这个位管理口ip吗?

需要手动添加 listen_interface: <网卡名>

是否应该改为br0,因为eth0上的ip现在在br0上

可以重启下操作系统,正常的情况是先查询 eth0 ,然后获取到 ip 后才有 br0 。
我重启了 ,还是不行,显示eth0上没有ip

@Misswjy 管理口和 host.conf 里面的 listen_interface 有关系,没设置的话就是 networks 里面的第一个作为管理口

在host文件没见listen_interface 是要在host文件添加这个位管理口ip吗?

需要手动添加 listen_interface: <网卡名>

是否应该改为br0,因为eth0上的ip现在在br0上

可以重启下操作系统,正常的情况是先查询 eth0 ,然后获取到 ip 后才有 br0 。

修改为br0就好了 ,这是否是一个bug

zexi commented

@Misswjy 管理口和 host.conf 里面的 listen_interface 有关系,没设置的话就是 networks 里面的第一个作为管理口

在host文件没见listen_interface 是要在host文件添加这个位管理口ip吗?

需要手动添加 listen_interface: <网卡名>

是否应该改为br0,因为eth0上的ip现在在br0上

可以重启下操作系统,正常的情况是先查询 eth0 ,然后获取到 ip 后才有 br0 。

修改为br0就好了 ,这是否是一个bug

看了下代码的流程,https://github.com/yunionio/cloudpods/blob/master/pkg/hostman/hostinfo/hostinfo.go#L223-L230 ,确实是应该写成 br0 ,是先创建的 bridge 网桥,再解析的配置。

@Misswjy 管理口和 host.conf 里面的 listen_interface 有关系,没设置的话就是 networks 里面的第一个作为管理口

在host文件没见listen_interface 是要在host文件添加这个位管理口ip吗?

需要手动添加 listen_interface: <网卡名>

是否应该改为br0,因为eth0上的ip现在在br0上

可以重启下操作系统,正常的情况是先查询 eth0 ,然后获取到 ip 后才有 br0 。

修改为br0就好了 ,这是否是一个bug

看了下代码的流程,https://github.com/yunionio/cloudpods/blob/master/pkg/hostman/hostinfo/hostinfo.go#L223-L230 ,确实是应该写成 br0 ,是先创建的 bridge 网桥,再解析的配置。

平台没有显示192.168.100.2为业务口,是bug还是前端就没有写这个业务口

zexi commented

@Misswjy 哪里显示的业务口,请截图发上来看下

@Misswjy 哪里显示的业务口,请截图发上来看下

屏幕截图 2024-12-09 123548
现在110这里显示业务口,192这里能不能显示为业务口