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

[NM-ci] tests should run with LIBNM_CLIENT_DEBUG= to catch bugs

    • rhel-sst-network-management
    • ssg_networking
    • 1
    • False
    • Hide

      None

      Show
      None
    • No
    • None
    • Hide

      Given a system administrator responsible for conducting tests using NetworkManager-ci. The testing environment includes various versions of the NetworkManager daemon and its client library (libnm).

      When the administrator runs the NetworkManager-ci tests, they set the environment variables G_DEBUG=fatal-warnings and LIBNM_CLIENT_DEBUG=error,warning,WARN.

      Then the testing environment should capture and report all debug, warn, and error messages from libnm, including those from nmcli and other libnm users. Any errors logged should be indicative of bugs in the D-Bus API, and any warnings should be treated as potential bugs, especially when they arise from version mismatches between the daemon and the library. The environment should crash on any unexpected situations as indicated by G_DEBUG=fatal-warnings, ensuring that all such bugs are identified and addressed promptly

      Definition of done:

      • The implementation meets the acceptance criteria
      • The code is part of a build attached to an errata
      Show
      Given a system administrator responsible for conducting tests using NetworkManager-ci. The testing environment includes various versions of the NetworkManager daemon and its client library (libnm). When the administrator runs the NetworkManager-ci tests, they set the environment variables G_DEBUG=fatal-warnings and LIBNM_CLIENT_DEBUG=error,warning,WARN. Then the testing environment should capture and report all debug, warn, and error messages from libnm, including those from nmcli and other libnm users. Any errors logged should be indicative of bugs in the D-Bus API, and any warnings should be treated as potential bugs, especially when they arise from version mismatches between the daemon and the library. The environment should crash on any unexpected situations as indicated by G_DEBUG=fatal-warnings, ensuring that all such bugs are identified and addressed promptly Definition of done: The implementation meets the acceptance criteria The code is part of a build attached to an errata
    • None
    • None
    • None

      This is mostly an issue for testing (NetworkManager-ci).

      Tests should run with `G_DEBUG=fatal-warnings LIBNM_CLIENT_DEBUG=error,warning,WARN` exported in the environment.

      LIBNM_CLIENT_DEBUG affects libnm, so implicitly `nmcli` and other libnm users. It can just be exported at the highest level.

      With LIBNM_CLIENT_DEBUG, libnm prints trace, debug, warn and error messages.

      <error> are always bugs in the D-Bus API (e.g. the daemon exports something differently than libnm expects). The only reason why libnm does not assert hard against such errors, is because a bug in the daemon must not trigger assertion failures in the library (but there is a bug!).

      <warn> can happen when different versions of the daemon and the library talk to each other. For example, a newer daemon version might export a new D-Bus property. libnm would warn about that. That is not necessarily a bug, since we want to support client and daemon of different versions. In context of NM-ci it is however a bug!!

              rh-ee-sfaye Stanislas Faye
              thaller@redhat.com Thomas Haller
              Network Management Team Network Management Team
              Vladimir Benes Vladimir Benes
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: