← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1955775] Re: Error when l3-agent get filter id for ip

 

Reviewed:  https://review.opendev.org/c/openstack/neutron/+/822987
Committed: https://opendev.org/openstack/neutron/commit/0255eb31e5c3ce31ed08069c4e5c0fcb1fc29074
Submitter: "Zuul (22348)"
Branch:    master

commit 0255eb31e5c3ce31ed08069c4e5c0fcb1fc29074
Author: zhaimengdong <429322003@xxxxxx>
Date:   Mon Dec 27 14:06:39 2021 +0800

    Fix a error when l3-agent gets filter id for ip
    
    Before using filter_id in _get_filterid_for_ip(), we should assign it first.
    
    Closes-Bug: #1955775
    
    Change-Id: Icea0a8b756f210761b635d2d34e2af04a939a640


** Changed in: neutron
       Status: In Progress => 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/1955775

Title:
  Error when l3-agent get filter id for ip

Status in neutron:
  Fix Released

Bug description:
  2021-12-22 23:37:34.366 3403 ERROR neutron.agent.l3.agent Traceback (most recent call last):
  2021-12-22 23:37:34.366 3403 ERROR neutron.agent.l3.agent   File "/usr/lib/python3.6/site-packages/neutron/agent/l3/agent.py", line 555, in _process_router_update
  2021-12-22 23:37:34.366 3403 ERROR neutron.agent.l3.agent     self._process_router_if_compatible(router)
  2021-12-22 23:37:34.366 3403 ERROR neutron.agent.l3.agent   File "/usr/lib/python3.6/site-packages/neutron/agent/l3/agent.py", line 477, in _process_router_if_compatible
  2021-12-22 23:37:34.366 3403 ERROR neutron.agent.l3.agent     self._process_updated_router(router)
  2021-12-22 23:37:34.366 3403 ERROR neutron.agent.l3.agent   File "/usr/lib/python3.6/site-packages/neutron/agent/l3/agent.py", line 501, in _process_updated_router
  2021-12-22 23:37:34.366 3403 ERROR neutron.agent.l3.agent     self.l3_ext_manager.update_router(self.context, router)
  2021-12-22 23:37:34.366 3403 ERROR neutron.agent.l3.agent   File "/usr/lib/python3.6/site-packages/neutron/agent/l3/l3_agent_extensions_manager.py", line 54, in update_router
  2021-12-22 23:37:34.366 3403 ERROR neutron.agent.l3.agent     extension.obj.update_router(context, data)
  2021-12-22 23:37:34.366 3403 ERROR neutron.agent.l3.agent   File "/usr/lib/python3.6/site-packages/oslo_concurrency/lockutils.py", line 359, in inner
  2021-12-22 23:37:34.366 3403 ERROR neutron.agent.l3.agent     return f(*args, **kwargs)
  2021-12-22 23:37:34.366 3403 ERROR neutron.agent.l3.agent   File "/usr/lib/python3.6/site-packages/neutron/agent/l3/extensions/qos/fip.py", line 236, in update_router
  2021-12-22 23:37:34.366 3403 ERROR neutron.agent.l3.agent     self.process_floating_ip_addresses(context, router_info)
  2021-12-22 23:37:34.366 3403 ERROR neutron.agent.l3.agent   File "/usr/lib/python3.6/site-packages/neutron/agent/l3/extensions/qos/fip.py", line 218, in process_floating_ip_addresses
  2021-12-22 23:37:34.366 3403 ERROR neutron.agent.l3.agent     self.process_ip_rates(fip_addr, device, rates)
  2021-12-22 23:37:34.366 3403 ERROR neutron.agent.l3.agent   File "/usr/lib/python3.6/site-packages/neutron/agent/l3/extensions/qos/fip.py", line 183, in process_ip_rates
  2021-12-22 23:37:34.366 3403 ERROR neutron.agent.l3.agent     rate['rate'], rate['burst'])
  2021-12-22 23:37:34.366 3403 ERROR neutron.agent.l3.agent   File "/usr/lib/python3.6/site-packages/neutron/agent/l3/extensions/qos/fip.py", line 123, in process_ip_rate_limit
  2021-12-22 23:37:34.366 3403 ERROR neutron.agent.l3.agent     tc_wrapper.set_ip_rate_limit(direction, ip, rate, burst)
  2021-12-22 23:37:34.366 3403 ERROR neutron.agent.l3.agent   File "/usr/lib/python3.6/site-packages/neutron/agent/linux/l3_tc_lib.py", line 169, in set_ip_rate_limit
  2021-12-22 23:37:34.366 3403 ERROR neutron.agent.l3.agent     filter_id = self._get_filterid_for_ip(qdisc_id, ip)
  2021-12-22 23:37:34.366 3403 ERROR neutron.agent.l3.agent   File "/usr/lib/python3.6/site-packages/neutron/agent/linux/l3_tc_lib.py", line 82, in _get_filterid_for_ip
  2021-12-22 23:37:34.366 3403 ERROR neutron.agent.l3.agent     filterids_for_ip.append(filter_id)
  2021-12-22 23:37:34.366 3403 ERROR neutron.agent.l3.agent UnboundLocalError: local variable 'filter_id' referenced before assignment

  If the interface is accidentally added some tc rules not through
  neutron, for example, the interface has two tc rules, the first rule
  is "filter protocol all ...", the second rule is "match ...". This
  first rule mismatch FILTER_ID_REGEX and the second rule starts with
  "match", so the code will execute this statement:

  filterids_for_ip.append(filter_id)

  But filter_id has not been assignment at this time.

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



References