1. 17 Sep, 2001 2 commits
  2. 11 Sep, 2001 1 commit
  3. 06 Sep, 2001 1 commit
    • Leigh B. Stoller's avatar
      Changes to nfree in how scheduled reloads are handled. Instead of · 2007505d
      Leigh B. Stoller authored
      firing off an os_load, just move the node from its current reservation
      to emulab-ops/reloadpending. This moves the operation out of band from
      the user's perspective (he gets more immediate response when an
      experiment ends, and besides we cannot handle mass reloads anyway, and
      so this approach is unusable until Frisbee.
      
      Change the reload_daemon to look for free nodes that need a reload (as
      before) *and* nodes in emulab-ops/reloadpending (as put there by nfree).
      In this case, the imageid comes from the reloads table instead of the
      node-types table. I also updated the reload_daemon to use libdb routines.
      
      Also change testbed/reloading to emulab-ops/reloading. Maybe someday
      I'll remove these hardwired strings.
      2007505d
  4. 30 Aug, 2001 1 commit
  5. 29 Aug, 2001 2 commits
  6. 28 Aug, 2001 2 commits
  7. 24 Aug, 2001 2 commits
  8. 23 Aug, 2001 1 commit
    • Mac Newbold's avatar
      Lots of small changes for turning our 'require lib*' lines into 'use lib*'... · e2ed8a1c
      Mac Newbold authored
      Lots of small changes for turning our 'require lib*' lines into 'use lib*' lines. Proper modules declare themselves as a package, and use Exporter to export the names of the subroutines that should be visible from the outside world. Many of ours didn't do that, it was just a file with a bunch of subs in it. So now I've fixed many of them to be proper, and removed the requires and 'push(@INC,...)' hacks and changed it to the proper 'use lib @prefix@/lib/;' and use lib*.
      e2ed8a1c
  9. 22 Aug, 2001 1 commit
  10. 14 Aug, 2001 1 commit
  11. 01 Aug, 2001 1 commit
    • Leigh B. Stoller's avatar
      An attempt at making image creation an easy/automatic operation. HA! · 27f26d99
      Leigh B. Stoller authored
      This uses the pxe booted freebsd kernel and MFS. In addition, I use
      the standard testbed mechanism of specifying a startup command to
      run, which will do the imagezip to NFS mounted /proj/<pid>/.... The
      controlling script on paper sets up the database, reboots the node,
      and then waits for the startstatus to change. Then it resets the DB
      and reboots the node so that it returns back to its normal OS. The
      format of operation is:
      
      	create_image <node> <imageid> <filename>
      
      Node must be under the user's control of course. The filename must
      reside in the node's project (/proj/<pid>/whatever) since thats the
      directory that is mounted by the testbed config software when the
      machine boots. The imageid already exists in the DB, and is used to
      determine what part of the disk to zip up (say, using the slice option
      to the zipper). Since this operation is rather time consuming, it does
      the usual trick of going to background and sending email status later.
      27f26d99
  12. 26 Jul, 2001 2 commits
  13. 25 Jul, 2001 1 commit
  14. 23 Jul, 2001 1 commit
  15. 21 Jul, 2001 1 commit
    • Mac Newbold's avatar
      Many changes and updates for handling new types. The db now has types like... · 78b4e4f5
      Mac Newbold authored
      Many changes and updates for handling new types. The db now has types like 'pc600', 'pc850', and 'dnard', and each type has a class like 'pc' or 'shark'. This updates scripts that use types to use classes where appropriate, and to handle the new types where there were hardcoded things that couldn't be eliminated right now.
      78b4e4f5
  16. 17 Jul, 2001 1 commit
    • Leigh B. Stoller's avatar
      Some minor changes, plus endless hours of PERL confusion. Anyway, add · d1c90991
      Leigh B. Stoller authored
      a bootstatus field to the nodes table. os_setup sets this to one of
      okay, failed, unknown. This is to be used with the still to be defined
      method of specifying certain nodes that can fail reboot on experiment
      creation. Right now sharks are wired to this, and this information is
      presented in the web page. Its also essential for the batch system,
      which needs to consider nodes that failed to reboot, or else batch
      experiments would never end. Might still need a way for an experiment
      to tell the batch system its done though.
      d1c90991
  17. 13 Jul, 2001 2 commits
  18. 12 Jul, 2001 1 commit
    • Robert Ricci's avatar
      New script: dhcpd_makeconf · fbb56b98
      Robert Ricci authored
      Usage: dhcpd_makeconf [-h] [-v] <templatefile>
      templatefile should be a skeleton dhcp.conf file, without entires for each node.
      The string '%%nodetype=<type>' will be expanded to entries for all nodes of type
      <type> in the following form:
      host $ip {
      	hardware ethernet $mac;
      	option host-name '$node_id';
      	fixed_address $ip;
      }
      
      The generated dhcp conf file is printed on stdout.
      
      The -v option causes dhcpd_makeconf to use virtual names, rather than
      physical ones, for hostnames.
      fbb56b98
  19. 11 Jul, 2001 1 commit
  20. 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.
      e1f4263c
  21. 06 Jul, 2001 1 commit
  22. 02 Jul, 2001 1 commit
  23. 29 Jun, 2001 2 commits
  24. 20 Jun, 2001 1 commit
  25. 18 Jun, 2001 1 commit
  26. 11 Jun, 2001 1 commit
  27. 08 Jun, 2001 1 commit
  28. 05 Jun, 2001 1 commit
  29. 31 May, 2001 1 commit
  30. 29 May, 2001 1 commit
  31. 25 May, 2001 1 commit
    • Leigh B. Stoller's avatar
      New libdb module. A library of some useful routines that will · 7e4ad150
      Leigh B. Stoller authored
      hopefully get bigger and reduce the amount of typing that we all
      do. I hacked up sched_reload and os_load to use it. Pretty simple to
      start with.
      
      I'm not planning to go much further on this until we sync up with the
      dbtoir branch since it will just create needless branch merge errors.
      7e4ad150
  32. 23 May, 2001 2 commits