1. 13 Mar, 2019 1 commit
  2. 16 Jul, 2018 1 commit
    • Leigh Stoller's avatar
      Image handling changes: · fe8cc493
      Leigh Stoller authored
      1. The primary change is to the Create Image modal; we now allow users
         to optionally specify a description for the image. This needed to be
         plumbed through all the way to the GeniCM CreateImage() API. Since
         the modal is getting kinda overloaded, I rearranged things a bit and
         changed the argument checking and error handling. I think this is the
         limit of what we want to do on this modal, need a better UI in the
         future.
      
      2. Of course, if we let users set descriptions, lets show them on the
         image listing page. While I was there, I made the list look more like
         the classic image list; show the image name and project, and put the
         URN in a tooltip, since in general the URN is noisy to look at.
      
      3. And while I was messing with the image listing, I noticed that we
         were not deleting profiles like we said we would. The problem is that
         when we form the image list, we know the profile versions that can be
         deleted, but when the user actually clicks to delete, I was trying to
         regen that decision, but without asking the cluster for the info
         again. So instead, just pass through the version list from the web
         UI.
      fe8cc493
  3. 16 Feb, 2018 1 commit
    • Leigh Stoller's avatar
      A lot of work on the RPC code, among other things. · 56f6d601
      Leigh Stoller authored
      I spent a fair amount of improving error handling along the RPC path,
      as well making the code more consistent across the various files. Also
      be more consistent in how the web interface invokes the backend and gets
      errors back, specifically for errors that are generated when taking to a
      remote cluster.
      
      Add checks before every RPC to make sure the cluster is not disabled in
      the database. Also check that we can actually reach the cluster, and
      that the cluster is not offline (NoLogins()) before we try to do
      anything. I might have to relax this a bit, but in general it takes a
      couple of seconds to check, which is a small fraction of what most RPCs
      take. Return precise errors for clusters that are not available, to the
      web interface and show them to user.
      
      Use webtasks more consistently between the web interface and backend
      scripts. Watch specifically for scripts that exit abnormally (exit
      before setting the exitcode in the webtask) which always means an
      internal failure, do not show those to users.
      
      Show just those RPC errors that would make sense users, stop spewing
      script output to the user, send it just to tbops via the email that is
      already generated when a backend script fails fatally.
      
      But do not spew email for clusters that are not reachable or are
      offline. Ditto for several other cases that were generating mail to
      tbops instead of just showing the user a meaningful error message.
      
      Stop using ParRun for single site experiments; 99% of experiments.
      
      For create_instance, a new "async" mode that tells CreateSliver() to
      return before the first mapper run, which is typically very quickly.
      Then watch for errors or for the manifest with Resolve or for the slice
      to disappear. I expect this to be bounded and so we do not need to worry
      so much about timing this wait out (which is a problem on very big
      topologies). When we see the manifest, the RedeemTicket() part of the
      CreateSliver is done and now we are into the StartSliver() phase.
      
      For the StartSliver phase, watch for errors and show them to users,
      previously we mostly lost those errors and just sent the experiment into
      the failed state. I am still working on this.
      56f6d601
  4. 31 Jan, 2018 1 commit
  5. 23 Jan, 2018 1 commit
  6. 28 Jun, 2017 1 commit
  7. 25 Apr, 2017 1 commit
  8. 13 Mar, 2017 1 commit
    • Leigh Stoller's avatar
      Tweaks: · b21f4953
      Leigh Stoller authored
      1. Fix for deleting profiles from image deletion; failing to find all
         the profiles to delete.
      
      2. More wording changes.
      
      3. List profile versions and links to them.
      b21f4953
  9. 09 Mar, 2017 1 commit
  10. 02 Mar, 2017 1 commit
  11. 01 Mar, 2017 2 commits
    • Leigh Stoller's avatar
      More work on deleting profiles/images; when deleting an entire profile · 7a07826e
      Leigh Stoller authored
      all at once, we want to delete the naked images so that all versions of
      the image get deleted.
      
      Here is where things get tricky; our only record of where the image
      lives and hat versions exist is at the cluster or in the source. But
      if the source is not using a version then we have no record of it and
      do not know what cluster to delete from. This is problem on the Cloudlab
      portal not the Emulab portal, we can handle that (although I do not
      yet).
      
      Still working on this, but its a little better and of course images can
      be deleted on the image management page which asks for a complete list
      of all images.
      7a07826e
    • Leigh Stoller's avatar
      Backend web support for deleting profile versions, and tracking/deleting · 0040bd2f
      Leigh Stoller authored
      image versions at the clusters.
      0040bd2f