1. 22 Jan, 2018 2 commits
  2. 04 Dec, 2017 1 commit
    • Leigh B Stoller's avatar
      Extension policy changes: · bd7d9d05
      Leigh B Stoller authored
      * New tables to store policies for users and projects/groups. At the
        moment, there is only one policy (with associated reason); disabled.
        This allows us to mark projects/groups/users with enable/disable
        flags. Note that policies are applied consecutively, so you can
        disable extensions for a project, but enable them for a user in that
        project.
      
      * Apply extensions when experiments are created, send mail to the audit
        log when policies cause extensions to be disabled.
      
      * New driver script (manage_extensions) to change the policy tables.
      bd7d9d05
  3. 27 Nov, 2017 1 commit
  4. 23 Oct, 2017 1 commit
  5. 14 Aug, 2017 1 commit
  6. 10 Jul, 2017 1 commit
  7. 30 May, 2017 1 commit
    • Leigh B Stoller's avatar
      Rework how we store the sliver/slice status from the clusters: · e5d36e0d
      Leigh B Stoller authored
      In the beginning, the number and size of experiments was small, and so
      storing the entire slice/sliver status blob as json in the web task was
      fine, even though we had to lock tables to prevent races between the
      event updates and the local polling.
      
      But lately the size of those json blobs is getting huge and the lock is
      bogging things down, including not being able to keep up with the number
      of events coming from all the clusters, we get really far behind.
      
      So I have moved the status blobs out of the per-instance web task and
      into new tables, once per slice and one per node (sliver). This keeps
      the blobs very small and thus the lock time very small. So now we can
      keep up with the event stream.
      
      If we grow big enough that this problem comes big enough, we can switch
      to innodb for the per-sliver table and do row locking instead of table
      locking, but I do not think that will happen
      e5d36e0d
  8. 10 May, 2017 1 commit
  9. 02 May, 2017 1 commit
    • Leigh B Stoller's avatar
      Speed up the instantiate page response time, it was taking forever! · af8cc34f
      Leigh B Stoller authored
      1. Okay, 10-15 seconds for me, which is the same as forever.
      
      2. Do not sort in PHP, sort in javascript, let the client burn those
         cycles instead of poor overworked boss.
      
      3. Store global lastused/usecount in the apt_profiles table so that we
         do not have to compute it every time for profile.
      
      4. Compute the user's lastused/usecount for each profile in a single
         query and create local array. Cuts out 100s of queries.
      af8cc34f
  10. 24 Mar, 2017 1 commit
  11. 10 Mar, 2017 1 commit
  12. 06 Mar, 2017 1 commit
  13. 15 Feb, 2017 1 commit
  14. 09 Feb, 2017 2 commits
  15. 25 Jan, 2017 2 commits
  16. 20 Jan, 2017 2 commits
  17. 29 Dec, 2016 1 commit
  18. 28 Dec, 2016 1 commit
  19. 29 Nov, 2016 1 commit
    • Leigh B Stoller's avatar
      A couple of changes to the apt daemon that I did a while back: · 6db95f98
      Leigh B Stoller authored
      1. Kill canceled instances; we allow users to "terminate" an instance
         while it is booting up, but we have to pend that till the lock is
         released. We do this with a canceled flag, similar to the Classic
         interface. But I never committed the apt_daemon changes that look for
         canceled instances and kills them!
      
      2. Look for stale st/lt datasets and delete them. A stale dataset is one
         that no longer exists at the remote cluster (cause its expiration was
         reached and it was reaped). We do not get notification at the Portal,
         and so those dangling datasets descriptors sit around confusing
         people (okay, confusing me and others of a similar vintage).
      6db95f98
  20. 06 Oct, 2016 1 commit
  21. 28 Sep, 2016 1 commit
  22. 31 Aug, 2016 1 commit
  23. 29 Aug, 2016 3 commits
  24. 20 Jul, 2016 1 commit
  25. 14 Jul, 2016 1 commit
  26. 10 Jun, 2016 2 commits
    • Leigh B Stoller's avatar
      Fix to CreateDatasetCreds(); we do not need a credential for a local lease, · f74b1548
      Leigh B Stoller authored
      it goes through normal emulab permission checks.
      f74b1548
    • Leigh B Stoller's avatar
      NFS mount changes, still a work in progress, bound to change: · e369c1a8
      Leigh B Stoller authored
      * The Emulab portal now adds a toplevel element (Emulab namespace)
        directing the CM to use standard emulab mounts (read: /users).
        We clear that element from the other portals.
      
      * The CM looks for that tag, and allows it only if the caller is the local
        SA. The default for nfsmounts setting for geni experiment containers is
        "genidefault", but that is set to "emulabdefault" when allowed.
      
      * tmcd changes; no using nfsmounts slot instead of nonfsmounts. "none"
        means no mounts (duh), "emulabdefault" means standard mounts we all know
        and love, "genidefault" means no /users mounts.
      
        In addition, when we are doing emulabdefault mounts on a geni experiment
        node, we do not return accounts that are specified in the rspec, but
        rather we return the local project accounts only.
      e369c1a8
  27. 19 May, 2016 1 commit
  28. 29 Apr, 2016 1 commit
  29. 12 Apr, 2016 1 commit
  30. 06 Apr, 2016 1 commit
  31. 26 Mar, 2016 1 commit
  32. 16 Mar, 2016 1 commit
  33. 14 Mar, 2016 1 commit