1. 14 Oct, 2016 1 commit
    • Leigh Stoller's avatar
      Attempt to address the problem described in issue #166; that nodes fail · 5d7164b3
      Leigh Stoller authored
      to go from PXEBOOTING (pxewakeup) to actually booting, but we do not
      know that for a really long time cause we send a BOOTING event from
      bootinfo right after PXEBOOTING, since that was the only place to hook
      it in. Well Mike discovered the "on commit" support in dhcpd, and so
      that is what we are going to use now. Note that uboot nodes have been
      using on commit, now all nodes will when BOOTINFO_EVENTS=0.
      
      Mike's reportboot program is now a daemon, renamed to report_daemon.
      The original reportboot program is a little script that writes the
      arguments from dhcpd to a unix socket to be picked up by the daemon,
      which does the original work of mapping the IP/Mac to a node id and
      sending an event. The code has also been modified to run on a subboss
      using the same node mapping given to to dhcpd, reconstituted as DBM
      file by subboss_dhcpd_makeconf.
      
      The reason for using a daemon this way is so that we do not hang up
      dhcpd in case we cannot get to the event system. The unix domain
      socket will give us some amount of buffering, but I suspect that any
      event problem will eat that space up quickly, and I will be back to
      revisit this (probably want reportboot to not block on its write
      to the socket).
      
      pxeboot changed to not send PXEBOOTING or BOOTING when
      BOOTINFO_EVENTS=0.
      5d7164b3
  2. 10 May, 2016 1 commit
  3. 08 May, 2016 2 commits
    • Mike Hibler's avatar
      Get rid of the stargate section. · 08ff7d88
      Mike Hibler authored
      08ff7d88
    • Mike Hibler's avatar
      Extend and formalize the Moonshot hack where dhcpd sends *BOOTING events. · 2dd6d84a
      Mike Hibler authored
      Since the Moonshot cluster will soon have x86 nodes and those nodes do
      call bootinfo (unlike the ARM nodes), make sure that bootinfo does not
      send PXEBOOTING/BOOTING events (since dhcpd already has) by starting it
      with the new -E option.
      
      Formalize by adding a BOOTINFO_EVENTS defs var that defaults to 1.
      This ensures that a nobootinfo version of the dhcpd.conf template is
      installed and that bootinfo is invoked with the -E option.
      Only defs-cloudlab-utah should set it to zero.
      2dd6d84a
  4. 07 Dec, 2014 1 commit
  5. 03 Dec, 2014 1 commit
    • Mike Hibler's avatar
      Report both PXEBOOTING/BOOTING events on PXE-originated DHCP request. · 25f775fe
      Mike Hibler authored
      A concession to performance. Previously, PXEBOOTING was reported on
      the PXE DHCP request and BOOTING on the following OS-originated request.
      This is conceptually ideal, as that is what those states were intended
      to mean, but it causes two synchronous "reportboot" command executions
      from dhcpd for every node boot. Worse, the time gap between the second,
      OS-originated DHCP call and the first explicit state reported by the
      node itself (e.g., TBSETUP or RELOADSETUP) is generally small enough
      that the node reported state often arrived at stated before the BOOTING
      state from dhcpd. This can cause excess node reboots or other undesirable
      behaviors from stated.
      
      So now we only invoke "reportboot" on the first PXE-originated call and
      tell reportboot to send both PXEBOOTING and BOOTING events at that time.
      This does not eliminate the race condition above, but makes it unlikely
      as there is the whole kernel boot process (10s of seconds) between the
      dhcpd state reports and the first node state report.
      25f775fe
  6. 25 Nov, 2014 1 commit
  7. 23 Nov, 2014 1 commit
  8. 06 Jun, 2014 1 commit
  9. 21 May, 2014 2 commits
  10. 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
  11. 15 Jun, 2010 1 commit
  12. 15 Apr, 2010 2 commits
    • Ryan Jackson's avatar
      Build support for subboss stuff · ed96b2b9
      Ryan Jackson authored
      ed96b2b9
    • Ryan Jackson's avatar
      Various subboss-related bits · 3d95a752
      Ryan Jackson authored
      - Add support for new tmcd dhcpdconf command to watchdog
      - Fix dhcpd.conf template so that ddns-update-style is set to none
      - Pull some utility functions from boss's libtestbed.pm into the client
        libtestbed.pm for use by subboss_dhcpd_makeconf and daemon_wrapper.
      - Add stuff to simplify getting control interface IP address.
      3d95a752
  13. 24 Feb, 2010 1 commit
    • Ryan Jackson's avatar
      Add node attribute for specifying bootinfo server · ed105035
      Ryan Jackson authored
      Add the bootinfo_server attribute for specifying the bootinfo server the
      node should use during the boot process.  If not specified the node will
      default to trying the tftp server and dhcp server, in that order.
      
      PXE vendor option 128 is used to communicate this to the NBP. Options
      128-254 are available for NBP-specific use according to the PXE spec, so
      we're safe using it.
      ed105035
  14. 16 Jul, 2007 1 commit
  15. 26 Oct, 2004 2 commits
  16. 30 Sep, 2004 1 commit
  17. 01 Apr, 2004 1 commit
  18. 13 Jan, 2004 1 commit
  19. 12 Jan, 2004 1 commit
  20. 09 Jan, 2004 1 commit
  21. 01 Apr, 2003 1 commit
  22. 27 Mar, 2003 1 commit
  23. 23 Jan, 2002 1 commit
  24. 15 Jan, 2002 1 commit