| 1 | |
| 2 | Go back --> [wiki:Tutorial Tutorials] |
| 3 | |
| 4 | == How to use execute an application on the nodes == |
| 5 | |
| 6 | This feature is only available in NodeHandler v4 and above. |
| 7 | |
| 8 | Before going through this tutorial, you should know [wiki:Tutorial/HowToImage how to install a disk image]. |
| 9 | |
| 10 | You should also have installed a disk image with Node Agent v4 on the nodes of the testbed you are using (e.g. "baseline-7.11.ndz"). |
| 11 | |
| 12 | === Goal === |
| 13 | |
| 14 | In this tutorial, you will learn a simple way to execute an application on the nodes of a testbed. |
| 15 | |
| 16 | === The tutorial experiment === |
| 17 | |
| 18 | This experiment is given in the attached script [attachment:tut_app_1.rb tut_app_1.rb]. |
| 19 | |
| 20 | This file contains extensive comments that should help you understand the different steps involved in executing a shell command on the nodes of a testbed. It also shows how you could process the command outputs, e.g. redirect them to a text file. |
| 21 | |
| 22 | For more information on the basics of writing and using an experiment script, please refer to the previous tutorials, [wiki:Tutorial/HowtoWriteScripts here] and [wiki:Tutorial/HelloWorld here]. |
| 23 | |
| 24 | To run this example script, use the following command: |
| 25 | |
| 26 | {{{ |
| 27 | nodehandler4 tut_cmd_1 |
| 28 | }}} |
| 29 | |
| 30 | (This assumes that you previously logged in to a testbed, and imaged its nodes with a disk image such as "baseline-7.11.ndz".) |
| 31 | |
| 32 | === The Results === |
| 33 | |
| 34 | The experiment screen output should then look like [attachment:sb1_2007_11_19_18_45_06-Output.txt this]. And the experiment log file should look like [attachment:sb1_2007_11_19_18_45_06.log this]. |
| 35 | |
| 36 | === More... === |
| 37 | |
| 38 | This method of executing a shell command on nodes is well suited for one-off or temporary experiments. If you plan on re-using or sharing the same commands among multiple experiment scripts, then you should consider [wiki:Tutorial/HowtoApplication this other method] which uses application definition. |