1. 23 Oct, 2017 8 commits
    • Kirill Smelkov's avatar
      lmbench: New component to measure many performance characteristics · 88f70453
      Kirill Smelkov authored
      lmbench is a bit outdated tool to do OS performance analysis. The
      upcoming neotest SR will use lat_tcp from this packages to measure TCP
      round-trip-time latency.
      
      We use a bit patched version with fixes to lat_tcp for errors not to go
      unnoticed and also lat_tcp.go added to see how using Go compares to
      plain lat_tcp.c for latencies.
      
      In the upcoming neotest SR both lat_tcp C & Go versions will be used to
      automatically benchmark TCP round-trip-times over network link in between
      2 machines.
      88f70453
    • Kirill Smelkov's avatar
      ioping: New component to measure disk IO latency · 35a58508
      Kirill Smelkov authored
      This tool can be used to measure disk IO latency for various workloads
      (random read, sequential read, direct or cached, write, ...).
      
      We use a bit patched version shows not only avg latency but also its
      distribution. (the patches are currently dirty/not very robust and not
      yet sent to upstream).
      
      In the upcoming neotest SR ioping will be used to automatically
      benchmark underlying disk characteristics.
      35a58508
    • Kirill Smelkov's avatar
      ethtool: New component to query and control NICs driver and hardware settings · a79c0856
      Kirill Smelkov authored
      ethtool can be used to adjust NIC settings, such as e.g. interrupt
      coalescing and various others. It usually requires root to do so.
      
      However regular users can query NIC settings via ethtool just ok.
      
      This way upcoming neotest SR will use it to query/display NIC setting
      which are essential to get good networked latency and automatically
      produce warnings if it is not.
      a79c0856
    • Kirill Smelkov's avatar
      v↑ zodbtools (0.0.0.dev4) · 9b5d8262
      Kirill Smelkov authored
      Starting from this version zodbtools requires zodburi to open ZODB
      storages by URL (see nexedi/zodbtools@db3b84ec
      and nexedi/zodbtools@82b06413)
      
      zodburi in turn requires ZEO (maybe we might patch it to only optionally
      depend on it), so we move ZEO requirement from stack/ERP5 to the place
      where it is actually first needed.
      9b5d8262
    • Kirill Smelkov's avatar
      golang: Infrastructure to build Go workspaces / projects · 1b540151
      Kirill Smelkov authored
      In Go world development workflow is organized around so-called workspace
      where multiple packages can be installed / worked on etc. The following
      page describes Go workspaces:
      
      https://golang.org/doc/code.html
      
      A new [gowork] section and infrastructure around it is introduced.
      Quoting code:
      
          # gowork is a top-level section representing workspace
          #
          # users should add `install` field to [gowork] to describe packages they want to
          # be installed (+ automatically their dependencies are installed too). e.g.
          #
          #   [gowork]
          #   install =
          #       lab.nexedi.com/kirr/neo/go/...  \
          #       github.com/pkg/profile          \
          #       golang.org/x/perf/cmd/benchstat
      
      The way it all works inside is:
      
      - gowork organizes to create go.work/ directory in buildout root
      - inside it creates env.sh which when sources in shell adjusts all paths
        so that appropriate go compiler is in path, GOPATH is also set
        appropriately, etc - in other words everything needs for using/working
        on this workspace is setup in the environment.
      - in actual user software profile the list of Go projects which needs to
        be installed by SlapOS has to be listed. The [gowork] machinery takes
        care about git-cloning these projects and `go install`s them after.
      - by SlapOS design builds have to be reproducible and so every component
        state/version has to be fixed.
      
        A convenient helper (gowork-snapshot) to get snapshot of git go
        packages installed with their exact revisions is added. This should be
        used to automatically (re-)generate list of go git repositories &
        their pinning for a workspace.
      
      For a new Go project that needs to be slaposified the workflow should be:
      
      - first get a project into working state via any convenient way (`go get`, etc.)
      - generate list of go packages & their pinning with gowork-snapshot
      - extend golang/buildout.cfg and in project software profile add
      
      	[gowork]
        	install = your-top-level-packages
      
        as it was outlined above.
      
      P.S.
      
      [golang] is removed because
      
      1. it is not used anywhere in slapos.git tree, and
      2. the canonical way to work on go projects from now on will be to use
         [gowork]. There latest go version is preconfigured, but users can
         override it to some particular other version in their projects as they
         need.
      
      /reviewed-on	 !242
      /also-needed-for !243
      1b540151
    • Rafael Monnerat's avatar
      Revert "Caddy 0.1" · 4e24a566
      Rafael Monnerat authored
      This reverts merge request !243
      4e24a566
    • Eteri's avatar
      Caddy 0.1 · 471bcbee
      Eteri authored
      The first proof of concept  of Caddy in Slapos. 
      
      For now, everything is inside software/caddy but in the next merge request we will move to stack. 
      
      @rafael @romain 
      
      
      /reviewed-on !243
      471bcbee
    • eteri's avatar
      8121bc33
  2. 20 Oct, 2017 12 commits
  3. 19 Oct, 2017 1 commit
  4. 18 Oct, 2017 2 commits
  5. 17 Oct, 2017 4 commits
  6. 13 Oct, 2017 7 commits
  7. 12 Oct, 2017 5 commits
  8. 11 Oct, 2017 1 commit