1. 16 Sep, 2019 1 commit
  2. 12 Sep, 2019 1 commit
    • Leigh Stoller's avatar
      The last of a bunch of mysql changes: · aaed675b
      Leigh Stoller authored
      1) Do not sent email about anything except malformed queries! Let the
         mysqld watchdog send mail when it notices (runs every minute).
      
      2) Try much much harder to not fail when the server goes away, wait
         longer for it to come back so the query can be issued. The idea being
         to avoid daemons dying off when there is a transient mysqld failure.
      
      There is a certain amount of hope and prayer here, mysqld documentation
      says very little about what happens to a query when you get an error
      back. Some are obvious (mysqld is gone, cannot connect) but others are
      murky (query interrupted). Clearly any read query can be issued again,
      but updates maybe not. We have been retrying all queries for a long time
      now (years) hard to say if its ever caused a problem. Good thing we are
      not a bank, our customers might be very wealthy or totally broke.
      aaed675b
  3. 10 Sep, 2019 1 commit
  4. 20 Aug, 2019 1 commit
  5. 19 Aug, 2019 2 commits
  6. 07 Aug, 2019 1 commit
  7. 06 Aug, 2019 1 commit
  8. 01 Aug, 2019 2 commits
    • Leigh Stoller's avatar
      Fix query modified in previous revision. · d72cf116
      Leigh Stoller authored
      d72cf116
    • Leigh Stoller's avatar
      Changes to the reservation to support reserving specific nodes: · f21a3123
      Leigh Stoller authored
      A new flag in the nodes table marks a node as being independently
      reservable by the reservation system. In general, the reservation system
      treats the node type as an opaque string, so why not make it a node_id.
      The nodes table flag is used in various queries to distinguish between
      nodes that reserved as a type and nodes that are individually reserved.
      Everything else pretty much falls into place.
      
      Minor changes to mapper admission control to look for the use of a
      specific node that is reserved to someone else. Also minor changes in
      ptopgen to remove reserved nodes from the ptop file when they reserved
      to a different project.
      f21a3123
  9. 31 Jul, 2019 1 commit
  10. 30 Jul, 2019 1 commit
    • Leigh Stoller's avatar
      A bunch of changes to bring prereserve in line with reserve so that we · b154a279
      Leigh Stoller authored
      can display and control from the Portal Web interface. Cannot create a
      new one from the web interface yet, will work on that after I take a
      detour into the Reservation system to see if all this prereserve work
      was wasted work, I have an idea that might make it possible to use the
      Reservation system for specific nodes, maybe that will pan out.
      b154a279
  11. 14 Jul, 2019 1 commit
  12. 08 Jul, 2019 6 commits
  13. 25 Jun, 2019 1 commit
  14. 24 Jun, 2019 1 commit
  15. 19 Jun, 2019 1 commit
    • Mike Hibler's avatar
      Further tweaks to jumbo frames code. · 571b4a14
      Mike Hibler authored
      Now use a sitevar, general/allowjumboframes, rather than MAINSITE
      to determine whether we should even attempt any jumbo frames magic.
      
      Use a per-link/lan setting rather than the hacky per-experiment
      setting to let the user decide if they want to use jumbos. In NS
      world, we already had a link/lan method (set-settings) to specify
      virt_lan_settings which is where it winds up now.
      
      Client-side fixes to make jumbos work with vnodes.
      571b4a14
  16. 12 Jun, 2019 1 commit
    • Leigh Stoller's avatar
      Small set of changes for os_setup on sdr nodes. · 58f2b014
      Leigh Stoller authored
      SDR nodes (type=sdr, but this applies to other similar types) are in the
      "pc" class, but really they are not pcs, they are more like blackboxes
      that can be power cycled and are always ISUP.
      
      So, I added a "sdr" package to libossetup, that basically just does a
      power cycle to put them into a known state, and makes sure the
      eventstate is ISUP.
      
      I added "blackbox" to the sdr type definition. Aside; when something is
      a blackbox, we should bypass all image/osinfo handling, but that's a
      tale for another day.
      
      I added a isblackbox() check in power, to skip any eventstate
      handling. Aside; node_reboot should possibly skip right to power cycle
      for blackbox nodes, instead of trying to ping it or ssh into it.
      58f2b014
  17. 11 Jun, 2019 2 commits
  18. 05 Jun, 2019 2 commits
    • chuck cranor's avatar
      two additional updates for EXPIRE_PASSWORDS=0 mode · ee6cf209
      chuck cranor authored
      1. In User.pm Create(), only apply the default expire time of 1 year
      to pswd_expires if EXPIRE_PASSWORDS is true.
      
      2. In tbacct's passwd command: the current behavior is that we set
      the pswd_expires time to "now" if we are changing the the password
      of someone else's account.   this patch adds a new "-e" flag that,
      if specified, uses the default expiration policy instead of now.
      The rational for this change is to allow scripts to import encrypted
      passwords from external account management systems and apply them
      to emulab using "tbacct passwd" without forcing an immediate change.
      ee6cf209
    • chuck cranor's avatar
      Allow Create() callers to specify the unix_uid of new accounts · 54cbaa77
      chuck cranor authored
      Modify the Create() call to allow unix_uids to be specified in the hash.
      If a unix_uid is provided in the hash, then we attempt to use that for
      the new account rather than using the "find unused numbers" sql query.
      If the given unix_uid is less than MIN_UNIX_UID or already in use then
      Create() will return undef.
      
      If no unix_uid is specified then there is no change in Create() behavior,
      so this will not impact any of the code currently in the tree.  The
      intent of this change is to allow Emulab admins the option of managing
      their accounts using data that is external to Emulab so you could have
      scripts that sync the list of active users to an external password file,
      LDAP server, etc.  (For this to work, it will also require a way to turn
      off Emulab's builtin account creation tool and Emulab's sql schema may
      need to be modified to handle larger unix_uids -- current limit is
      smallint(5)).
      54cbaa77
  19. 03 Jun, 2019 2 commits
  20. 23 May, 2019 1 commit
    • Leigh Stoller's avatar
      Changed related to parameter sets and experiment bindings: · 03e4d8bc
      Leigh Stoller authored
      * Show the parameter bindings on the status page for an experiment, and
        on the memlane page. This is strictly informational so that users can
        quickly see the parameters that are/were chosen at the time the
        experiment was created.
      
      * Add a Save Parameters button on the memlane and status pages. This
        will generate a json structure and store it in the DB for that profile
        and user. Optionally, mark the parameter set as specific to a profile
        version or repo hash, so a user can quickly link to that version/hash
        and apply the parameter set.
      
      * On the instantiate page, the parameters step include new buttons to
        1) reset the form to default, 2) apply the parameters used in the most
        recent experiment (current, then history), 3) choose from a dropdown
        of parameters the users has saved for that profile, and 4) take the
        user to their activation history for the profile, to pick one to run
        again or save parameters.
      
      * Add a new tab to the user dashboard to show the user's saved parameter
        sets.
      
      * Lots of changes to the new version of the ppwizard for apply
        parameter sets and showing warnings about them. This code has NOT been
        applied to the old ppwizard.
      03e4d8bc
  21. 08 May, 2019 1 commit
  22. 30 Apr, 2019 1 commit
  23. 26 Apr, 2019 3 commits
  24. 13 Mar, 2019 1 commit
  25. 11 Mar, 2019 2 commits
  26. 06 Mar, 2019 1 commit
  27. 28 Feb, 2019 1 commit