← Back to team overview

yahoo-eng-team team mailing list archive

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

 

That seems about right. We upgraded from Train to Victoria recently so I
would assume this was related to that. Ideally it should have handled
the word 'master' as a transition and perhaps converted any
/var/lib/neutron/ha_confs/<router>/state files or similar since the
service did not work after one reboot I assume.

Rebooting the service fixes all the state files, so for anybody
wondering you should restart the l3-agent service multiple times after
upgrading with that change.

** Changed in: neutron
       Status: New => Invalid

-- 
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:
  Invalid

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


References