1. 08 Feb, 2019 3 commits
    • Łukasz Nowak's avatar
      caddy-frontend: Test try_duration and try_interval · 26900109
      Łukasz Nowak authored
      Extend the backend with Timeout configuration via headers and use it
      to prove, that request taking more than try_duration is correctly served.
      
      Also prove that try_duration and try_interval are correct passed to the slave
      configuration.
      26900109
    • Łukasz Nowak's avatar
      caddy-frontend: Fix random 502 EOFs by adding try_duration · 4f168972
      Łukasz Nowak authored
      try_duration and try_interval are Caddy proxy's switches which allow to deal
      with non working backend (https://caddyserver.com/docs/proxy)
      
      The non working backend is the one, to which connection is lost or was not
      possible to make, without sending any data.
      
      The default try_duration=5s and try_interval=250ms are chosen, so that in
      normal network conditions (with all possible problems in the network, like
      lost packets) the browser will have to wait up to 5 seconds to be informed
      that backend is inaccessible or for the request to start being processed,
      but only a bit more than 250ms if Caddy would have to reestablish connection
      to faulty backend.
      
      In order to check it out it is advisable to setup a system, with real backend,
      like apache one, and configure iptables to randomly reject packets to it:
      
        iptables -A INPUT -m statistic --mode random -p tcp --dport <backend_port> \
        --probability 0.05 -j REJECT --reject-with tcp-reset
      
      Using ab or any other tool will results with lot of 502 EOF in the Caddy error
      log and also reported by ab. With this configuration there are no more
      errors visible to the client, which come from the problems on the network
      between Caddy and the backend.
      4f168972
    • Łukasz Nowak's avatar
      caddy-frontend/test: Avoid checking command result during assertion · ee87b773
      Łukasz Nowak authored
      Assert itself "check_output" of given command, so provide simple
      subprocess_output with all possible information from the called command.
      ee87b773
  2. 07 Feb, 2019 2 commits
  3. 06 Feb, 2019 1 commit
  4. 05 Feb, 2019 6 commits
  5. 30 Jan, 2019 1 commit
  6. 29 Jan, 2019 3 commits
  7. 24 Jan, 2019 1 commit
  8. 23 Jan, 2019 1 commit
  9. 22 Jan, 2019 9 commits
    • Kirill Smelkov's avatar
      Go1.11 + fix helloweb + change helloweb-go to be done via gowork · 22ebf9fd
      Kirill Smelkov authored
      While helping @romain to review my current work we tried to build helloworld and found that it is completely broken.
      
      It was first minimally fixed to pin eggs and the like.
      
      Then I've added Go1.11 to our stack, so that recent-enough compiler/stdlib could be used. A note goes here that currently our lab uses go1.9 which is outdated and not supported by upstream, and other bits are still using go1.10.3 while go1.10.7 was already released some time ago with bug and security fixes. I did not touched neither  go1.10 / nor go1.9, but imho it makes sense for infrastructure people to look into appropriate upgrades.
      
      Finally component/helloweb/ is switched to use gowork infrastructure (see 1b540151 for gowork introduction). Today gowork is used to build eveything go-related, so building go bits manually via cmmi as example is  a bit misleading. Gowork is also required in case we'll need to use any third-party or our package a helloweb-go.
      
      /cc @luke, @alain.takoudjou
      /reviewed-by @jerome, @tomo
      /reviewed-on nexedi/slapos!505
      22ebf9fd
    • Jérome Perrin's avatar
      0f0a8b81
    • Jérome Perrin's avatar
      helloworld: minimal test · 8053e6a4
      Jérome Perrin authored
      8053e6a4
    • Kirill Smelkov's avatar
      helloweb: Switch to cloning helloweb.git via gowork infrastructure · 810505c4
      Kirill Smelkov authored
      - it is gowork that is now used by Go-related bits in SlapOS, so using
        gowork is preferred as example. Besides we need gowork to be able to
        use any third-party Go package.
      
      - other languages can use helloweb repository from under gowork/ tree as
        well.
      
      The hash of helloweb.git is changed, becuase its layout had to be too
      adjusted to match gowork mode:
      
      nexedi/helloweb@a072af78...8bfedac6
      810505c4
    • Kirill Smelkov's avatar
      helloweb: v↑ (a072af78) · 1642a8cf
      Kirill Smelkov authored
      To pick up Python3 support.
      
      nexedi/helloweb@39fd89a3...a072af78
      1642a8cf
    • Kirill Smelkov's avatar
      golang: v↑ to go1.11 · 36f105cd
      Kirill Smelkov authored
      Don't drop support for Go1.9, as, even though Go1.9 is no longer
      supported, software/gitlab depends on it.
      
      Our Go1.10.X is also too outdated, but I'm not touching it here neither.
      
      /cc @alain.takoudjou, @luke
      36f105cd
    • Kirill Smelkov's avatar
      helloworld: Fix build · af176b5b
      Kirill Smelkov authored
      	2019-01-21 17:56:18 slapos[13553] INFO While:
      	2019-01-21 17:56:18 slapos[13553] INFO   Installing.
      	2019-01-21 17:56:18 slapos[13553] INFO   Getting section instance-profile.
      	2019-01-21 17:56:18 slapos[13553] INFO   Initializing section instance-profile.
      	2019-01-21 17:56:18 slapos[13553] INFO   Installing recipe slapos.recipe.template.
      	2019-01-21 17:56:18 slapos[13553] INFO   Getting distribution for 'slapos.recipe.template'.
      	2019-01-21 17:56:18 slapos[13553] INFO Error: Picked: slapos.recipe.template = 4.3
      	2019-01-21 17:56:19 slapos[13553] ERROR Failed to run buildout profile in directory '/srv/slapgrid/slappart7/srv/runner/software/19771f7b751ffc2a88162b15750c6069'
      
      	2019-01-21 18:01:21 slapos[26771] INFO While:
      	2019-01-21 18:01:21 slapos[26771] INFO   Installing.
      	2019-01-21 18:01:21 slapos[26771] INFO   Getting section helloweb-ruby.
      	2019-01-21 18:01:21 slapos[26771] INFO   Initializing section helloweb-ruby.
      	2019-01-21 18:01:21 slapos[26771] INFO   Getting option helloweb-ruby:input.
      	2019-01-21 18:01:21 slapos[26771] INFO   Getting section helloweb-ruby-bundle.
      	2019-01-21 18:01:21 slapos[26771] INFO   Initializing section helloweb-ruby-bundle.
      	2019-01-21 18:01:21 slapos[26771] INFO   Getting option helloweb-ruby-bundle:make-targets.
      	2019-01-21 18:01:21 slapos[26771] INFO   Getting section bundler.
      	2019-01-21 18:01:21 slapos[26771] INFO   Initializing section bundler.
      	2019-01-21 18:01:21 slapos[26771] INFO   Installing recipe rubygemsrecipe.
      	2019-01-21 18:01:21 slapos[26771] INFO   Getting distribution for 'rubygemsrecipe'.
      	2019-01-21 18:01:21 slapos[26771] INFO Error: Picked: rubygemsrecipe = 0.2.2+slapos001
      
      Ruby stuff was failing to download at all -> let's use the versions that
      are the same as currently used in software/gitlab.
      
      Based on patch by @romain.
      Helped by @jerome.
      af176b5b
    • Jérome Perrin's avatar
      component/ruby: stick to openssl-1.0 for now · 8aab2045
      Jérome Perrin authored
      openss1.1 caused problems with bundler:
      
      Unable to require openssl, install OpenSSL and rebuild ruby (preferred)
      or use non-HTTPS sources
      8aab2045
    • Jérome Perrin's avatar
      77df500a
  10. 21 Jan, 2019 1 commit
  11. 18 Jan, 2019 1 commit
  12. 17 Jan, 2019 1 commit
  13. 16 Jan, 2019 4 commits
    • Łukasz Nowak's avatar
      seleniumserver: Be catch-all on the frontend · 00fa1f6c
      Łukasz Nowak authored
      The IP used by frontend can be different than the real endpoint, and unknown
      for the frontend itself, so make it catch-all to allow access.
      
      /reviewed-on !497
      00fa1f6c
    • Łukasz Nowak's avatar
      caddy-frontend: Correctly fix prefer-gzip-encoding-to-backend · c1595bae
      Łukasz Nowak authored
      Because of misleading tests (Accept-Encoding with gzip was always set by
      requests, fixed in "caddy-frontend/test: Workaround requests issue with
      Accept-Encoding") the original commit "Fix/caddy frontend prefer gzip type
      zope" did not really fixed the issue for type:zope backend.
      c1595bae
    • Łukasz Nowak's avatar
      caddy-frontend/test: Workaround requests issue with Accept-Encoding · 28b1abe9
      Łukasz Nowak authored
      requests set Accept-Encoding header, but in the testr environment we
      want to have full control over its behaviour, thus not setting any header if
      not really wanted.
      
      As there is not known way to avoid setting the header (skip_accept_encoding is
      internal to httplib) set dummy Accept-Encoding header, which is enough for our
      environment.
      28b1abe9
    • Jérome Perrin's avatar
      Updates on Selenium Server · 9d0de6e9
      Jérome Perrin authored
      Hopefully fix the random failure with:
      
      ```
      test_connect (test.TestSSHServer) ... /srv/slapgrid/slappart3/srv/testnode/byx/soft/a452c8ac557f7eaea3c20f6cc373c390/eggs/paramiko-2.4.2-py2.7.egg/paramiko/client.py:822: UserWarning: Unknown ecdsa-sha2-nistp521 host key for [2001:67c:1254:e:4a::7bd5]:22222: 22c41f5090433152d1e5395a85d6cb4f
        key.get_name(), hostname, hexlify(key.get_fingerprint())
      FAIL
      
      ======================================================================
      FAIL: test_connect (test.TestSSHServer)
      ----------------------------------------------------------------------
      Traceback (most recent call last):
        File "/srv/slapgrid/slappart3/srv/testnode/byx/soft/a452c8ac557f7eaea3c20f6cc373c390/parts/slapos-repository/software/seleniumserver/test/test.py", line 357, in test_connect
          self.assertIn("Welcome to SlapOS Selenium Server.", channel.recv(100))
      AssertionError: 'Welcome to SlapOS Selenium Server.' not found in 'Attempt to write login records by non-root user (aborting)\r\r\n'
      
      ----------------------------------------------------------------------
      ```
      
      Also publish the fingerprint of the server ssh key, which addresses this warning in the correct way (I feel) and since we can publish the fingerprint, why not.
      
      /reviewed-on nexedi/slapos!492
      9d0de6e9
  14. 14 Jan, 2019 1 commit
  15. 11 Jan, 2019 5 commits