[dvr] misleading fip rule priority not found error message
Bug #1929821 reported by
Edward Hope-Morley
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Fix Released
|
Low
|
Rodolfo Alonso |
Bug Description
The fix for bug 1891673 added an error log like "Rule priority not found for floating ip a.b.c.d" such that if the ip rule priority information needed to configure a floating ip could not be found (in the fip-priorities file) the error message is logged. This error message can be misleading since not all floating ips will have or need a priority allocation since only those configured in qrouter namespaces need them but not fips for unbound ports that are configured in the snat ns (dvr). We should gate retrieving that information on whether the fixed_ip associated with fip is bound or not to avoid having this misleading error messages.
tags: | added: l3-dvr-backlog low-hanging-fruit |
Changed in neutron: | |
importance: | Undecided → Low |
Changed in neutron: | |
status: | New → In Progress |
To post a comment you must log in.
Hello:
Actually reviewing patch [1] I think we can improve a couple of things:
1) How we load the FIP information from the FipRulePriority Allocator file (the subject of this bug). list_ip_ rules: http:// paste.openstack .org/show/ 806327/ rule_priorities " with a specific priority. We'll need to remove the rule in the "ip rules" table, allocate it again and write the rule with the new priority.
In case of not having one of the FIP priorities in the state file, we should try to find it directly on the "ip rule" namespace table, searching for the fixed IP address (if present, as Slawek said). All FIP rules are stored in table FIP_RT_TBL = 16. This is the output of ip_lib.
This is just a matter of finding the IP address and assigning the priority already given. Problem: we cannot allocate a FIP in "self._
That will make [2] impossible to happen (I don't image when this could happen).
2) Once we finished reading the FIP list, we'll have "self._ rule_priorities " updated. With this information, we can remove any rule present in table FIP_RT_TBL = 16 that is not in "self._ rule_priorities ". That will clean up any unnecessary "ip rule" present in this table.
Regards.
[1]https:/ /review. opendev. org/q/If656a703 c996ccc7719b1b0 9d793c5bbdfd6f3 c1 /github. com/openstack/ neutron/ blob/63d8788d0f 30aeedd54447e5c 7ae7380973bf21a /neutron/ agent/l3/ dvr_local_ router. py#L185- L188
[2]https:/