1. 13 Jul, 2007 4 commits
  2. 11 Jul, 2007 2 commits
  3. 10 Jul, 2007 2 commits
    • Russ Fish's avatar
    • Leigh B. Stoller's avatar
      Changes to switch from using tag to rtag. Note that this commit requires · 7a2ef6f1
      Leigh B. Stoller authored
      a locally modifed version of CVS that does a couple of extra things. The
      hacks are quite simple and currently on users. Briefly, there is a new
      config file option to specify a program to run when the tag operation is
      complete (similar to a module hook for rtag), and in tag.c I run that hook.
      Check out a sandbox as before:
        cvs -d ops.emulab.net:/proj/$pid/templates/XXXXX/cvsrepo rtag mytag XXXXX
      To create a new template (along the trunk), use the tag operation instead:
      	cd sandbox
      	cvs tag mtag
      and what for the email that says the template is created. You can
      continue to work along the trunk in this manner, although note that
      the .template file is changing (by the backend commit), and you might
      find it less distriacting to do a cvs update each time.
      To work along a branch:
      	cd sandbox
      	cvs tag -r existing_tag -b newtag1
              cvs update -r newtag
              make changes and commits
      	cvs tag newtag2
      When working along branched you will want to do a cvs update to get
      the .template file in sync.
  4. 09 Jul, 2007 1 commit
    • Leigh B. Stoller's avatar
      Checkpoint my cvs interface to the workbench. This first cut uses the · 8371fc79
      Leigh B. Stoller authored
      "rtag" directive to initiate template modify operations. So, to get started
      you do a checkout:
        cvs -d ops.emulab.net:/proj/$pid/templates/XXXXX/cvsrepo checkout XXXXX
      where XXXXX is the part of the guid (10000/1) before the slash. Might try
      and roll all templates into a single project wide repo at some point, to
      avoid the extraneous path stuff, but didn't want to worry that just yet.
      Okay, so have a checkout. You can work along the trunk, doing commits. To
      create a new template (a modify of the existing template), you tag the tree
      using rtag:
        cvs -d ops.emulab.net:/proj/$pid/templates/XXXXX/cvsrepo rtag mytag XXXXX
      A template modify is started at the end, and you should probably wait for
      email before continuing. Eventually I will need to add locking of some
      kind, but I have to do the modify in the background, or else I get deadlock
      cause cvs keeps the repo locked, and the modify also needs to access it.
      Each time you tag along the trunk, you get a modified template, which in
      the history diagram looks like:
        10000/1 --> 10000/2 --> 10000/3 ...
      If you want to branch, say at 10000/2 you can create a branch tag using rtag:
        cvs -d [cut] rtag -r T10000/2 -b mytag2 XXXXX
      You can also use your own tags for -r option, but I also create a TXXXXX/YY
      tag at each template modify, which is easy to remember.
      Then update your sandbox to the new branch, commit changes along that
      branch, and then later use rtag again to initiate a template modify
        cvs update -r mytag2
        cvs commit ...
        cvs -d [cut] rtag -r mytag2 mytag3 XXXXX
      And now the history diagram looks like:
        10000/1 --> 10000/2 --> 10000/3 ...
                      -> 10000/4 ...
      You should be able to mix interaction via the web with interaction via the
      cvs interface. I've tested it, although not extensively.
  5. 05 Jul, 2007 6 commits
  6. 03 Jul, 2007 1 commit
  7. 02 Jul, 2007 3 commits
  8. 28 Jun, 2007 3 commits
  9. 27 Jun, 2007 8 commits
    • David Johnson's avatar
      Fix "nodes considered alive by Emulab" part of the query. This is · 3ee32576
      David Johnson authored
      complicated because we use one big huge query to filter out as much as we
      can in the db to speed things up, but there is already a search option
      that restricts based on pid/eid.  Thus, if pid/eid search is enabled, we
      have to do an additional postfilter pass to filter out nodes that are not
      both status='up' and not in hwdown.
    • Mike Hibler's avatar
    • Mike Hibler's avatar
      Print rates as quads rather than longs. · 87235b5c
      Mike Hibler authored
    • Mike Hibler's avatar
      Don't know if this is a BSD linuxthread thing or just a pthread semantic, · e25ef575
      Mike Hibler authored
      but if the child thread calls exit(-1) from fatal, the frisbee process
      exits, but with a code of zero; i.e., the child exit code is lost.
      Granted, a multi-threaded program should not be calling exit willy-nilly,
      but it does so we deal with it as follows.
      Since the child should never exit during normal operation (we always
      kill it), if it does exit we know there is a problem.  So, we catch
      all exits and if it is the child, we set a flag.  The parent thread
      will see this and exit with an error.
      Since I don't understand this fully, I am making it a FreeBSD-only
      thing for now.
    • Sachin Goyal's avatar
      · 4f6ed4f3
      Sachin Goyal authored
      Setting the sql mode for the database session to 'STRCIT_ALL'.
      This is to handle the database setting difference between mysql on Ops
      and mysql on DataPository.
    • Sachin Goyal's avatar
      · 5ebb54de
      Sachin Goyal authored
      Added an extra layer of protection to prevent to-and-fro switching
      between different nodes on a site due to CPU USAGE difference.
      Previously if a node has less cpu load than current best node (discounted
      by a threshold of 10). Now this has to happen 2 times consecutively
      for the switching to happen.
    • Sachin Goyal's avatar
      · 9b756cf8
      Sachin Goyal authored
      Added randomness for initial starting of bw probes scheduled by
    • Pramod R Sanaga's avatar
      Changed the cross-correlation to use FFT - makes it really fast! · f80056e0
      Pramod R Sanaga authored
      Cross-correlation calculation now takes less than 15 sec for a 15 minute
      TCP transfer - averaging time is still huge though...
      Added documentation to explain what is going on and how a run
      is declared correct/incorrect.
  10. 26 Jun, 2007 1 commit
  11. 25 Jun, 2007 1 commit
  12. 22 Jun, 2007 2 commits
  13. 21 Jun, 2007 3 commits
    • Pramod R Sanaga's avatar
      · 2a8299ee
      Pramod R Sanaga authored
      SanityCheck.py is the script for checking cross-correlation of Flexlab
      runs. It works for both TCP and UDP transfers. I also changed
      auto-pelab.ns and added a "-t" option to start-experiment
      and stop-experiment to enable these sanity checks.
      Note: I haven't figured out how to kill sudo tcpdump sessions
      on PlanetLab with program agents - so, for now they have to be
      killed manually after a stop-experiment. Will change this after
      talking to Mike.
      The cross-correlation code works correctly - I may need to tweak it
      a bit in the near future for averaging times.
      Also, it puts too much load on Ops and (i think) takes too much time.
      I will change it so that all the correlation calculations are done on
      the experimental nodes.
    • Robert Ricci's avatar
      Give a more meaningful error message if the user tries to upload a · 9812a826
      Robert Ricci authored
      file that does not exist.
    • Russ Fish's avatar
      Mention tested on 6.2, fix minor typos. · 832661c4
      Russ Fish authored
  14. 20 Jun, 2007 3 commits