...
- All the other test suites/scripts for lustre are placed under lustre/tests/ directory. Place LUTF as well under lustre/tests.
- Mention LUTF as a subdirectory to be build in lustre/tests/Makefile.am
- 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).
- Run "make distclean" to clean up any residual build artifacts
- cd to lustre tree parent directory and run "sh autogen.sh"
- Run "./configure"
- 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.
Master Maste7r mode:
Spawns a listener thread (lutf_listener_main) to listen to Agent connections (lutf.c).
- 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).
- Provides a library which is SWIG wrapped and callable from python scripts (liblutf_agentStart up a python interpreter (lutf_python.c).
Agent mode:
- 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).
- 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
...
- 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).
- 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).
- The copied scripts are then executed by calling run_script() on the Script instance created. (lutf_agent_ctrl.py).
- 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.
...