Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-20630

sanity-lnet test_238: FAIL 'Expect Multi-Rail: false, found False' when the router runs < 2.16

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Medium Medium
    • Lustre 2.18.0
    • None
    • None
    • 9223372036854775807

      sanity-lnet test_238 fails with:
      Expect 'Multi-Rail: false', found False

      lnetctl renders the Multi-Rail field from two paths that disagree on case:

      • Netlink: liblnetconfig_netlink.c:708, NLA_FLAG -> "true"/"false"
      • legacy cYAML: liblnetconfig.c:4204 -> "True"/"False"
        jt_show_peer() (lnetctl.c:6076) falls back to the legacy path on -EOPNOTSUPP, i.e. whenever the
        kernel lacks the LNet genl peer command. That command landed in 8a0fdfa0b2 (LU-10391, 2023-08-07),
        so b2_16 and master have it and b2_15 does not.

      test_238 reads the flag from ${ROUTERS[0]} and compares it exactly against lowercase 'false', so it
      fails whenever the router node runs < 2.16. In the run below the router onyx-159vm113 was running
      Lustre 2.15.8.

      sanity-lnet.sh:3055 parses the same field and compares against 'False' instead, so the file already
      disagrees with itself; that site fails open (it skips wrongly) which is why only 238 is visible.

      Pre-existing: test_238 was added by bb6237483d (LU-19827, 2025-11-19). It passes in most configs
      because whether a <2.16 node lands in the router slot is a node-allocation lottery.

      Suggested fix: compare case-insensitively (${mr,,}) at both sites in lustre/tests/sanity-lnet.sh.

      Example: https://testing.whamcloud.com/test_sets/a65cae94-5d3b-4b85-b01e-4643435cdfb4

            green Oleg Drokin
            green Oleg Drokin
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: