1. 10 Jan, 2007 1 commit
  2. 09 Jan, 2007 4 commits
  3. 05 Jan, 2007 3 commits
    • Leigh Stoller's avatar
      As per Jay's request, send a join request to new leader for old · 3f2d40c7
      Leigh Stoller authored
      leader, when changing the leader of a project when its created.
      3f2d40c7
    • Leigh Stoller's avatar
      Move the core approval code from the web interface to the backend so · 5e25aa17
      Leigh Stoller authored
      that we can run project approval from the command line. Part of the
      ongoing push to get stuff out of php and into the backend ...
      
      The command line is now:
      
      	mkproj [-s] [-h leader_uid] [-m <message> | -f <file>] <pid>
      	switches and arguments:
      	  -s         - silent; do not send approval email to leader
        	  -h <uid>   - switch project leader to specified uid
      	  -m <text>  - Include text in approval email message
      	  -f <file>  - Include text from file in approval email message
      	  <pid>      - project to approve.
      
      Notes:
      
      * The leader can be switched to a new user only at initial project creation.
        Once a project is actually approved (created), its too late. We need
        more stuff in place to change the leader after that, and that code
        is not written yet.
      
      * Email is now sent from the backend script, so easier to recover from
        problems. When invoked from the web interface, the message text will
        be appended to the tberror email if the backend fails for some
        reason.  This should avoid the problem of that text getting lost and
        not being able to recover it.
      
      * The web interface still handles part of project denial internally.
        Move that later.
      5e25aa17
    • Kevin Atkinson's avatar
      · 43eac695
      Kevin Atkinson authored
      Location of datastore is not "exp/datastore" not "datastore"
      in exparchive.  Update Template::Instance::CopyDataStore to reflect this.
      43eac695
  4. 18 Dec, 2006 1 commit
    • David Johnson's avatar
      Bugfix for plab nodes. This problem was tripped by Kevin. What was · e53e402f
      David Johnson authored
      happening was that when Kevin swapmod'd to get rid of failed nodes,
      he just took the bad ones out.  This forced a change in the
      vname<->vnode mapping, and the failed node got put in a state
      (RES_INIT_CLEAN) that vnode_setup couldn't handle for plab nodes.
      Basically, the problem is that vnode_setup was assuming that the
      RES_INIT_CLEAN meant that the plab vnode needed to be allocated --
      but it was already allocated in the previous swap.
      e53e402f
  5. 08 Dec, 2006 2 commits
    • Leigh Stoller's avatar
      Fix minor bug. · 960a2557
      Leigh Stoller authored
      960a2557
    • Leigh Stoller's avatar
      As discussed in meetings and email ... this commit changes what is · b898a8cc
      Leigh Stoller authored
      archived.  Rather then a special "archive" directory in the experiment
      directory, we know archive the entire experiment directory.
      
      This change should be backwards compatable, but let me know if not.
      
      Note that the nsdata directory is gone; the nsfile comes from the
      tbdata, but I know place a copy in nsfile.ns so that the name is well
      known.
      b898a8cc
  6. 06 Dec, 2006 2 commits
  7. 05 Dec, 2006 2 commits
  8. 04 Dec, 2006 2 commits
  9. 01 Dec, 2006 4 commits
  10. 30 Nov, 2006 3 commits
  11. 29 Nov, 2006 1 commit
    • Leigh Stoller's avatar
      Keith Sklower's changes to support a single control network model for · 08737f67
      Leigh Stoller authored
      ElabInElab experiments, so as not to consume an interface.
      
      I actually modified Keith's changes so that we can dynmaically choose
      the single or dual model in the NS file (Keith's changes hardwired the
      system to only single control network) since the single network model
      has the disadvantage of not allowing new nodes to be added to an inner
      elab, which would make it impossible to test some things (like the
      newnode path!).
      
      To choose the single control network model, place this in your NS file:
      
      	tb-elabinelab-singlenet
      
      other it defaults to the older dual network model.
      08737f67
  12. 13 Nov, 2006 1 commit
    • Kevin Atkinson's avatar
      · dbb62c05
      Kevin Atkinson authored
      Add "-archive <bool>" to $ns report which controls if "loghole
      archive" is called.  Creating the archive zipfiles is redundant when
      using the workbench.  It only serves to wastes space (and time when
      committing then to the experiment archive).
      dbb62c05
  13. 10 Nov, 2006 2 commits
  14. 09 Nov, 2006 1 commit
  15. 06 Nov, 2006 2 commits
    • Kevin Atkinson's avatar
      libaudit related changes: · e89ee617
      Kevin Atkinson authored
        - Added "LIBAUDIT_FANCY" option to AuditStart.  When this option is
          used libaudit will send a different email than it normally sends,
          and on error call tblog_find_error() to determine the error.
      
        - Also add audit function AddAuditInfo which adds add additional
          information for libaudit to use in SendAuditMail when AUDIT_FANCY
          is set.
      
        - Modify template_swapin, template_instantiate, and template_create
          to use the new audit functionality.
      
        - Suppressing calling tblog_find_error and sending the error email
          when auditing in swapexp and batchexp
      
      tblog changes:
      
        - Shorten the message sent to the user when the error in unknown.
          Remove all parts about lack of free nodes as it no longer really
          applies as tblog now correctly identified those errors and handles
          them separately.  The message is now just "Please look at the log
          below to see what happened."
      
        - Improve algo. used to determine the other error when canceled.
          Will now work by removing all errors related to the cancel request
          and the essentially rerunning tblog_find_error.  If the cause of
          the error is still canceled, repeat and try again until the cause
          is something other than canceled or no errors are left.
      
        - Refactor tblog_find_error, which involves creating new internal
          functions: tblog_determine_single_error, tblog_store_error,
          tblog_dump_error
      
        - Add section on Primary vs Secondary Errors to the inline POD
          documentation.
      
        - Other minor enhancements and bug fixes.
      e89ee617
    • Leigh Stoller's avatar
      Encode metadata values with encode_entities() from HTML::Entities module. · 6a723f18
      Leigh Stoller authored
      This forces all metadata values to be plain text values for now.
      6a723f18
  16. 03 Nov, 2006 2 commits
    • Leigh Stoller's avatar
      Minor fix; add call to make sure that the new experiment environment · e2b866fd
      Leigh Stoller authored
      variables are setup before writing them!
      e2b866fd
    • Leigh Stoller's avatar
      Big set of changes intended to solve a couple of problems with long · ff9061d4
      Leigh Stoller authored
      term archiving of firstclass objects like users, projects, and of
      course templates.
      
      * Projects, Users, and Groups are now uniquely identified inside the
        DB by a index value that will not be reused. If necessary, this
        could easily be a globally unique identifier, but without federation
        there is no reason to do that yet.
      
      * Currently, pid, gid, and uid still need to be locally unique until
        all of the changes are in place (which is going to take a fairly
        long time since the entire system operates in terms of those, except
        for the few places that I had to change to get the ball rolling).
      
      * We currently archive deleted users to the deleted_users table (their
        user_stats are kept forever since they are indexed by the new index
        column). Eventually do the same with projects (not sure about
        groups) but since we rarely if ever delete a project, there is no
        rush on this one.
      
      * At the same time, I have started a large reorg of the code, to move
        all of the user, group, project code into modules, both in php and
        perl, turning them into first class "objects" (as far as that goes
        in php and perl). Eventually, the number of query statements
        scattered around the code will be manageable, or so I hope.
      
      * Another related part of this reorg is to make it easier to move the
        new user/project/group code in the perl backend so that it can be
        made available via the xmlrpc interface (without duplication of the
        code).
      ff9061d4
  17. 31 Oct, 2006 1 commit
    • Leigh Stoller's avatar
      Flyspray #120: Fix several problems that were causing log output from · 88ef17c4
      Leigh Stoller authored
      various template operations to get lost. Also fixed the code in
      mungelog.js that was supposed to handle bailing out if there was no
      response from the server in a reasonable amount of time; if that code
      had been working, no one would have even noticed all the other problems!
      
      Also some cleanup in parts of mungelog.js and showlogfile_sup.php3;
      slowly migrating parts of this to emulab_sup.js since we use some of
      the same code in other places.
      88ef17c4
  18. 30 Oct, 2006 1 commit
  19. 26 Oct, 2006 2 commits
    • Robert Ricci's avatar
      Add a sanity check to see if someone's experiment uses more VLANs · 84a5d5eb
      Robert Ricci authored
      than we can physically make on the switches.
      84a5d5eb
    • Kevin Atkinson's avatar
      Various tblog changes: · 95a3a6a7
      Kevin Atkinson authored
        Make an attempt to discover what the error was before an swap-* was
        canceled, if any.  Both the main error (canceled) and the other error
        are stored in the error table.  To support this a new column in the
        error table is added "rank".  The primary error has a rank 0 while the
        other error has a rank 1.
      
        Make an attempt to determine when an error is a "me too" error or the
        real cause of the problem.  "Me too" errors are errors which are
        generally reported when the callie script determined that the caller
        script fails.  The caller script should have reported the error, but
        in some cases the error didn't make it into the database.  Thus if a
        "me too" is reported as the cause of a "swap-*" more info is needed to
        determine the true cause.  When a "me too" error is reported it is
        followed by a "..." on it's own line.  It is also recorded in the
        errors table under the new column "need_more_info".
      
        Add inferred column to the errors table.  This is the same value as
        the inferred variable in tblog_find_error.
      
        Add revision column to errors table to make it easy to tell which
        algorithm was used to determine the error.
      95a3a6a7
  20. 25 Oct, 2006 2 commits
    • Leigh Stoller's avatar
      Makefile Whacking! Try to deal with the problem caused by the delay · 7590f9c5
      Leigh Stoller authored
      between when something is installed and when post-install runs. Short
      of a global lock (which we probably need anyway someday), my solution
      is this. In your makefiles, add these variables before the line that
      has the include of $(TESTBED_SRCDIR)/GNUmakerules:
      
      	SETUID_BIN_SCRIPTS   =
      	SETUID_SBIN_SCRIPTS  =
      
      I have added three new rules to GNUmakerules that look like this:
      
      	$(addprefix $(SBINDIR)/, $(SETUID_SBIN_SCRIPTS)): $(SBINDIR)/%: %
      		echo "Installing (setuid) $<"
      		-mkdir -p $(INSTALL_SBINDIR)
      		$(SUDO) $(INSTALL) -o root -m 4755 $< $@
      
      Yep, your eyes ain't lying to you; use sudo to run the target so that
      install does the right thing (which is that the old file is not
      replaced until the new one has the proper attributes on it).
      
      Note that post-install is still needed for the initial install, but
      should no longer be needed for day to day installs since all that other
      stuff post-install does is mkdir/chmod on directories.
      7590f9c5
    • Leigh Stoller's avatar
      Quickly add option to spew the event list. · 9726d5c4
      Leigh Stoller authored
      9726d5c4
  21. 24 Oct, 2006 1 commit