← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1423571] Re: l3 agent: need to improve exception handling in _process_router_update()

 

** Changed in: neutron
       Status: Fix Committed => 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/1423571

Title:
  l3 agent: need to improve exception handling in
  _process_router_update()

Status in OpenStack Neutron (virtual network service):
  Fix Released

Bug description:
  in _process_router_update() where _process_router_if_compatible()
  method is called only RouterNotCompatibleWithAgent exception is
  handled. In case any other (intermittent) exception happens inside
  _process_router_if_compatible() (in my case it was MessagingTimeout on
  fetching external net from server) it results in a situation where
  agent completely forgets about the router and continues working as
  usual while server shows router hosted by agent.

  devstack$ neutron l3-agent-list-hosting-router router1
  +--------------------------------------+----------+----------------+-------+
  | id                                   | host     | admin_state_up | alive |
  +--------------------------------------+----------+----------------+-------+
  | 51cdbbf9-d160-4adf-9d9c-d720b96c79cc | devstack | True           | :-)   |
  +--------------------------------------+----------+----------------+-------+
  devstack$ neutron agent-show 51cdbbf9-d160-4adf-9d9c-d720b96c79cc
  +---------------------+-------------------------------------------------------------------------------+
  | Field               | Value                                                                         |
  +---------------------+-------------------------------------------------------------------------------+
  | admin_state_up      | True                                                                          |
  | agent_type          | L3 agent                                                                      |
  | alive               | True                                                                          |
  | binary              | neutron-l3-agent                                                              |
  | configurations      | {                                                                             |
  |                     |      "router_id": "",                                                         |
  |                     |      "agent_mode": "legacy",                                                  |
  |                     |      "gateway_external_network_id": "",                                       |
  |                     |      "handle_internal_only_routers": true,                                    |
  |                     |      "use_namespaces": true,                                                  |
  |                     |      "routers": 0,                                                            |
  |                     |      "interfaces": 0,                                                         |
  |                     |      "floating_ips": 0,                                                       |
  |                     |      "interface_driver": "neutron.agent.linux.interface.OVSInterfaceDriver",  |
  |                     |      "external_network_bridge": "br-ex",                                      |
  |                     |      "ex_gw_ports": 0                                                         |
  |                     | }                                                                             |
  | created_at          | 2015-02-19 12:44:56                                                           |
  | description         |                                                                               |
  | heartbeat_timestamp | 2015-02-19 13:27:59                                                           |
  | host                | devstack                                                                      |
  | id                  | 51cdbbf9-d160-4adf-9d9c-d720b96c79cc                                          |
  | started_at          | 2015-02-19 13:26:59                                                           |
  | topic               | l3_agent                                                                      |
  +---------------------+-------------------------------------------------------------------------------+

  Need to catch broader exception there and set fullsync = True like
  it's done earlier in _process_router_update() when getting routers
  from server.

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


References