1. 17 Apr, 2012 1 commit
  2. 04 Apr, 2012 1 commit
  3. 14 Mar, 2012 1 commit
    • Mike Hibler's avatar
      Make the secure boot path work with PXEWAIT. · ceeede28
      Mike Hibler authored
      When a node with the secure boot dongle is freed, it goes into PXEWAIT in
      the context of the secure MFS. Previously we remained in "secure mode"
      (i.e., did not terminate with a TPMSIGNOFF) while a node was in this state.
      If the next use of the node, just booted from the OS that was already on
      the disk, then we never signed off properly.
      
      Now we sign off before entering PXEWAIT. I thought that this would be the
      easiest alternative to fixing the problem..HaHaHa..not! Because now we have
      to restart the secure boot path (i.e., reboot) if the result of coming out
      of PXEWAIT is a request to reload the disk (i.e., if we are continuing the
      secure disk load path).
      
      Ideally this would have required only modifications to the state machines
      for SECUREBOOT/LOAD, but as you can see by the presence of stated.in in the
      modified files, this was not the case. The change required some additional
      "finesse" to get it working. See the comments in stated.in and bootinfo_mysql.c
      if you really care.
      ceeede28
  4. 23 Jan, 2012 1 commit
    • Leigh B Stoller's avatar
      Add support for disk agents. This is just the plumbing, Yathindra is · 95ada2d1
      Leigh B Stoller authored
      doing the real/hard work. Anyway, in your NS file you can do this:
      
      	set newdisk [new Disk $ns]
      	$newdisk set node $n0
      	$newdisk set type foo
      	$newdisk set mountpoint /qq
      	$newdisk set parameters "foo bar fee"
      	$newdisk set command "bla bla bla"
      
      The parameters and command are optional and default to null. Then on
      your node, tmcd returns:
      
      	DISK DISKNAME=newdisk DISKTYPE='foo' MOUNTPOINT='/qq' MOUNTPOINT='foo bar fee' PARAMETERS='bla bla bla'
      
      Note that there is no client support code in this commit.
      95ada2d1
  5. 19 Jan, 2012 1 commit
  6. 13 Jan, 2012 1 commit
  7. 12 Jan, 2012 1 commit
  8. 11 Jan, 2012 2 commits
  9. 02 Dec, 2011 2 commits
  10. 07 Nov, 2011 1 commit
  11. 11 Oct, 2011 1 commit
    • Leigh B Stoller's avatar
      More work on image permissions; allow specification of pid/osname in · cfc9612a
      Leigh B Stoller authored
      NS files. Tweak permission check in Geni CM to also allow this,
      although at this time only global images from any project are allowed.
      The virt_nodes table has been changed to accommodate pid/osname
      syntax:
      
      	tb-set-node-os $nodeA somepid/someos
      
      Note: we are really exporting permission to use images, not entries in
      the os_info table (OSIDs) which is what the NS parser and protogeni CM
      are using. But in fact, an image is both an image descriptor and an OS
      descriptor linked together, so if you export an image or make it
      global, you are implicitly doing the same for the OS descriptor. As
      mentioned many times in the past, OSIDs suck.
      cfc9612a
  12. 30 Aug, 2011 4 commits
  13. 12 Aug, 2011 1 commit
  14. 11 Aug, 2011 1 commit
    • Mike Hibler's avatar
      Initial support for loading Windows7 .wim images via WinPE/ImageX. · ac711ea5
      Mike Hibler authored
      1. Support for "one-shot" PXE booting ala the one-shot osid. Switches to
         pxelinux to boot WinPE and then switch back after done. Painful now
         because we have to HUP dhcpd everytime we change the PXE path, but we
         may be able to fix this in the future by going all-pxelinux-all-the-time.
      
      2. Added pxe_select, analogous to os_select, for changing the pxe_boot_path
         including the one time path.
      
      3. Added the WIMRELOAD state machine to shepherd a node through the process.
         Still has some rough edges and may need refining.
      ac711ea5
  15. 10 Aug, 2011 2 commits
  16. 28 Jul, 2011 1 commit
    • Leigh B Stoller's avatar
      Power "saving" additions from Barry Trent, who got them from Kevin · 03478fb9
      Leigh B Stoller authored
      Lahey.
      
      Power saving turns off nodes that have been sitting in PXEWAIT (and
      are thus free) for more then a set amount of time (see sitevar
      general/idlepower_idletime, which defaults to 3600 seconds).
      
      The driver script is tbsetup/idlepower.in and needs to be added to
      /etc/crontab at sites that want to do this. Even so, operation is
      enabled by the sitevar general/idlepower_enable. Each time it runs, it
      checks for nodes that need to be turned off, and then calls power.
      Note: This should be a daemon not a cron job.
      
      To be considered for power saving, you must add an attribute to the
      node_type_attributes table called 'idlepower_enable', set to 1.
      
      Locally, I hacked up stated and power to make the state transitions
      legal so that stated does not whine. I added POWEROFF as a valid
      transition from any state, to opmodes NORMAL, NORMALv1, and NORMALv2.
      Barry's original patch already had a state transition for PXEKERNEL.
      In power, I added code to look at the actual operation, and in the
      case of "on", do not send an event if the node is not in POWEROFF,
      since a user can foolishly say power on anytime, and the node is on
      nothing is every going to change, and the state transition would be
      wrong.
      
      node_reboot takes of powering nodes on, when they are in POWEROFF.
      
      Barry on copyright issues:
       "I'm not sure those rights are mine to grant! Remember that this code
       came originally from Kevin Lahey (kml@patheticgeek.net) and
       originated at DETER (although he's apparently not there anymore). I
       don't foresee a problem from our point of view (but I'll double
       check, of course). Shall I try to contact Kevin try to sort this mess
       out, or do you think it's better to coordinate from your end?"
      03478fb9
  17. 19 Jul, 2011 1 commit
  18. 22 Jun, 2011 1 commit
  19. 25 May, 2011 2 commits
  20. 12 Apr, 2011 1 commit
  21. 11 Apr, 2011 3 commits
  22. 04 Jan, 2011 1 commit
  23. 07 Dec, 2010 1 commit
  24. 16 Nov, 2010 1 commit
    • Kevin Atkinson's avatar
      Add support for all node "tb-set-tarfiles". · a0d0c95e
      Kevin Atkinson authored
      "tb-set-tarfiles" is like "tb-set-node-tarfiles" except that it
      distributes the tarfile to all nodes rather than just one and that it
      uses frisbee to distribute the file.
      
      These changes involved 1) refactoring frisbee info from images table
      into a new table, frisbee_blobs, 2) a new experiment_blobs table, and
      3) a new tmcd command so the node knows how to get the files from the
      server.
      
      The changes where designed to be general purpose enough to eventually
      support:
        1) Distributing arbitrary files (not just tarfiles) to nodes
        2) Perform arbitrary actions on those files
        3) Use arbitrary methods to get the files
      
      As such the tmcd line is as follows:
        URL=* ACTION=*
      
      where URL is currently:
        frisbee.mcast://<ADDR>/<FILE>
      for example
        frisbee.mcast://234.16.184.192:18092/users/kevina/home-dir.tar.gz
      and when we get around to using a master Frisbee server it could be
        frisbee://*
      or it could be a file://, http://, etc.
      
      and ACTION is currently:
        unpack:<LOCATION>
      for example
        unpackt:/users
      with future syntax to be determined.
      a0d0c95e
  25. 09 Nov, 2010 1 commit
  26. 30 Sep, 2010 1 commit
  27. 29 Sep, 2010 2 commits
    • Mike Hibler's avatar
      Handle a common failure on the node reload path. · 4dc57d48
      Mike Hibler authored
      Under load, nodes that have just entered reloading and have just rebooted
      might fail to get bootinfo.  The default behavior in this case is for the
      node to boot from disk (dubious, but that is the topic for another day).
      This causes the node to fall off the RELOAD path, winding up in either
      TBFAILED or ISUP.  Worse, if the node makes it to ISUP, its reload state
      is cleared and even if the reload_daemon reboots the node, it will still
      not go through the reloading process.
      
      The result is a bunch of nodes left in reloading.  Now if a node makes an
      invalid transition to TBFAILED or ISUP while in the RELOAD state machine,
      it fires the new REBOOT trigger which does...well, you figure it out.
      Note that in the ISUP case, this trigger overrides the default that would
      otherwise clear the reload state--so reboot is sufficient to get the machine
      back on the RELOAD track.
      4dc57d48
    • Leigh B Stoller's avatar
      Add "bridges" table. · f0027075
      Leigh B Stoller authored
      Add failureaction to virt_lan_lans so that we can allow lans to fail
      during setup and still continue to swapin.
      f0027075
  28. 03 Jun, 2010 1 commit
    • Leigh B Stoller's avatar
      Add more MLE support. Here is a sample NS file that demonstrates the · 958fc09d
      Leigh B Stoller authored
      new code. Note that this commit implements only the frontend part.
      
      set n1 [$ns node]
      set n2 [$ns node]
      set n3 [$ns node]
      
      set seg1 [$ns duplex-link $n1 $n2 * 0ms DropTail]
      set seg2 [$ns duplex-link $n2 $n3 * 0ms DropTail]
      tb-set-link-layer $seg1 1
      tb-set-link-layer $seg2 1
      
      set mypath [$ns make-path "seg1 seg2"]
      
      set link0 [$ns duplex-link $n1 $n3 * 0ms DropTail]
      $link0 implemented_by $mypath
      958fc09d
  29. 21 May, 2010 1 commit
  30. 07 May, 2010 1 commit