← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1928875] [NEW] Neutron L3 HA state transition fails with KeyError and agent stops processing

 

Public bug reported:

When using L3 HA enabled for routers sometimes the state transitions
reports master instead of primary causing a KeyError in the
TRANSLATION_MAP. This causes the agent to fail and stop processing them
all together, if you then move a router (haven't tried for new routers)
to the agent it will become the primary but since state transition
doesn't happen it will not get any routes.

Victoria release.

python3-neutronclient-6.14.1-1.el8.noarch
python3-neutron-17.1.0-1.el8.noarch
openstack-neutron-openvswitch-17.1.0-1.el8.noarch
python3-neutron-lib-2.6.1-2.el8.noarch
openstack-neutron-common-17.1.0-1.el8.noarch
openstack-neutron-ml2-17.1.0-1.el8.noarch
python3-neutron-dynamic-routing-17.0.0-2.el8.noarch
openstack-neutron-bgp-dragent-17.0.0-2.el8.noarch
openstack-neutron-17.1.0-1.el8.noarch
openstack-neutron-dynamic-routing-common-17.0.0-2.el8.noarch

keepalived-2.0.10-11.el8_3.1.x86_64

2021-05-11 00:58:10.449 808339 ERROR neutron.agent.l3.agent [-] Failed to process compatible router: a67b5215-a905-4303-8dc6-75e0f45aa6c6: KeyError: 'master'
2021-05-11 00:58:10.449 808339 ERROR neutron.agent.l3.agent Traceback (most recent call last):
2021-05-11 00:58:10.449 808339 ERROR neutron.agent.l3.agent   File "/usr/lib/python3.6/site-packages/neutron/agent/l3/agent.py", line 788, in _process_routers_if_compatible
2021-05-11 00:58:10.449 808339 ERROR neutron.agent.l3.agent     self._process_router_if_compatible(router)
2021-05-11 00:58:10.449 808339 ERROR neutron.agent.l3.agent   File "/usr/lib/python3.6/site-packages/neutron/agent/l3/agent.py", line 617, in _process_router_if_compatible
2021-05-11 00:58:10.449 808339 ERROR neutron.agent.l3.agent     self._process_updated_router(router)
2021-05-11 00:58:10.449 808339 ERROR neutron.agent.l3.agent   File "/usr/lib/python3.6/site-packages/neutron/agent/l3/agent.py", line 671, in _process_updated_router
2021-05-11 00:58:10.449 808339 ERROR neutron.agent.l3.agent     router['id'], router.get(lib_const.HA_ROUTER_STATE_KEY))
2021-05-11 00:58:10.449 808339 ERROR neutron.agent.l3.agent   File "/usr/lib/python3.6/site-packages/osprofiler/profiler.py", line 160, in wrapper
2021-05-11 00:58:10.449 808339 ERROR neutron.agent.l3.agent     result = f(*args, **kwargs)
2021-05-11 00:58:10.449 808339 ERROR neutron.agent.l3.agent   File "/usr/lib/python3.6/site-packages/neutron/agent/l3/ha.py", line 102, in check_ha_state_for_router
2021-05-11 00:58:10.449 808339 ERROR neutron.agent.l3.agent     if current_state != TRANSLATION_MAP[ha_state]:
2021-05-11 00:58:10.449 808339 ERROR neutron.agent.l3.agent KeyError: 'master'

** 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/1928875

Title:
  Neutron L3 HA state transition fails with KeyError and agent stops
  processing

Status in neutron:
  New

Bug description:
  When using L3 HA enabled for routers sometimes the state transitions
  reports master instead of primary causing a KeyError in the
  TRANSLATION_MAP. This causes the agent to fail and stop processing
  them all together, if you then move a router (haven't tried for new
  routers) to the agent it will become the primary but since state
  transition doesn't happen it will not get any routes.

  Victoria release.

  python3-neutronclient-6.14.1-1.el8.noarch
  python3-neutron-17.1.0-1.el8.noarch
  openstack-neutron-openvswitch-17.1.0-1.el8.noarch
  python3-neutron-lib-2.6.1-2.el8.noarch
  openstack-neutron-common-17.1.0-1.el8.noarch
  openstack-neutron-ml2-17.1.0-1.el8.noarch
  python3-neutron-dynamic-routing-17.0.0-2.el8.noarch
  openstack-neutron-bgp-dragent-17.0.0-2.el8.noarch
  openstack-neutron-17.1.0-1.el8.noarch
  openstack-neutron-dynamic-routing-common-17.0.0-2.el8.noarch

  keepalived-2.0.10-11.el8_3.1.x86_64

  2021-05-11 00:58:10.449 808339 ERROR neutron.agent.l3.agent [-] Failed to process compatible router: a67b5215-a905-4303-8dc6-75e0f45aa6c6: KeyError: 'master'
  2021-05-11 00:58:10.449 808339 ERROR neutron.agent.l3.agent Traceback (most recent call last):
  2021-05-11 00:58:10.449 808339 ERROR neutron.agent.l3.agent   File "/usr/lib/python3.6/site-packages/neutron/agent/l3/agent.py", line 788, in _process_routers_if_compatible
  2021-05-11 00:58:10.449 808339 ERROR neutron.agent.l3.agent     self._process_router_if_compatible(router)
  2021-05-11 00:58:10.449 808339 ERROR neutron.agent.l3.agent   File "/usr/lib/python3.6/site-packages/neutron/agent/l3/agent.py", line 617, in _process_router_if_compatible
  2021-05-11 00:58:10.449 808339 ERROR neutron.agent.l3.agent     self._process_updated_router(router)
  2021-05-11 00:58:10.449 808339 ERROR neutron.agent.l3.agent   File "/usr/lib/python3.6/site-packages/neutron/agent/l3/agent.py", line 671, in _process_updated_router
  2021-05-11 00:58:10.449 808339 ERROR neutron.agent.l3.agent     router['id'], router.get(lib_const.HA_ROUTER_STATE_KEY))
  2021-05-11 00:58:10.449 808339 ERROR neutron.agent.l3.agent   File "/usr/lib/python3.6/site-packages/osprofiler/profiler.py", line 160, in wrapper
  2021-05-11 00:58:10.449 808339 ERROR neutron.agent.l3.agent     result = f(*args, **kwargs)
  2021-05-11 00:58:10.449 808339 ERROR neutron.agent.l3.agent   File "/usr/lib/python3.6/site-packages/neutron/agent/l3/ha.py", line 102, in check_ha_state_for_router
  2021-05-11 00:58:10.449 808339 ERROR neutron.agent.l3.agent     if current_state != TRANSLATION_MAP[ha_state]:
  2021-05-11 00:58:10.449 808339 ERROR neutron.agent.l3.agent KeyError: 'master'

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


Follow ups