rake db:create fails with LDAP enabled
Summary
When I try to do a fresh setup with LDAP enabled in gitlab.yml
it fails with an exception:
gitlab-rails git:(213924-insights-embeddable) ✗ bundle exec rake db:create
WARNING: This version of GitLab depends on gitlab-shell 13.3.0, but you're running Unknown. Please update gitlab-shell.
rake aborted!
ActiveRecord::NoDatabaseError: FATAL: database "gitlabhq_development" does not exist
/Users/shutin/.rvm/gems/ruby-2.6.6@gitlab-ee/gems/activerecord-6.0.3.1/lib/active_record/connection_adapters/postgresql_adapter.rb:50:in `rescue in postgresql_connection'
/Users/shutin/.rvm/gems/ruby-2.6.6@gitlab-ee/gems/activerecord-6.0.3.1/lib/active_record/connection_adapters/postgresql_adapter.rb:33:in `postgresql_connection'
/Users/shutin/.rvm/gems/ruby-2.6.6@gitlab-ee/gems/activerecord-6.0.3.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:887:in `new_connection'
/Users/shutin/.rvm/gems/ruby-2.6.6@gitlab-ee/gems/activerecord-6.0.3.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:931:in `checkout_new_connection'
/Users/shutin/.rvm/gems/ruby-2.6.6@gitlab-ee/gems/activerecord-6.0.3.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:910:in `try_to_checkout_new_connection'
/Users/shutin/.rvm/gems/ruby-2.6.6@gitlab-ee/gems/activerecord-6.0.3.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:871:in `acquire_connection'
/Users/shutin/.rvm/gems/ruby-2.6.6@gitlab-ee/gems/activerecord-6.0.3.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:593:in `checkout'
/Users/shutin/.rvm/gems/ruby-2.6.6@gitlab-ee/gems/activerecord-6.0.3.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:437:in `connection'
/Users/shutin/.rvm/gems/ruby-2.6.6@gitlab-ee/gems/activerecord-6.0.3.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:1119:in `retrieve_connection'
/Users/shutin/.rvm/gems/ruby-2.6.6@gitlab-ee/gems/activerecord-6.0.3.1/lib/active_record/connection_handling.rb:221:in `retrieve_connection'
/Users/shutin/.rvm/gems/ruby-2.6.6@gitlab-ee/gems/activerecord-6.0.3.1/lib/active_record/connection_handling.rb:189:in `connection'
/Users/shutin/.rvm/gems/ruby-2.6.6@gitlab-ee/gems/activerecord-6.0.3.1/lib/active_record/model_schema.rb:340:in `table_exists?'
/Users/shutin/www/gitlab/gitlab-rails/ee/app/models/license.rb:266:in `load_license'
/Users/shutin/www/gitlab/gitlab-rails/ee/app/models/license.rb:255:in `current'
/Users/shutin/www/gitlab/gitlab-rails/ee/app/models/license.rb:259:in `feature_available?'
/Users/shutin/www/gitlab/gitlab-rails/ee/lib/ee/gitlab/auth/ldap/config.rb:19:in `_available_servers'
/Users/shutin/www/gitlab/gitlab-rails/lib/gitlab/auth/ldap/config.rb:37:in `available_servers'
/Users/shutin/www/gitlab/gitlab-rails/config/initializers/omniauth.rb:3:in `<module:Strategies>'
/Users/shutin/www/gitlab/gitlab-rails/config/initializers/omniauth.rb:2:in `<main>'
/Users/shutin/.rvm/gems/ruby-2.6.6@gitlab-ee/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:55:in `load'
/Users/shutin/.rvm/gems/ruby-2.6.6@gitlab-ee/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:55:in `load'
/Users/shutin/.rvm/gems/ruby-2.6.6@gitlab-ee/gems/activesupport-6.0.3.1/lib/active_support/dependencies.rb:318:in `block in load'
/Users/shutin/.rvm/gems/ruby-2.6.6@gitlab-ee/gems/activesupport-6.0.3.1/lib/active_support/dependencies.rb:291:in `load_dependency'
/Users/shutin/.rvm/gems/ruby-2.6.6@gitlab-ee/gems/activesupport-6.0.3.1/lib/active_support/dependencies.rb:318:in `load'
/Users/shutin/.rvm/gems/ruby-2.6.6@gitlab-ee/gems/railties-6.0.3.1/lib/rails/engine.rb:666:in `block in load_config_initializer'
/Users/shutin/.rvm/gems/ruby-2.6.6@gitlab-ee/gems/activesupport-6.0.3.1/lib/active_support/notifications.rb:182:in `instrument'
/Users/shutin/.rvm/gems/ruby-2.6.6@gitlab-ee/gems/railties-6.0.3.1/lib/rails/engine.rb:665:in `load_config_initializer'
/Users/shutin/.rvm/gems/ruby-2.6.6@gitlab-ee/gems/railties-6.0.3.1/lib/rails/engine.rb:625:in `block (2 levels) in <class:Engine>'
/Users/shutin/.rvm/gems/ruby-2.6.6@gitlab-ee/gems/railties-6.0.3.1/lib/rails/engine.rb:624:in `each'
/Users/shutin/.rvm/gems/ruby-2.6.6@gitlab-ee/gems/railties-6.0.3.1/lib/rails/engine.rb:624:in `block in <class:Engine>'
/Users/shutin/.rvm/gems/ruby-2.6.6@gitlab-ee/gems/railties-6.0.3.1/lib/rails/initializable.rb:32:in `instance_exec'
/Users/shutin/.rvm/gems/ruby-2.6.6@gitlab-ee/gems/railties-6.0.3.1/lib/rails/initializable.rb:32:in `run'
/Users/shutin/.rvm/gems/ruby-2.6.6@gitlab-ee/gems/railties-6.0.3.1/lib/rails/initializable.rb:61:in `block in run_initializers'
/Users/shutin/.rvm/gems/ruby-2.6.6@gitlab-ee/gems/railties-6.0.3.1/lib/rails/initializable.rb:50:in `each'
/Users/shutin/.rvm/gems/ruby-2.6.6@gitlab-ee/gems/railties-6.0.3.1/lib/rails/initializable.rb:50:in `tsort_each_child'
/Users/shutin/.rvm/gems/ruby-2.6.6@gitlab-ee/gems/railties-6.0.3.1/lib/rails/initializable.rb:60:in `run_initializers'
/Users/shutin/.rvm/gems/ruby-2.6.6@gitlab-ee/gems/railties-6.0.3.1/lib/rails/application.rb:363:in `initialize!'
/Users/shutin/www/gitlab/gitlab-rails/config/environment.rb:5:in `<main>'
It looks like config/initializers/omniauth.rb
tries to read from DB even if we are trying to create a DB. So after debug I had to disable LDAP to create DB then return it back.
Steps to reproduce
- enable LDAP in
gitlab.yml
- make sure you don't have database created in postgres
- run
rake db:create
What is the current bug behavior?
Exception happens
What is the expected correct behavior?
DB should be successfully created.
Results of GitLab environment info
Expand for output related to GitLab environment info
System information System: Proxy: rvm_proxy: Current User: shutin Using RVM: yes RVM Version: 1.29.7 Ruby Version: 2.6.6p146 Gem Version: 3.0.8 Bundler Version:1.17.3 Rake Version: 12.3.3 Redis Version: unknown Git Version: 2.24.3 Sidekiq Version:5.2.9 Go Version: go1.14.1 darwin/amd64 GitLab information Version: 13.2.0-pre Revision: 0935dfb5d2b Directory: /Users/shutin/www/gitlab/gitlab-rails DB Adapter: PostgreSQL DB Version: 11.8 URL: http://192.168.100.34:3000 HTTP Clone URL: http://192.168.100.34:3000/some-group/some-project.git SSH Clone URL: ssh://git@192.168.100.34:2222/some-group/some-project.git Elasticsearch: no Geo: no Using LDAP: yes Using Omniauth: yes Omniauth Providers: GitLab Shell Version: unknown Repository storage paths: - default: /data/repositories GitLab Shell path: /Users/shutin/www/gitlab/gitlab-rails/tmp/gitlab-shell Git: /usr/bin/git
Edited by Pavel Shutsin