The restoration onto a new instance fails

Hello,

We are trying to migrate gitlab to a new hardware and stuck with restoration issue.

Current setup:
k8s version: v1.15.3
gitlab chart version : gitlab-4.12.13
DB version : 12.2

New setup
k8s version: v1.21.5
gitlab chart version : gitlab-4.12.13
DB version : 12.2

What was tried to restore:
backup-utility --restore --skip registry --skip lfs --skip artifacts --skip uploads --skip packages -t 1648080018_2022_03_24_13.12.15

What happened:

Error: Caused by:
PG::DependentObjectsStillExist: ERROR: cannot drop view pg_stat_statements because extension pg_stat_statements requires it
HINT: You can drop extension pg_stat_statements instead.

What was done to fix:
tried the solution from Troubleshooting | GitLab
Did not help,same error. So, we restored the DB manually,

drop database gitlab;
create database gitlab;
zcat database.sql.gz | psql -U postgres -d gitlab

Then we restored the repo,

gitlab-rake gitlab:backup:repo:restore

After the restore, we could not open the project files. receiving 500 error code. And the pod log shows as below,

*** /var/log/gitlab/production.log ***
Completed 500 Internal Server Error in 216ms (ActiveRecord: 90.5ms | Elasticsearch: 0.0ms | Allocations: 101781)
  
ActionView::Template::Error ():
    1: = nav_link(**sidebar_menu.all_active_routes, html_options: sidebar_menu.nav_link_html_options) do
    2:   = link_to sidebar_menu.link, **sidebar_menu.container_html_options, data: { qa_selector: 'sidebar_menu_link', qa_menu_item: sidebar_menu.title } do
    3:     - if sidebar_menu.icon_or_image?
    4:       %span.nav-icon-container
    5:         - if sidebar_menu.image_path
  
app/models/project_services/data_fields.rb:14:in `url'
app/models/project_services/issue_tracker_service.rb:63:in `issue_tracker_path'
lib/sidebars/projects/menus/external_issue_tracker_menu.rb:9:in `link'
app/views/shared/nav/_sidebar_menu.html.haml:2
app/helpers/tab_helper.rb:86:in `nav_link'
app/views/shared/nav/_sidebar_menu.html.haml:1
app/views/shared/nav/_sidebar.html.haml:10
app/views/layouts/nav/sidebar/_project.html.haml:1
app/views/layouts/_page.html.haml:3
app/views/layouts/application.html.haml:13
app/views/layouts/project.html.haml:17
app/controllers/application_controller.rb:128:in `render'
app/controllers/application_controller.rb:541:in `block in allow_gitaly_ref_name_caching'
lib/gitlab/gitaly_client.rb:341:in `allow_ref_name_caching'
app/controllers/application_controller.rb:540:in `allow_gitaly_ref_name_caching'
app/controllers/application_controller.rb:490:in `set_current_admin'
lib/gitlab/session.rb:11:in `with_session'
app/controllers/application_controller.rb:481:in `set_session_storage'
lib/gitlab/i18n.rb:99:in `with_locale'
lib/gitlab/i18n.rb:105:in `with_user_locale'
app/controllers/application_controller.rb:475:in `set_locale'
app/controllers/application_controller.rb:468:in `block in set_current_context'
lib/gitlab/application_context.rb:70:in `block in use'
lib/gitlab/application_context.rb:70:in `use'
lib/gitlab/application_context.rb:27:in `with_context'
app/controllers/application_controller.rb:459:in `set_current_context'
lib/gitlab/metrics/elasticsearch_rack_middleware.rb:16:in `call'
lib/gitlab/middleware/rails_queue_duration.rb:33:in `call'
lib/gitlab/metrics/rack_middleware.rb:16:in `block in call'
lib/gitlab/metrics/transaction.rb:56:in `run'
lib/gitlab/metrics/rack_middleware.rb:16:in `call'
lib/gitlab/middleware/speedscope.rb:13:in `call'
lib/gitlab/request_profiler/middleware.rb:17:in `call'
lib/gitlab/jira/middleware.rb:19:in `call'
lib/gitlab/middleware/go.rb:20:in `call'
lib/gitlab/etag_caching/middleware.rb:21:in `call'
lib/gitlab/middleware/multipart.rb:172:in `call'
lib/gitlab/middleware/read_only/controller.rb:50:in `call'
lib/gitlab/middleware/read_only.rb:18:in `call'
lib/gitlab/middleware/same_site_cookies.rb:27:in `call'
lib/gitlab/middleware/handle_malformed_strings.rb:21:in `call'
lib/gitlab/middleware/basic_health_check.rb:25:in `call'
lib/gitlab/middleware/handle_ip_spoof_attack_error.rb:25:in `call'
lib/gitlab/middleware/request_context.rb:21:in `call'
config/initializers/fix_local_cache_middleware.rb:11:in `call'
lib/gitlab/middleware/rack_multipart_tempfile_factory.rb:19:in `call'
lib/gitlab/metrics/requests_rack_middleware.rb:76:in `call'
lib/gitlab/middleware/release_env.rb:12:in `call'

*** /var/log/gitlab/production_json.log ***
{"method":"GET","path":"/amulraj.david/kubespray","format":"html","controller":"ProjectsController","action":"show","status":500,"time":"2022-03-29T16:14:27.445Z","params":[{"key":"namespace_id","value":"amulraj.david"},{"key":"id","value":"kubespray"}],"remote_ip":"46.11.218.196","user_id":195,"username":"amulraj.david","ua":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36","correlation_id":"01FZB7A0VCQZKB2VZXKT6K4QPF","meta.user":"amulraj.david","meta.project":"amulraj.david/kubespray","meta.root_namespace":"amulraj.david","meta.caller_id":"ProjectsController#show","meta.remote_ip":"46.11.218.196","meta.feature_category":"projects","meta.client_id":"user/195","redis_calls":47,"redis_duration_s":0.008234,"redis_read_bytes":8790,"redis_write_bytes":5611,"redis_cache_calls":46,"redis_cache_duration_s":0.007937,"redis_cache_read_bytes":8608,"redis_cache_write_bytes":4905,"redis_shared_state_calls":1,"redis_shared_state_duration_s":0.000297,"redis_shared_state_read_bytes":182,"redis_shared_state_write_bytes":706,"db_count":60,"db_write_count":0,"db_cached_count":10,"cpu_s":0.170625,"mem_objects":112207,"mem_bytes":6822424,"mem_mallocs":25449,"mem_total_bytes":11310704,"queue_duration_s":0.009838,"exception.class":"ActionView::Template::Error","exception.message":"","exception.backtrace":["app/models/project_services/data_fields.rb:14:in `url'","app/models/project_services/issue_tracker_service.rb:63:in `issue_tracker_path'","lib/sidebars/projects/menus/external_issue_tracker_menu.rb:9:in `link'","app/views/shared/nav/_sidebar_menu.html.haml:2","app/helpers/tab_helper.rb:86:in `nav_link'","app/views/shared/nav/_sidebar_menu.html.haml:1","app/views/shared/nav/_sidebar.html.haml:10","app/views/layouts/nav/sidebar/_project.html.haml:1","app/views/layouts/_page.html.haml:3","app/views/layouts/application.html.haml:13","app/views/layouts/project.html.haml:17","app/controllers/application_controller.rb:128:in `render'","app/controllers/application_controller.rb:541:in `block in allow_gitaly_ref_name_caching'","lib/gitlab/gitaly_client.rb:341:in `allow_ref_name_caching'","app/controllers/application_controller.rb:540:in `allow_gitaly_ref_name_caching'","app/controllers/application_controller.rb:490:in `set_current_admin'","lib/gitlab/session.rb:11:in `with_session'","app/controllers/application_controller.rb:481:in `set_session_storage'","lib/gitlab/i18n.rb:99:in `with_locale'","lib/gitlab/i18n.rb:105:in `with_user_locale'","app/controllers/application_controller.rb:475:in `set_locale'","app/controllers/application_controller.rb:468:in `block in set_current_context'","lib/gitlab/application_context.rb:70:in `block in use'","lib/gitlab/application_context.rb:70:in `use'","lib/gitlab/application_context.rb:27:in `with_context'","app/controllers/application_controller.rb:459:in `set_current_context'","lib/gitlab/metrics/elasticsearch_rack_middleware.rb:16:in `call'","lib/gitlab/middleware/rails_queue_duration.rb:33:in `call'","lib/gitlab/metrics/rack_middleware.rb:16:in `block in call'","lib/gitlab/metrics/transaction.rb:56:in `run'","lib/gitlab/metrics/rack_middleware.rb:16:in `call'","lib/gitlab/middleware/speedscope.rb:13:in `call'","lib/gitlab/request_profiler/middleware.rb:17:in `call'","lib/gitlab/jira/middleware.rb:19:in `call'","lib/gitlab/middleware/go.rb:20:in `call'","lib/gitlab/etag_caching/middleware.rb:21:in `call'","lib/gitlab/middleware/multipart.rb:172:in `call'","lib/gitlab/middleware/read_only/controller.rb:50:in `call'","lib/gitlab/middleware/read_only.rb:18:in `call'","lib/gitlab/middleware/same_site_cookies.rb:27:in `call'","lib/gitlab/middleware/handle_malformed_strings.rb:21:in `call'","lib/gitlab/middleware/basic_health_check.rb:25:in `call'","lib/gitlab/middleware/handle_ip_spoof_attack_error.rb:25:in `call'","lib/gitlab/middleware/request_context.rb:21:in `call'","config/initializers/fix_local_cache_middleware.rb:11:in `call'","lib/gitlab/middleware/rack_multipart_tempfile_factory.rb:19:in `call'","lib/gitlab/metrics/requests_rack_middleware.rb:76:in `call'","lib/gitlab/middleware/release_env.rb:12:in `call'"],"db_duration_s":0.0905,"view_duration_s":0.0,"duration_s":0.21622}

Additionally, we are getting below error while trying to access the repositories,

$ gitlab-rake gitlab:list_repos
rake aborted!
Gitlab::GitalyClient::StorageSettings::DirectPathAccessError: git disk access denied
/srv/gitlab/lib/gitlab/gitaly_client/storage_settings.rb:65:in legacy_disk_path' /srv/gitlab/app/models/repository.rb:103:in path_to_repo’
/srv/gitlab/lib/tasks/gitlab/list_repos.rake:15:in block (3 levels) in <main>' /srv/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.7/lib/active_record/relation/batches.rb:70:in block (2 levels) in find_each’
/srv/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.7/lib/active_record/relation/batches.rb:70:in each' /srv/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.7/lib/active_record/relation/batches.rb:70:in block in find_each’
/srv/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.7/lib/active_record/relation/batches.rb:136:in block in find_in_batches' /srv/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.7/lib/active_record/relation/batches.rb:238:in block in in_batches’
/srv/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.7/lib/active_record/relation/batches.rb:222:in loop' /srv/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.7/lib/active_record/relation/batches.rb:222:in in_batches’
/srv/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.7/lib/active_record/relation/batches.rb:135:in find_in_batches' /srv/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.7/lib/active_record/relation/batches.rb:69:in find_each’
/srv/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.7/lib/active_record/querying.rb:21:in find_each' /srv/gitlab/lib/tasks/gitlab/list_repos.rake:14:in block (2 levels) in ’
/srv/gitlab/vendor/bundle/ruby/2.7.0/gems/rake-13.0.3/exe/rake:27:in <top (required)>' /srv/gitlab/bin/bundle:3:in load’
/srv/gitlab/bin/bundle:3:in `’
Tasks: TOP => gitlab:list_repos
(See full trace by running task with --trace)