OS: CentOS 7
Current Package: gitlab-ce-12.2.8-ce.0.el7.x86_64
Target Upgrade: gitlab-ce-12.3.5-ce.0.el7.x86_64
Usually I’ve been able to simply do a:
sudo yum upgrade gitLab-ce
But the GitLab-ctl reconfigure (and subsequent manual calls) encounter the following error about multiple indices:
================================================================================
Error executing action `run` on resource 'bash[migrate gitlab-rails database]'
================================================================================
Mixlib::ShellOut::ShellCommandFailed
------------------------------------
Expected process to exit with [0], but received '1'
---- Begin output of "bash" "/tmp/chef-script20191017-14499-yaxnf1" ----
STDOUT: rake aborted!
StandardError: An error has occurred, all later migrations canceled:
Multiple indexes found on releases columns [:project_id]. Specify an index name from index_releases_on_project_id, releases_project_id_idx
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers.rb:121:in `block in remove_concurrent_index'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers.rb:252:in `disable_statement_timeout'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers.rb:120:in `remove_concurrent_index'
/opt/gitlab/embedded/service/gitlab-rails/db/migrate/20190805140353_remove_rendundant_index_from_releases.rb:15:in `up'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:49:in `block (3 levels) in <top (required)>'
/opt/gitlab/embedded/bin/bundle:23:in `load'
/opt/gitlab/embedded/bin/bundle:23:in `<main>'
Caused by:
ArgumentError: Multiple indexes found on releases columns [:project_id]. Specify an index name from index_releases_on_project_id, releases_project_id_idx
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers.rb:121:in `block in remove_concurrent_index'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers.rb:252:in `disable_statement_timeout'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers.rb:120:in `remove_concurrent_index'
/opt/gitlab/embedded/service/gitlab-rails/db/migrate/20190805140353_remove_rendundant_index_from_releases.rb:15:in `up'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:49:in `block (3 levels) in <top (required)>'
/opt/gitlab/embedded/bin/bundle:23:in `load'
/opt/gitlab/embedded/bin/bundle:23:in `<main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
== 20190805140353 RemoveRendundantIndexFromReleases: migrating ================
-- transaction_open?()
-> 0.0000s
-- select_one("SELECT current_setting('server_version_num') AS v")
-> 0.0005s
-- index_exists?(:releases, :project_id, {:algorithm=>:concurrently})
-> 0.0053s
-- execute("SET statement_timeout TO 0")
-> 0.0002s
-- remove_index(:releases, {:algorithm=>:concurrently, :column=>:project_id})
-- execute("RESET ALL")
-> 0.0002s
STDERR:
---- End output of "bash" "/tmp/chef-script20191017-14499-yaxnf1" ----
Ran "bash" "/tmp/chef-script20191017-14499-yaxnf1" returned 1
Resource Declaration:
---------------------
# In /opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/recipes/database_migrations.rb
54: bash "migrate gitlab-rails database" do
55: code <<-EOH
56: set -e
57: log_file="#{node['gitlab']['gitlab-rails']['log_directory']}/gitlab-rails-db-migrate-$(date +%Y-%m-%d-%H-%M-%S).log"
58: umask 077
59: /opt/gitlab/bin/gitlab-rake gitlab:db:configure 2>& 1 | tee ${log_file}
60: STATUS=${PIPESTATUS[0]}
61: chown #{account_helper.gitlab_user}:#{account_helper.gitlab_group} ${log_file}
62: echo $STATUS > #{db_migrate_status_file}
63: exit $STATUS
64: EOH
65: environment env_variables unless env_variables.empty?
66: notifies :run, "execute[clear the gitlab-rails cache]", :immediately
67: dependent_services.each do |svc|
68: notifies :restart, svc, :immediately
69: end
70: not_if "(test -f #{db_migrate_status_file}) && (cat #{db_migrate_status_file} | grep -Fx 0)"
71: only_if { node['gitlab']['gitlab-rails']['auto_migrate'] }
72: end
73:
Compiled Resource:
------------------
# Declared in /opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/recipes/database_migrations.rb:54:in `from_file'
bash("migrate gitlab-rails database") do
action [:run]
default_guard_interpreter :default
command nil
backup 5
interpreter "bash"
declared_type :bash
cookbook_name "gitlab"
recipe_name "database_migrations"
code " set -e\n log_file=\"/var/log/gitlab/gitlab-rails/gitlab-rails-db-migrate-$(date +%Y-%m-%d-%H-%M-%S).log\"\n umask 077\n /opt/gitlab/bin/gitlab-rake gitlab:db:configure 2>& 1 | tee ${log_file}\n STATUS=${PIPESTATUS[0]}\n chown git:git ${log_file}\n echo $STATUS > /var/opt/gitlab/gitlab-rails/upgrade-status/db-migrate-ce8010db0246d0a455a70412e780f681-2417d5becc7\n exit $STATUS\n"
domain nil
user nil
not_if "(test -f /var/opt/gitlab/gitlab-rails/upgrade-status/db-migrate-ce8010db0246d0a455a70412e780f681-2417d5becc7) && (cat /var/opt/gitlab/gitlab-rails/upgrade-status/db-migrate-ce8010db0246d0a455a70412e780f681-2417d5becc7 | grep -Fx 0)"
only_if { #code block }
end
System Info:
------------
chef_version=14.13.11
platform=centos
platform_version=7.7.1908
ruby=ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]
program_name=/opt/gitlab/embedded/bin/chef-client
executable=/opt/gitlab/embedded/bin/chef-client