1. 16 Nov, 2020 3 commits
    • Jérome Perrin's avatar
      grid/utils: set PYTHONNOUSERSITE · 8c1a4892
      Jérome Perrin authored
      When PYTHONNOUSERSITE environemnt variable is set, python does not load user
      site.
      User site packages may contain a different version of buildout, which would
      be selected when slapos runs buildout, causing unexpected behaviours.
      8c1a4892
    • Jérome Perrin's avatar
      test_slapgrid: check that $HOME is set when processing partition · fe539da3
      Jérome Perrin authored
      Some buildout profiles are expecting this.
      fe539da3
    • Jérome Perrin's avatar
      grid/utils: minor cleanups · 7dbf0ba4
      Jérome Perrin authored
       - Use dict.items() to iterate on dict, instead of dict.keys() then dict[key]
       - don't use six.iterkeys(), this dict is small, so we don't need iterkeys()
         on python2 and can already write python3 version
       - don't % string when invoking logger, logging framework do it for us and do
         it only if message will be logged.
      7dbf0ba4
  2. 12 Nov, 2020 3 commits
  3. 10 Nov, 2020 2 commits
  4. 09 Nov, 2020 2 commits
    • Rafael Monnerat's avatar
      slapos_erp5: Basic Disaster recovery scripts · f2b9d9ec
      Rafael Monnerat authored
          This helps sync ZODB and mariadb (considering mariadb is newer). This is useful when restore a clone or synchronize after restore the mariadb catalog.
      
         The most appropriated way is reindex the site, however in case of slapos master (with large amount of data) it is too long (make this solution more appealing.
      f2b9d9ec
    • Rafael Monnerat's avatar
      slapos_accounting: Converge if Open Order Line is invalidated · c2f4d12f
      Rafael Monnerat authored
         If the Destroyed Hosting subscription is only present on Invalidated Open Orders, we just skip and converge the Hosting Subscription.
      
        This means the user deleted everything he had at once, too fast, before everything get processed.
      c2f4d12f
  5. 05 Nov, 2020 4 commits
  6. 04 Nov, 2020 10 commits
  7. 23 Oct, 2020 4 commits
  8. 20 Oct, 2020 3 commits
  9. 19 Oct, 2020 3 commits
  10. 13 Oct, 2020 2 commits
    • Rafael Monnerat's avatar
      slapos_jio: update panel for extending helplist · c2d7c494
      Rafael Monnerat authored
      See merge request nexedi/slapos.core!255
      c2d7c494
    • Jérome Perrin's avatar
      cli: fish shell completions · d141a32a
      Jérome Perrin authored
      cliff complete command only supports bash, but fish offers much more user friendly
      completions.
      
      cliff uses a pluggable system, but this where new shell completions can be registered,
      but the plugin (CompleteFish) can not access the command manager to get more
      details about options, since fish can also show help of suggestion, we want to
      access the help of each option to show this during suggestions.
      Also we want to make some more clever suggestions (for example slapos node start complete
      with services identifiers).
      For these reasons we need to register a command to replace the default complete command
      and can not achieve this with simply a cliff.formatter.completion entry point.
      
      This can be installed with:
      
          slapos complete > ~/.bash_completion.d/slapos
          slapos complete --shell fish > ~/.config/fish/completions/slapos.fish
      d141a32a
  11. 12 Oct, 2020 1 commit
  12. 08 Oct, 2020 3 commits
    • Łukasz Nowak's avatar
      slapos_web_deploy: Use shacache source · 51971a3f
      Łukasz Nowak authored
      github.com might be not available in many places.
      51971a3f
    • Jérome Perrin's avatar
      testing/testcase: run `slapos node report` at least 3 times · 846a829e
      Jérome Perrin authored
      In a scenario of an instance with child instances which does not properly
      support destruction, a scenario like this happens:
      
       1. first report detect that it's destroying a root partition but child
      partitions are still started and request destruction of these child instances
       2. child partitions are destroyed
       3. root partition is destroyed
      
      For this case we need to run 3 times
      846a829e
    • Jérome Perrin's avatar
      proxy: support partitions destruction · a58c14b0
      Jérome Perrin authored
      So far implementation of slapos proxy was incomplete regarding partition destructions:
      A partition requested as destroyed was properly destroyed "physically", files were
      removed from filesystem, services were removed from supervisor, but the partition was
      still marked as busy in proxy database, so it was never re-used in subsequent requests.
      
      To solve this, implement the destroyedComputerPartition endpoint to mark the partition
      as free.
      
      This is straightworfard for root partitions, but the cases of child partitions was a bit
      more tricky, especially because software releases usually does not implement properly
      the chain of deletion (it seems this is not properly implemted with softwaretype, only
      with switch_softwaretype) and generally because we don't want to leave orpheans partitions.
      
      In the case of ERP5 implementation of SlapOS master we have an alarm which garbage
      collect in these cases, so we implement something to reach similar goals. We refuse freeing
      a partition while their child paritions are not freed - and we request deletion of these
      partitions so that they are deleted on next slapos node report run. Then after a few runs,
      the whole partition tree will be completely destroyed and freed, even for software which
      does not implement deletion properly.
      a58c14b0