在多个外部网络的openstack环境中,新创建的路由是随机分配到一个L3agent中的,而每个外部网络对应一个L3agent,也就是意味着:该路由设置外部网络做为网关时,只有在路由被分配的agent的Id与外部网络的agent的Id相同的情况下,子网连接后的网络才能好用,才能ping通网关。不过在horizon中是无法看到的路由与哪个外部网络对应,所以需要注意,以免网络不通。
下面就来验证下
说明:网关状态为DOWN是ovs的bug,可以忽略
该图是我的网络环境:两个外部网络Ext-Net-1和Ext-Net-2,一个子网test_net_3,两个路由
就下图中的dfddf路由来看,第一次设置Ext-Net-2的网络网关和子网与该路由相连,显示子网接口的状态为DOWN,虚机无法ping通网关
第二次设置Ext-Net-1的网络网关和子网与该路由相连,显示子网接口的状态为ACTIVE,并且虚机能ping通网关
以上验证说明该dfddf路由与Ext-Net-1的L3agent是同一个。
此处对自己开发来讲需要考虑网络迁移的业务!