i want to upgrade my self hosted gitlab and iβm willing to use this upgrade path : 13.12.9 β 14.0.12 β 14.1.12 β> 14.5.2
is this upgrade path correct ?
for every version upgrade i need to wait for migrations to finish ? something like this : 13.12.9 β 14.0.12β> wait for migrations to finish β 14.1.12 ----> wait for migrations to finish β> 14.5.2
is it healthy to let users use gitlab while the migration is running or do i need to block access to users ?
how can we estimate time of the migration ?
how do i see the remaining migrations via command line ? i use this command gitlab-rails runner -e production 'puts Gitlab::BackgroundMigration.remaining' but i show me 0 while in βadmin/background_migrationsβ it shows there is remaining migrations
Yes you must wait for background migrations to finish, otherwise you will break your installation and the database. Which in most cases will mean restoring from a backup to get your server running again.
No, because if during upgrade services are restarted then you can have inconsistencies especially if they are trying to push commits or edit in web interface.
Depends on various factors, internet connection speed to download approx 1gb package, then how overloaded your server is in cpu/ram specs to whether it will finish quickly or not, as well as the mount of migrations required. Assuming all goes well in terms of package download, server specs, approx 5 - 10 minutes per package upgrade. Since you have about 3 upgrades to do, then look for about 30 minutes. Sometimes background migrations take longer and you will just have to wait until itβs finished before continuing the next upgrade.
The console command should report the same as the web interface. If you have in your web interface under admin/background_migrations please show the screenshot since itβs difficult for us to tell without seeing it.
in the image below you can see that the command line request return 0 , while in web interface iβm getting a list of migrations ( i refreshed the page same result )
i tried refreshing the page , restart and clearing the cache but it seems like the web result is more reliable , the commandline result is always 0 while in the web interface i can see that background migration are decreasing passing from pending , running to finished