← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1572390] [NEW] Scheduling router without external network results in unclear error

 

Public bug reported:

When attempting to schedule a router to an L3 agent without an external
network set, the following error is observed:

root@infra01_neutron_server_container-96ae0d98:~# neutron l3-agent-router-add 7ec8336e-3d82-46f5-8e15-2f2477090021 TestRouter
Agent 7ec8336e-3d82-46f5-8e15-2f2477090021 is not a L3 Agent or has been disabled

The error could lead users to believe the L3 agent(s) are not alive when
the agent-list clearly shows otherwise:

root@infra01_neutron_server_container-96ae0d98:~# neutron agent-list | grep l3
| 7ec8336e-3d82-46f5-8e15-2f2477090021 | L3 agent           | infra01_neutron_agents_container-4bbf1e68 | :-)   | True           | neutron-l3-agent          |
| b5d7be19-3143-431e-ac8b-1c8237acaace | L3 agent           | infra02_neutron_agents_container-fb552892 | :-)   | True           | neutron-l3-agent          |
| e8bed137-6ec3-41d1-a524-3e5e3a884fcd | L3 agent           | infra03_neutron_agents_container-ad2973dd | :-)   | True           | neutron-l3-agent          |

The test case in get_l3_agent_candidates function in
l3_agentschedulers_db.py tests to see if external_gateway_info is set
and when it isn't, returns zero candidates. As a result, the presented
agent is considered invalid.

The proper workflow appears to be that a gateway must be set before a
router can be scheduled. However, already scheduled routers can have
their gateway cleared with no observed issues and remain scheduled.

It may help to create a new error to represent this failed test case
rather than lumping tests together, or provide additional pointers in
the error message to reflect possible issues other than a disabled or
non-L3 agent.

** Affects: neutron
     Importance: Undecided
         Status: New

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

Title:
  Scheduling router without external network results in unclear error

Status in neutron:
  New

Bug description:
  When attempting to schedule a router to an L3 agent without an
  external network set, the following error is observed:

  root@infra01_neutron_server_container-96ae0d98:~# neutron l3-agent-router-add 7ec8336e-3d82-46f5-8e15-2f2477090021 TestRouter
  Agent 7ec8336e-3d82-46f5-8e15-2f2477090021 is not a L3 Agent or has been disabled

  The error could lead users to believe the L3 agent(s) are not alive
  when the agent-list clearly shows otherwise:

  root@infra01_neutron_server_container-96ae0d98:~# neutron agent-list | grep l3
  | 7ec8336e-3d82-46f5-8e15-2f2477090021 | L3 agent           | infra01_neutron_agents_container-4bbf1e68 | :-)   | True           | neutron-l3-agent          |
  | b5d7be19-3143-431e-ac8b-1c8237acaace | L3 agent           | infra02_neutron_agents_container-fb552892 | :-)   | True           | neutron-l3-agent          |
  | e8bed137-6ec3-41d1-a524-3e5e3a884fcd | L3 agent           | infra03_neutron_agents_container-ad2973dd | :-)   | True           | neutron-l3-agent          |

  The test case in get_l3_agent_candidates function in
  l3_agentschedulers_db.py tests to see if external_gateway_info is set
  and when it isn't, returns zero candidates. As a result, the presented
  agent is considered invalid.

  The proper workflow appears to be that a gateway must be set before a
  router can be scheduled. However, already scheduled routers can have
  their gateway cleared with no observed issues and remain scheduled.

  It may help to create a new error to represent this failed test case
  rather than lumping tests together, or provide additional pointers in
  the error message to reflect possible issues other than a disabled or
  non-L3 agent.

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


Follow ups