← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1510796] Re: Function sync_routers always call _get_dvr_sync_data in ha scenario

 

Reviewed:  https://review.openstack.org/239908
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=294324d6970980e8f95f441727204c66478b4684
Submitter: Jenkins
Branch:    master

commit 294324d6970980e8f95f441727204c66478b4684
Author: lzklibj <lzklibj@xxxxxxxxxx>
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
    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.
    
    Closes-Bug: #1510796
    Change-Id: I5572e19b7cd8b2ea63fde4463705ab1c56fe5e68


** Changed in: neutron
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1510796

Title:
  Function sync_routers always call _get_dvr_sync_data in ha scenario

Status in neutron:
  Fix Released

Bug description:
  The configuration 
  neutron.conf:
  [DEFAULT]
  ....
  l3_ha = True
  service_plugins = router
  ....

  l3_agent.ini:

  [DEFAULT]
  ...
  agent_mode = legacy
  ...

  The current code call  the "get_dvr_sync_data" through the plugin support dvr or not ,  it's better to judge "agent mode" here:
  https://github.com/openstack/neutron/blob/master/neutron/db/l3_hamode_db.py#L535-L536

  Call "get_sync_data" method here can save more time.

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1510796/+subscriptions


References