1. 01 Jan, 2018 1 commit
    • Leigh Stoller's avatar
      Changes to reservation system wrt classic interface: · dc90a087
      Leigh Stoller authored
      1. Reservation system now groks experiment lockdown and swappable. When
         swapping in, lockdown and swappable mean the expected end of the
         experiment is never.
      
      2. Reservation library now handles changes to lockdowm, swappable, and
         autoswap (timeout). editexp now hands these changes off to a new
         script called manage_expsettings, which can be called by hand since
         we might need to force a change (I am not changing the classic UI, if
         a change is not allowed by the res system, we have to do it by hand).
      
      3. Minor fixes to reservation library.
      dc90a087
  2. 04 Aug, 2017 1 commit
  3. 08 May, 2017 1 commit
  4. 23 Jan, 2017 1 commit
  5. 20 Jan, 2017 1 commit
  6. 18 Jan, 2017 1 commit
  7. 10 Jan, 2017 1 commit
  8. 06 Jan, 2017 1 commit
  9. 13 Dec, 2016 1 commit
  10. 19 Sep, 2016 1 commit
  11. 15 Sep, 2016 1 commit
  12. 08 Aug, 2016 1 commit
  13. 04 Aug, 2016 1 commit
  14. 08 Dec, 2015 1 commit
  15. 06 Dec, 2014 1 commit
  16. 25 Nov, 2014 1 commit
  17. 04 Aug, 2014 2 commits
    • Kirk Webb's avatar
      Send "BOOTING" event after rebooting externally managed nodes. · bc207167
      Kirk Webb authored
      Also quiet down the EmulabFeatures library where we are using it
      to detect external management.  Too many "checking for feature ..."
      messages.
      bc207167
    • Kirk Webb's avatar
      Add support for disabling dhcp for an experiment/user/group · ca561d42
      Kirk Webb authored
      In support of the collaboration effort with CHPC, I've added a check
      and actions for a new feature, ExternalNodeManagment.  When swapping in,
      the swapper, group, and experiment are checked for the feature.  Since
      there doesn't appear to be a way to ask for an experiment feature in the
      parser, I'm punting for now and just letting the experiment inherit this
      feature from the user and/or project/group.
      
      The effect of this feature is that nodes will be omitted from the
      dhcpd.conf file when allocated to a marked experiment, and put back
      in when freed from that experiment.
      
      We will also use this feature to force nodes to reboot even when they
      are in PXEWAIT during the OS setup phase.  Ultimately the point is for
      something else to take over the boot process and manage the experiment's
      nodes for the duration of the experiment.
      ca561d42
  18. 15 Aug, 2013 1 commit
  19. 24 Jun, 2013 1 commit
  20. 24 Sep, 2012 1 commit
    • Eric Eide's avatar
      Replace license symbols with {{{ }}}-enclosed license blocks. · 6df609a9
      Eric Eide authored
      This commit is intended to makes the license status of Emulab and
      ProtoGENI source files more clear.  It replaces license symbols like
      "EMULAB-COPYRIGHT" and "GENIPUBLIC-COPYRIGHT" with {{{ }}}-delimited
      blocks that contain actual license statements.
      
      This change was driven by the fact that today, most people acquire and
      track Emulab and ProtoGENI sources via git.
      
      Before the Emulab source code was kept in git, the Flux Research Group
      at the University of Utah would roll distributions by making tar
      files.  As part of that process, the Flux Group would replace the
      license symbols in the source files with actual license statements.
      
      When the Flux Group moved to git, people outside of the group started
      to see the source files with the "unexpanded" symbols.  This meant
      that people acquired source files without actual license statements in
      them.  All the relevant files had Utah *copyright* statements in them,
      but without the expanded *license* statements, the licensing status of
      the source files was unclear.
      
      This commit is intended to clear up that confusion.
      
      Most Utah-copyrighted files in the Emulab source tree are distributed
      under the terms of the Affero GNU General Public License, version 3
      (AGPLv3).
      
      Most Utah-copyrighted files related to ProtoGENI are distributed under
      the terms of the GENI Public License, which is a BSD-like open-source
      license.
      
      Some Utah-copyrighted files in the Emulab source tree are distributed
      under the terms of the GNU Lesser General Public License, version 2.1
      (LGPL).
      6df609a9
  21. 11 Jun, 2009 1 commit
  22. 16 Apr, 2008 1 commit
    • Leigh Stoller's avatar
      A set of changes to implement dynamic root passwords on local nodes · bac0172e
      Leigh Stoller authored
      (and vnodes). Each time a node is allocated to an experiment it gets a
      new root password (using the node_attributes table). The watchdog has
      a new section that resets the root password (defaults to hourly).  We
      still using a common password in the image to avoid totally bricking
      ourselves, but once a node boots into an experiment it gets a new root
      password.
      
      This prevents hundreds of nodes with the same password, and all of the
      problems associated with that.
      bac0172e
  23. 05 Dec, 2007 1 commit
  24. 06 Aug, 2007 1 commit
  25. 06 Mar, 2007 1 commit
  26. 26 Jul, 2005 1 commit
    • Kirk Webb's avatar
      · 72fc6f2c
      Kirk Webb authored
      Quick mod to stop an info leak.
      
      bootlogs were persisting after experiment termination, only being replaced
      when a particular node failed during TBSETUP (and hence sent back a boot
      log to be stashed).  This was leaking info such as project and experiment
      names, uids, groups.
      
      For now the bootlog is being cleared as nodes come in to an experiment
      via experiment swapin (inside nalloc).  running sched_reload or
      sched_reserve will also call nalloc if the node is free, hence clearing
      the bootlog as well.
      72fc6f2c
  27. 12 May, 2005 1 commit
    • Leigh Stoller's avatar
      Hmm, a questionable change that I needed cause of ElabInElab and swapmod. · b031d1a7
      Leigh Stoller authored
      When doing a swapmod, nodes already reserved to the experiment are "moved"
      (via update) to a holding reservation. Fine.  After assign runs, the old
      nodes are moved back, but this time by an insert into the table, which
      causes them to lose some fields that I do not want them to lose! This might
      really mean that these fields do not belong in the reserved table, but I do
      not want to ponder this right now. Instead I do another update bringing
      them back into the original experiment.
      
      I left comment indicating that this is under review (and why this commit is
      seperate from the rest of the swapmod changes).
      b031d1a7
  28. 15 Apr, 2005 1 commit
  29. 12 Jan, 2005 1 commit
  30. 19 Jun, 2004 1 commit
    • Leigh Stoller's avatar
      A number of changes: · 931930ae
      Leigh Stoller authored
      * Put in debugging timestamps to figure out why so slow.
      
      * Cleanup, fixing bad identing, bad style, bad comments, etc.
      
      * Restructure so that instead of locking three tables (nodes,
        reserved, and node_activity), we just need to lock the reserved
        table, by moving the node existence check to before the main loop,
        and the node_activity update to after we unlock tables. Not locking
        the nodes table results in less serialization and less waiting for
        the lock to be granted.
      
      * XXX: Check each node for an entry in tiplines table; Do not call
        into console_setup.in if none of the nodes have tiplines. This is
        not a very clean thing to do of course, but it saves up to half the
        time it takes to do an nalloc cause of the min startup time for our
        perl scripts (almost 1/2 a second). When allocating virtnodes on a
        physnode, no reason to even call console_setup.in.
      
      Bottom line? Well, not as good as one would like ... time to allocate
      10 vnodes on a pnode goes from .8 seconds to .4 seconds ...
      931930ae
  31. 10 Feb, 2004 1 commit
  32. 07 Oct, 2003 1 commit
    • Leigh Stoller's avatar
      Add -p option, which says to allow partial allocation (reserve what · 8a5fcebe
      Leigh Stoller authored
      nodes it can).
      
      Change exit value; return -1 on fatal error, otherwise return the
      number of nodes that could not be allocated. Combined with the -p
      switch, assign_wrapper can easily determine that nalloc was able to
      reserve a subset of the nodes.
      
      Also fix up getopts() call, which had its arguments backwards! Good
      thing we hardly pass switches to nalloc.
      8a5fcebe
  33. 10 Jul, 2003 1 commit
  34. 19 May, 2003 1 commit
    • Mac Newbold's avatar
      Fix a slight race condition that has already bitten us several times in · 0610d389
      Mac Newbold authored
      real life.
      
      There's a small window in time (typically a few seconds, but maybe 10's of
      seconds on occasion) between the time nodes get nalloc'd and the time they
      get rebooted during a swapin. If idlemail runs (or someone views a web
      page) during this time, the expt can appear idle because the nodes haven't
      had any activity. It can cause an incorrect email or a false positive on
      the web page.
      
      The fix is to have nalloc register some external node activity, like
      node_reboot does, when it allocates a node.
      0610d389
  35. 14 Apr, 2003 1 commit
  36. 13 Jan, 2003 1 commit
  37. 04 Jul, 2002 1 commit
  38. 10 Jan, 2002 1 commit
    • Leigh Stoller's avatar
      A set of capture/capserver/DB changes. · 8ec05f0d
      Leigh Stoller authored
      Capserver and capture now handshake the owner/group of the tipline.
      Owner is defaults to root, and the group defaults to root when the
      node is not allocated. Capture will do the chmod after the handshake,
      so if boss is down when capture starts, the acl/run file will get 0,0,
      but will get the proper owner/group later after its able to handshake.
      As a result, console_setup.proxy was trimmed down and cleaned up a
      bit, since it no longer has to muck with some of this stuff.
      
      A second change was to support multiple tiplines per node. I have
      modified the tiplines table as such:
      
      	| Field   | Type        | Null | Key | Default | Extra |
      	+---------+-------------+------+-----+---------+-------+
      	| tipname | varchar(32) |      | PRI |         |       |
      	| node_id | varchar(10) |      |     |         |       |
      	| server  | varchar(64) |      |     |         |       |
      
      That is, the name of the tip device (given to capture) is the unique
      key, and there can be multiple tiplines associated with each node.
      console_setup now uses the tiplines table to determine what tiplines
      need to be reset; used to be just the name of the node_id passed into
      console_setup. Conversely, capserver uses the tipname to map back to
      the node_id, so that it can get the owner/group from the reserved
      table.
      
      I also removed the shark hack from nalloc, nfree, and console_reset,
      since there is no longer any need for that; this can be described
      completely now with tiplines table entries. If we ever bring the
      sharks back, we will need to generate new entries. Hah!
      8ec05f0d
  39. 03 Jan, 2002 1 commit