Integration

Video Transcript

Hello, this is Amir Shehata with another LUTF quick tip.

Today we'll go over how the LUTF integrates in the Lustre test infrastructure.

Testing How To

There are multiple ways to run the lustre test scripts but for the sake of this discussion we'll stick with the documented method, shared in the link below.

http://wiki.lustre.org/Testing_HOWTO

Top Level Shell test scripts

At the top Lustre tests directory there are two files of interest:

  • lutf.sh
  • lutf_start.sh

I'm not going to go into the implementation details, except to mention that the lutf.sh file is intended to be run from the auster script.

While the lutf_start.sh file is meant to be run as a standalone. But if you do run it, you'll need to setup the environment variables auster sets up.

lutf.sh calls lutf_start.sh

The "testing how to" link shared details the testing setup pretty well. You'll need to follow that to setup your test environment.

Running from Auster

When you run the lutf from auster, you need to provide a configuration file which outlines the test nodes.

For the LUTF there are 3 extra environment variables to take a note of: the master port, the telnet port and the shell mode. You can go back to quick tip #3 for more details.

It is not necessary to set these environment variables since they will be defaulted in case they are missing.

LUTF_SHELL Environment Variable

I just want to spend a minute talking about the LUTF_SHELL environment variable. If you recall this can take on 3 values: batch, interactive and daemon. If it's not specified it will default to batch and run whatever scripts are requested.

Interactive is most useful while developing test scripts.

Batch is most useful when running the test scripts automatically; from auster or maloo as an example.

Daemon is used for agents when run through auster.

LUTF YAML Configuration File

The lutf_start.sh uses the environment variables to generate the LUTF YAML configuration file. That's the easiest way to get the configuration file. You can then modify the configuration file as you please.

Running a Batch Test Job

Let's look at the steps to run an LUTF batch test.

First you'll need to setup your test environment as shows in the how to link.

Second you need to create your auster configuration file. Again you can use the one in the how to link and if you wish you can add the 3 LUTF specific environment variables.

Then run auster:

./auster -f lutfcfg -rsv -d /opt/results/ lutf --suite samples --only sample_02

It's as simple as that.

The only caveat is this. In the auster configuration file you'll need to export the variables in order for the LUTF's python scripts to pick them up.

In the final LUTF quick tip, I'll go over how you can manually run batch tests.