1. 28 Oct, 2002 1 commit
  2. 25 Oct, 2002 2 commits
  3. 24 Oct, 2002 3 commits
    • Leigh B. Stoller's avatar
      Add stuff to update the SFS keys on the fileserver after someone uses · cc1c4e54
      Leigh B. Stoller authored
      the web page to add/delete a key! Nodes were getting updated, but
      the SFS server was not cause there was no program to fire the new keys
      over there.
      
      The operation is currently simple. sfskey_update on boss constructs a
      new sfs_users file. Then it runs sfskey_update.proxy on ops (vis ssh
      of course), and gives it the new file via stdin. The proxy creates the
      .pub version from that file, and then moves the two new files into
      place in /etc/sfs. I employ the same locking stuff that Rob did in
      exports_setup and named_setup to prevent multiple updates from
      stacking up. Not likely, but might as well. Also note that the entire
      file is regenerated. When we get 5000 users this might have to change
      a little bit!
      
      Also changed mkacct slightly. Instead of doing a "sfskey register" on
      ops after generating the new key, just add it to the DB. Then fire off
      an sfskey_update to push the new keys over. Also add a -f flag to
      mkacct for use from the web page to indicate that the user has changed
      his SFS keys. Note that mkacct should probably take a series of flags
      since we have it as a wrapper for several things. Or maybe split all
      this stuff up.
      cc1c4e54
    • Leigh B. Stoller's avatar
      Minor changes. · eeb08108
      Leigh B. Stoller authored
      eeb08108
    • Leigh B. Stoller's avatar
      Update with Dave's text. · 1e37b75b
      Leigh B. Stoller authored
      1e37b75b
  4. 22 Oct, 2002 11 commits
    • Robert Ricci's avatar
      Added missing comma. · 9a2fc4e5
      Robert Ricci authored
      9a2fc4e5
    • Leigh B. Stoller's avatar
      Minor debugging change. · f468b224
      Leigh B. Stoller authored
      f468b224
    • Leigh B. Stoller's avatar
      * Add jailflag to arg list for all functions, which we get via · eb3e2cac
      Leigh B. Stoller authored
        iptonodeid. Currently, the only real change for jailflag is in
        doaccounts, which returns a normal accounts list for a jailed virtual
        node (pid,gid like local nodes), a set of tbadmin accounts for a
        physical node doing jails (so we can still log into any node even if
        its doing jails), and continues to do the old thing for widearea nodes
        not doing jails (pcremote_ok slot in projects table). Nasty, I know.
      
      * Add dotarball command which returns a tarball to a widearea node via
        ssl. The filename must be in the tarballs list for the node (vnode),
        and the file must be in the gid of the experiment, or be owned by the
        experiment creator. Last bit of paranoia is that the resolved path
        must live in one of /proj, /groups, or /users. In addition, all of the
        FS commands are wrapped so that an NFS hangup to ops will not wedge
        tmcd completely.
      
      * jailconfig command, which returns the current config for a jailed
        node so that mkjail can give the proper options to the jail command
        (requires Mike's hacks to the kernel and jail). Last 3 are hardwired
        as you can see, but will eventually come from the DB.
      
      		"PORTRANGE=\"%s,%s\"\n"
      		"SYSVIPC=1\n"
      		"INETRAW=1\n"
      		"BPFRO=1\n", row[0], row[1]);
      
      * Do not return any mounts for jail nodes until we figure out the SFS
        thing.
      
      * Change format of vnodelist so that when a node boots it determine if
        the vnodes that need to be started should be jailed or not.
      
      * Add nodeid command so that widearea nodes can find out their emulab
        ID; useful for cvsup.
      
      * Clear some compiler warnings Mac left behind.
      eb3e2cac
    • Mac Newbold's avatar
      Add proper subscription to only stuff I care about and proper exiting when a... · fae391d1
      Mac Newbold authored
      Add proper subscription to only stuff I care about and proper exiting when a signal is received (instead of a 'natural' death like exit or die).
      fae391d1
    • Leigh B. Stoller's avatar
      Add "jailflag" to nodes table. In the parent (phys) node, it means the · 985af3c5
      Leigh B. Stoller authored
      node supports and is doing jails. In the virtual node, it means it is
      a jailed node. It should be obvious that these are set the same for a
      node; it means I do not have to query two nodes to find out what to
      do. When set, the parent gets a different set of accounts and mounts,
      and we hand out accounts to the jailed node.
      985af3c5
    • Leigh B. Stoller's avatar
      Set update_accounts=0 when freeing any kind of node. Will be useful · 03d45851
      Leigh B. Stoller authored
      with jailed vnodes that now do their own accounts.
      03d45851
    • Leigh B. Stoller's avatar
      Change my email addresses. · d15db00b
      Leigh B. Stoller authored
      d15db00b
    • Leigh B. Stoller's avatar
      * As of version 3, the CDROM now downloads the entire register.pl · 29895454
      Leigh B. Stoller authored
        script. The old script is just a wrapper that asks the page for the
        real script, which is run on the node. We return a url and md5 in
        the response, which the node then gets with wget. Right now the md5
        and the url are hardwired in the page, and the script goes in
        /z/testbed/distributions on boss. Needs to be DB loaded instead. The
        node will wait forever until it can get the script. ^C on the
        console will drop the node into a shell if the user knows the root
        password.
      
        Security is flimsy still; we depend on the ssl connection to ensure
        that the script is really coming from emulab. Should probably sign
        the script.
      29895454
    • Leigh B. Stoller's avatar
      Several changes: · 05d1aa0e
      Leigh B. Stoller authored
      * Nodes report their local hostname in the URL. Optional of course.
        Stick that in as the nickname so its easier to see where a wa/ron
        node actually is.
      
      * As of version 3, the CDROM no downloads the entire register.pl
        script. The old script is just a wrapper that asks the page for the
        real script, which is run on the node. We return a url and md5 in
        the response, which the node then gets with wget. Right now the md5
        and the url are hardwired in the page, and the script goes in
        /z/testbed/distributions on boss. Needs to be DB loaded instead.
      
      * Return the slice in which we want to place the extrafs (/users)
        instead of trying to guess one. Since we return an fdisk table and a
        set of slices, we know what the setup is going to be anyway!
      05d1aa0e
    • Mac Newbold's avatar
      Add email aliases for testbed-stated and testbed-testsuite, and update all the... · 10e4d8d7
      Mac Newbold authored
      Add email aliases for testbed-stated and testbed-testsuite, and update all the defs files to use the same (or similar) addr for those lists as for testbed-logs. Make stated use the new alias too.
      10e4d8d7
    • Mac Newbold's avatar
      Add event types from libdb.pm. · 89509c44
      Mac Newbold authored
      89509c44
  5. 21 Oct, 2002 1 commit
  6. 19 Oct, 2002 2 commits
  7. 18 Oct, 2002 4 commits
    • Mac Newbold's avatar
      Updated with the latest stuff. Lots of changes to state_transitions,... · 9b0f4cdd
      Mac Newbold authored
      Updated with the latest stuff. Lots of changes to state_transitions, mode_transitions, state_triggers, and state_timeouts.
      9b0f4cdd
    • Mac Newbold's avatar
      Small fix for perl oddity. Note to self: Do not expect... · 49003a26
      Mac Newbold authored
      Small fix for perl oddity. Note to self: Do not expect $myhash{TB_CONSTANT_SUB} to work since it evals TB_CONSTANT_SUB as a string unless you force it to be an expression (ie with parens).
      49003a26
    • Mac Newbold's avatar
    • Mac Newbold's avatar
      Merge the newstated branch with the main tree. · 5c961517
      Mac Newbold authored
      Changes to watch out for:
      
      - db calls that change boot info in nodes table are now calls to os_select
      
      - whenever you want to change a node's pxe boot info, or def or next boot
      osids or paths, use os_select.
      
      - when you need to wait for a node to reach some point in the boot process
      (like ISUP), check the state in the database using the lib calls
      
      - Proxydhcp now sends a BOOTING state for each node that it talks to.
      
      - OSs that don't send ISUP will have one generated for them by stated
      either when they ping (if they support ping) or immediately after they get
      to BOOTING.
      
      - States now have timeouts. Actions aren't currently carried out, but they
      will be soon. If you notice problems here, let me know... we're still
      tuning it. (Before all timeouts were set to "none" in the db)
      
      One temporary change:
      
      - While I make our new free node manager daemon (freed), all nodes are
      forced into reloading when they're nfreed and the calls to reset the os
      are disabled (that will move into freed).
      5c961517
  8. 17 Oct, 2002 2 commits
  9. 14 Oct, 2002 1 commit
  10. 09 Oct, 2002 5 commits
    • Mac Newbold's avatar
      Add a new script: tbresize · 0dd12dba
      Mac Newbold authored
      (installs into /usr/testbed/bin/tbresize but isn't avail. on ops yet)
      
      Usage: tbresize [-d] -a -e pid,eid -n num -t type [-p prefix]
             tbresize [-d] -r -e pid,eid <node> [<node> ...]
             tbresize -h
      Use -h to show this usage message.
      Use -d to enable extra debugging output.
      Use -a to add nodes to an experiment.
      Use -r to remove nodes from an experiment.
      Use -e pid,eid to specify the experiment to resize.
      Use -n to specify the number of nodes to add.
      Use -t to specify the type of the nodes to be added (pc, pc850, pc600,
      etc).
      Use -p to specify a prefix for vnames (i.e. "node" => node0 .. nodeN).
      With -r, specify a list of one or more nodes to be removed (i.e. pcXX).
      
      Can even resize an expt down to no nodes then back up again. If it has
      one LAN/link in the expt, it adds the new nodes to it. If it has zero or
      more than one, it doesn't connect the new nodes to the topology.
      
      After finding and reserving (or before freeing) it fixes up the right
      places in the db and reruns snmpit, then reruns exports_setup and
      named_setup and reboots all the nodes that are now in the expt so they get
      updated configuration data.
      
      Even visualizes properly after being resized, the only catch is that the
      ns file is the original one, not one generated from the db.
      
      Use it, abuse it, have fun with it, and let me know what breaks.
      0dd12dba
    • Mike Hibler's avatar
      The constructed valid block list was not properly terminated in the · 80c932d8
      Mike Hibler authored
      case where the end of the partition was allocated (instead of free).
      
      Added a little debug output.
      80c932d8
    • Leigh B. Stoller's avatar
      Minor changes for Shashi; add "src" slot to virt_routes table so that · 20b2ff9e
      Leigh B. Stoller authored
      routes can be listed for each interface on a node, and so that the
      route list can be converted into an ipfw chain on the client for nse.
      Add tmcd command to return the entire route list for the experiment.
      20b2ff9e
    • Leigh B. Stoller's avatar
      Minor changes for Shashi; add "src" slot to virt_routes table so that · 4cb10094
      Leigh B. Stoller authored
      routes can be listed for each interface on a node, and so that the
      route list can be converted into an ipfw chain on the client for nse.
      4cb10094
    • Leigh B. Stoller's avatar
      Add "src" slot to virt_routes table to hold src ip (really the · 84a2cd9b
      Leigh B. Stoller authored
      interface on the local node) of the route. Added as a primary key.
      84a2cd9b
  11. 08 Oct, 2002 1 commit
  12. 07 Oct, 2002 4 commits
  13. 06 Oct, 2002 1 commit
  14. 04 Oct, 2002 1 commit
  15. 03 Oct, 2002 1 commit