Prior to this change, health checks checked for writeability of the NFS
shards. Given we're moving away from that, this patch extends the checks
for Gitaly to check for read and writeability.
Potentially some dashboards will break, as over time these metrics will
no longer appear as Prometheus doesn't get the data anymore.
Observability in the circuit breaker will be reduced, but its not
expected to be turned on and the circuit breaker is being removed soon
too.
Closes https://gitlab.com/gitlab-org/gitaly/issues/1218
In MR https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/15834 we
removed use of the data produced by the Allocations Gem. However, we
never removed the code that just enables tracking of allocations. In
this commit we remove all remaining traces of this Gem.
This commit fixes the error:
```
1) Admin::UsersController DELETE #user with projects deletes the user and their contributions when hard delete is specified
Failure/Error: Users::DestroyService.new(current_user).execute(delete_user, options.symbolize_keys)
NoMethodError:
undefined method `symbolize_keys' for "{\"hard_delete\"=>\"true\"}":String
# ./app/workers/delete_user_worker.rb:8:in `perform'
# ./lib/gitlab/sidekiq_status/server_middleware.rb:5:in `call'
# ./config/initializers/forbid_sidekiq_in_transactions.rb:35:in `block (2 levels) in <module:NoEnqueueingFromTransactions>'
# ./app/models/user.rb:913:in `delete_async'
# ./app/controllers/admin/users_controller.rb:148:in `destroy'
# ./lib/gitlab/i18n.rb:50:in `with_locale'
# ./lib/gitlab/i18n.rb:56:in `with_user_locale'
# ./app/controllers/application_controller.rb:327:in `set_locale'
# ./spec/controllers/admin/users_controller_spec.rb:28:in `block (3 levels) in <top (required)>'
Finished in 6.81 seconds (files took 13.9 seconds to load)
1 example, 1 failure
```
This commit does two things:
1. Synchronizes `Gemfile.rails5.lock` with the latest changes in `Gemfile`
2. Adds a monkey patch for active record to avoid type casting in uniqueness
validator.
In Rails 5.0 there was introduced a bug [1] that causes to problems like
this:
```
1) API::Users POST /user/:id/gpg_keys/:key_id/revoke when authenticated revokes existing key
Failure/Error: let(:gpg_key) { create(:gpg_key, user: user) }
TypeError:
can't cast Hash
```
This bug was fixed in Rails 5.1 [2].
[1]: 811a4fa8eb
[2]: aa062318c4
1. Add support for `RAILS5=1|true` for the `bin/spinach` command.
2. Synchronize used spinach versions both for rails4 and rails5.
For rails5 it was accidently used spinach 0.10.1 instead of 0.8.10.
That brought some problems on running spinach tests.
Example of failure message:
NoMethodError: undefined method `line' for #<Spinach::Scenario:0x000000000c86ba80>
Did you mean? lines
/builds/gitlab-org/gitlab-ce/features/support/env.rb:52:in `before_scenario_run'
In Rails 5.0 `assert_template` and `assigns()` have been extracted to
the `rails-controller-testing` gem.
https://github.com/rails/rails/pull/20138/files
This commit adds this gem for rails5.
1. Synchronize used version of `parser` gem for both versions of rails: 4 and 5.
2. Fix broken CI pipelines for rails5 branches.
The 2.5.0.4 version is removed from rubygems, so it's skipped.
https://github.com/whitequark/parser/issues/478