1. 12 Feb, 2019 1 commit
    • Leigh B Stoller's avatar
      Recovery mode: · bde6c94d
      Leigh B Stoller authored
      * Add a new Portal context menu option to nodes, to boot into "recovery"
        mode, which will be a Linux MFS (rather then the FreeBSD MFS, which
        99% of user will not know what to do with).
      
      * Plumb all through to the Geni RPC interface, which invokes node_admin
        with a new option, to use the recovery mfs nodetype attribute.
      
      * recoverymfs_osid is a distinct osid from adminmfs_osid, we use that in
        the CM to add an Emulab name space attribute to the manifest, that
        tells the Portal that a node supports recovery mode (and thus gets a
        context menu option).
      
      * Add an inrecovery flag to the sliver status blob, which the Portal
        uses to determine that a node is currently in recovery mode, so that
        we can indicate that in the topology and list tabs.
      bde6c94d
  2. 30 May, 2018 1 commit
    • Leigh B Stoller's avatar
      Several backend/RPC changes for reservations: · 8266ae51
      Leigh B Stoller authored
      1. Return current set of reservations (if any) for a user when getting
         the max extension (piggy backing on the call to reduce overhead).
      
      2. Add RPC to get the reservation history for a user (all past
         reservations that were approved).
      
         Aside; the reservation_history table was not being updated properly,
         only expired reservations were saved, not deleted (but used)
         reservations, so we lost a lot of history. We could regen some of it
         from the history tables I added at the Portal for Dmitry, but not
         sure it is worth the trouble.
      
      3. And then the main content of this commit is that for both of the
         lists above, also return the experiment usage history for the project
         an dthe user who created the reservation. This takes the form of a
         time line of allocation changes so that we can graph node usage
         against the reservation bounds, to show graphically how well utilized
         the reservation is.
      8266ae51
  3. 19 Nov, 2017 2 commits
  4. 12 Jul, 2017 1 commit
    • Leigh B Stoller's avatar
      Improvements to the protogeni fcgid handler: · aeb3d617
      Leigh B Stoller authored
      * Fix the logging that had been messed up for while; the logfile object
        was not defined in the children, needed a little reorg.
      
      * Add changes needed for SecureImageDownload(), which is a little
        messier with fcgid since we have to stream the image back to apache
        which means we need to reconnect the fcgid handler.
      
      * Add the CH module, seems to work fine.
      
      * Wrap the calls to cluster-wrapper.pl so that we can set an ENV
        variable indicating which module is being served, and then put this
        in the proc title; its very annoying that perl (sometime?) messes the
        with the proc title without permission from me, so I don't know what
        each server is serving since the command line options are gone.
      
      * Some tweaks to the apache config file.
      
      Note hat this is not running live yet, still just in my devel tree.
      aeb3d617
  5. 17 Apr, 2017 1 commit
    • Leigh B Stoller's avatar
      Attempt to operate in an admin mode for reservations · 188f041f
      Leigh B Stoller authored
      So, one reason the fast RPC path is fast cause we do not normally
      operate with credentials, but with reservations we have to since we want
      the reservation creator to be a real user and of course the project has
      to exist. Need credentials for that. But when an admin is editing or
      creating a reservation in another project, we need the admin user to
      exist too, and we might need the project to be created. That requires
      different credentials. So in an attempt to deal more generally with the
      admin problem, export an entrypoint to create a user (the admin user)
      before trying to create a reservation. Not sure this is the best way to
      go but its one way to go.
      
      In general, I think we need a more explicit user/project management API
      for the Portal. Needs more thought.
      188f041f
  6. 06 Mar, 2017 1 commit
    • Leigh B Stoller's avatar
      Two changes to reservations: · 5e7e613b
      Leigh B Stoller authored
      1. Plumb through a prediction RPC to return the reservation system
         pressure and outstanding reservations for a list of projects. This is
         invoked from the instantiate page when loaded, using the projects
         the user has permission to create experiments in, the results are
         stored in a script global variable for someone else to make sense of.
      
      2. When checking to see if a reservation can be accommodated, check with
         the admission control library first to see if the is a project limit
         on the type that would be violated. Need to do a little rearranging
         of the deck chairs in admission control library.
      5e7e613b
  7. 15 Feb, 2017 1 commit
  8. 03 Nov, 2016 1 commit
  9. 20 Sep, 2016 1 commit
  10. 29 Aug, 2016 1 commit
    • Leigh B Stoller's avatar
      Add support for secure image download using a credential to grant · 10b1dbd2
      Leigh B Stoller authored
      permission to the image being requested. Added for image backed
      datasets. The key to this commit is being able to abort the logging and
      return STDOUT/STDERR to apache so that the image can be streamed.
      There is a corresponding change on the caller side, that adds a new
      method CallMethodStream() that takes a file descriptor to send the
      data to.
      10b1dbd2
  11. 11 Jul, 2016 1 commit
  12. 01 Jun, 2016 1 commit
  13. 25 May, 2016 1 commit
  14. 25 Apr, 2016 2 commits
  15. 09 Mar, 2016 1 commit
  16. 22 Feb, 2016 1 commit
    • Leigh B Stoller's avatar
      Optimized version of the RPC server, using mod_fcgid to maintain long · 640d2c68
      Leigh B Stoller authored
      running servers to avoid the big perl startup costs we have with starting a
      brand new script each time a request comes in. At the moment, only the
      sa/cm/am servers are going to run combined inside the new server, the other
      APIs will use the old method. This new approach reduces minimal RPC time
      from 1 second to 0.05 seconds, which makes it usable from the Portal web
      interface to grab cluster data on the fly.
      640d2c68