'Sync routers according to filters to a specific agent.
@param context: contain user information
@param kwargs: host, router_ids
@return: a list of routers
with their interfaces and floating_ips'

@db_api.retry_db_errors
def sync_routers(self, context, **kwargs):

    router_ids = kwargs.get('router_ids')
    host = kwargs.get('host')
    context = neutron_context.get_admin_context()
    if utils.is_extension_supported(self.l3plugin, constants.L3_AGENT_SCHEDULER_EXT_ALIAS):
        routers = self.l3plugin.list_active_sync_routers_on_active_l3_agent(context, host, router_ids)
    else:
        routers = self.l3plugin.get_sync_data(context, router_ids)
    if utils.is_extension_supported(self.plugin, constants.PORT_BINDING_EXT_ALIAS):
        self._ensure_host_set_on_ports(context, host, routers)
    return routers
