Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: More tests, esp for the discovery disabled case.

...

The unit tests for peer NID discovery depend on lctl ping not triggering discovery. To force discovery, use lctl discover. Note that some of the tests require DLC configuration to include non-existing peer NIDs. These nids are marked with a *.

Tests with discovery enabled.

Compatibility 2-1: discovery of a non-MR peer via its primary. interface .Non-.
  • Ping P1 from node.
  • Ping P2 from node two different peers: P1, P2.
  • Discover P1 from node
  • Verify that node sees non- one one NID3 a tertiary
    Primary Requirement IDSecondary Requirement IDUnit Test IDUnit Test Description
       Basic functionality 1-1: discovery of an MR peer via its primary.
    • MR Node with interfaces N1, N2
    • MR Peer with interfaces P1, P2, P3
    • Ping P1 from node
    • Ping P2 from node
    • Verify that node sees two different peers: P1, P2.
    • Discover P1 from node
    • Verify that node sees one MR peer with three NIDS: P1, P2, P3.
    • Verify that peer sees node as one MR peer with two NIDS: N1, N2.
       Basic functionality 1-2: discovery of an MR peer via a secondary.
    • MR Node with interfaces N1, N2
    • MR Peer with interfaces P1, P2, P3
    • Ping P1 from node
    • Ping P2 from node
    • Verify that node sees two different peers: P1, P2.
    • Discover P2 from node
    • Verify that node sees one MR peer with three NIDS: P1, P2, P3.
    • Verify that peer sees node as one MR peer with two NIDS: N1, N2.
       Basic functionality 1-3: discovery of an MR peer via a tertiary.
    • MR Node with interfaces N1, N2
    • MR Peer with interfaces P1, P2, P3
    • Ping P1 from node
    • Ping P2 from node
    • Verify that node sees two different peers: P1, P2.
    • Discover P3 from node
    • Verify that node sees one MR peer with three NIDS: P1, P2, P3.
    • Verify that peer sees node as one MR peer with two NIDS: N1, N2.
       

    Basic functionality 1-4: implicit discovery of an MR peer

    • MR Node with
    • interfaces N1, N2
    • MR Peer with interfaces P1, P2, P3
    • Force some filesystem traffic between node and peer.
    • Verify that node sees
    • one
    • MR peer with three NIDS: P1, P2, P3.
    • Verify that peer sees
    • node as one MR peer with
    • two NIDS: N1, N2.
       

    Compatibility 2-2Basic functionality 1-5: discovery of a non-MR peer via a secondary.an MR peer with > 16 interfaces.

    (This test exercises the code path that resizes the push buffers.)

    • MR Node with interface interfaces N1, N2, ..., N17
    • Non-MR Peer with interfaces P1, P2, P3..., P17
    • Ping P1 from node.
    • Ping P2 from node.
    • Verify that node sees two different peers: P1, P2.
    • Discover P2 Discover P1 from node
    • Verify that node sees one non- MR peer with three all NIDS: P1, P2, P3..., P17
    • Verify that peer sees one node as one MR peer with one NIDall NIDS: N1, N2, ..., N17.
       

    Compatibility 2-

    1: discovery of a non-MR peer via

    its primary.

    • MR Node with interface N1, N2.
    • Non-MR Peer with interfaces P1, P2, P3.
    • Ping P1 from node.
    • Ping P2 from node.
    • Verify that node sees two different peers: P1, P2.
    • Discover P1 from node
    • Verify that node sees one non-MR peer with three NIDS: P1, P2, P3.
    • Verify that peer sees one as one peer with one NID: N1.
       

    Compatibility 2-2: discovery of a non-MR peer via a secondary.

    • MR Node with interface N1, N2.
    • Non-MR Peer with interfaces P1, P2, P3.
    • Ping P1 from node.
    • Ping P2 from node.
    • Verify that node sees two different peers: P1, P2.
    • Discover P2 from node
    • Verify that node sees one non-MR peer with three NIDS: P1, P2, P3.
    • Verify that peer sees one as one peer with one NID: N1.
       

    Compatibility 2-3: discovery of a non-MR peer via a tertiary.

    • MR Node with interface N1, N2.
    • Non-MR Peer with interfaces P1, P2, P3.
    • Ping P1 from node.
    • Ping P2 from node.
    • Verify that node sees two different peers: P1, P2.
    • Discover P3 from node
    • Verify that node sees one non-MR peer with three NIDS: P1, P2, P3.
    • Verify that peer sees one as one peer with one NID: N1.
       

    Compatibility 2-4: implicit discovery of an MR peer

    • MR Node with interfaces N1, N2
    • MR Peer with interfaces P1, P2, P3
    • Force some filesystem traffic between node and peer.
    • Verify that node sees one non-MR peer with three NIDS: P1, P2, P3.
    • Verify that peer sees node as one peer with one NID: N1
       

    Interaction with DLC 3-1: DLC overrides Discovery of MR peer

    • MR node with interface N1
    • MR peer with interface P1, P2, P3
    • DLC configure MR peer on node with interfaces P1, P2, P4*.
    • Discover P1 from node.
    • Verify that node sees one MR peer with three NIDS: P1, P2, P4*.
    • Verify presence of error messages on node (error code is -EPERM):
      • Error adding NID P3 to peer P1: -1
      • Error deleting NID P3 from peer P1: -1
       

    Interaction with DLC 3-2: DLC overrides Discovery of non-MR peer

    • MR node with interface N1
    • non-MR peer with interface P1, P2, P3
    • DLC configure non-MR peer on node with interfaces P1, P2, P4*.
    • Discover P1 from node.
    • Verify that node sees one non-MR peer with three NIDS: P1, P2, P4*.
    • Verify presence of error messages on node (error code is -EPERM):
      • Error adding NID P3 to peer P1: -1
      • Error deleting NID P3 from peer P1: -1
       

    Interaction with DLC 3-3: DLC overrides Discovery of MR peer with primary conflict

    • MR node with interface N1
    • MR peer with interface P1, P2, P3
    • DLC configure MR peer on node with interfaces P2, P3, P4*.
    • Discover P2 from node.
    • Verify that node sees one MR peer with three NIDS: P2, P3, P4*.
    • Verify presence of error message on node (error code is -EEXIST):
      • Primary NID error P2 versus P1: -17
       

    Interaction with DLC 3-4: DLC overrides Discovery of non-MR peer with primary conflict

    • MR node with interface N1
    • non-MR peer with interface P1, P2, P3
    • DLC configure non-MR peer on node with interfaces P2, P3, P4*.
    • Discover P2 from node.
    • Verify that node sees one MR peer with three NIDS: P2, P3, P4*.
    • Verify presence of error message on node (error code is -EEXIST):
      • Primary NID error P2 versus P1: -17
       

    Interaction with DLC 3-5: "push MR bit" exception to DLC overrides Discovery

    • MR node with interface N1
    • MR peer with interface P1, P2, P3
    • DLC configure non-MR peer on node with interfaces P1, P2, P4*.
    • Discover N1 from peer.
    • Verify that node sees one MR peer with three NIDS: P1, P2, P4*.
    • Verify presence of error message on node (error code is -EEXIST):
      • Push says P1 is Multi-Rail, DLC says not
      • Error adding NID P3 to peer P1: -1
      • Error deleting NID P3 from peer P1: -1
       

    Interaction with DLC 3-6: "push MR bit" exception to DLC overrides Discovery

    • MR node with interface N1
    • MR peer with interface P1, P2, P3
    • DLC configure non-MR peer on node with interfaces P2, P3, P4*.
    • Discover N1 from peer.
    • Verify that node sees one MR peer with three NIDS: P2, P3, P4*.
    • Verify presence of error message on node (error code is -EEXIST):
      • Push says P2 is Multi-Rail, DLC says not
      • Primary NID error P2 versus P1: -17

    Tests with discovery disabled. Note that disabling discovery does not fully disable it. The MR capable node will continue to process pushes, and if there is a problem with a push it will ping the originator to obtain the information.

    Primary Requirement IDSecondary Requirement IDUnit Test IDUnit Test Description
       Discovery disabled 4-1: discovery of an MR peer via its primary
    • MR Node with interfaces N1, N2
    • MR Peer with interfaces P1, P2, P3
    • Discovery is disabled on Node
    • Ping P1 from node
    • Ping P2 from node
    • Verify that node sees two different peers: P1, P2.
    • Discover P1 from node
    • Verify that node sees two different peers: P1, P2.
    • Verify that peer sees node as one peer with one NID: N1
       Discovery disabled 4-2: discovery of an MR peer via a secondary
    • MR Node with interfaces N1, N2
    • MR Peer with interfaces P1, P2, P3
    • Discovery is disabled on Node
    • Ping P1 from node
    • Ping P2 from node
    • Verify that node sees two different peers: P1, P2.
    • Discover P2 from node
    • Verify that node sees two different peers: P1, P2.
    • Verify that peer sees node as one peer with one NID: N1
       Discovery disabled 4-3: discovery of an MR peer via a tertiary.
    • MR Node with interfaces N1, N2
    • MR Peer with interfaces P1, P2, P3
    • Discovery is disabled on Node
    • Ping P1 from node
    • Ping P2 from node
    • Verify that node sees two different peers: P1, P2.
    • Discover P3 from node
    • Verify that node sees three different peers: P1, P2, P3.
    • Verify that peer sees node as one peer with one NID: N1
       

    Discovery disabled 4-4: implicit discovery of an MR peer

    • MR Node with interfaces N1, N2
    • MR Peer with interfaces P1, P2, P3
    • Discovery is disabled on both Node and Peer
    • Force some filesystem traffic between node and peer.
    • Verify that node sees one peer with one NID: P1.
    • Verify that peer sees node as one peer with one NID: N1.
       

    Discovery disabled 4-5: implicit discovery of an MR peer.

    (This test shows that if discovery is enabled on either node or peer, it happens on both.)

    • MR Node with interfaces N1, N2
    • MR Peer with interfaces P1, P2, P3
    • Discovery is disabled on Node
    • Force some filesystem traffic between node and peer.
    • Verify that node sees one MR peer with NIDs: P1, P2, P3
    • Verify that peer sees node as one peer with NIDs: N1, N2.
       

    Discovery disabled 4-6: implicit discovery of an MR peer, > 16 interfaces.

    (This test shows that if discovery is enabled on either node or peer, it happens on both, including retries required because buffers need to be extended.)

    • MR Node with interfaces N1, N2, ..., N17
    • MR Peer with interfaces P1, P2, ..., P17
    • Discovery is disabled on Node
    • Force some filesystem traffic between node and peer.Discover P3 from node
    • Verify that node sees one non- MR peer with three NIDSall NIDs: P1, P2, P3..., P17
    • Verify that peer sees one node as one MR peer with one NIDall NIDs: N1, N2. ... , N17.
       

    Interaction Disabled with DLC 35-1: DLC overrides Discovery of MR peer

    • MR node with interface N1
    • MR peer with interface P1, P2, P3
    • Discovery is disabled on node.
    • DLC configure MR peer on node with interfaces P1, P2, P4*.
    • Discover P1 from node.
    • Verify that node sees one MR peer with three NIDSNIDs: P1, P2, P4*.Verify presence of error messages on node (error code is -EPERM):
    • Error adding NID P3 to peer P1: -1
    • Error deleting NID P3 from peer P1: -1
    • No error messages should show up.
       

    Interaction Disabled with DLC 35-2: DLC overrides Discovery of non-MR peer

    • MR node with interface N1
    • non-MR peer with interface P1, P2, P3
    • Discovery is disabled on node.
    • DLC configure non-MR peer on node with interfaces P1, P2, P4*.
    • Discover P1 from node.
    • Verify that node sees one non-MR peer with three NIDS: P1, P2, P4*.
    • Verify presence of error messages on node (error code is -EPERM):
      • Error adding NID P3 to peer P1: -1
      • Error deleting NID P3 from peer P1: -1
    • No error messages should show up.
       

    Interaction Disabled with DLC 35-3: DLC overrides Discovery of MR peer with primary conflict

    • MR node with interface N1
    • MR peer with interface P1, P2, P3
    • Discovery is disabled on node.
    • DLC configure MR peer on node with interfaces P2, P3, P4*.
    • Discover P2 from node.
    • Verify that node sees one MR peer with three NIDSNIDs: P2, P3, P4*.*.
    • No error messages should show up.Verify presence of error message on node (error code is -EEXIST):Primary NID error P2 versus P1: -17
       

    Interaction Disabled with DLC 35-4: DLC overrides Discovery of non-MR peer with primary conflict

    • MR node with interface N1
    • non-MR peer with interface P1, P2, P3
    • Discovery is disabled on node.
    • DLC configure non-MR peer on node with interfaces P2, P3, P4*.
    • Discover P2 from node.
    • Verify that node sees one MR peer with three NIDS: P2, P3, P4*.
    • Verify presence of error message on node (error code is -EEXIST):
      • Primary NID error P2 versus P1: -17
    • No error messages should show up.
       

    Interaction Disabled with DLC 35-5: "push MR bit" exception to DLC overrides Discovery

    • MR node with interface N1
    • MR peer with interface P1, P2, P3
    • Discovery is disabled on node.
    • DLC configure non-MR peer on node with interfaces P1, P2, P4*.
    • Discover N1 from peer.
    • Verify that node sees one MR peer with three NIDS: P1, P2, P4*.
    • Verify presence of error message on node (error code is -EEXISTEPERM):
      • Push says P1 is Multi-Rail, DLC says not
      • Error adding NID P3 to peer P1: -1
      • Error deleting NID P3 from peer P1: -1
       

    Interaction Disabled with DLC 3-6: "push MR bit" exception to DLC overrides Discovery

    • MR node with interface N1
    • MR peer with interface P1, P2, P3
    • Discovery is disabled on node.
    • DLC configure non-MR peer on node with interfaces P2, P3, P4*.
    • Discover N1 from peer.
    • Verify that node sees one MR peer with three NIDS: P2, P3, P4*.
    • Verify presence of error message on node (error code is -EEXIST):
      • Push says P2 is Multi-Rail, DLC says not
      • Primary NID error P2 versus P1: -17

    ...

    Debugging Requirements

    Primary Requirement IDSecondary Requirement IDUnit Test IDUnit Test Description
    dbg-005 dbg-010, dbg-015, dbg-020, dbg-025, dbg-030, dbg-035, dbg-080UT-0325
    • dump per NI statistics
      • transmitted
      • received
      • dropped
      • timeouts
      • state
    dbg-040dbg-080, dbg-095UT-0330
    • configure multiple NIs
    • run traffic
    • dump stats on all NIs
    dbg-040dbg-080UT-0335
    • configure multiple NIs
    • run traffic
    • dump stats on all NIs
    • Filter on specific NID
    dbg-045dbg-080UT-0340
    • dump LNet level statistics
    dbg-050dbg-080, dbg-100UT-0345
    • configure multiple peers
    • start traffic
    • dump per peer statistics
    dbg-110 UT-0350
    • configure multiple NIs
    • toggle their state from ACTIVE to DOWN
    • confirm that state change is being printed to console.
    dbg-115 UT-0355
    • configure an MR system
    • start traffic
    • bring down an NI
    • confirm that messages indicating that another NI/peer is being used is printed.
    dbg-120 UT-0360
    • Configure an MR system
    • run traffic
    • stop traffic
    • dump NI statistics
    • dump peer statistics
    • dump LNet level statistics
    • zero out stats
    • dump all statistics above to confirm they've been zeroed out.

    ...