get_ha_sync_data_for_host will call _get_dvr_sync_data
even given agent is not in DVR agent_mode.
_get_dvr_sync_data has additional processing for dvr
like: dvr_router_ids = set(router['id'] for router in routers if is_distributed_router(router)) floating_ip_port_ids = [fip['port_id'] for fip in floating_ips if fip['router_id'] in dvr_router_ids]
which should only work for DVR scenario.
That will increase neutron-server processing time for
non-DVR scenario. Adding logic to judge whether given
agent is in DVR agent_mode, call get_sync_data directly.
Reviewed: https:/ /review. openstack. org/239908 /git.openstack. org/cgit/ openstack/ neutron/ commit/ ?id=294324d6970 980e8f95f441727 204c66478b4684
Committed: https:/
Submitter: Jenkins
Branch: master
commit 294324d6970980e 8f95f441727204c 66478b4684
Author: lzklibj <email address hidden>
Date: Wed Oct 28 17:02:11 2015 +0800
fix get_ha_ sync_data_ for_host for non-dvr agent
get_ ha_sync_ data_for_ host will call _get_dvr_sync_data dvr_sync_ data has additional processing for dvr
dvr_router_ ids = set(router['id'] for router in routers
if is_distributed_ router( router) )
floating_ ip_port_ ids = [fip['port_id'] for fip in floating_ips
if fip['router_id'] in dvr_router_ids]
even given agent is not in DVR agent_mode.
_get_
like:
which should only work for DVR scenario.
That will increase neutron-server processing time for
non-DVR scenario. Adding logic to judge whether given
agent is in DVR agent_mode, call get_sync_data directly.
Closes-Bug: #1510796 ea63fde4463705a b1c56fe5e68
Change-Id: I5572e19b7cd8b2