Emulab FAQ: Using the Testbed: So you want to teach a class using Emulab?
Sure, Emulab has been used to teach many classes! (partial list) From our perspective, there is no significant operational difference between a project that is doing research and a project that has been started to teach a class. However, there are a few things that you, the professor have to keep in mind.
- Please start a new project for each new class number; the name of the project should be the same as the name of the class.
- If you have TAs, then you should grant them group_root privileges so that they can handle day to day stuff like approving new project members, creating subgroups, etc.
- Note that by default, all people in a project are in the same group and can see other people's work in /proj and can access other people's experiments. You should read the tutorial on sub groups, if it is necessary to partition class members into independent groups where members of one group should not be able to access the work of another group.
- Students should be instructed to read the FAQ and the tutorial so they understand what Emulab can do and how to use Emulab. The biggest stumbling block for students is recognizing that Emulab grants access to real hardware, all the way down to the bits on the disk.
- Most important, you and your TAs are the first resource for answering questions from students. Students should not contact us until they have first contacted you or your TAs. There are a variety of collaboration tools available to assist in "self help", in particular per-project and per-group mailing lists can be extremely valuable. If you are unable to answer a question about Emulab, then by all means please contact us.
- Bug reports and questions should include the project name, the experiment name, any node IDs on which a problem is present. Please, no questions of the form "my software does not work on Emulab; whats wrong?" We do not have the resources to debug your software problems.
- Emulab is a finite resource, consider this when making assignments. While 300+ machines may seem like a lot, they don't go very far if you have 10 groups in the class, each trying to do a project requiring 30 nodes, the night before the assignment is due.