[Bug 1939881] Re: OVN DNS interception leads to OOM killing the local ovn-controller process

Frode Nordahl 1939881 at bugs.launchpad.net
Tue Aug 2 19:43:42 UTC 2022


Workaround would be:
1) Disable the Neutron ML2 DNS feature so that it does not populate the OVN NB DB with DNS records.
2) Empty the OVN NB DNS table for any records pertaining the affected Logical Switch (LS).

Lack of DNS records for a LS will make ovn-northd disable the feature
completely by not installing the flows at all ref: [0][1][2]

0: https://github.com/ovn-org/ovn/blob/db15cf29a1f9857b55389f424c5d747406550cb7/northd/northd.c#L5736-L5750
1: https://github.com/ovn-org/ovn/blob/db15cf29a1f9857b55389f424c5d747406550cb7/northd/northd.c#L6771-L6779
2: https://github.com/ovn-org/ovn/blob/db15cf29a1f9857b55389f424c5d747406550cb7/northd/northd.c#L8225-L8251

** Also affects: ovn (Ubuntu)
   Importance: Undecided
       Status: New

** Changed in: networking-ovn
       Status: New => Invalid

** Changed in: charm-ovn-chassis
       Status: New => Invalid

** Changed in: charm-ovn-central
       Status: New => Invalid

** Changed in: ovn (Ubuntu)
       Status: New => Triaged

** Changed in: ovn (Ubuntu)
   Importance: Undecided => High

-- 
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to ovn in Ubuntu.
https://bugs.launchpad.net/bugs/1939881

Title:
  OVN DNS interception leads to OOM killing the local ovn-controller
  process

Status in charm-ovn-central:
  Invalid
Status in charm-ovn-chassis:
  Invalid
Status in networking-ovn:
  Invalid
Status in ovn package in Ubuntu:
  Triaged

Bug description:
  
  Whilst undertaking network performance testing on an Instance with virtio interfaces, we had a tester configured to generate packets that looked like DNS requests (i.e. they were UDP and to port 53). Whilst this  was obviously not the best idea, it did highlight an issue with the DNS interception feature.

  The Instance we were testing was configured with IP forwarding between
  two interfaces, so it's not clear in which direction the interception
  took place on. One might assume it was on egress from the Instance
  rather than on ingress.

  These packets were intercepted by OVS/OVN as detailed in "Ingress
  Table 18 DNS Lookup" and "Ingress Table 19 DNS Responses" of the ovn-
  northd manpage
  (http://manpages.ubuntu.com/manpages/hirsute/en/man8/ovn-
  northd.8.html). Note other versions of the manpage may number the
  sections differently.

  However the packets were not valid DNS queries (they were padded with
  an 'X' character) and so caused the local ovn-controller process to
  buffer them until the point that it consumed all free RAM on the host
  and was killed. Presumably the buffering was due to the time take to
  (fail to) process the DNS request and the relatively high PPS due to
  this being a network performance test.

  Whilst this was an entirely synthetic test, and we could disable the
  OVN DNS interception feature, the behaviour may not be reasonable as
  there could be valid use cases that trigger this behaviour (e.g. an
  Instance running a heavily used recursive resolver).

To manage notifications about this bug go to:
https://bugs.launchpad.net/charm-ovn-central/+bug/1939881/+subscriptions




More information about the Ubuntu-openstack-bugs mailing list