1. 02 Apr, 2002 1 commit
  2. 01 Apr, 2002 1 commit
    • Leigh B. Stoller's avatar
      First cut at supporting RON (or more generally, remote nodes). · bd587829
      Leigh B. Stoller authored
      * tmcd/ron: A new directory of client code, based on the freebsd
        client code, but scaled back to the bare minimum. Does only account
        and group file maintenance. I redid the account stuff so that only
        emulab accounts are operated on. Does not require a stub file, but
        instead keeps a couple of local dbm files recording what groups and
        accounts were added by Emulab. There is a ton of paranoia checking
        to make sure that local accounts are not touched.
      
        The update script that runs on the client node detaches so that the
        ssh from boss returns immediately. update can also be run from the
        node periodically and at boottime. The script is installed setuid
        root, but checks to make sure that *only* root or "emulabman" has
        invoked it.
      
      * utils/sshremote: New file. For remote nodes, instead of using sshtb,
        use sshremote, which ssh's in as "emulabman", which needs to be a
        local non-root user, but with an authorized_keys file containing
        boss' public key.
      
      * web interface changes: Allow user to specify his own public key in
        addition to the emulab key.
      
        Add option in showexp page to update accounts on nodes in the
        experiment. I was originally intending to do this from approveuser,
        but this was easier and faster. I will add an option to do it on the
        approveuser page later.
      
      * libdb.pm: Add a TBIsNodeRemote() query to see if a node is in the
        local testbed or a pcRemote node. Currently, this test is hardwired
        to a check for class=pcRemote, but this will need to change to a
        node_types property at some point.
      
      * node_update: Reorg so that there is a maximum number of children
        created. Previously, a child was forked for each node, but that
        could chew up too many processes, especially for remote nodes which
        might hang up. For the same reason, we need to "lock" the experiment
        so that it cannot be terminated while a node_update is in progress.
        Might be to relax that, but this was easy for now. Also add
        distinction between local and remote, since for remote we use
        sshremote insted of sshtb. Various cleanup stuff
      
      * mkacct; When generating a new account, include user supplied pub key
        in the authorized keys file, in addition to the eumlab generated
        key. Both keys are stored in the DB in the users table. Anytime we
        update an account, get a fresh copy of the emulab pub key, in case
        user changes it.
      bd587829
  3. 14 Jan, 2002 1 commit
  4. 24 Oct, 2001 1 commit
    • Leigh B. Stoller's avatar
      Add swappable and priority bits to experiment creation form. Not used, · 28c1968f
      Leigh B. Stoller authored
      but simply entered into the DB record for the experiment until we know
      what to do with them. Add to batchexp script arguments, since all that
      stuff is done outside the web interface. Add a swapexp perl script to
      swap an an experiment in/out form the command line. Add web links on
      the Experiment Information page to do this from the web interface. A
      bunch of locking changes. Previously expt_terminating in the
      experiment record prevented multiple calls to terminate an experiment,
      but now we have a more general locking problem with
      start,swapin,swapout, and terminate, so change expt_terminating to
      expt_locked (still a datetime field) and add locking to all of
      startexp, swapexp, and endexp. Note that batch experiments cannot be
      swapped yet because of locking issues still to be resolved. Minor
      cleanup in tbreport to make email message look better.
      28c1968f
  5. 17 Oct, 2001 1 commit
    • Leigh B. Stoller's avatar
      Rework of the batch experiment code. Unified it with the immediate · 4d420b21
      Leigh B. Stoller authored
      experiment code. No longer uses another table. Rather, the experiment
      record contains a couple of extra fields for the batch system. Also
      combined some of the backend code (no longer a killbatch script).
      Also added scriptable experiments; the batchexp program in the bin
      directory can start an experiment from the command line, and in fact
      is used from the web page for both batch experiments and immediate
      experiments (-i option). All of the DB code that was in the web
      interfaces was moved to batchexp.
      4d420b21
  6. 16 Oct, 2001 1 commit
  7. 20 Jun, 2001 1 commit
  8. 04 May, 2001 1 commit
  9. 18 Apr, 2001 1 commit
  10. 23 Mar, 2001 1 commit
  11. 19 Mar, 2001 1 commit
  12. 12 Mar, 2001 1 commit
  13. 09 Mar, 2001 1 commit
  14. 07 Mar, 2001 1 commit
    • Leigh B. Stoller's avatar
      Rework of experiment termination. The wrapper script that is invoked · 9f692188
      Leigh B. Stoller authored
      by the web server forks a child to do the actual work of calling tbend
      and other stuff. The parent returns right away and the script ends.
      When the experiment termination (child) ends, an email message is sent
      to the user that issued the termination request. To prevent multiple
      clicks, I added a DB field called expt_terminating that is a DATETIME
      field.  If the field is set, the script fails and the user is told to
      be more patient. I used a DATETIME field mostly for debugging purposes
      so we can track and future problems.
      9f692188
  15. 20 Dec, 2000 1 commit
  16. 08 Dec, 2000 1 commit
  17. 07 Dec, 2000 1 commit
  18. 01 Dec, 2000 1 commit
  19. 15 Nov, 2000 2 commits
  20. 07 Nov, 2000 2 commits
  21. 06 Nov, 2000 1 commit
  22. 02 Nov, 2000 2 commits
  23. 01 Nov, 2000 4 commits
  24. 31 Oct, 2000 2 commits
  25. 30 Oct, 2000 1 commit