- 09 Nov, 2010 1 commit
-
-
Mike Hibler authored
-
- 25 Oct, 2010 1 commit
-
-
Leigh B Stoller authored
use EmulabFeatures; if (EmulabFeatures->FeatureEnabled("NewMapper", $user, $group, $experiment)) { # Do something } else { # Do something else. } where $user, $group, and $experiment is the current Emulab user, group, and experiment the script is operating as. Any of them can be undef. Note that features can easily be globally enabled or disabled (bypassing user/group check). See below. There are two scripts to deal with features. The easy one is the script to grant (or revoke) feature usage to a particular user or group or experiment: boss> wap grantfeature -u stoller NewMapper boss> wap grantfeature -p geni NewMapper boss> wap grantfeature -e geni,myexp NewMapper Add -r to revoke the feature. The other script is for managing features. To create a new feature: boss> wap emulabfeature create NewFeature 'A pithy description' which adds the feature to the emulab_features DB table. Use "delete" to remove a feature from the DB. You can globally enable and disable features for all users/groups (the user/group checks are bypassed). Global disable overrides global enable. There are actually two different flags. Lots of rope, I mean flexibility. boss> wap emulabfeature enable NewFeature 1 boss> wap emulabfeature enable NewFeature 0 boss> wap emulabfeature disable NewFeature 1 boss> wap emulabfeature disable NewFeature 0 To display a list of all features and associated settings: boss> wap emulabfeature list To show the details (including the users and groups) of a specific feature: boss> wap emulabfeature show NewFeature Oh, if a test is made in the code for a feature, and that feature is not in the emulab_features table (as might be the case on other Emulab's), the feature is "disabled".
-
- 29 Sep, 2010 1 commit
-
-
Leigh B Stoller authored
Add failureaction to virt_lan_lans so that we can allow lans to fail during setup and still continue to swapin.
-
- 19 Jul, 2010 1 commit
-
-
Leigh B Stoller authored
or more then one experiment, of course.
-
- 16 Jul, 2010 1 commit
-
-
Leigh B Stoller authored
-
- 16 Jun, 2010 2 commits
-
-
Ryan Jackson authored
-
Leigh B Stoller authored
pairs. Used only by the pool daemon, to control concurrency between the pool daemon and mapper.
-
- 03 Jun, 2010 1 commit
-
-
Leigh B Stoller authored
new code. Note that this commit implements only the frontend part. set n1 [$ns node] set n2 [$ns node] set n3 [$ns node] set seg1 [$ns duplex-link $n1 $n2 * 0ms DropTail] set seg2 [$ns duplex-link $n2 $n3 * 0ms DropTail] tb-set-link-layer $seg1 1 tb-set-link-layer $seg2 1 set mypath [$ns make-path "seg1 seg2"] set link0 [$ns duplex-link $n1 $n3 * 0ms DropTail] $link0 implemented_by $mypath
-
- 28 May, 2010 1 commit
-
-
Leigh B Stoller authored
-
- 21 May, 2010 1 commit
-
-
Weibin Sun authored
sql/database-create.sql and database-fill.sql: add OF columns into virt_lans, add their descriptions into table_regex.
-
- 26 Apr, 2010 1 commit
-
-
Leigh B Stoller authored
of desire to 64 chars.
-
- 16 Apr, 2010 1 commit
-
-
Kevin Atkinson authored
devel tree).
-
- 15 Apr, 2010 2 commits
-
-
Leigh B Stoller authored
an event and to actually fire those events during experiment swapout.
-
Ryan Jackson authored
-
- 13 Apr, 2010 1 commit
-
-
Leigh B Stoller authored
(class is switch or role is testswitch). Also add a node_type attribute for all existing switch types: forwarding_protocols=ethernet
-
- 12 Apr, 2010 1 commit
-
-
Ryan Jackson authored
-
- 08 Apr, 2010 3 commits
-
-
Leigh B Stoller authored
at different layers. Defaults to 2 in the DB.
-
Leigh B Stoller authored
cut down on the number of IDs we throw into the rspec advertisement.
-
Leigh B Stoller authored
snmpit on experiment swapin. Good debugging tool.
-
- 29 Mar, 2010 2 commits
-
-
Mike Hibler authored
-
Mike Hibler authored
Add all the NS parsing and DB foo.
-
- 22 Mar, 2010 1 commit
-
-
Leigh B Stoller authored
deleted, they still remain in the user table with a status of "archived", but since all the queries in the system now use uid_idx instead of uid, it is safe to reuse a uid since they are no longer ambiguous. The reason for not deleting users from the users table is so that the stats records can refer to the original record (who was that person named "mike"). This is very handy and worth the additional effort it has taken. There is no way to ressurect a user, but it would not be hard to add.
-
- 08 Feb, 2010 1 commit
-
-
Robert Ricci authored
happy.
-
- 03 Feb, 2010 1 commit
-
-
Robert Ricci authored
sitevariables.
-
- 05 Jan, 2010 1 commit
-
-
David Johnson authored
-
- 14 Dec, 2009 1 commit
-
-
Leigh B. Stoller authored
-
- 07 Dec, 2009 2 commits
-
-
Leigh B. Stoller authored
user is a local user. Instead, all users have to send along their keys in the RedeemTicket() call, and those keys land in the new Emulab table called nonlocal_user_pubkeys, and tmcd will use that table when sending keys over local nodes. This change removes the inconsistency in key handling between slivers created locally and slivers created at a foreign CM.
-
Leigh B. Stoller authored
-
- 01 Dec, 2009 1 commit
-
-
Cody Cutler authored
(including an update to make schemacheck happy), and client-side script modifications. Tested by me on a few different machines. Ok by Mike.
-
- 12 Oct, 2009 1 commit
-
-
David Johnson authored
the tb-set-node-os command with a second optional argument; if that is present, the first arg is the child OS and the second is the parent OS. We add some new features in ptopgen (OS-parentOSname-childOSname) based off a new table that maps which child OSes can run on which parents, and the right desires get added to match. We setup the reloads in os_setup along with the parents. Also needed a new opmode, RELOAD-PCVM, to handle all this. For now, users only have to specify that their images can run on pcvms, a special hack for which type the images can run on. This makes sense in general since there is no point conditionalizing childOS loading on hardware type at the moment, but rather on parentOS. Hopefully this stuff wiill mostly work on shared nodes too, although we'll have to be more aggressive on the client side garbage collecting old frisbee'd images for long-lived shared hosts. I only made these changes in libvtop, so assign_wrapper folks are left in the dark. Currently, the client side supports frisbee. Only in openvz for now, and this probably breaks libvnode_xen.pm. Also in here are some openvz improvements, like ability to sniff out which network is the public control net, and which is the fake virtual control net.
-
- 05 Oct, 2009 3 commits
-
-
Leigh B. Stoller authored
* Add external resource identifiers to the reserved table so we can figure out the external node that is mapped onto the local (proxy) node. * Change limit on fixed_iface to 128 chars to accomodate urns.
-
Robert Ricci authored
make a comment instead of 2.
-
Leigh B. Stoller authored
-
- 29 Sep, 2009 1 commit
-
-
Leigh B. Stoller authored
-
- 11 Sep, 2009 1 commit
-
-
Robert Ricci authored
'tables', 'reset', and 'synctables' commands. Rather than assuming all VLANs live on the One True Experimental Net Stack (unless -S was given), they all now check the database to see which stack they should be operating on. Changed how stack information is currently stored in the database. The LAN attribute formerly known as 'stack' is now called 'class', and has two valid values, 'Experimental' and 'Control'. The idea is to record whether something is an experimental net or control net LAN, not which specific stack it's on. The 'stack' column in the VLANs table now records the actual stack_id on which the VLAN has been created. This is all in support of testbeds that have multiple experimental-net stacks, as Utah currently does.
-
- 07 Aug, 2009 3 commits
-
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
can tell ahead of time of experiment has virtnodes.
-
- 04 Aug, 2009 1 commit
-
-
Kevin Atkinson authored
-
- 11 Jun, 2009 1 commit
-
-
Leigh B. Stoller authored
between experiments and projects using VMs (jail, vservers, openvz, etc). * Add new slot to virt_nodes called "sharing_mode". Only admins can set this, via the NS file, to create an experiment consisting of nodes that are shared. A text string, in case we want to support different kinds of sharing modes. * Add new slot to reserved called "sharing_mode". This is copied from the virt_nodes table as above. Also, virtnodes that are currently allocated to a shared node, get this slot set, so that the rest of the system knows. * Add a toklen to the "erole" slot of the reserved table, called "sharedhost"; erole is returned to the client when it boots, and this is how the client knows it is acting as a shared host. We could probably compute this value in tmcd, but I did not want to change that now. * Add new slot to interfaces called "trunk". This is set when an interface should be set to trunking by "snmpit -t". We previously used the vinterfaces table to determine this, but there are other cases when we want an interface to be trunked. Aside: there is a problem with this approach I realized later; trunked interfaces are essentially shared resources of multiple vlans, which does not play well with the vlan optimizations in swapmod. * Add new slot to vinterfaces called "bandwidth"; this is the amount of bandwidth that link is defined to use (via the NS file). This is used in resource scheduling of link bandwidth. * Add new slot to interface_state called "remaining_bandwidth". For a shared node, we have to reserve both the nodes and the link bandwidth. We use this slot (with locking) from the mapper_wrapper to make sure that the link has not been consumed already by another assignment running at the same time. * Add new tokens "veth-ne", "veth-en", and "vlans" to the osfeatures slot of the os_info table. veth-en (encap) and veth-ne (no-encap) are intended to replace the current "veths" feature. "vlans" is set for OSs that support vlan devices. * Fix the primary key on the linkdelays table; it needed to have the exptidx in the key so that we can allocated linkdelays for different experiments to the same node.
-