1. 23 Feb, 2018 7 commits
    • Merge branch 'sh-geo-fdw-support-other-user' into 'master' · 4ecdcb99
      Geo: Support a custom database login for PostgreSQL FDW to work with pgbouncer
      
      Closes gitlab-ee#4522
      
      See merge request !2292
      Ian Baum authored
    • Geo: Support a custom database login for PostgreSQL FDW to work with pgbouncer · 4f22e57c
      We found that in gitlab-ee#4522 (comment 59422169),
      sharing the same user login between the FDW connection and the regular Rails DB
      connection would cause all sorts of errors with schema paths. To avoid this
      problem, provide a way to customize the username/password used by the FDW
      connection.
      
      Closes gitlab-ee#4522
      Stan Hu authored
    • Merge branch 'rc-3020-chef-13-upgrade' into 'master' · 39257a36
      Upgrade to Chef 13.6.4 from 12.21.31
      
      Closes #3020
      
      See merge request !2279
      DJ Mountney authored
    • Merge branch 'data_dirs_sym_test' into 'master' · 2610e1c0
      Add a test to the gitaly data_dirs recipe for symbols
      
      See merge request !2307
      Marin Jankovski authored
    • Upgrade to Chef 13.6.4 from 12.21.31 · a82d010e
      * Upgrades from chef 12.21.31 to 13.6.4, including dependent gems
      * Updates chefspec to 7.1.1
      * Fixes usage of node.default.gitaly in gitaly recipe
      * Fixes logging configuration under chef 13
      * Updates CHANGELOG
      * Multiple rspec fixes
      ** Changes uses of `old_run_action` to a more compatible call
      ** More complete Kernel.load mocking
      ** Globally mocks `#freeze` on helper instances
      ** Reset the Gitlab singleton in global `before`
      ** Fixes bad cache interactions in `services_spec`
      ** Remove pending from Chef 13 dependent example
      
      = Chef 13.6.4
      
        $EDITOR Gemfile # pin Chef to 13.6.4
        bundle upgrade chef
        git add --patch Gemfile Gemfile.lock
        $EDITOR config/software/*.rb # reflect changes in Gemfile.lock
        git add config/software
      
      13.6.4 is the most-recent-but-one release in the `stable` series of chef
      releases. https://downloads.chef.io/chef/stable
      
      We had tried with the latest `stable` release of chef 13, 13.7.16, but
      hit issues with the defaulting of array properties:
      
      https://github.com/chef/chef/issues/6784
      https://github.com/chef/chef/issues/6792
      
      Care should be taken to upgrade over 13.7.16 to the next stable release,
      though we do have examples that will fail if these bugs are not fixed.
      
      = Chefspec 7.1.1
      
      It's necessary to upgrade to chefspec >= 7 to support chef 13.  We take
      the opportunity to go to 7.1.1 which is the latest stable version.  7.1
      auto-generates matchers, so we are able to remove
      `spec/support/matchers.rb` and `package/libraries/matchers.rb`
      
      == Fixes usage of node.default.gitaly in gitaly recipe
      
      Chef 13 no longer auto-generates accessors on the `attributes` Mashes,
      and instead expects you to access them using the `#[]=` method.
      
      We had one use in the gitaly recipe, which has been corrected to follow
      common style.
      
      = Be more explicit about the run mode for chef-client
      
      The run-mode of the chef-client was not configured explcitly, and
      instead relies on `interval` not being specified to mean 'run once and
      exit', rather than using the `once` configuration option.
      
      Additionally, when specifying `once` it also makes sense to specify
      `client_fork false` as it avoids a needless fork.
      
      = Fixes logging configuration under chef 13
      
      Due to some refactorings in the development of chef 13, it is no longer
      possible to have just a logfile and logging formatter configured
      *without* an additional STDOUT logger.
      
      This issue has been raised upstream as
      https://github.com/chef/chef/issues/6889 in the interim we monkey-patch
      the application class to surpess the creation of the STDOUT logger.
      
      = rspec fixups
      
      == Fix uses of `ruby_block('example').old_run_action(:run)`
      
      We were using the (internal to chefspec) `old_run_action` method to test
      the behaviour of the wrapped ruby blocks in `ruby_block` resources.
      
      Due to internal refactorings in chefspec 7.1 `old_run_action` is no
      longer available to us.
      
      Here we change uses of the `ruby_block('example').old_run_action(:run)`
      pattern to the more compatible `ruby_block('example').block.call`.
      
      == More complete Kernel.load mocking
      
      Chef 13 freezes modules as it loads them.  This prevents accidental
      redefinition of the methods, but was initially clashing with itself as
      during a chefspec run the cookbook compiler was attempting to load all
      libraries after we had already loaded them in the chef_helper for ease
      of mocking.
      
      We extended our existing mocking of Kernel.load to be consistent with
      the loads of libraries from cookbooks other than the gitlab one.
      
      == Globally mocks `#freeze` on helper instances
      
      Related to the changes to mocking Kernel.load, once this was implemented
      we are bitten by default values in LWRPs being frozen in the attribute
      validator.  In order to keep on being able to mock all instances of
      `PgHelper` and related classes we add a mock of `#freeze` to several
      helper classes.
      
      == Reset the Gitlab singleton in global `before`
      
      The Gitlab global object was carrying state from one example group to
      another, this was causing subtle issues when running example groups that
      mutated the global Gitlab configuration in incompatible ways.
      
      Here we save the empty state of the Gitlab configuration singleton at
      the start of the test run, and then reset back to that state in the
      global `before`.
      
      == Fixes bad `cached` interaction in `services_spec`
      
      As a knock-on effect of resetting the Gitlab singleton for every
      example, we hit problems with how the `services_spec` was making use of
      the `cached` rspec helper.
      
      == Remove pending from Chef 13 dependent example
      
      An example that had initially raised awareness of the need for a chef13
      upgrade started working.  As this was a pending rspec example this made
      the tests fail.  Here we remove the pending qualifier.
      Richard Clamp authored
    • Merge branch… · d91a21d8
      Merge branch '3191-omnibus-ce-10-5-update-ignores-nginx-redirect_http_to_https-and-tries-to-listen-on-80-anyway' into 'master'
      
      Resolve "Omnibus CE 10.5 update - ignores nginx['redirect_http_to_https'] and tries to listen on :80 anyway"
      
      Closes #3191
      
      See merge request !2309
      DJ Mountney authored
    • Fix nginx recipe to lazy evaulate all variables for gitlab-http.conf · b0a0eaa3
      * Due to how lazy evaulators were handled, the object was being passed
      to the template, and it was always true
      Ian Baum authored
  2. 22 Feb, 2018 10 commits
  3. 21 Feb, 2018 8 commits
  4. 20 Feb, 2018 3 commits
  5. 19 Feb, 2018 2 commits
  6. 17 Feb, 2018 2 commits
  7. 16 Feb, 2018 7 commits
  8. 15 Feb, 2018 1 commit