Getting 502 after upgrade from 13.1.11 to 13.5.3
Summary
After upgrading our omnibus installation from 13.1.11 to 13.5.3 we are getting constant 502 responses.
Steps to reproduce
- Modified the Dockerfile changing only the 'FROM' line:
before:
FROM gitlab/gitlab-ce:13.1.11-ce.0
after:
FROM gitlab/gitlab-ce:13.5.3-ce.0
-
Merged in the changes from the diff of the gitlab.rb (from 13.1.11 to 13.5.3) which only added new commented out lines.
-
Updated our deployment with the new image.
What is the current bug behavior?
Attempting to access the site returns: HTTP/1.1 502 Bad Gateway
What is the expected correct behavior?
Should be able to successfully access our site.
Relevant logs
Relevant logs
http://localhost:80
curl -IHTTP/1.1 502 Bad Gateway Server: nginx Date: Mon, 16 Nov 2020 22:32:23 GMT Content-Type: text/html; charset=utf-8 Content-Length: 2940 Connection: keep-alive Cache-Control: no-cache, no-store, max-age=0, must-revalidate Expires: Fri, 01 Jan 1990 00:00:00 GMT Pragma: no-cache
gitlab-ctl tail unicorn
==> /var/log/gitlab/unicorn/current <== 2020-11-16_18:37:14.71545 master failed to start, check stderr log for details 2020-11-16_18:37:15.72017 failed to start a new unicorn master 2020-11-16_18:37:15.73376 starting new unicorn master
==> /var/log/gitlab/unicorn/unicorn_stderr.log <== I, [2020-11-16T18:37:16.378Z #19479] INFO -- : Refreshing Gem list
==> /var/log/gitlab/unicorn/unicorn_stdout.log <== bundler: failed to load command: unicorn (/opt/gitlab/embedded/bin/unicorn)
==> /var/log/gitlab/unicorn/unicorn_stderr.log <== PG::ConnectionBad: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/var/opt/gitlab/postgresql/.s.PGSQL.5432"?
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/pg-1.2.3/lib/pg.rb:58:in
initialize' /opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/pg-1.2.3/lib/pg.rb:58:in
new' /opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/pg-1.2.3/lib/pg.rb:58:in `connect' <repeat/loop this error>gitlab-ctl tail gitlab-workhorse
{"correlation_id":"OVh2ZwaQmC4","duration_ms":0,"error":"badgateway: failed to receive response: dial unix /var/opt/gitlab/gitlab-rails/sockets/gitlab.socket: connect: no such file or directory","level":"error","method":"GET","msg":"error","time":"2020-11-16T19:47:37Z","uri":"/"} {"content_type":"text/html; charset=utf-8","correlation_id":"OVh2ZwaQmC4","duration_ms":0,"host":"mysite.awsdev.mycompany.com","level":"info","method":"GET","msg":"a ccess","proto":"HTTP/1.1","referrer":"","remote_addr":"34.223.95.117:0","remote_ip":"34.223.95.117","status":502,"system":"http","time":"2020-11-16T19:47:37Z","uri":"/","user_agent":"L ogicMonitor SiteMonitor/1.0","written_bytes":2940}
Details of package version
Provide the package version installation details
# dpkg-query -l "gitlab-*" Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-========================================-=========================-=========================-===================================================================================== ii gitlab-ce 13.5.3-ce.0 amd64 GitLab Community Edition (including NGINX, Postgres, Redis) un gitlab-ee (no description available)
Environment details
- Operating System:
Amazon Linux 2
- Installation Target:
- VM: Docker
FROM gitlab/gitlab-ce:13.5.3-ce.0
- VM: Docker
- Installation Type, remove incorrect values:
- Upgrade from version
13.1.11
- Upgrade from version
- Is there any other software running on the machine:
no
- Is this a single or multiple node installation? Yes, Amazon ECS Cluster
- Resources
- CPU:
m5.xlarge EC2 instance having 4 vCPU
- Memory total:
m5.xlarge EC2 instance having 16GB memory
- CPU:
Configuration details
Provide the relevant sections of `/etc/gitlab/gitlab.rb`
gitlab_rails['secret_key_base'] = ENV["OTP_KEY_BASE"] gitlab_rails['otp_key_base'] = ENV["DB_KEY_BASE"] gitlab_rails['db_key_base'] = ENV["SECRET_KEY_BASE"] external_url ENV["EXTERNAL_URL"] gitlab_rails['gitlab_ssh_host'] = ENV["GITLAB_SSH_HOST"] gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = ENV["SMTP_ADDRESS"] gitlab_rails['smtp_port'] = ENV["SMTP_PORT"] gitlab_rails['smtp_authentication'] = false gitlab_rails['gitlab_email_from'] = ENV["GITLAB_EMAIL_FROM"] gitlab_rails['gitlab_email_display_name'] = ENV["GITLAB_EMAIL_DISPLAY_NAME"] gitlab_rails['webhook_timeout'] = 120 gitlab_rails['monitoring_whitelist'] = ['127.0.0.0/8', '::1/128'] gitlab_rails['artifacts_enabled'] = true gitlab_rails['artifacts_object_store_enabled'] = true gitlab_rails['artifacts_object_store_background_upload'] = true gitlab_rails['artifacts_object_store_remote_directory'] = "#{ENV['S3_BUCKET_NAME']}/artifacts" gitlab_rails['artifacts_object_store_connection'] = { 'provider' => 'AWS', 'use_iam_profile' => true } if ENV["NON_SSO"] == "true" #No SSO Settings will be Configured else ### OmniAuth Settings ###! Docs: https://docs.gitlab.com/ee/integration/omniauth.html gitlab_rails['omniauth_enabled'] = true gitlab_rails['omniauth_allow_single_sign_on'] = ['saml'] gitlab_rails['omniauth_auto_sign_in_with_provider'] = 'saml' gitlab_rails['omniauth_block_auto_created_users'] = false gitlab_rails['omniauth_auto_link_saml_user'] = true gitlab_rails['omniauth_providers'] = [ { name: 'saml', args: { assertion_consumer_service_url: ENV["ASSERTION_CONSUMER_SERVICE_URL"], idp_cert_fingerprint: ENV["IDP_CERT_FINGERPRINT"], idp_sso_target_url: ENV["IDP_SSO_TARGET_URL"], issuer: ENV["ISSUER"], name_identifier_format: ENV["NAME_IDENTIFIER_FORMAT"] }, label: 'MYCOMPANY SSO' # optional label for SAML login button, defaults to "Saml" } ] end gitlab_rails['manage_backup_path'] = false gitlab_rails['backup_path'] = "/backups/backuptemp" git_data_dirs({ "default" => { "path" => ENV["GIT_DATA_DIRS"], 'gitaly_address' => 'unix:/tmp/gitaly.socket' } }) gitlab_rails['shared_path'] = ENV["SHARED_PATH"] gitlab_rails['gitlab_shell_ssh_port'] = 7999 gitlab_rails['uploads_directory'] = ENV["UPLOADS_DIRECTORY"] if ENV["AUTO_MIGRATE"] == "true" gitlab_rails['auto_migrate'] = true else gitlab_rails['auto_migrate'] = false end gitlab_rails['db_adapter'] = "postgresql" gitlab_rails['db_encoding'] = "utf8" gitlab_rails['db_database'] = ENV["DB_DATABASE"] gitlab_rails['db_username'] = ENV["DB_USERNAME"] gitlab_rails['db_password'] = ENV["DB_PASSWORD"] gitlab_rails['db_host'] = ENV["DB_HOST"] gitlab_rails['db_port'] = "5432" gitlab_rails['redis_host'] = ENV["REDIS_HOST"] gitlab_rails['redis_port'] = "6379" gitlab_rails['redis_socket'] = "/tmp/redis.socket" registry['enable'] = false gitlab_workhorse['listen_addr'] = "/tmp/workhorse.socket" user['home'] = ENV["USER_HOME"] unicorn['enable'] = true unicorn['worker_timeout'] = 300 unicorn['socket'] = '/tmp/gitlab.socket' puma['enable'] = false gitlab_shell['auth_file'] = ENV["AUTH_FILE"] postgresql['enable'] = false redis['enable'] = false nginx['listen_port'] = "80" nginx['listen_https'] = false nginx['proxy_set_headers'] = { "X-Forwarded-Proto" => ENV["XFORWARDEDPROTO"], "X-Forwarded-Ssl" => ENV["XFORWARDEDSSL"] } logging['svlogd_num'] = 7 # keep 7 rotated log files logging['svlogd_timeout'] = 24 * 60 * 60 # rotate after 24 hours logging['logrotate_frequency'] = "daily" # rotate logs daily logging['logrotate_size'] = nil # do not rotate by size by default logging['logrotate_rotate'] = 7 # keep 7 rotated logs logging['logrotate_dateformat'] = nil # use date extensions for rotated files rather than numbers e.g. a value of "-%Y-%m-%d" would give rotated files like production.log-2016-03-09.gz logrotate['enable'] = true omnibus_gitconfig['system'] = { "pack" => ["threads = 1"], "receive" => ["fsckObjects = true", "advertisePushOptions = true"], 'receive "fsck"' => ["badEmail = warn", "missingEmail = warn", "missingCommitter = warn"], "repack" => ["writeBitmaps = true"], "transfer" => ["hideRefs=^refs/tmp/", "hideRefs=^refs/keep-around/"], } gitlab_ci['builds_directory'] = ENV["BUILDS_DIRECTORY"] prometheus['enable'] = true prometheus['listen_address'] = 'localhost:9090' node_exporter['enable'] = true redis_exporter['enable'] = true gitlab_exporter['enable'] = true prometheus_monitoring['enable'] = true gitaly['socket_path'] = "/tmp/gitaly.socket"