You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Overview

The Unit Test Plan (UTP) will follow the same section breakdown as the Requirements in the Scope & Requirement Document [1].

The following types of tests shall be included where it makes sense.

  1. In-Range UT - these are the test cases which cover normal operations.
  2. Out-of-Range UT - these are the test cases which cover out of range scenarios: 
    1. border cases
    2. race conditions
    3. unexpected events
      1. EX: Tearing down an active Network Interface
  3. Error UT
    1. Error parameters
    2. Error Conditions
      1. network goes down unexpectedly
      2. Wire gets disconnected, etc

Performance Testing cases will be a separate section in this document.

Unit Test Plan

Configuration tests should be done through the DLC direct interface, as well as the YAML interface.


Basic API

This section lists unit test cases that verify basic functionality, i.e. adding, deleting and showing UDSP rules. These tests focus on UDSP API and don't generate any traffic. The tests are structured as follows:

  1. Configuration
  2. Dump UDSP rules and verify result (optional)
  3. Add or Delete UDSP (command line or YAML)
  4. Dump UDSP rules and verify result 
  5. Go to 3 (optional).
  6. Clean up.

Expected Behavior

Basic UT

Primary Requirement ID

Secondary Requirement ID

Unit Test ID

Unit Test Description




  • Setup: configure single network, 3 NIDs on the network 
  • Execute UDSP "Show" command 
  • Verify that the resulting YAML file doesn't contain any policy description



  • Setup: configure single network, 3 NIDs on the network 
  • Add UDSP rule that gives two of the interfaces highest priority
  • Execute UDSP "Show" command
  • Verify that the resulting YAML file contains policy description as expected



  • Setup: configure single network, 3 NIDs on the network 
  • Add UDSP rule that gives two of the interfaces highest priority
  • Execute UDSP "Show" command
  • Verify that the resulting YAML file contains policy description as expected
  • Add UDSP rule that lowers the priority of one of the NIDs with highest priority back to default
  • Execute UDSP "Show" command
  • Verify that the resulting YAML file contains policy description as expected



  • Setup: configure two networks, two NIDs on each network
  • Add UDSP rule that gives one of the networks highest priority
  • Add UDSP rule that gives the highest priority to one of the NIDs on the network with the highest priority
  • Execute UDSP "Show" command
  • Verify that the resulting YAML file contains policy description as expected (for network and NID)
  • Delete UDSP rule that gives the highest priority to one of the NIDs
  • Execute UDSP "Show" command
  • Verify that the resulting YAML file contains policy description as expected (for network)
  • Delete UDSP rule that gives the highest priority to one of the networks
  • Execute UDSP "Show" command
  • Verify that the resulting YAML file doesn't contain any policy description



  • Setup: configure single network, 3 NIDs on the network locally, 3 NIDs on the remote peer
  • Add UDSP rule that gives priority to one of the remote peer's NIDs
  • Execute UDSP "Show" command
  • Verify that the resulting YAML file contains policy description as expected
  • Delete UDSP rule that gives the highest priority to the remote peer's NID
  • Execute UDSP "Show" command
  • Verify that the resulting YAML file doesn't contain any policy description



  • Setup: configure single network, 3 NIDs on the network locally, 3 NIDs on the local peer
  • Add UDSP rule that gives priority to a pair of the local NID and peer's NID
  • Execute UDSP "Show" command
  • Verify that the resulting YAML file contains policy description as expected
  • Delete UDSP rule that gives the highest priority to the NID pair
  • Execute UDSP "Show" command
  • Verify that the resulting YAML file doesn't contain any policy description



  • Configure single local network with two NIDs on the network 
  • Configure two routers/gateways each providing access to a remote network
  • Configure remote peer to have access to the remote network with two NIDs
  • Add UDSP rule that designates a pair of a router and remote peer NID as preferred
  • Execute UDSP "Show" command
  • Verify that the resulting YAML file contains policy description as expected
  • Delete UDSP rule that gives the highest priority to the router/remote NID pair
  • Execute UDSP "Show" command
  • Verify that the resulting YAML file doesn't contain any policy description



  • Configure single local network with two NIDs on the network 
  • Configure two routers/gateways each providing access to a remote network
  • Configure remote peer to have access to the remote network with two NIDs
  • Add UDSP rule that designates a pair of a router and local network as preferred
  • Execute UDSP "Show" command
  • Verify that the resulting YAML file contains policy description as expected
  • Delete UDSP rule that gives the highest priority to the router/local network pair
  • Execute UDSP "Show" command
  • Verify that the resulting YAML file doesn't contain any policy description

Error UT

Primary Requirement ID

Secondary Requirement ID

Unit Test ID

Unit Test Description




  • Setup: configure single network, 3 NIDs on the network 
  • Add UDSP rule that gives two of the interfaces highest priority
  • Execute UDSP "Show" command
  • Verify that the resulting YAML file contains policy description as expected
  • Execute UDSP "Delete" command providing policy index that doesn't exist
  • Verify that the command failed with an error





Single Network Configuration

Expected Behavior

In-Range UT

Primary Requirement ID

Secondary Requirement ID

Unit Test ID

Unit Test Description




  • Setup: configure single network, 3 NIDs on the network 
  • Add UDSP rule that gives one of the interfaces highest priority
  • Start traffic TODO: need to specify direction?
  • Stop traffic
  • Verify that the NID with the highest priority was used



  • Setup: configure single network, 3 NIDs on the network 
  • Add UDSP rule that gives two of the interfaces highest priority
  • Start traffic
  • Stop traffic
  • Verify that two NIDs with the highest priority were used 



  • Setup: configure single network, 3 NIDs on the network 
  • Add UDSP rule that gives two of the interfaces highest priority
  • Start traffic
  • Stop traffic
  • Verify that two NIDs with the highest priority were used
  • Add UDSP that lowers the priority of one of the NIDs with highest priority back to default
  • Start traffic
  • Stop traffic
  • Verify that the remaining highest-priority NID was used



  • Setup: configure single network, 3 NIDs on the network 
  • Add UDSP rule that gives two of the interfaces highest priority
  • Start traffic
  • Stop traffic
  • Verify that two NIDs with the highest priority were used
  • Add UDSP that lowers the priority of both of the NIDs with the highest priority back to default
  • Start traffic
  • Stop traffic
  • Verify that all NIDs were used



  • Setup: configure single network, 3 NIDs on the network, 3 NIDs on the local peer
  • Add UDSP rule that gives the highest priority to one of the local peer NIDs
  • Start traffic
  • Stop traffic
  • Verify that local peer NID with the highest priority was used



  • Setup: configure single network, 3 NIDs on the network, 3 NIDs on the local peer
  • Add UDSP rule that creates 3 NID pairs such that one of the peer NIDs is not in any pair
  • Start traffic
  • Stop traffic
  • Verify that the peer NID that is not part of any pair was not used



  • Setup: configure single network, 3 NIDs on the network 
  • Start traffic
  • Verify that all NIDs were used
  • Add UDSP rule that gives one of the interfaces highest priority
  • Verify that the NID with the highest priority was used
  • Stop traffic



  • Setup: configure single network, 3 NIDs on the network 
  • Add UDSP rule that gives one of the interfaces highest priority
  • On the peer, add UDSP rule that gives one of the peer interfaces highest priority
  • Start traffic
  • Stop traffic
  • Verify that the NIDs with the highest priority were used on both sides, except for responses TODO: can this be verified?

Out-of-Range UT

Primary Requirement ID

Secondary Requirement ID

Unit Test ID

Unit Test Description




  • Setup: configure single network, 3 NIDs on the network 
  • Add UDSP rule that gives highest priority to a NID that doesn't exist
  • Execute UDSP "Show" command
  • Verify that the resulting YAML file contains policy description as expected



  • Setup: configure single network, 3 NIDs on the network 
  • Add UDSP rule that gives one of the interfaces highest priority
  • Start traffic
  • Verify that the NID with the highest priority was used
  • Bring the highest priority NID down
  • Verify that remaining NIDs are used
  • Stop traffic

Multiple Network Configuration

Expected Behavior

In-Range UT

Primary Requirement ID

Secondary Requirement ID

Unit Test ID

Unit Test Description




  • Setup: configure two networks, two NIDs on each network
  • Add UDSP rule that gives one of the networks highest priority
  • Start traffic
  • Stop traffic
  • Verify that NIDs on the network with the highest priority were used



  • Setup: configure two networks, two NIDs on each network
  • Add UDSP rule that gives one of the networks highest priority
  • Start traffic
  • Stop traffic
  • Verify that NIDs on the network with the highest priority were used
  • Add UDSP rule that reverses networks priorities
  • Start traffic
  • Stop traffic
  • Verify that NIDs on the new network that has the highest priority were used



  • Setup: configure two networks, two NIDs on each network
  • Add UDSP rule that gives one of the networks highest priority
  • Add UDSP rule that gives the highest priority to one of the NIDs on the network with the highest priority
  • Start traffic
  • Stop traffic
  • Verify that the NID with highest priority on the network with highest priority was used



  • Setup: configure two networks, two NIDs on each network
  • Add UDSP rule that gives one of the networks highest priority
  • Add UDSP rule that gives the highest priority to one of the NIDs on the network with the lowest priority
  • Start traffic
  • Stop traffic
  • Verify that the NIDs on the network with highest priority were used



  • Setup: configure two networks, two NIDs on each network
  • Add UDSP rule that gives one of the networks highest priority
  • On the peer add UDSP rule that gives the highest priority to the other network
  • Start traffic
  • Stop traffic
  • Verify that both networks were used

Out-of-Range UT

Primary Requirement ID

Secondary Requirement ID

Unit Test ID

Unit Test Description




  • Setup: configure two networks, two NIDs on each network 
  • Add UDSP rule that gives highest priority to a network that doesn't exist
  • Execute UDSP "Show" command
  • Verify that the resulting YAML file contains policy description as expected



  • Setup: configure two networks, two NIDs on each network 
  • Add UDSP rule that gives one of the networks highest priority
  • Start traffic
  • Verify that the network with the highest priority was used
  • Bring the highest priority network down
  • Verify that the remaining network is used
  • Stop traffic

Routed Network Configuration

Expected Behavior

In-Range UT

Primary Requirement ID

Secondary Requirement ID

Unit Test ID

Unit Test Description




  • Configure single local network with two NIDs on the network 
  • Configure two routers/gateways each providing access to a remote network
  • Configure remote peer to have access to the remote network with two NIDs
  • Add UDSP rule that designates a pair of a router and remote peer NIDs as preferred
  • Add UDSP rule that gives the same remote peer NID highest priority
  • Start traffic
  • Stop traffic
  • Verify that the preferred remote peer NID and router NID were used



  • Configure single local network with two NIDs on the network 
  • Configure two routers/gateways each providing access to a remote network
  • Configure remote peer to have access to the remote network with two NIDs
  • Add UDSP rule that designates a pair of a router and local network as preferred
  • Start traffic
  • Stop traffic
  • Verify that the preferred router was used



  • Configure two local networks (net1, net2) with two NIDs on each network 
  • Configure two routers/gateways per local network
  • Configure remote peer to have access to the remote network with two NIDs
  • Add UDSP rule that designates a pair of a router and local network (net1) as preferred
  • Start traffic
  • Stop traffic
  • Verify that if net1 was used then the paired router was used 

Out-of-Range UT

Primary Requirement ID

Secondary Requirement ID

Unit Test ID

Unit Test Description




  • Configure single local network with two NIDs on the network 
  • Configure two routers/gateways each providing access to a remote network
  • Configure remote peer to have access to the remote network with two NIDs
  • Add UDSP rule that designates a pair of a router that doesn't exist and a local network as preferred
  • Start traffic
  • Stop traffic
  • Verify that both routers were used



  • Configure single local network with two NIDs on the network 
  • Configure two routers/gateways each providing access to a remote network
  • Configure remote peer to have access to the remote network with two NIDs
  • Add UDSP rule that designates a pair of a router and a local network that doesn't exist as preferred
  • Start traffic
  • Stop traffic
  • Verify that both routers were used



  • Configure single local network with two NIDs on the network 
  • Configure two routers/gateways each providing access to a remote network
  • Configure remote peer to have access to the remote network with two NIDs
  • Add UDSP rule that designates a pair of a router that doesn't exist and a remote peer NID as preferred
  • Add UDSP rule that gives the same remote peer NID highest priority
  • Start traffic
  • Stop traffic
  • Verify that the all peer NIDs and both routers were used



  • Configure single local network with two NIDs on the network 
  • Configure two routers/gateways each providing access to a remote network
  • Configure remote peer to have access to the remote network with two NIDs
  • Add UDSP rule that designates a pair of a router and local network as preferred
  • Start traffic
  • Verify that the preferred router was used
  • Bring down the preferred router
  • Verify that the remaining router was used
  • Stop traffic

Functional Requirements


Performance Requirements

Glossary


TermMeaning
LNet
UDSPUser Defined Selection Policy
UTPUnit Test Plan

DLC

Dynamic LNet Config (e.g. let, lnetctl scripts)
NINetwork Interface
RPCRemote Procedure Call
FSFile System
o2ibInfiniband Network
tcpEthernet based Network
NUMANon-Uniform Memory Access
RRRound Robin
CPTCPU Partition
CBChannel Bonding
NIDNetwork Identifier

References

  • No labels