← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1341290] [NEW] neutron should update router status of l3agent

 

Public bug reported:

Router status of l3agent has only ACTIVE.
But router should have other status such as PENDING_UPDATE and Error.

For example,
when agent has more than one external network, l3agent outputs error.

$ neutron -q router-gateway-set router1 test-net
Set gateway for router router1

l3agent logs
---------------------------------------------------------------------------------------
2014-07-13 13:05:00.663 ERROR neutron.agent.l3_agent [-] Failed synchronizing routers
2014-07-13 13:05:00.663 TRACE neutron.agent.l3_agent Traceback (most recent call last):
2014-07-13 13:05:00.663 TRACE neutron.agent.l3_agent   File "/opt/stack/neutron/neutron/agent/l3_agent.py", line 827, in _rpc_loop
2014-07-13 13:05:00.663 TRACE neutron.agent.l3_agent     self._process_routers(routers)
2014-07-13 13:05:00.663 TRACE neutron.agent.l3_agent   File "/opt/stack/neutron/neutron/agent/l3_agent.py", line 790, in _process_routers
2014-07-13 13:05:00.663 TRACE neutron.agent.l3_agent     if (ex_net_id != self._fetch_external_net_id(force=True)):
2014-07-13 13:05:00.663 TRACE neutron.agent.l3_agent   File "/opt/stack/neutron/neutron/agent/l3_agent.py", line 339, in _fetch_external_net_id
2014-07-13 13:05:00.663 TRACE neutron.agent.l3_agent     raise Exception(msg)
2014-07-13 13:05:00.663 TRACE neutron.agent.l3_agent Exception: The 'gateway_external_network_id' option must be configured for this agent as Neutron has more than one external network.
---------------------------------------------------------------------------------------

But neutron status is ACTIVE.

$ neutron -q router-show router1
+-----------------------+-----------------------------------------------------------------------------+
| Field                 | Value                                                                       |
+-----------------------+-----------------------------------------------------------------------------+
| admin_state_up        | True                                                                        |
| external_gateway_info | {"network_id": "cfc58ba7-4e40-48c4-8b43-540447715fba", "enable_snat": true} |
| id                    | bf8fc5f1-84c2-4429-a9f2-a5094b73d5fe                                        |
| name                  | router1                                                                     |
| routes                |                                                                             |
| status                | ACTIVE                                                                      |
| tenant_id             | 177e5ca3cc0747c480f4e89c3333fcd1                                            |
+-----------------------+-----------------------------------------------------------------------------+

When such error in l3agent process occurs, neutron should set "Error" to
router status.

** Affects: neutron
     Importance: Undecided
     Assignee: Hirofumi Ichihara (ichihara-hirofumi)
         Status: New

** Changed in: neutron
     Assignee: (unassigned) => Hirofumi Ichihara (ichihara-hirofumi)

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

Title:
  neutron should update router status of l3agent

Status in OpenStack Neutron (virtual network service):
  New

Bug description:
  Router status of l3agent has only ACTIVE.
  But router should have other status such as PENDING_UPDATE and Error.

  For example,
  when agent has more than one external network, l3agent outputs error.

  $ neutron -q router-gateway-set router1 test-net
  Set gateway for router router1

  l3agent logs
  ---------------------------------------------------------------------------------------
  2014-07-13 13:05:00.663 ERROR neutron.agent.l3_agent [-] Failed synchronizing routers
  2014-07-13 13:05:00.663 TRACE neutron.agent.l3_agent Traceback (most recent call last):
  2014-07-13 13:05:00.663 TRACE neutron.agent.l3_agent   File "/opt/stack/neutron/neutron/agent/l3_agent.py", line 827, in _rpc_loop
  2014-07-13 13:05:00.663 TRACE neutron.agent.l3_agent     self._process_routers(routers)
  2014-07-13 13:05:00.663 TRACE neutron.agent.l3_agent   File "/opt/stack/neutron/neutron/agent/l3_agent.py", line 790, in _process_routers
  2014-07-13 13:05:00.663 TRACE neutron.agent.l3_agent     if (ex_net_id != self._fetch_external_net_id(force=True)):
  2014-07-13 13:05:00.663 TRACE neutron.agent.l3_agent   File "/opt/stack/neutron/neutron/agent/l3_agent.py", line 339, in _fetch_external_net_id
  2014-07-13 13:05:00.663 TRACE neutron.agent.l3_agent     raise Exception(msg)
  2014-07-13 13:05:00.663 TRACE neutron.agent.l3_agent Exception: The 'gateway_external_network_id' option must be configured for this agent as Neutron has more than one external network.
  ---------------------------------------------------------------------------------------

  But neutron status is ACTIVE.

  $ neutron -q router-show router1
  +-----------------------+-----------------------------------------------------------------------------+
  | Field                 | Value                                                                       |
  +-----------------------+-----------------------------------------------------------------------------+
  | admin_state_up        | True                                                                        |
  | external_gateway_info | {"network_id": "cfc58ba7-4e40-48c4-8b43-540447715fba", "enable_snat": true} |
  | id                    | bf8fc5f1-84c2-4429-a9f2-a5094b73d5fe                                        |
  | name                  | router1                                                                     |
  | routes                |                                                                             |
  | status                | ACTIVE                                                                      |
  | tenant_id             | 177e5ca3cc0747c480f4e89c3333fcd1                                            |
  +-----------------------+-----------------------------------------------------------------------------+

  When such error in l3agent process occurs, neutron should set "Error"
  to router status.

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


Follow ups

References