README 3.36 KB
Newer Older
1 2 3 4 5 6 7 8 9
This directory contains the Emulab XMLRPC client code. Lots more
information can be found at http://www.emulab.net/xmlrpcapi.php3

* sshxmlrpc_client.py: A trivial demonstration program that allows you
  to talk to the RPC server on boss.emulab.net, provided you have an
  account on Emulab. It is intended to show how to talk to the server,
  or perhaps even use it in production from the command line if you do
  not want to write your own client.

10 11 12 13
* sslxmlrpc_client.py: An pure SSL based version of the above mentioned
  demonstration program. You can request an SSL certificate from the
  My Emulab portion of the Emulab website.

14
* sshxmlrpc.py: A library written at the University of Utah that you
15 16
  need to include in your SSH based Python client program. Be sure to
  move this file to your python library directory.
17 18

* emulabclient.py: Another small library that you need to put in your
19 20 21
  python library directory. This library is loaded by both the SSH and
  SSL versions of the demonstration client programs, and defines a few
  small classes and constants. 
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74

* script_wrapper.py: A slightly more advanced client that implements a
  "shell" script style interface to emulab. To get a list of "shell"
  commands:

    {1} stoller$ script_wrapper.py 
    Usage: wrapper [wrapper options] command [command args and opts]
    
    Commands:
        readycount   Get readycounts for nodes in experiment (deprecated).
        startexp     Start an Emulab experiment.
        savelogs     Save console tip logs to experiment directory.
        endexp       Terminate an experiment.
        eventsys_control Start/Stop/Restart the event system.
        batchexp     Synonym for startexp.
        node_list    Print physical mapping of nodes in an experiment.
        expinfo      Get information about an experiment.
        node_admin   Boot selected nodes into FreeBSD MFS.
        create_image Create a disk image from a node.
        delay_config Change the link shaping characteristics for a link or lan.
        modexp       Modify experiment.
        nscheck      Check and NS file for parser errors.
        swapexp      Swap experiment in or out.
        os_load      Reload disks on selected nodes or all nodes.
        portstats    Get portstats from the switches.
        link_config  Change interface parameters for a wireless link.
        node_reboot  Reboot selected nodes or all nodes in an experiment.
    (Specify the --help option to specific commands for more help)
    
    Wrapper Options:
        --help      Display this help message
        --server    Set the server hostname
        --login     Set the login id (defaults to $USER)
        --debug     Turn on semi-useful debugging
    
    Example:
      script_wrapper --server=boss.emulab.net node_admin -n testbed one-node


  You can also pass --help to individual commands to see how to use it:

    {12} stoller$ script_wrapper.py swapexp --help
    swapexp -e pid,eid in|out
    swapexp pid eid in|out
    where:
         -w   - Wait for experiment to finish swapping
         -e   - Project and Experiment ID
         in   - Swap experiment in  (must currently be swapped out)
        out   - Swap experiment out (must currently be swapped in)
    
    By default, swapexp runs in the background, sending you email 
    when the transition has completed. Use the -w option to wait
    in the foreground, returning exit status. Email is still sent.