1. 17 Sep, 2018 1 commit
  2. 14 Sep, 2018 5 commits
  3. 13 Sep, 2018 6 commits
  4. 12 Sep, 2018 8 commits
  5. 11 Sep, 2018 2 commits
  6. 10 Sep, 2018 6 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
    • Jérome Perrin's avatar
      component/apache: fix documentation of backend template · 7d63b3e6
      Jérome Perrin authored
      `enable_authentication` parameter of `backend-list`
      was not documented.
      7d63b3e6
    • Jérome Perrin's avatar
      8a8379f0
    • 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
  7. 07 Sep, 2018 4 commits
  8. 06 Sep, 2018 8 commits
    • Jérome Perrin's avatar
      changelog entry for removed recipes · 1edcb61a
      Jérome Perrin authored
      1edcb61a
    • Jérome Perrin's avatar
      recipe: drop slapos.recipe:seleniumrunner · 4514c00d
      Jérome Perrin authored
      We use jstestnode
      4514c00d
    • Jérome Perrin's avatar
      recipe: drop slapos.recipe:xvfb · 26ecb4d2
      Jérome Perrin authored
      Using slapos.cookbook:wrappper is easier
      26ecb4d2
    • Jérome Perrin's avatar
      recipe: drop slapos.recipe:firefox · 15b713f3
      Jérome Perrin authored
      was dead code
      15b713f3
    • Jérome Perrin's avatar
      software/seleniumrunner: remove unused instance · 67490110
      Jérome Perrin authored
      For now, we are just using this software to install firefox and xvfb,
      but the instance is never used, we use jstestnode instead.
      67490110
    • Jérome Perrin's avatar
      jstestnode: use XORG_LOCK_DIR · 97c3a8e6
      Jérome Perrin authored
      replace slapos.recipe:xvfb by a simple wrapper
      97c3a8e6
    • Jérome Perrin's avatar
      software/cloudooo: use XORG_LOCK_DIR · 1e0fbe66
      Jérome Perrin authored
      and stop using xvfb recipe in favour of a simple wrapper
      1e0fbe66
    • Jérome Perrin's avatar
      component/xorg: update patch to place lockfile/sockets in $XORG_LOCK_DIR · b3711a6c
      Jérome Perrin authored
      Update the patch not to use $TMPDIR, but to use an environment variable
      dedicated for this purpose, because $TMPDIR has a different meaning.
      
      With firefox 60, running `TMPDIR=/same/tmpdir/as/xvfb firefox --marionette` no
      longer work and complains:
      
       Gtk-WARNING **: cannot open display: :0
      
      If we investigate with strace we can see that marionette restarts with a
      different $TMPDIR ( to store temporary files in another directory ) and we can see:
      
       connect(15, {sa_family=AF_UNIX, sun_path=@"/srv/slapgrid/slappart8/tmp/inst/TestRemoteDriver-0/tmp/Temp-0336e727-3485-4774-a816-75fda1baca12/.X11-unix"}, 113) = -1 EINVAL (Invalid argument)
       write(2, "\n(/srv/slapgrid/slappart8/tmp/soft/c5be5b0096cd286c70df5156590cf4f6/parts/firefox-60/firefox:29812): Gtk-\33[1;33mWARNING\33[0m **: cannot open display: :0\n", 152) = 152
      
      To prevent this kind of problems, instead of using TMPDIR, use
      a new dedicated environment variable XORG_LOCK_DIR.
      
      No backward compatibility is provided, the profiles will be updated. In the
      worst cases, non updated profiles will use /tmp/ and will work unless $DISPLAY
      conflicts.
      b3711a6c