An error occurred fetching the project authors.
  1. 30 Dec, 2016 1 commit
    • iv's avatar
      gitlab: fix PATH for gitlab-exporter script · dcfe9c5f
      iv authored
      In prevision for gitlab-backup restore to be done in a script. In fact, it requires `sed` command to be available.
      We have to add /bin to the PATH as `which sed` returns `/bin/sed`.
      dcfe9c5f
  2. 29 Dec, 2016 2 commits
    • iv's avatar
      gitlab: start automation of gitlab-backup · ae7b4120
      iv authored
        - git-clone and build git-backup sources
        - add a cron job doing `gitlab-backup-pull` every 4 hours by default
        - add instance parameter to change backup frequency
        - add xnice for using less resources while backuping
        - add lock to avoid concurrent calls of backup script
        - add a specific software type `gitlab-export` doing all this instead of in
          `default`; this can be changed in Services > parameters (kirr's changes)
      
      `coreutils`, `grep` and `tar` components are used by `gitlab-backup-pull`
      script, as it is called from a cron and the PATH has to include these
      binaries paths
      ae7b4120
    • iv's avatar
      gitlab: use slapos-cookbook-develop + pin slapos cookbook version · 25acc473
      iv authored
      This is needed until the patch regarding `pidfile` in wrapper.py
      (571d6514) is added to released SlapOS cookbook egg.
      25acc473
  3. 20 Oct, 2016 5 commits
    • iv's avatar
      gitlab: Update software to gitlab 8.8 · 0abde9c5
      iv authored
      Update GitLab software to
      
          - gitlab-ce 8.8.9 + NXD patches
      
          - gitlab-shell stays at 2.7.2 + 1 patch to remove unneeded hooks.old in *.git
            because gitlab-ce 8.7.x sticks to this version (i.e. no shell upgrade for
            gitlab 8.7 -> 8.8)
      
          - gitlab-workhorse stays at 0.7.1 + NXD patches because gitlab-ce 8.8.x
            sticks to this version (i.e. no workhorse upgrade for gitlab 8.7 -> 8.8)
      
      This only updates software and begins SR update to 8.8 - for now gitlab
      instance starts using gitlab-ce appropriate version.
      0abde9c5
    • iv's avatar
      gitlab: fix promise failure due to use of curl version 7.50 · eb2b7608
      iv authored
      it is no longer possible to use http:/ as curl now expect a hostname to be
      given, see curl issue https://github.com/curl/curl/issues/936
      eb2b7608
    • iv's avatar
      gitlab: Sync sidekiq service to upstream · ab578df5
      iv authored
      Like for af0c5b11
      
          $ git diff 8-7-stable 8-8-stable --
                  files/gitlab-cookbooks/gitlab/templates/default/sv-sidekiq-run.erb
      
      is empty.
      ab578df5
    • iv's avatar
      gitlab: Sync gitlab-parameters.cfg to upstream · de35c7da
      iv authored
      Like for 61177775.
      
      I've manually reviewed
      
          git diff 8-7-stable 8-8-stable -- files/gitlab-config-template/gitlab.rb.template \
                                            files/gitlab-cookbooks/gitlab/attributes/default.rb
      
      on omnibus-gitlab repository.
      
      There are only changes on postgresql and registry options, which are not relevant for us.
      de35c7da
    • iv's avatar
      gitlab: Slapos'ify gitlab config updates · c7e69fac
      iv authored
      Do not use container_registry and registry_* options
      c7e69fac
  4. 07 Aug, 2016 4 commits
    • Kirill Smelkov's avatar
      gitlab: Sync sidekiq service to upstream · af0c5b11
      Kirill Smelkov authored
      Like for 2a835e63
      
          $ git diff 8.6.5+ce.0-0-g342f8be..8.7.9+ce.1-0-gf589ad7 --
                  files/gitlab-cookbooks/gitlab/templates/default/sv-sidekiq-run.erb
      
      is empty.
      af0c5b11
    • Kirill Smelkov's avatar
      gitlab: Sync gitlab-parameters.cfg to upstream · 61177775
      Kirill Smelkov authored
      I've manually reviewed
      
          git diff 8.6.5+ce.0-0-g342f8be..8.7.9+ce.1-0-gf589ad7 --    \
              files/gitlab-config-template/gitlab.rb.template \
              files/gitlab-cookbooks/gitlab/attributes/default.rb
      
      and modulo trusted proxies there are no interesting changes for us.
      61177775
    • Kirill Smelkov's avatar
      gitlab: Slapos'ify gitlab config updates · 35b142e0
      Kirill Smelkov authored
      - config.ru template is gone - pristine gitlab-ce/config.ru can do the
        job because it obtains unicorn OOM killer setting via environment
        variables.
      
        https://gitlab.com/gitlab-org/omnibus-gitlab/merge_requests/672
      
      - we put TODO there for configuring trusted proxies (gitlab.yml & nginx)
      
      - we restore our slaposified configuration from config.ru to unicorn.rb
      35b142e0
    • Kirill Smelkov's avatar
      gitlab: Update software to gitlab 8.7 · bf688f44
      Kirill Smelkov authored
      Update GitLab software to
      
          - gitlab-ce 8.7.9 + NXD patches
      
          - gitlab-shell to 2.7.2 + 1 patch to remove unneeded hooks.old in *.git
      
          - gitlab-workhorse stays at 0.7.1 + NXD patches because gitlab-ce 8.7.x
            sticks to this version (i.e. no workhorse upgrade for gitlab 8.6 -> 8.7)
      
      This only updates software and begins SR update to 8.7 - for now gitlab
      instance becomes non-working -- we'll pull in configuration files
      updates and fixups in the following patches.
      bf688f44
  5. 02 Aug, 2016 7 commits
  6. 19 Jul, 2016 1 commit
    • Jérome Perrin's avatar
      gitlab: enable parameters-extra options when creating wrapper · 6082d6e9
      Jérome Perrin authored
      @jerome says at nexedi/slapos@5f5d5102 (comment 17119):
      
      before f4e51f77, we had:
      `~/srv/runner/instance/slappart0/bin/gitlab-rake` containing:
          ```python
          ...
          if __name__ == '__main__':
              sys.exit(slapos.recipe.librecipe.execute.generic_exec((['/srv/slapgrid/slappart16/srv/runner/software/fffb3c99781923d3adb8bc53eb6c027a/bin/bundle', 'exec', 'sh', '-c', 'cd /srv/slapgrid/slappart16/srv/runner/instance/slappart0/gitlab-work && rake "$@"', 'rake'], None, {'BUNDLE_GEMFILE': '/srv/slapgrid/slappart16/srv/runner/software/fffb3c99781923d3adb8bc53eb6c027a/parts/gitlab/Gemfile', 'HOME': '/srv/slapgrid/slappart16/srv/runner/instance/slappart0', 'SIDEKIQ_MEMORY_KILLER_MAX_RSS': '1000000', 'RAILS_ENV': 'production'})))
          ```
      
      after, `~/srv/runner/instance/slappart0/bin/gitlab-rake` contains:
          ```shell
          #!/bin/bash
          COMMAND=/srv/slapgrid/slappart16/srv/runner/instance/slappart0/bin/gitlab-rake.py
      
          # If the wrapped command uses a shebang, execute the referenced
          # executable passing the script path as first argument.
          # This is to workaround the limitation of 127 characters in #!
          if [[ -f $COMMAND && x$(head -c2 "$COMMAND") = x"#!" ]]; then
            SHEBANG=$(head -1 "$COMMAND")
            INTERPRETER=( ${SHEBANG#\#!} )
            COMMAND="${INTERPRETER[@]} $COMMAND"
          fi
      
          exec $COMMAND
          ```
      
      which is a wrapper around `gitlab-rake.py` containing:
          ```python
          ...
          if __name__ == '__main__':
              sys.exit(slapos.recipe.librecipe.execute.generic_exec((['/srv/slapgrid/slappart16/srv/runner/software/fffb3c99781923d3adb8bc53eb6c027a/bin/bundle', 'exec', 'sh', '-c', 'cd /srv/slapgrid/slappart16/srv/runner/instance/slappart0/gitlab-work && rake "$@"', 'rake'], None, {'BUNDLE_GEMFILE': '/srv/slapgrid/slappart16/srv/runner/software/fffb3c99781923d3adb8bc53eb6c027a/parts/gitlab/Gemfile', 'HOME': '/srv/slapgrid/slappart16/srv/runner/instance/slappart0', 'SIDEKIQ_MEMORY_KILLER_MAX_RSS': '1000000', 'RAILS_ENV': 'production'})))
          ```
      
      `gitlab-rake.py` after is same as `gitlab-rake` before.
      
      This [slapos.cookbook:wrapper](https://lab.nexedi.com/nexedi/slapos/blob/cd9faac0/slapos/recipe/wrapper.py#L39) has an argument *parameters-extra* which if set to true, propagate command line arguments to the wrapped script. The default value for this parameter is false.
      
      Before f4e51f77, the generated wrapper was also propagating arguments even when *parameters-extra* was not set, but since this commit, this *parameters-extra* option is now handled as expected.
      
      This is the reason for this regression. In our case, when we see `/srv/slapgrid/slappart16/srv/runner/instance/slappart0/bin/gitlab-rake assets:clean`, it just calls `rake` without arguments.
      
      So a simple patch that fix the problem would be jerome/slapos@d3d05f02 . This way, the generated wrapper becomes:
      
      ```shell
      ...
      exec $COMMAND $@
      ```
      
      and arguments are correctly propagated.
      
      Feel free to cherry-pick that patch for now, but it may be nice to rethink this *parameters-extra* option, after this debugging session, I believe it should be true by default.
      
      /cc @seb for introducing the parameter in 80bb4305 and @vpelletier for touching this code in e7083872
      
      /reviewed-by @kirr
      6082d6e9
  7. 22 Apr, 2016 2 commits
  8. 22 Mar, 2016 1 commit
  9. 14 Mar, 2016 1 commit
  10. 06 Mar, 2016 1 commit
  11. 03 Mar, 2016 1 commit
  12. 02 Mar, 2016 1 commit
  13. 29 Feb, 2016 1 commit
  14. 28 Feb, 2016 5 commits
  15. 17 Feb, 2016 2 commits
  16. 16 Feb, 2016 1 commit
  17. 13 Feb, 2016 1 commit
    • Kirill Smelkov's avatar
      gitlab: Wait a bit for PostgreSQL to be ready in Unicorn startup · 949e55e2
      Kirill Smelkov authored
      As it was outlined in 5a744de7 (gitlab: Compile assets on instantiation
      and make sure DB is properly setup/migrated before unicorn runs) we are
      performing DB initialization and migration in pre-action as part of
      unicorn startup script. But that currently has one drawback:
      
          if all services start at the same time - e.g. both PostgreSQL and
          Unicorn - and that is a common scenario when SR is compiled and
          instantiated / started, PostgreSQL is usually not yet ready to
          process queries from Unicorn startup script, and first-time Unicorn
          startup fails.
      
      Until now this problem was workarounded by manually starting unicorn
      second time - after some time postgresql is started and ready. But why
      do it manually, if we can do the same logic automatically. So fix it:
      
          in Unicorn startup script wait a bit (up to 5 seconds) for
          PostgreSQL to become ready.
      
      /cc @kazuhiko, @jerome
      949e55e2
  18. 11 Feb, 2016 3 commits