The Calvin College Emulab Project
Tips and Tidbits
Useful Tips on the Debian router
- In our setup, the Debian router simply needs to perform
ip forwarding. To set this up:
- Add the line "/net/ipv4/ip_forward=1" to
/etc/sysctl.conf
- Run the command sysctl -p
- Our Debian box performs an important function in our
network having to do with multicast, it runs mrouted.
Just use apt-get (apt-get install mrouted) and get it running.
- /etc/init.d/mrouted restart will restart mrouted.
You need to do this if frisbee stops working.
Useful Tips on boss
- /usr/testbed/bin/nfree emulab-ops hwdown pc3 will free pc3.
-
/usr/testbed/sbin/withadminprivs /usr/testbed/sbin/deletenode pc3 will delete pc3.
Sometimes this does not work, and you seem to be chasing your
tail like a kitten. Go into the tbdb database and change the
EID field in the reserved table to hwdown. Then run the
deletenode command as above.
- /usr/testbed/sbin/frisbeelauncher emulab-ops-FBSD410-STD
will restart frisbee on boss. You need to do this when a node
drops into login mode.
How to terminate an experiment that is not cooperating
Sometimes when you are building your emulab, you get an
experiment that cannot be terminated. In this case you need to
go into the tbdb database and remove all references to
it. Here are some of the tables in which an experiment appears
(the field name is always eid). What you actually do
is search the database using mysqldumo and
grepping
the output. Hopefully, you used a distinguishing name for
the experiment. Then you remove rows from the listed tables
with the criterion being equality with eid.
Mysql tips
Assume that you have typed mysql tbdb
- show tables; will show you all the tables in the
database, and there are a lot of them.
- desc table_name; will show you all the fields
in the table table_name.
- select * from table_name; will show you all the data
in the table table_name.
- select * from table_name where
field=value; will display all the data in rows for which
field_name has the value value.
- select field_name from table_name; will show you all
the data from the field field_name in the table table_name.
Separate multiple field names with commas to get a nice
tablular output.
- upate table_name set field1=value1 where
field2=value2; will change the value of field2 for all
rows for which field1 has the value value1.
- upate table_name set field1=value1 where
field2=value2; will change the value of field2 for all
rows for which field1 has the value value1.
- delete from table_name where
field=value; will delete all
rows for which field has the value value.