An error occurred fetching the project authors.
  1. 19 Nov, 2024 1 commit
  2. 11 Jun, 2024 2 commits
  3. 10 May, 2024 1 commit
  4. 21 Mar, 2024 1 commit
    • Jérome Perrin's avatar
      software/erp5: add control for PYTHONHASHSEED · 774d2fcb
      Jérome Perrin authored
      See https://docs.python.org/3/using/cmdline.html#envvar-PYTHONHASHSEED
      
      Setting a value will set the environment variable for all zope processes
      and for the test runner.
      
      Default behavior is:
        - for zope: do not set the variable, so default python behavior will
        be used ( equivalent to setting `0` on python2 and `random` on python3)
        - for test runner: generate a random value for each execution and
        print it, to make it easy to re-run a failing test with the same seed.
      
      This means that ERP5 tests will likely reveal problems where code
      depends on python2 behavior of deterministic hashing. To keep previous
      behavior (and hide these problems), it's possible to set
      python-hash-seed to 0 in test suite parameters.
      774d2fcb
  5. 16 Feb, 2024 1 commit
    • Jérome Perrin's avatar
      stack/erp5: use caucase managed certificate for balancer · d49914a6
      Jérome Perrin authored
      This reverts commit 620c9332 (stack/erp5: stop using caucase managed
      certificate for balancer, 2020-11-10) with an updated design. We add a
      caucase service for balancer in the balancer partition. The caucase
      service from the root partition (that was not used) is removed.
      
      The underlying idea is that the default configuration should use multiple
      caucases with limited scope, here we have one caucase to manage the
      certificate used by haproxy server in the balancer partition, so we put
      one caucase to manage this certificate and the caucase is configured to
      auto-accept one certificate only. The plan is that when we will add a
      certificate for mariadb server, we'll add another caucase inside this
      mariadb server.
      
      For more advanced usage and also to support the cases where a new
      certificate needs to be re-emitted for some reason, users can request
      with an existing caucase URL. In that case, they will have to accept
      the certificate requests.
      
      Notable changes:
      
      balancer/ssl/caucase-url is no longer documented in parameters, this is
      an internal parameter, users can pass one global caucase service to
      manage all partition
      
      CAUCASE environment variable is no longer set when running zope. There
      was no identified use case and with this new approach of multiple
      caucases, the term "caucase" alone became ambiguous.
      d49914a6
  6. 22 Jan, 2024 1 commit
  7. 11 Jan, 2024 1 commit
  8. 12 Dec, 2023 1 commit
  9. 13 Oct, 2023 1 commit
    • Jérome Perrin's avatar
      stack/erp5: set $PYTHONUNBUFFERED for zope · d7391f8e
      Jérome Perrin authored
      stdout/stderr is sent to supervisor and we don't want buffering the
      output in that case, because it introduces a delay in the output and
      break the usage of `slapos node supervisorctl fg` to re-attach the
      process and use pdb
      d7391f8e
  10. 18 May, 2023 1 commit
    • Jérome Perrin's avatar
      software/erp5: fix rotation of $ZOPE/var/log/neostorage-0.log · 8eb1881c
      Jérome Perrin authored
      log files used by neo storage are not text files, they are sqlite
      databases, so we can not use copytruncate because it leaves a broken
      database. For neo, we have to go back to sending a SIGUSR1 signal to
      tell neo client to reopen log files. This depends on neo registering
      a signal handler, which is done in [1]. It depends on ZServer, so this
      approach will probably have to be adjusted when running on python3
      because the current plan is that we don't have ZServer installed on
      python3.
      
      This depends on a recent erp5.git where runwsgi understands --pidfile
      argument.
      
      1: https://lab.nexedi.com/nexedi/neoppod/blob/fd87e153/neo/client/app.py#L58
      8eb1881c
  11. 05 Mar, 2023 5 commits
  12. 16 Feb, 2023 1 commit
  13. 12 Jan, 2023 1 commit
    • Jérome Perrin's avatar
      stack/erp5: also use backup cloudooo by default · a729a677
      Jérome Perrin authored
      We have two public cloudooo instances, https:///cloudooo.erp5.net/ and
      https://cloudooo1.erp5.net/ but the software release uses only the first
      one. This changes to use both instances by default, in a random order.
      This happens for the ERP5 instance and also for the test runner.
      
      This also includes a breaking change: the parameter is renamed from
      `cloudooo-url` into `cloudooo-url-list` and instead of being a coma
      delimited list of URLs, this is now a proper list of URLs.
      
      Some obsolete code and comments about the old `erp5-cloudooo` partition
      that used to part of ERP5 software release have also been removed.
      
      On testing side, ZopeSkinsMixin._setUpClass is changed be made more
      robust, by waiting that all activities are processed and using a new
      xmlrpc client in every iteration ( to prevent issues like the one from
      https://erp5js.nexedi.net/#/test_result_module/20230107-548523A7/10 )
      a729a677
  14. 18 Aug, 2022 1 commit
  15. 29 Apr, 2022 1 commit
  16. 28 Apr, 2022 1 commit
  17. 07 Feb, 2022 2 commits
  18. 11 Jan, 2022 2 commits
    • Jérome Perrin's avatar
      software/erp5: start TimerService from zopewsgi · c2411bca
      Jérome Perrin authored
      With ERP5 commit nexedi/erp5!1529
      timerserver is started from wsgi startup script and the config in zope.conf
      only applies to the medusa/ZServer mode.
      c2411bca
    • Jérome Perrin's avatar
      component/userhosts: use github.com/figiel/hosts for compatibility with recent libc · b1acdb0a
      Jérome Perrin authored
      In ubuntu 21.04 (libc6 2.33-0ubuntu5) or current debian testing
      (libc6 2.32-5) no longer use open to open /etc/hosts, but what appears
      as "openat" in strace output - but can not be replaced by defining an
      openat function.
      
      This uses https://github.com/figiel/hosts which uses another approach
      of replacing getaddrinfo, gethostbyname* and inet_aton.
      
      Users have been updated a bit, because there are some small differences:
       - the /etc/hosts replacement file is defined by HOSTS_FILE environment
         variable, not HOSTS
       - the library name is libuserhosts.so, not userhosts.so
      
      Other notable differences, for which we did not need code change are:
       - the new library also try to load a file when HOSTS_FILE is not set
       - the new library still use original /etc/hosts file
       - the new library supports aliases to hostnames, not only ip addresses
      b1acdb0a
  19. 01 Dec, 2021 1 commit
    • Jérome Perrin's avatar
      stack/erp5: expose random_activity_priority argument of testrunner · 0b7511b4
      Jérome Perrin authored
      By setting this in the test suite configuration, we can force ERP5 tests
      to use random priorities for activity processing.
      
      The intended usage is to set this to an empty string, in which case
      ERP5's runUnitTest chooses a random value for the seed and prints the
      chosen value. It may also be possible to use a value, to reproduce a
      previous run.
      0b7511b4
  20. 11 Oct, 2021 1 commit
  21. 29 Jun, 2021 1 commit
  22. 22 Jun, 2021 1 commit
  23. 15 Apr, 2021 1 commit
    • Kirill Smelkov's avatar
      stack/erp5 += WCFS service (technology preview) · 48b24182
      Kirill Smelkov authored
      This complements 7f877621 (Move wendelin.core from Wendelin to ERP5) and
      introduces new WCFS service into ERP5 software-release to support
      upcoming wendelin.core 2. Wendelin.core 2 will introduce new WCFS
      filesystem server component that serves in-ZODB arrays data as OS files
      for Zopes to memory-map. Please see the following links for overview of
      what WCFS is and how it interoperates with and serves Python clients:
      
      https://lab.nexedi.com/kirr/wendelin.core/blob/b5fc98bb/wcfs/wcfs.go#L20-247
      https://lab.nexedi.com/kirr/wendelin.core/blob/b5fc98bb/wcfs/client/wcfs.h#L20-96
      
      Implementation notes:
      
      - WCFS is by default disabled in ERP5 - we do not want to load every
        ERP5 user with it in the early days of wendelin.core 2. WCFS service
        will also not work when ERP5 is built with wendelin.core 1, so keeping
        it disabled by default is reasonable for now.
      
      - There is a duplication for instance-erp5.cfg.in in between stack/erp5/
        and software/slapos-master/ . It was negotiated with VIFIB developers
        to go this way instead of first deduplicating instance-erp5.cfg.in
        copying that was started in 87d13789 (slapos-master: Copy files from
        erp5 stack for local changes).
      
      To enable wcfs one can either pass `wcfs` configuration parameter, or
      add the following to a software-release that uses stack/erp5:
      
        [erp5-defaults]
        wcfs-enable-default = true
      
      /cc @rafael, @tomo
      48b24182
  24. 09 Mar, 2021 1 commit
  25. 08 Mar, 2021 2 commits
  26. 05 Jan, 2021 1 commit
  27. 21 Dec, 2020 2 commits
    • Jérome Perrin's avatar
      stack/erp5: new promise to check software release URL of zope instances · a8271791
      Jérome Perrin authored
      When root instance is updated to a new software release URL, it will re-request
      all the instances with the new software release URL.
      To make sure the new root instance does not appear has ready when it is
      re-requested with new software release URL, introduce a promise that will check
      that the instances requested by the root instance have the same software
      release URL. For now we do this only for Zope instances, because they are
      stateless and restart automatically on configuration changes, unlike stateful
      instances like mariadb or ZEO that we don't restart automatically (yet ?).
      a8271791
    • Jérome Perrin's avatar
      stack/erp5: restart zopes on configuration changes · 59745322
      Jérome Perrin authored
      We are using this pattern for most of our services since several
      months without any issue, so let's also use it for zopes. This
      makes automatic upgrade possible.
      
      Also remove "zope running current products" promise, since we
      restart we no longer need to check this.
      59745322
  28. 17 Dec, 2020 1 commit
  29. 29 Apr, 2020 1 commit
  30. 04 Mar, 2020 1 commit
  31. 04 Dec, 2019 1 commit