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

Compare with Current View Page History

« Previous Version 2 Next »

Purpose

The purpose of this document is to provide the description of the design verification procedure necessary to verify Lustre operation with IPv6 feature. The procedure is not isolated to testing specific Lustre modules but rather Lustre as a complete system. 

Scope

This document covers design verification procedures for an IPv6-only system and a mixed IPv6-IPv4 system with the focus on IPv6 functionality. Testing of IPv4-only system is considered to be regression testing with regard to the IPv6 feature and is not covered by this document. 

Requirements

The requirements for executing this test plan are same as for a regular Lustre system testing with the exception that every node involved in this testing is expected to be able to work with IPv6.

HW Requirements

A pool of server nodes and a pool of client nodes is expected to be available. Exact numbers are TBD

Network Requirements

Each node is expected to have at least two interfaces available for the purpose of LNet configuration. The connection between the nodes should be such that both IPv4 and IPv6 can be supported on every link.

While majority of the testing is projected to use TCP/Ethernet networking, IPv6 with o2ib shall also be tested.

SW Requirements

Exact Lustre SW version to be used is TBD. Linux kernel versions to be used are TBD.

Testing Procedure

Test Case Structure

The test is defined as the combination of the following:

Identifier

Label which uniquely identifies the testcase.

Objective

Description of what the test case is verifying. Ideally refers to a specific requirement from a system design document which is being verified.

Procedure

Describes the test setup and procedure. Level of detail should be sufficient for a test engineer to follow (should not rely on information available to developers only).

Expected Behaviour

Describes how the system is expected to behave when test procedure is executed.

Actual Results

Describes actual results observed when the test case is executed.

Test Cases

IDObjectiveProcedureExpected BehaviourActual ResultsNotes
IPv6_only.Config.SR.Client.1Configure Lustre Client using only IPv6. (SR, same subnet)
  1. Select an IPv6-enabled machine
  2. Install lustre client
  3. Configure the client to use a connected interface which has only IPv6 address configured
  4. Bring up lustre
  5. Execute "lnetctl net show"
  6. Execute "lnetctl ping" of own NID
  1. "lnetctl net show" output should indicate an active NID featuring IPv6 address of the interface configured for use with LNet.
  2. "lnetctl ping" of own NID should be successful


IPv6_only.Config.SR.Client.2Configure second Lustre Client using only IPv6 and test connectivity between the two clients. (SR, same subnet)
  1. Select an IPv6-enabled machine
  2. Install lustre client
  3. Configure the client to use a connected interface which has only IPv6 address configured. 
  4. Execute "ping" to the IPv6 of the other client
  5. Bring up lustre
  6. Execute "lnetctl net show"
  7. Execute "lnetctl ping" of own NID
  8. Execute "lnetctl ping" of the other client's NID
  1. "ping" of the other client's IPv6 address should succeed
  2. "lnetctl net show" output should indicate an active NID featuring IPv6 address of the interface configured for use with LNet.
  3. "lnetctl ping" of own NID should be successful
  4. "lnetctl ping" of the other client's NID should be successful

Assumes that Client.1 and Client.2 are on the same subnet and are able to reach each other over IPv6 network.
IPv6_only.Config.SR.Server.1Configure Lustre Server using only IPv6 (SR, same subnet)
  1. Select an IPv6-enabled machine
  2. Install lustre server (ok to collocate MDS and OSS)
  3. Configure the server to use a connected interface which has only IPv6 address configured.
  4. Execute "ping" to the IPv6 of a client
  5. Bring up lustre
  6. Execute "lnetctl net show"
  7. Execute "lnetctl ping" of own NID
  8. Execute "lnetctl ping" of the client's NID
  1. "ping" of the client's IPv6 address should succeed
  2. "lnetctl net show" output should indicate an active NID featuring IPv6 address of the interface configured for use with LNet.
  3. "lnetctl ping" of own NID should be successful
  4. "lnetctl ping" of the client NID should be successful

Assumes that servers and clients are on the same subnet and are able to reach each other over IPv6 network.
IPv6_only.Basic.LNet.SR.1Test basic connectivity between Lustre Server and Client on LNet level. (SR, same subnet) 

Use the lustre server and clients setup in previous tests and

  1. Load "lnet_selftest" on each node
  2. Configure and run "lnet_selftest" between the nodes
  1. "lnet_selftest" should run without errors. 
  2. Throughput reported by "lnet_selftest" should be adequate (verify against link speed).


IPv6_only.Basic.Lustre.SR.1Test Lustre FS performance with the Client and Server setup to use IPv6. (SR, same subnet)

Use the lustre server and clients setup in previous tests and

  1. Mount lustre FS on the client(s)
  2. Run FIO
  1. Lustre FS mount should succeed
  2. FIO should run without errors. Throughput reported by FIO should be adequate (verify against link speed and "lnet_selftest" results).


IPv6_only.Config.MR.Client.1Configure Lustre Client using only IPv6. (MR, same subnet)
  1. Select an IPv6-enabled machine
  2. Install lustre client
  3. Configure the client to use 2 connected interfaces with only IPv6 address configured on each
  4. Bring up lustre
  5. Execute "lnetctl net show"
  6. Execute "lnetctl ping" of own NIDs
  1. "lnetctl net show" output should indicate 2 active NIDs featuring IPv6 addresses of the interfaces configured for use with LNet.
  2. "lnetctl ping" of own NIDs should be successful


IPv6_only.Config.MR.Client.2Configure second Lustre Client using only IPv6 and test connectivity between the two clients. (MR, same subnet)
  1. Select an IPv6-enabled machine
  2. Install lustre client
  3. Configure the client to use 2 connected interfaces with only IPv6 address configured on each 
  4. Execute "ping" to the IPv6 addresses of the other client
  5. Bring up lustre
  6. Execute "lnetctl net show"
  7. Execute "lnetctl ping" of own NIDs
  8. Execute "lnetctl ping" of the other client's NIDs
  1. "ping" of the other client's IPv6 addresses should succeed
  2. "lnetctl net show" output should indicate 2 active NIDs featuring IPv6 addresses of the interfaces configured for use with LNet.
  3. "lnetctl ping" of own NIDs should be successful
  4. "lnetctl ping" of the other client's NIDs should be successful

Assumes that Client.1 and Client.2 are on the same subnet and are able to reach each other over IPv6 network.
IPv6_only.Config.MR.Server.1Configure Lustre Server using only IPv6 (MR, same subnet)
  1. Select an IPv6-enabled machine
  2. Install lustre server (ok to collocate MDS and OSS)
  3. Configure the LNet on the server to use 2 IPv6-only interfaces.
  4. Execute "ping" to the IPv6 addresses of the client
  5. Bring up lustre
  6. Execute "lnetctl net show"
  7. Execute "lnetctl ping" of own NIDs
  8. Execute "lnetctl ping" of the client's NIDs
  1. "ping" of the client's IPv6 addresses should succeed
  2. "lnetctl net show" output should indicate 2 active NIDs featuring IPv6 address of the interface configured for use with LNet.
  3. "lnetctl ping" of own NIDs should be successful
  4. "lnetctl ping" of the client NIDs should be successful

Assumes that servers and clients are on the same subnet and are able to reach each other over IPv6 network.
IPv6_only.Basic.LNet.MR.1Test basic connectivity between Lustre Server and Client on LNet level. (MR, same subnet)

Use the lustre server and clients setup in previous tests and

  1. Load "lnet_selftest" on each node
  2. Make sure that nodes have "discovered" each other
  3. Configure and run "lnet_selftest" between the nodes, make sure to use the "primary NIDs" of each node
  4. Capture "lnetctl net show -v 4" and "netstat -i" outputs before and after the "lnet_selftest"
  1. "lnet_selftest" should run without errors. 
  2. Throughput reported by "lnet_selftest" should be adequate (verify against link speed).
  3. Compare "lnetctl net show -v 4" outputs captured before and after the "lnet_selftest" run. Verify that  test traffic is distributed evenly across NIDs.
  4. Compare "netstat -i" outputs captured before and after the "lnet_selftest"run. Verify that test traffic is evenly distributed across interfaces used by LNet.


IPv6_only.Basic.Lustre.MR.1Test Lustre FS performance with the Client and Server setup to use IPv6. (MR, same subnet)

Use the lustre server and clients setup in previous tests and

  1. Mount lustre FS on the client(s)
  2. Run FIO
  1. Lustre FS mount should succeed
  2. FIO should run without errors. Throughput reported by FIO should be adequate (verify against link speed and "lnet_selftest" results).



  • No labels