wiki:GENIExperimenter/Tutorials/GENIDesktop/GEC23/GENIDesktop_CLI

Version 20 (modified by Hussamuddin Nasir, 5 years ago) (diff)

--

Navigation: 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. Download and Install and Test GENIDesktop CLI Tool.
  2. Generate and Download GDCLI key.
  3. Enable the GDCLI using the GDCLI key.
  4. Using GENIDesktop CLI.

STEP 1. Download and Install and Test GENIDesktop CLI Tool

To Download the GENIDesktop CLI Tool, please log in to the GENIDesktop if you are not already logged in. Click on the setting wheel like icon on the far top-right of the page to launch the settings menu. Click on '''Accounts''' button.
On the Account page, Under the '''GDCLI Downloads''' section, please click on the appropriate installer for your operating system. We currently have installers for MAC OS, Windows and Ubuntu/Debian (or any other debian based Linux OS). If you are using any other OS and have python 2.7 or greater (python 3.0 not supported), you can go ahead and use the python version of the GDCLI.

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"]
  1. 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

  1. 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