Comment 4 for bug 1405049

Revision history for this message
Mark Davidson (markd-b) wrote :

I think this is because the horizon.networktopology.js uses the device_id to match up devices and ports, but with l3_ha on, there are ports with the same device id (network:router_ha_interface and matching network:router_gateway) (NB you only see these if the user is an admin)

If the network:router_gateway appears before the matching network:router_ha_interface in the port list, then the display works, otherwise the router is not displayed.

I'm not sure where the fix should go - either the horizon.networktopology.js (ignoring the network:router_ha_interface ports), or dashboards/project/network_topology/views.py (removing the network:router_ha_interface ports from the view get)

To check this was the problem, I did a little patch to the views.py so that it stripped the network:router_ha_interface ports before sending them to the javascript.

In def _get_ports(self, request):
< for port in neutron_ports]
> for port in neutron_ports if port.device_owner != 'network:router_ha_interface']

and then the display works fine