Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-79693

Fixes connection state handling in dnsconfd

Linking RHIVOS CVEs to...Migration: Automation ...SWIFT: POC ConversionSync from "Extern...XMLWordPrintable

    • NetworkManager-1.51.90-2.el9
    • No
    • Important
    • 1
    • rhel-net-mgmt
    • ssg_networking
    • 2
    • False
    • False
    • Hide

      None

      Show
      None
    • None
    • NMT Sprint ending 2025-02-27
    • Hide

      Given NetworkManager uses the dnsconfd plugin and an interface is activated, 

      When NetworkManager sends the DNS update to dnsconfd for the first time, 

      Then NetworkManager must wait until the DNS update is confirmed before marking the interface as activated. 

      Given a VPN connection provides a DNS server to the dnsconfd plugin, 

      When NetworkManager processes DNS information for that VPN, 

      Then there should be no assertion failure or crash in parse_all_interface_config and the DNS settings must be properly applied.

      Definition of Done:

      • The implementation meets the acceptance criteria
      • Integration tests are written and pass 
      • The code is part of a downstream build attached to an errata
      Show
      Given NetworkManager uses the dnsconfd plugin and an interface is activated,  When NetworkManager sends the DNS update to dnsconfd for the first time,  Then NetworkManager must wait until the DNS update is confirmed before marking the interface as activated.  – Given a VPN connection provides a DNS server to the dnsconfd plugin,  When NetworkManager processes DNS information for that VPN,  Then there should be no assertion failure or crash in parse_all_interface_config and the DNS settings must be properly applied. Definition of Done: The implementation meets the acceptance criteria Integration tests are written and pass  The code is part of a downstream build attached to an errata
    • Pass
    • None
    • Unspecified
    • Unspecified
    • Unspecified
    • None

      Two issues were discovered during integration testing of the dnsconfd plugin:

      The first time NetworkManager sends a DNS update to dnsconfd, it does not wait for the update to complete before marking the interface as activated. Consequently, DNS servers are not yet set in the system when network-online is reached.
      A crash occurs due to a failed assertion when a VPN connection provides a name server. Example log snippet:

      Feb 12 21:56:59 7e42e116abd6 NetworkManager[127]: nm:ERROR:../src/core/dns/nm-dns-dnsconfd.c:629:parse_all_interface_config: assertion failed: (active_connection)
      Feb 12 21:56:59 7e42e116abd6 NetworkManager[127]: Bail out! nm:ERROR:../src/core/dns/nm-dns-dnsconfd.c:629:parse_all_interface_config: assertion failed: (active_connection)
      

              rhn-engineering-vbenes Vladimir Benes
              rh-ee-sfaye Stanislas Faye
              Network Management Team Network Management Team
              Vladimir Benes Vladimir Benes
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Created:
                Updated:
                Resolved: