1. 10 Sep, 2018 3 commits
    • Jérome Perrin's avatar
      erp5: Rework testrunner's HTTP server · 2a457867
      Jérome Perrin authored
      We don't want runUnitTest is to listen on 127.0.0.1, as it is not
      allowed for SlapOS instances, runUnitTest wrapper is extended to include
      `--zserver` with a pre-assigned ip:port.
      
      runTestSuite starts several test in parrallel (controlled by
      `--node_quantity` argument, which is passed by erp5testnode), so we need
      to make sure that we provide it with enough ip:port. For this, we
      extended runTestSuite with a `--zserver_address_list` argument and we
      generate a wrapper with a list of `testrunner.node-count` pre-assigned
      ip:ports.
      
      Because zelenium tests needs to access this zserver over a secure origin
      (otherwise modern browser features such as service worker are not
      available), use an https proxy in the apache from the balancer
      partition.
      
      runUnitTest and runTestSuite have been extended with resp.
      `--zserver_frontend_url` and `--zserver_frontend_url_list` arguments and
      the URLs published by the balancer paritions are set in the wrappers.
      For compatibility reasons, runTestSuite pass parameters as environment
      variables.
      
      Implementation notes:
      
      This introduces a circular depencency, balancer partition needs to know
      the address of the testrunners and zope partitions needs to know the
      URLs of the corresponding http proxies on the apache. This is is handled
      by `slapos.recipe:publish-early`:
      
       1. request zope family with an empty `test-runner-apache-url-list`.
          zope is instanciated a first time.
          zope returns `test-runner-address-list` ( a list of (host, port)
          tuples )
       2. request balancer with `test-runner-address-list`
          balancer is instanciated.
          balancer returns `{{ family_name }}-test-runner-url-list` ( a list
          of apache URLs ), which are published in the root partition.
       3. zope family is re-requested with
          updated`test-runner-apache-url-list` information
      
      instance-erp5.cfg.in template was also reorganised to move
      `[publish-early]` next to `[publish]` at the bottom of the file because
      these sections are semantically related.
      Also test runner generation is moved after zope generation, because we
      want to allocate test runners ports after zopes, otherwise existing
      zopes would get new ports when existing instances are upgraded.
      2a457867
    • Jérome Perrin's avatar
      erp5: new `test-runner` instance parameter · e4d1ea03
      Jérome Perrin authored
      We have new parameters "how many parallel tests this instance can run"
      ( test-runner.node-count ) and "how many supplementary databases each
      test needs" ( test-runner.extra-database-count ).
      
      Instead of configuring "I need a total of 15 databases", we configure "I
      need to be able to run 3 tests in parallel, each test requiring 4 extra
      databases" which generates 3 * (4 +1) databases.
      
      `mariadb.test-database-amount` becomes deprecated in favour of these new
      arguments, but compatibility is preserved.
      e4d1ea03
    • Xiaowu Zhang's avatar
      2c3e7dac
  2. 07 Sep, 2018 1 commit
  3. 06 Sep, 2018 3 commits
  4. 05 Sep, 2018 1 commit
  5. 03 Sep, 2018 1 commit
  6. 31 Aug, 2018 1 commit
  7. 30 Aug, 2018 9 commits
  8. 29 Aug, 2018 3 commits
  9. 27 Aug, 2018 1 commit
  10. 22 Aug, 2018 1 commit
  11. 14 Aug, 2018 1 commit
  12. 13 Aug, 2018 1 commit
  13. 10 Aug, 2018 1 commit
  14. 31 Jul, 2018 3 commits
  15. 30 Jul, 2018 2 commits
  16. 27 Jul, 2018 1 commit
  17. 24 Jul, 2018 2 commits
  18. 18 Jul, 2018 2 commits
  19. 17 Jul, 2018 1 commit
  20. 06 Jul, 2018 1 commit
  21. 29 Jun, 2018 1 commit
    • Vincent Pelletier's avatar
      Stop using erp5 test recipe · 1436c63b
      Vincent Pelletier authored
      The goal is to drop slapos.cookbook:erp5.test
      
      No need for a recipe to do a bit of url parsing and generating 2 wrappers.
      Also, drop unused & empty "host-common" section.
      
      - stack/erp5: Add path to all binary links in PATH
      - stack/erp5: Add single quotation marks to not break parameters in many lines
      - stack/erp5: Fix path to avoid one section to overwrite the file from another section
      - stack/erp5: pass cloudooo host instead of the IP address. The IP address and cloudooo hostname are well in $SLAPPART/etc/hosts
      - stack/erp5: Use use-ipv6 instance parameter to control where caucased listens when locally deployed.
        Drop incomplete 6tunnel usage on balancer toward zopes.
      
      Tests are somehow happy test_result_module/20180626-62AD32BB test_result_module/20180626-70AC16FA
      
      If no objections I would like to merge tomorrow but feel free to press merge for me :)
      
      The goal is rebase !318 to fix the conflict and merge after tomorrow.
      
      /cc @rafael @vpelletier 
      
      /reviewed-on !347
      1436c63b