1. 18 Feb, 2019 1 commit
    • Alain Takoudjou's avatar
      plugin recipe: improve recipe to correctly generate promise which has complex parameters · b53ba563
      Alain Takoudjou authored
      
      Use json.dumps/.loads to generate promise plugin code. This is safe as it will correctly escape sring and prevent code injection from untrustable parameters.
      
      Add 'import' parameter to simplify parameters used to generate the script instead of passing full import code. When import parameter is set, promise will be loaded from that import path and parameter `content` is ignored.
      
      /reviewed-on !515
      b53ba563
  2. 15 Feb, 2019 3 commits
  3. 14 Feb, 2019 2 commits
  4. 10 Feb, 2019 2 commits
  5. 08 Feb, 2019 4 commits
    • Guillaume Hervier's avatar
      software/kvm: Add buildout.hash.cfg and refactor software sections. · 1707af40
      Guillaume Hervier authored
      - Add `buildout.hash.cfg` file so this way we can use the useful `update-hash` script
      - Refactor a bit the `software.cfg` file sections as it was repeating itself
      
      /reviewed-on nexedi/slapos!512
      1707af40
    • Ł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
  6. 07 Feb, 2019 2 commits
  7. 06 Feb, 2019 1 commit
  8. 05 Feb, 2019 6 commits
  9. 30 Jan, 2019 1 commit
  10. 29 Jan, 2019 3 commits
  11. 24 Jan, 2019 1 commit
  12. 23 Jan, 2019 1 commit
  13. 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
  14. 21 Jan, 2019 1 commit
  15. 18 Jan, 2019 1 commit
  16. 17 Jan, 2019 1 commit
  17. 16 Jan, 2019 1 commit