1. 19 Sep, 2011 1 commit
  2. 14 Sep, 2011 1 commit
  3. 17 Aug, 2011 1 commit
  4. 16 Aug, 2011 1 commit
  5. 15 Aug, 2011 1 commit
  6. 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
  7. 10 Aug, 2011 1 commit
  8. 28 Jul, 2011 1 commit
  9. 27 Jul, 2011 2 commits
  10. 24 Jul, 2011 1 commit
  11. 21 Jul, 2011 1 commit
  12. 19 Jul, 2011 17 commits
  13. 27 May, 2011 1 commit
  14. 17 May, 2011 1 commit
    • Mike Hibler's avatar
      Add machinery to automatically setup mrouted on the control network. · 3ba294d9
      Mike Hibler authored
      This is specifically intended for elabinelab right now where configurations
      with an "inner control network" need a multicast router for inner frisbee
      to work. There is (an undocumented) NEEDMROUTED defs variable that controls
      whether the machinery is triggered or not. It is not documented because, though
      in theory this would work for a real boss setup, it has not been tested and
      each install would probably need a custom mrouted.conf file.
      
      For an inner elab, this variable is automatically set in defs-elabinelab
      if there is an inner control network. The result is that the mrouted port
      will be installed, it will be enabled in rc.conf, and a stub mrouted.conf
      file is created (to force mrouted to ignore the real control network).
      3ba294d9
  15. 10 May, 2011 1 commit
  16. 31 Mar, 2011 1 commit
  17. 28 Mar, 2011 1 commit
    • Leigh B Stoller's avatar
      Begin the transition away from the ancient Mysql.pm module to the more · 5030b44d
      Leigh B Stoller authored
      current and maintained DBI::mysql module. A couple of things make this
      a little more work then you might think.
      
      Mysql exports a slightly different API then DBI, both at the DB *and*
      the statement level. The former required some restructuring of
      emdbi.pm, partly cause we want external sites to continue using Mysql
      for a while longer. So, emdbi suppports both interfaces, via the
      configure variable TBUSEDBI.
      
      I also took the opportunity to also scrap the existing fork()
      detection code and redo it in an easier to understand manner.
      Actually, I had no idea what the previous code was trying to do, so it
      was easier to just get rid of it, rather then try to make it work for
      the DBI API.
      
      There are also API differences in the "statement" class, but
      fortunately this can be hidden by wrapping the statement class with a
      wrapper that adds the routines we need to avoid making silly changes
      to 1000s of queries. They are all trivial little things since mostly
      its a matter of naming (numrows --> rows).
      
      I also changed the library we use on ops (db/libtbdb.pm.in) to use
      DBI, but in this case I just switched it over. Seemed like overkill to
      worry about supporting both APIs on ops. If it works it works, and so
      far it does. 
      
      Lastly, the following modules still use Mysql directly. They all need
      to be changed, but none of these are on the critical path to swapin
      and swapout, so they can change later.
      
      db/dumperrorlog.proxy.in
      db/showgraph.in
      db/sitevarscheck.in
      bgmon/find-asymmetric
      db/pelab_opspush.proxy.in
      slothd/sdisrunning.in
      utils/export_tables.in
      utils/setbuildinfo.in
      pelab/bgmon/libpelabdb.pm
      pelab/dbmonitor/libtbdb.pm
      5030b44d
  18. 10 Feb, 2011 1 commit
  19. 18 Jan, 2011 1 commit
  20. 11 Jan, 2011 1 commit
    • Mike Hibler's avatar
      Found a patch that will make the SelfLoader work with perl 5.10.1. · f0ea7d23
      Mike Hibler authored
      Repeating myself since not everything got committed last time...
      
      In the lastest version of SelfLoader they fixed the taint problem.  It is
      literally one line of code (plus updating version string) so I just made
      a patch.  Also, fixup boss/ops-install to apply the patch and change the
       default to use the SelfLoader again.
      f0ea7d23
  21. 22 Dec, 2010 1 commit
  22. 24 Nov, 2010 1 commit
    • Mike Hibler's avatar
      First crack at a frisbee "master server" for handling GET (download) requests. · a2a896ab
      Mike Hibler authored
      There are a couple of new packet types in the frisbee protocol which are
      exchanged via TCP with the master server: GETREQUEST and GETREPLY.  The
      client passes to the master server an opaque imageid and a couple of options
      and gets back the addr/port to use to actually download the image.  The
      implementation of the master server is fragile and is more of a test
      framework, Grant is working on a more robust master server.  I am mostly
      doing a backend that communicates with the Emulab DB to do its authentication
      and making the client changes.
      
      The client now uses the -S option to specify the IP address of the master
      server and the -F option to specify an imageid.  If no error is returned,
      the image is downloaded using the returned addr/port.  If -Q is used in place
      of -F, then the client makes a "status only" call getting back info about
      whether the named image is accessible to the client and whether a server is
      currently running.
      
      On the server side, the new master server (mserver.c) has an Emulab
      configuration "backend" that supports host-based authentication.
      The IP address of the caller is mapped to a node_id/pid/gid/eid combo
      that is used to determine access.  On a request, the specified imageid is
      treated either as a pathname (if it starts with '/') or an image identifier
      of the form "<pid>/<imagename>".  If it is a pathname, we check to make
      sure that pathname (after running through "realpath") is contained in one
      of the directories accessible to that node in its current experiment context;
      i.e., /share, /proj/<pid>, /groups/<pid>/<gid>, or /users/<swapper-uid>.
      If it is an image identifier, the DB is queried to ensure that access is
      allowed to that image; i.e., it must be "global" or in the appropriate
      project/group.
      
      The master server forks a frisbeed for each valid request, if one is not
      already running.  The multicast address selection is still based on the
      emulab_indicies.frisbee_index field, but the address/port/server info is no
      longer stored in the frisbee_blobs table (frisbee_pid, load_address,
      load_busy are not set).
      
      Note that this is not yet integrated in the os_load path.  Further work is
      required to replace frisbeelauncher.
      a2a896ab
  23. 28 Oct, 2010 1 commit
    • Ryan Jackson's avatar
      Enable new event scheduler · 2c0d82a5
      Ryan Jackson authored
      Use the new event scheduler by default for any
      users/groups/experiments configured for it using EmulabFeatures.
      
      Added '-N' option to eventsys.proxy to have it use the new scheduler
      (if it exists) instead of the old one.
      
      Added test for NewEventScheduler feature to eventsys_control so that
      it will pass the '-N' option to eventsys.proxy for
      experiments/users/groups using the feature.
      
      These changes will go away when the new event scheduler replaces the
      old one.
      2c0d82a5