[[PageOutline]] Navigation: [wiki:GENIExperimenter/Tutorials/GENIDesktop/GEC23#ExercisesTasks Back] = GENIDesktop Command Line Interface Tool = The GENIDesktop Command line Interface Tool is a simple client side tool written in python that interacts with the GENIDesktop server to provide a user with a subset of operations that can currently be done via the GUI interface. It provides a user with the flexibility to automate GENIDesktop related operations by combining multiple operation into a '''bash/.bat''' scripts and customize them as per their use case. Some of the operations currently supported by the GENIDesktop CLI Tool are : * Check status of the slice/slivers * Download files from nodes in the Slice * Download passive monitoring data collected from nodes in a CSV, PNG and RRD formats. * Download a list of slice, list of nodes/link from a slice or the whole slice topology itself in a JSON format. * Run commands on the node(s) in the slice. (Similar to the Run module in the GUI) * Upload file(s) to the node(s) in the slice. (Similar to the File upload module in the GUI) * CLI version of the Experiment validation tool provided in the GUI. So to get started please follow the steps below. 1. [wiki:GENIExperimenter/Tutorials/GENIDesktop/GEC23/GENIDesktop_CLI#STEP1.DownloadandInstallandTestGENIDesktopCLITool Download and Install and Test GENIDesktop CLI Tool.] 1. [wiki:GENIExperimenter/Tutorials/GENIDesktop/GEC23/GENIDesktop_CLI#STEP2.GenerateandDownloadGDCLIkey. Generate and Download GDCLI key.] 1. [wiki:GENIExperimenter/Tutorials/GENIDesktop/GEC23/GENIDesktop_CLI##STEP3.EnabletheGDCLIusingtheGDCLIkey. Enable the GDCLI using the GDCLI key.] 1. [wiki:GENIExperimenter/Tutorials/GENIDesktop/GEC23/GENIDesktop_CLI#STEP4.UsingGENIDesktopCLI Using GENIDesktop CLI.] == STEP 1. Download and Install and Test GENIDesktop CLI Tool == == STEP 2. Generate and Download GDCLI key. == == STEP 3. Enable the GDCLI using the GDCLI key. == == STEP 4. Using GENIDesktop CLI == === Sample GENIDesktop CLI operations NOTE: Slicename = demo , ProjectName = UKGENI 1. ListNodes operation {{{ gdcli listnodes -s demo -r UKGENI ["node-0", "node-1", "GDGN0"] }}} 2. Run Command operation {{{ #Start Iperf Server in daemon on node-0 bash:~$ gdcli run -s demo -r UKGENI -n "node-0" -c "iperf -s -D> /dev/null 2>&1" }}} {{{ #Start iperf client on node-1 bash:~$ gdcli run -s demo -r UKGENI -n "node-1" -c "iperf -t 30 -c node-0 -b 10000M" ------------------------------------------------------------ Client connecting to node-0, UDP port 5001 Sending 1470 byte datagrams UDP buffer size: 208 KByte (default) ------------------------------------------------------------ [ 3] local 10.10.1.2 port 53242 connected with 10.10.1.1 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-30.0 sec 2.68 GBytes 768 Mbits/sec [ 3] Sent 1959326 datagrams }}} 3. Download graph in PNG Format {{{ # Fetch graphs for the link in the slice. bash:~$ gdcli getpng -s demo -r UKGENI -g linkbytes -l link-0 -n node-0 -o ~/mygraphs }}}