1. 08 Feb, 2019 1 commit
    • Leigh B Stoller's avatar
      Another set of changes for new geni-lib parameters. · 59259db3
      Leigh B Stoller authored
      * Use an emulabfeature to control what projects use the new ppwizard and
        geni-lib code. The feature is applied to the profile's project, since
        who is instantiating and what project it is instantiated into, does
        not really matter, the incompatible changes are also associated with
        the profile.
      
      * Run both versions of the ppwizard side by side, and flip between them
        when the user is using the profile picker.
      
      * The new version of geni-lib is /usr/testbed/opsdir/lib/geni-lib.new,
        we tell the genilab jail to use that directory when on the new path.
      
      * All of this is temporary.
      59259db3
  2. 30 Nov, 2018 1 commit
  3. 25 Oct, 2018 1 commit
  4. 13 Aug, 2018 1 commit
  5. 20 Apr, 2018 1 commit
  6. 30 Nov, 2017 1 commit
  7. 19 Nov, 2017 1 commit
  8. 24 Oct, 2017 1 commit
  9. 04 Oct, 2017 1 commit
  10. 08 Aug, 2017 2 commits
  11. 07 Jul, 2017 1 commit
  12. 06 Jul, 2017 1 commit
  13. 25 Apr, 2017 1 commit
  14. 24 Apr, 2017 1 commit
    • Leigh B Stoller's avatar
      Several changes: · 195fa852
      Leigh B Stoller authored
      1. Encapsulate rspec2genilib in a library function.
      
      2. Add a "check" option UpdateDiskImage() to see if any changes are
         actually going to be made so that we do not create a new version of a
         profile that is identical to the previous version.
      
      3. Do not ever create a new version of a script based profile since we
         can never change the script (after a disk snapshot). Unless it is a
         portal converted script, we can do that by changing the rspec and
         then generating a new script.
      195fa852
  15. 17 Apr, 2017 1 commit
    • Leigh B Stoller's avatar
      rspecs are so passe ... · 7c38809d
      Leigh B Stoller authored
      Redo the rspectogenilib converter with the goal of supporting both
      translation *and* regression testing. A new library is responsible for
      taking the output of libXML and creating a data structure representing
      the rspec. While this is being done, we look for any constructs or
      attributes we cannot handle with geni-lib and report that as an error;
      we are not going to convert an rspec unless we can do it correctly. and
      completely.
      
      Regression testing is done with another part of this library, that knows
      how to compare each element of two rspecs. Basically start at the root
      and compare all the way down, failing if the two "parses" of the XML are
      not equal at any level.
      
      rspectogenilib now has an option that does regression testing by running
      the new geni-lib and comparing the resulting rspec against the original.
      
      On the UI side, there is a new button on existing rspec based
      profiles (currently only for admin and studs) called "Convert to
      geni-lib" that runs the converter to convert the profile to geni-lib.
      The user does not have to accept the new script of course.
      
      However, a converted profile is marked in the database, and the user can
      still use Jacks on it, we just run rspectogenilib geni-lib again on the
      new rspec. If the user edits the geni-lib, we switch back to normal
      geni-lib (clear the flag) when the new version is saved, and Jacks is
      once again read-only. This is explained in the UI, and is one of the
      things people need to give comment on.
      
      There is also a mode on the Create Profile page for converting new rspec
      based profiles to geni-lib, but that is fully turned off for now, we can
      get to that later.
      7c38809d
  16. 03 Apr, 2017 2 commits
  17. 30 Mar, 2017 1 commit
    • Jonathon Duerig's avatar
      New genilib-editor refactoring. Various bugfixes. · f673e2f8
      Jonathon Duerig authored
      Fix error-handling errors.
      Make the waitwait modal non-dismissable everywhere.
      The new genilib-editor is now a kind of mega-modal which can live in both the show-profile and modify_profile pages. It is read-only in the former case and read/writable in the latter.
      
      All of the form-submitting stuff that recent ajaxification broke has been stripped out. It is now a pure editor that notifies the surrounding page of changes when you click on 'accept'.
      f673e2f8
  18. 27 Mar, 2017 1 commit
  19. 24 Mar, 2017 1 commit
  20. 20 Mar, 2017 2 commits
    • Leigh B Stoller's avatar
      fd7da9e8
    • Leigh B Stoller's avatar
      Support for push webhooks for repo-based profiles: · 10e12b53
      Leigh B Stoller authored
      We are running another apache server on boss, on port 51369, which
      invokes a backend perl script that maps the URL path argument to the
      profile, and then calls out to manage_profile to pull from the
      repository and update the profile to reflect the new HEAD branch.
      Using mod_rewrite in the apache config to restrict URLs to exactly
      the one URL that is accepted, modulo the value of the secret token.
      
      I had to refactor a bunch of code in manage_profile to make it easier to
      add a new entrypoint for modification from a git repo. This needed to be
      done for a long time, I had never cleaned up the original profile
      creation code.
      
      On the edit profile web page, there is a new row in the Repository panel
      providing the Push URL, and an explanatory help modal.
      
      There is a new slow polling timer that looks for a change to the repo
      hash and causes the web page to update in place from the repo, as when a
      push hook is invoked and changes the repo.
      10e12b53
  21. 14 Mar, 2017 1 commit
  22. 09 Mar, 2017 1 commit
  23. 01 Mar, 2017 4 commits
  24. 03 Feb, 2017 2 commits
  25. 25 Jan, 2017 1 commit
  26. 06 Jan, 2017 1 commit
  27. 05 Jan, 2017 1 commit
  28. 29 Dec, 2016 2 commits
  29. 28 Dec, 2016 1 commit
  30. 29 Aug, 2016 1 commit
  31. 28 Apr, 2016 1 commit
  32. 26 Mar, 2016 1 commit