1. 08 Aug, 2016 1 commit
  2. 04 Aug, 2016 1 commit
  3. 08 Dec, 2015 1 commit
  4. 06 Dec, 2014 1 commit
  5. 25 Nov, 2014 1 commit
  6. 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 ..."
    • 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.
  7. 15 Aug, 2013 1 commit
  8. 24 Jun, 2013 1 commit
  9. 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
      Most Utah-copyrighted files related to ProtoGENI are distributed under
      the terms of the GENI Public License, which is a BSD-like open-source
      Some Utah-copyrighted files in the Emulab source tree are distributed
      under the terms of the GNU Lesser General Public License, version 2.1
  10. 11 Jun, 2009 1 commit
  11. 16 Apr, 2008 1 commit
    • Leigh B. Stoller's avatar
      A set of changes to implement dynamic root passwords on local nodes · bac0172e
      Leigh B. 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
      This prevents hundreds of nodes with the same password, and all of the
      problems associated with that.
  12. 05 Dec, 2007 1 commit
  13. 06 Aug, 2007 1 commit
  14. 06 Mar, 2007 1 commit
  15. 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.
  16. 12 May, 2005 1 commit
    • Leigh B. Stoller's avatar
      Hmm, a questionable change that I needed cause of ElabInElab and swapmod. · b031d1a7
      Leigh B. 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).
  17. 15 Apr, 2005 1 commit
  18. 12 Jan, 2005 1 commit
  19. 19 Jun, 2004 1 commit
    • Leigh B. Stoller's avatar
      A number of changes: · 931930ae
      Leigh B. 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 ...
  20. 10 Feb, 2004 1 commit
  21. 07 Oct, 2003 1 commit
    • Leigh B. Stoller's avatar
      Add -p option, which says to allow partial allocation (reserve what · 8a5fcebe
      Leigh B. 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.
  22. 10 Jul, 2003 1 commit
  23. 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.
  24. 14 Apr, 2003 1 commit
  25. 13 Jan, 2003 1 commit
  26. 04 Jul, 2002 1 commit
  27. 10 Jan, 2002 1 commit
    • Leigh B. Stoller's avatar
      A set of capture/capserver/DB changes. · 8ec05f0d
      Leigh B. 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
      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!
  28. 03 Jan, 2002 1 commit
  29. 16 Oct, 2001 1 commit
  30. 09 Oct, 2001 1 commit
  31. 05 Oct, 2001 1 commit
  32. 02 Oct, 2001 1 commit
  33. 24 Aug, 2001 2 commits
  34. 10 Jul, 2001 1 commit
    • Mac Newbold's avatar
      Added sched_reserve. Works kind of like sched_reload, but for a reservation. · e1f4263c
      Mac Newbold authored
      Rob and I noticed that when we need to do maintainance to a node, its hard
      to grab it when it gets freed before it gets taken again. So this will allow
      admins to set up nodes so that when the current owner frees them, they
      immediately are moved into another experiment. For instance, if I need to do
      an upgrade on all the machines in the testbed, I can do:
      sched_reserve testbed down pc1 pc2 pc3 [...] pc40
      and it will immediately reserve any free nodes, skip any that are already
      in testbed/down, and add an entry to the next_reserve table for any nodes
      that are already reserved. Then nfree checks for entries in the next_reserve
      table before it lets any nodes go (much like it does for the reloads table),
      and moves them into the expt before it can get reserved again. So we can
      guarantee that the next time a node is freed, it will be saved for us.
      Note that this can also be useful to accumulate nodes for a large experiment,
      since you can make sure you get them as soon as the current owner is done.
  35. 29 Jun, 2001 1 commit
  36. 10 Apr, 2001 1 commit
  37. 29 Mar, 2001 1 commit
    • Leigh B. Stoller's avatar
      A set of change for exporting project and user directories only to · 407cd1ac
      Leigh B. Stoller authored
      machines in the experiment. exports_setup runs on paper and queries
      the DB, generating a set of export lines. That is sent over to
      plastic, and piped into exports_setup.proxy, which generates a new
      /etc/exports file and restarts mountd. All of the client setup scripts
      have been changed to mount the project and user directories.
  38. 27 Mar, 2001 1 commit