README 3.97 KB
Newer Older
1
This is a snapshot of the current source code for the software that runs
2 3
Netbed (Emulab++) at the University of Utah, as well as testbeds at other
sites:
4 5
   http://www.emulab.net/

6 7 8 9 10 11 12 13 14 15
This is a snapshot of a rapidly-evolving system, rather than an engineered
release. It contains all Netbed source required to build a running testbed, but
interaction with Utah will almost certainly be required to get things up and
running.

Netbed is being actively developed, so there will be features on deployed
Netbeds that are not included in this snapshot. Contact us (contact info at the
bottom of this file) if you are interested in receiving an updated version of
this source.

16
NOTE: See the file RESTRICTED-RIGHTS for restrictions on this interim
17 18
snapshot.  In summary, for now you can't redistribute it or use it for
commercial purposes.
19 20

HOW TO
21 22
Copy and localize the 'defs-example' file for your environment
and run ./configure - see doc/setup.txt for details.
23

24
DOCUMENTATION
25
This is a snapshot, not a formal distribution, so don't expect
26 27 28 29
great documentation.

doc/* contains documentation for developers.
www/*.html and www/doc/*.html contain end-user documentation.
30 31 32 33 34 35 36 37 38

Good places to start would include:
  - The user tutorial (www/tutorial/tutorial.html)
  - The user FAQ (www/faq.html)
  - The user authorization document (www/auth.html)
  - The software architecture diagram (doc/arch.ps) and notes (doc/arch.txt)
  - The overview of some major systems (doc/overview.txt)
  - Diagrams of the state machines used in the system (doc/state*.ps)
  - The instructions for making a running system (doc/setup*.txt)
39 40 41 42 43 44 45

QUICK TOUR
 - The Database maintains most testbed state.
   - LibDB (db/libdb.pm.in) is the main DB interface for testbed software.
   - sql/database-create.sql contains the DB schema.
   
 - The Web Interface (www/*) is the primary means of managing the system.   
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 75 76 77 78 79 80 81 82 83 84 85 86 87
 - startexp (tbsetup/startexp.in) is the backend for experiment creation;
   Important scripts it calls include tbprerun (tbsetup/tbprerun.in) 
   and tbswap (tbsetup/tbswap.in).

 - ns2ir (tbsetup/ns2ir/*) converts NS files to DB state (via TCL). 
 - assign (assign/*) maps experiments to available hardware.
 - snmpit (tbsetup/snmpit.in) configures VLANs on switch hardware.
 - frisbee (os/frisbee.redux/*) uses multicast to rapidly deploy disk images.
 - tmcd (tmcd/*) is contacted by nodes as they boot up, to get configuration.
 - capture and console (capture/*, tip/*) provide serial line access to nodes.

SOURCE TREE ORGANIZATION
account   -  Account creation and management
apache    -  Apache HTTPD configuration
assign    -  Resource allocation software
capture   -  Node serial line server software
cdrom     -  Configuration files for remote nodes
db        -  Variety of interfaces to testbed state 
dhcpd     -  DHCPD configuration
doc       -  Documentation (mainly internal)
event     -  Event System
install   -  Site installation scripts
ipod      -  "Ping of Death" software
ir        -  NS-to-database interpreter (in TCL)
lib       -  C++ database interface library
os        -  Software for saving/distributing images (incl. Frisbee)
patches   -  Patches needed to compile software
pxe       -  Intel PXE support
security  -  Tools for secure boss node access
sensors   -  Node monitoring daemons
sql       -  Database schema and initialization
ssl       -  SSL Certificate configurations
sysadmin  -  Apache Log Roller
tbsetup   -  Experiment creation and manipulation
testsuite -  Automated testing suite
tip       -  Node serial line client software
tmcd      -  Testbed master control daemon (for node configuration)
tools     -  pcapper tool
utils     -  Testbed configuration and maintenence tools
vis       -  Experiment visualization
www       -  Web Interface / User Documentation
88

89
HELP/CONTACT INFORMATION
90 91 92
For help and to report bugs and problems, mail
    testbed-ops@flux.cs.utah.edu

93
Don't be shy!  
94 95 96 97 98
We are happy to get on the phone with you, too,
for "big picture" issues and problems.


Jay Lepreau, lepreau@cs.utah.edu, 801-581-4285
99
April 29, 2003
100