1. 24 Sep, 2018 1 commit
  2. 07 Aug, 2018 1 commit
  3. 31 Jul, 2018 1 commit
  4. 28 Jun, 2018 1 commit
    • BERJON Matthieu's avatar
      Bug fix: markdown renderer · 74bbf63a
      BERJON Matthieu authored
      The version of misaka used in development and in the docker container
      weren't the same, bringing a type error. I fixed by using the right
      syntax. The drawback of using an older version of misaka markdown
      renderer is the lack of extesion support for some common features such
      as footnotes and new syntax for links.
      Signed-off-by: BERJON Matthieu's avatarMatthieu Berjon <matthieu.berjon@inria.fr>
  5. 27 Jun, 2018 1 commit
    • BAIRE Anthony's avatar
      Stream job logs and job state updates to the user · 1bb4acf4
      BAIRE Anthony authored
      This commit makes several changes.
      In the controller:
      - duplicates the logs produced by the jobs. Initially they were only
        stored into allgo.log, now they are also forwarded to the container
        output (using the 'tee' command) so that the controller can read
      - add a log_task that reads the logs from docker and feeds them into
        the redis db key "log:job:<ID>" (this is implemented with aiohttp
        in order to be fully asynchronous)
      - store the job state in a new redis key "state:job:<ID>"
      - send notification to the redis pubsub 'notify:aio' channel when
        the job state has changed or when new logs are available
      In the allgo.aio frontend:
      - implement the /aio/jobs/<ID>/events endpoints which streams all
        job events & logs to the client (using json formatted messages)
      In django:
      - refactor the JobDetail view and template to update the page
        dynamically for job updates (state/logs)
          - allgo.log is read only when the job is already terminated.
            Otherwise the page uses the /aio/jobs/<ID>/events channel
            to stream the logs
          - the state icon is patched on the page when the state changes,
            except for the DONE state which triggers a full page reload
            (because there are other parts to be updated)
  6. 26 Jun, 2018 1 commit
    • BAIRE Anthony's avatar
      render the job status with a template filter · f87d9f4c
      BAIRE Anthony authored
      This makes much less code (and possibly less bugs!)
      Also I did two other changes:
      - removed the "result" field from the template and use the 'status'
        field instead. Actually the status is what we display to the user (the
        'state' and 'result' fields are internal to allgo).
        The status is the textual representation of:
        - the 'result' field if the job is terminated (success, error, timeout
          or aborted)
        - the 'state' field otherwise (new, waiting, running, aborting)
      - changed the colors of the waiting and timeout state
        - waiting:  orange -> yellow
        - timeout:  yellow -> orange
        The rationale is that 'waiting' is a more normal state than
        'timeout' (thus the timeout color should be closer to red)
      - introduce a separate icon for the 'aborting' state (orange fa-play)
  7. 31 May, 2018 1 commit
    • BERJON Matthieu's avatar
      Rewriting of the webapp list template · 4be25621
      BERJON Matthieu authored
      I rewrote the webapp list template. I changed the style completely using
      bootstrap cards.
      I added two specific template filters. One is dedicated to extract the
      first and last name of the contact email (can be done because inria and
      irisa email have coherent naming pattern). The other filter is to
      prettify some apps names such as replacing underscores by spaces.
      I removed as well the momentjs library call (that was commented) and use
      the Django builtin library called `humanize` that display that has a
      filter to display nice dates used in the template (such as relative
      Signed-off-by: BERJON Matthieu's avatarMatthieu Berjon <matthieu.berjon@inria.fr>
  8. 12 Apr, 2018 1 commit
  9. 10 Apr, 2018 1 commit
    • BERJON Matthieu's avatar
      Add of new template filters · 02059e7b
      BERJON Matthieu authored
      For coherence I renamed the markdown filter file in order to add some
      other converters if necessary. I added a htmlattrs filter file that can
      surcharge any type of html tag that would be generated by Django and
      avoid to modify the code in a view or a form with css or other needs.
      Every modification takes place in the template.
      Signed-off-by: BERJON Matthieu's avatarMatthieu Berjon <matthieu.berjon@inria.fr>
  10. 09 Apr, 2018 1 commit