1. 11 Sep, 2003 1 commit
  2. 04 Sep, 2003 1 commit
  3. 03 Sep, 2003 1 commit
    • Mac Newbold's avatar
      Fix to last fix ... ;) · 25188d29
      Mac Newbold authored
      I was checking against the idle threshold (ie 2hrs) when I meant to check
      against the idle window (5 min), and the result was that no idleswap
      warning emails were getting sent. Doh!
      25188d29
  4. 27 Aug, 2003 3 commits
  5. 26 Aug, 2003 2 commits
  6. 25 Aug, 2003 1 commit
  7. 22 Aug, 2003 1 commit
  8. 15 Aug, 2003 1 commit
  9. 07 Aug, 2003 1 commit
  10. 06 Aug, 2003 1 commit
    • Leigh B. Stoller's avatar
      Clean up temporary files used in modify. The temp dirs were being · 05bd80ff
      Leigh B. Stoller authored
      created in /tmp and left behind. I've moved them to the expwork
      directory instead, and added a routine in the library to clear them
      out.
      
      Clear out the nsfile (stored in /tmp) used in modify. The web page was
      creating a temp file, but never removing it. swapexp now copies the
      nsfile in so that the web page can remove the temporary after the
      script exits. The temp is placed in the expwork directory as well, but
      left behind for debugging.
      
      When swapmod fails, send along the nsfile in the email message.
      05bd80ff
  11. 05 Aug, 2003 1 commit
    • Leigh B. Stoller's avatar
      The rest of the sync server additions: · 212cc781
      Leigh B. Stoller authored
      * Parser: Added new tb command to set the name of the sync server:
      
      	tb-set-sync-server <node>
      
        This initializes the sync_server slot of the experiment entry to the
        *vname* of the node that should run the sync server for that
        experiment. In other words, the sync server is per-experiment, runs
        on a node in the experiment, and the user gets to chose which node
        it runs on.
      
      * tmcd and client side setup. Added new syncserver command which
        returns the name of the syncserver and whether the requesting node
        is the lucky one to run the daemon:
      
          SYNCSERVER SERVER='nodeG.syncserver.testbed.emulab.net' ISSERVER=1
      
        The name of the syncserver is written to /var/emulab/boot/syncserver
        on the nodes so that clients can easily figure out where the server
        is.
      
        Aside: The ready bits are now ignored (no DB accesses are made) for
        virtual nodes; they are forced to use the new sync server.
      
      * New os/syncd directory containing the daemon and the client. The
        daemon is pretty simple. It waits for TCP (and UDP, although that
        path is not complete yet) connections, and reads in a little
        structure that gives the name of the "barrier" to wait for, and an
        optional count of clients in the group (this would be used by the
        "master" who initializes barriers for clients). The socket is saved
        (no reply is made, so the client is blocked) until the count reaches
        zero. Then all clients are released by writting back to the
        sockets, and the sockets are closed. Obviously, the number of
        clients is limited by the numbed of FDs (open sockets), hence the
        need for a UDP variant, but that will take more work.
      
        The client has a simple command line interface:
      
          usage: emulab-sync [options]
          -n <name>         Optional barrier name; must be less than 64 bytes long
          -d                Turn on debugging
          -s server         Specify a sync server to connect to
          -p portnum        Specify a port number to connect to
          -i count          Initialize named barrier to count waiters
          -u                Use UDP instead of TCP
      
          The client figures out the server by looking for the file created
          above by libsetup (/var/emulab/boot/syncserver). If you do not
          specify a barrier "name", it uses an internal default. Yes, the
          server can handle multiple barriers (differently named of course)
          at once (non-overlapping clients obviously).
      
          Clients can wait before a barrier in "initialized." The count on
          the barrier just goes negative until someone initializes the
          barrier using the -i option, which increments the count by the
          count. Therefore, the master does not have to arrange to get there
          "first." As an example, consider a master and one client:
      
      	nodeA> /usr/local/etc/emulab/emulab-sync -n mybarrier
      	nodeB> /usr/local/etc/emulab/emulab-sync -n mybarrier -i 1
      
          Node A waits until Node B initializes the barrier (gives it a
          count).  The count is the number of *waiters*, not including the
          master. The master is also blocked until all of the waiters have
          checked in.
      
          I have not made an provision for timeouts or crashed clients. Lets
          see how it goes.
      212cc781
  12. 29 Jul, 2003 1 commit
    • Leigh B. Stoller's avatar
      Some cleanup on the batch mode stuff. Make it more explicit in the · 29b820b1
      Leigh B. Stoller authored
      showexp page that its a batch experiment, by the menu options. Same
      deal in the swapexp output, plus some other minor cleanup. The only
      bug I found while trying to figure out the batchmode problem reported
      this morning by the FileMover people, is that the cancelflag is not
      cleared after swaping a running batch experiment out, so even after
      reinjecting it into the queue, it will not run. Still, that does seem
      to be what the FileMover people reported.
      29b820b1
  13. 28 Jul, 2003 1 commit
  14. 27 Jul, 2003 2 commits
  15. 22 Jul, 2003 1 commit
  16. 21 Jul, 2003 2 commits
  17. 15 Jul, 2003 2 commits
    • Leigh B. Stoller's avatar
      A set of changes to make swapmod work on jailed nodes (note, swapmod · 92ff875a
      Leigh B. Stoller authored
      does not yet work with remove virtual nodes; that will take even more
      work).
      
      Added a new allocstate called RES_TEARDOWN. assign_wrapper no longer
      deallocates unused nodes, but rather moves them into the new state for
      the wrapper (tbswap) to deal with. Thats cause deleted vnodes need to
      be torn down, since its possible that the node on which they were
      living will not be deallocated (say, if there are other vnodes on
      it). We do not want to be doing that from assign_wrapper, so tbswap
      looks for those nodes.
      
      Made vnode_setup allocstate aware in the same way that os_setup is;
      do not reboot vnodes or try to set up vnodes when they are already in
      the RES_READY state, as they will be when doing a swapmod. In
      addition, if os_setup is going to reboot the underlying physnode, move
      the vnodes on that node into RES_READY too, since there they will
      setup automatically. Might need an interim state here, for correctness.
      92ff875a
    • Leigh B. Stoller's avatar
  18. 10 Jul, 2003 1 commit
  19. 09 Jul, 2003 1 commit
  20. 02 Jul, 2003 1 commit
    • Leigh B. Stoller's avatar
      Hack for dealing with user output from the parser (puts). Since I spit · 10673342
      Leigh B. Stoller authored
      the XML to stdout, user calls to puts confuse the converter, and get
      lost so the user never sees them (before, they would end up in the
      start/preload log). The converter now eats up lines till it sees a
      valid XML header string, printing those lines to stdout so they end up
      in the log like before.
      
      Need to deal with this in a better manner at some point. I did not
      want to write the XML to temporary file. Not sure why, but I thought
      that was the right approach, to keep the user from getting his grubby
      little hands on it. I'm thinking now thats silly, and I'll eventually
      fix things up (since it requires more TCL hacking, and I don't have
      the energy for that).
      10673342
  21. 30 Jun, 2003 1 commit
    • Leigh B. Stoller's avatar
      Make the new parser live on mini. New parser ssh'es over to ops to · 2202fc5a
      Leigh B. Stoller authored
      do the actual parse. The parser now spits out XML instead of DB
      queries, and the wrapper on boss converts that to DB insertions after
      verification. There are some makefile changes as well to install the
      new parser on ops via NFS, since otherwise the parser could
      intolerably out of date on ops!
      2202fc5a
  22. 26 Jun, 2003 1 commit
    • Leigh B. Stoller's avatar
      New script. Convert experiment to a "well formed" XML, and back again. · f7fc7ff3
      Leigh B. Stoller authored
      The conversion from XML to an experiment representation updates the
      DB, although the experiment has to exist, and only certain fields can
      be updated. For the rest of the virtual toplogy, the old toplogy is
      deleted, and the new one installed. Use with caution. This is intended
      to be hooked to the parser, and later to the vis tool.
      f7fc7ff3
  23. 25 Jun, 2003 1 commit
  24. 24 Jun, 2003 1 commit
  25. 23 Jun, 2003 1 commit
  26. 18 Jun, 2003 1 commit
  27. 16 Jun, 2003 1 commit
  28. 11 Jun, 2003 1 commit
  29. 06 Jun, 2003 1 commit
  30. 05 Jun, 2003 1 commit
    • Leigh B. Stoller's avatar
      Add roll of the slowqueries log. · 9d416c02
      Leigh B. Stoller authored
      Add commented out find -delete command to remove all mysql logs older
      than 35 days.  I just run it by hand at the moment, but I'll turn it
      on at some point.
      9d416c02
  31. 31 May, 2003 1 commit
  32. 29 May, 2003 3 commits