- 03 Jan, 2002 15 commits
-
-
Robert Ricci authored
INSTALL_APACHE_CONF in some places and INSTALL_APACHE_CONFIG in others. Oops.
-
Robert Ricci authored
unchanged to avoid setting up a new testbed-ops list, but this can be changed if it becomes a problem.
-
Robert Ricci authored
needed to build an emulab boss node in one convenient package. The config file gets run through autoconf to get the DocumentRoot, log, and other directories. There is an install target for it, but this is as yet unused by anything else. There is also a new configure option specifiying where the config file should go.
-
Robert Ricci authored
standardize on using /usr/bin/perl instead of /usr/local/bin/perl (most already did.)
-
Robert Ricci authored
-
Christopher Alfeld authored
-
Christopher Alfeld authored
-
Christopher Alfeld authored
-
Christopher Alfeld authored
-
Christopher Alfeld authored
-
Christopher Alfeld authored
messages on tb_compare fails.
-
Christopher Alfeld authored
-
Christopher Alfeld authored
-
Christopher Alfeld authored
-
Robert Ricci authored
from the network, and notes about the ickiness of getting the SNMP MIB index rebuilt.
-
- 02 Jan, 2002 1 commit
-
-
Christopher Alfeld authored
This check-in consists of 7 modifications to assign. 1. Equivalence Classes Defined an equivalence relation on the physical nodes and applied it to the physical topology to get the resulting quotient topology (abuse of terminology). So instead of searching among all possible physical nodes to make a map, assign only searches among all possible equivalence classes of nodes. This tremendously reduces the search space. At the time of this writing it reduces the physical topology from 252 nodes to 13 nodes. The equivalence classes are generated automatically from the ptop file. 2. Scoring based on equivalence classes. Each equivalence class used comes with a significant cost. This strongly encourages assign to use equivalence machines when possible. The result is that an experiment that does not otherwise specify will almost definitely get machines of the same type. If this needs to be reduced in the future it is the SCORE_PCLASS constant. 3. Heuristics Added a bunch of heuristics for choosing which equivalence class to use. This was less successful than I hoped. A good solution is now found in record time but it still continues searching. When OPTIMAL is turned on these heuristics help a lot. When off they make little difference. I may turn this into a compile time option in the future since the heuristics do take non-trivial CPU cycles. 4. Fixed the very-very-big-and-evil disconnected-switches bug. Assign wasn't cleaning up after itself in certain cases. Disconnected graphs are now merely a minor, easily ignored, bump rather than the towering cliffs they use to be. 5. Fixed the not-yet-noticed not-enough-nodes bug. Found a bug that probably has never come up before because we have checks that avoid those circumstances. 6. Modified constants. I was tired of waiting so long for results so, I lowered CYCLES and reduced the constant for naccepts (Mac, you probably want to add that inconspicuous number to your configurable constants; look for "naccepts ="). The results is roughly a speedup of 2. It works great currently but we may want to change these numbers up again if we get problems with features and desires. 7. General clean up. Associated with the other changes was a lot of restructuring and some cleanup. Specifically to the assign loop and scoring code.
-
- 28 Dec, 2001 6 commits
-
-
Robert Ricci authored
it's mostly just a wrapper around snmpit_intel - this is because, when doing MAC-based VLANs, you never have to talk to more than one switch. When we switch to doing port-based VLANs with Intels (something we should do soon, but will take some experimenting), it will likely become a more full-fledged layer. Not at all debugged yet - won't be able to do that until we have the mini-testbed more funcitonal.
-
Robert Ricci authored
-
Robert Ricci authored
was originally created.
-
Robert Ricci authored
does not yet exist (but should soon.) There is a new database table, switch_stack_types, that goes along with these code changes, to indicate which module should be used for each switch stack.
-
Leigh B. Stoller authored
are created 664, so that group members other than the experiment creator can swap them.
-
Leigh B. Stoller authored
-
- 27 Dec, 2001 1 commit
-
-
Leigh B. Stoller authored
group directories are now created in a different tree than the the project directory so that they can be exported independently of the project tree to the nodes in a group experiment. The tree is routed at /groups on boss/users and on nodes. 1. mkgroup,rmgroup,mkproj - Minor changes to reflect new group directory location (/groups). We leave a symlink in the old spot to maintain compatability, and to reduce the number of different directories that a person needs to worry about. So, when a group is made, you get a real directory /groups/pid/gid, and a symlink /proj/pid/groups/gid that points to the former. 2. tmcd/tmcd.c - Minor change to add the additional group directory mount in the mounts command. Only done when pid!=gid for the experiment. 3. tmcd/libsetup.pm and friends - Minor changes to fix the fact that mkdir does not create subdirs along the way unless the -p option is specified. Needed to create the local directory for the mounts returned by tmcd for group dirs. Pushed them out to the sup trees, although 6.2 images older than the most recent one are not going to work right. No one is using those images though, and we should just flush the sup trees. 4. exports_setup.in - Ah, the crux of the issue. I really dislike NFS at this point. The original idea was to export a third set of directories to nodes that were part of a group experiment. Those nodes would get /groups/pid/gid exported, and /proj/pid read-only. Well, no such luck. On users, /groups and /proj are both really on /q, and the old restriction of mountd not allowing an IP to specified more than once on the right hand side for any FS, reared its ugly head again. As far as mountd is concerned, /q/groups and /q/proj are the same thing, and so it bombed when I tried to export them on different lines, since that meant an IP was repeated twice. So, I reworked exports_setup, and now for any node that is part of a group experiment, it gets this: /q/proj/pid /q/groups/pid/gid -maproot=root 155.101.132.26 which at least allows the individual group dirs to be protected from each other, but does not allow /proj/pid to be exported read only. Sigh.
-
- 26 Dec, 2001 2 commits
-
-
Robert Ricci authored
a good start.
-
Leigh B. Stoller authored
mkprojdir, mkacct-cntrl, mkgroup, and group-update into a set of new scripts that are more specific to their intended operation, and strive to do less work. 1. mkacct - Replaces mkacct-cntrl. This script no longer does any group stuff. All it does is create new accounts, or update the password and gecos fields of existing accounts. Usage is the same as it was: "mkacct <userid>", and is typically invoked from the web interface via the approveuser form. 2. mkgroup - Replaces group-update. This script creates new groups, either for the main project when it is approved, or for subgroup creation. This script does not alter the group membership. Usage is typically from the web interface, but mkgroup can be invoked from the command line: "mkgroup [-b | -a] <pid> <gid>" where -b puts it in the background and sends email later, while -a just captures the log and emails. This "audit" feature is going to find its way into more scripts as soon as I figure out a neat and clean perl mechanism to make it easy. 3. setgroups - Replaces group-update. This script modifies the group membership of either specific users, or all the users in a project. It is typically invoked from the web interface when a project leader edits the subgroup membership or when a user is first approved to a project or subgroup. Command line usage is: setgroups [-b | -a] -p <pid> [user ...] setgroups [-b | -a] [user ...]\n The first form is mostly a means to speed things up. The web interfaces knows exactly what users have need to be changed, but a global project update is nice too. 4. mkproj - Replaces mkprojdir. Actually, mkproj still has all that directory code, but it also handles creating the groups and the account for the project leader. Part of my policy to move as much random code out of the web interface and into the PERL backend where it belongs.
-
- 21 Dec, 2001 3 commits
-
-
Robert Ricci authored
-
Mike Hibler authored
-
Robert Ricci authored
power for a scheduled power outage.
-
- 20 Dec, 2001 12 commits
-
-
Leigh B. Stoller authored
previous tb-set-node-routertype, and replace with a global directive that sets the router for the entire NS file (all nodes). Also change from "gated" to "ospf". New command is: tb-set-ip-routing "none|ospf"
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
and complaining about this week. 1. editgroup: You can now edit the trust levels for existing group members (default group too), and you can specify trust levels when adding users to subgroups. 2. approveusers: When approving users in the approval page, you can specify different levels of trust. Before, I invisibly set all the trust values the same. I also added some ordering to the DB query to group users together. 3. I added a great deal of error checking to the processing pages for both forms. I split things up into a pre/post pass. The prepass goes through all of the form args and checks them for consistency and correctness. Nothing is changed in the DB unless all checks pass for all args. Then I do a second pass and make the changes. Both scripts set the ignore_user_abort() flag to prevent the user from stopping the script and causing a DB inconsistency. 4. Added trust consistency checks as well. Rather than allow the project or group leader to set inconsistent trust levels, I look for those and just plain disallow them. You may not give different trust levels in different subgroups of the *same* project, and you may not give a user a higher trust level in the default group than in the subgroups. Both edit and approve make these checks, and the code is absolutely awful.
-
Leigh B. Stoller authored
submenus. Looks kinda ugly right now, with options links scattered all over and looking different in every page.
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
privacy concerns. There are now links to this page from the approveuser page and the edit groups pages.
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
a dropdown menu. Required some changes to TBProjList command return format, which required changes in newgroup and newimageid.
-
Mike Hibler authored
- describe new tb-set-ip-routing command in extensions section - move bulk of FAQ text to tutorial and replace with simple answer Also, added a "Troubleshooting" section to the FAQ. Only entry currently is that to do if a link doesn't work.
-
Leigh B. Stoller authored
that batch creation is a checkbox on experiment creation page.
-
Leigh B. Stoller authored
-