Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. All the other test suites/scripts for lustre are placed under lustre/tests/ directory. Place LUTF as well under lustre/tests.
  2. Mention LUTF as a subdirectory to be build in lustre/tests/Makefile.am
  3. Create a Makefile.am under lustre/tests/lutf/ to generate the required object files and swig files. (This step might further require to modify configure.ac under lustre tree parent directory to add python path and other things).
  4. Run "make distclean" to clean up any residual build artifacts
  5. cd to lustre tree parent directory and run "sh autogen.sh"
  6. Run "./configure"
  7. Run "make"

LUTF/AT Integration

TBD: How the LUTF integrates in the ATFor LUTF-Autotest integration

Infrastructure

Automatic Deployment

...

This allows for the setup of TCP connection (TCP sockets) to connect the Master and Agent nodes (lutf.c).  LUTF can be run on a node in either Master mode or an Agent mode. 

  1. Master Maste7r mode:

    1. Spawns a listener thread (lutf_listener_main) to listen to Agent connections (lutf.c).

    2. Maintains a list of the AgentsStart up a python interpreter (lutf_python, check on the health of Agents, associate and disassociate with Agents (liblutf_agent.c).
    3. Provides a library which is SWIG wrapped and callable from python scripts (liblutf_agentStart up a python interpreter (lutf_python.c).
  2. Agent mode:

    1. Spawns a heart beat thread (lutf_heartbeat_main) to send a heart beat  to master every 2 seconds. The master uses this Heart beat signal to determine the aliveness of the agents (lutf.c).
    2. Start up a python interpreter through Telnet interpreter (lutf_python.c).

Python

Script execution and result collection

how are scripts deployed from the Master to the AGent

How are the scripts executed

...

  1. A telnet connection is established from Master to Agent when we create a Script instance by running lutf_script.Script('local_intf',  'script_path ',  'output_dir')  (lutf_script.py).
  2. The scripts from 'script_path' in lutf_script.Script('local_intf',  'script_path ',  'output_dir') are copied over to Agent using scp (lutf_agent_ctrl.py).
  3. The copied scripts are then executed by calling run_script() on the Script instance created. (lutf_agent_ctrl.py). 
  4. If an 'output_dir' path is specified then the results of the script execution are scp'd to the path given else the results are ignored.

Batch test 

how should we execute a collection of tests. You can discuss how it's currently done, and if it can be imporved.

...