17
17
fi
18
18
19
19
cd /root/
20
- lava-server manage makemigrations || exit $?
20
+ # lava-server manage makemigrations || exit $?
21
21
22
22
# verify that the backup was not already applied in case of persistent_db
23
23
if [ ! -e " /var/lib/postgresql/lava-docker.backup_done" ]; then
@@ -28,7 +28,7 @@ if [ ! -e "/var/lib/postgresql/lava-docker.backup_done" ];then
28
28
if [ -e /root/backup/db_lavaserver ]; then
29
29
echo " Restore database from backup"
30
30
sudo -u postgres psql < /root/backup/db_lavaserver || exit $?
31
- yes yes | lava-server manage migrate || exit $?
31
+ # yes yes | lava-server manage migrate || exit $?
32
32
echo " Restore jobs output from backup"
33
33
rm -r /var/lib/lava-server/default/media/job-output/*
34
34
51
51
echo " DEBUG: backup already applied"
52
52
fi
53
53
54
- lava-server manage makemigrations
55
- yes yes | lava-server manage migrate || exit $?
54
+ # check current LAVA version
55
+ # not very good way, but no real choice
56
+ echo " DEBUG: check LAVA version from DB"
57
+ su - postgres -c ' psql --tuples-only lavaserver -c "SELECT DISTINCT version from lava_scheduler_app_worker" | sort -V' > /tmp/workerversions
58
+ sed -i ' s,^[[:space:]]*,,' /tmp/workerversions
59
+ echo " ======"
60
+ cat /tmp/workerversions
61
+ echo " ======"
62
+
63
+ echo " DEBUG: check LAVA version from file"
64
+ cat /usr/lib/python3/dist-packages/lava_common/VERSION
65
+ # hack
66
+ grep -q ' 2023.01' /usr/lib/python3/dist-packages/lava_common/VERSION
67
+ if [ $? -eq 0 ]; then
68
+ echo " DEBUG: 2023.01 need to do an old migration"
69
+ lava-server manage makemigrations
70
+ yes yes | lava-server manage migrate || exit $?
71
+ fi
72
+ # if we came from 2023.01 to 2023.05, we need to handle the migration bug
73
+ grep -q ' 2023.0[1-5]' /tmp/workerversions
74
+ if [ $? -eq 0 ]; then
75
+ grep -q 2023.06 /usr/lib/python3/dist-packages/lava_common/VERSION
76
+ if [ $? -eq 0 ]; then
77
+ echo " ============================="
78
+ echo " DEBUG: handle DB migration BUG"
79
+ sudo -u postgres psql lavaserver -c " SELECT * from django_migrations where app = 'lava_scheduler_app';"
80
+ echo " ============================="
81
+ sudo -u postgres psql lavaserver -c " SELECT * from django_migrations where app = 'lava_results_app';"
82
+ echo " ============================="
83
+ lava-server manage migrate --fake lava_results_app 0019_update_query_contenttype || exit $?
84
+ echo " ============================="
85
+ lava-server manage migrate --fake lava_scheduler_app 0057_dt_permissions_worker_master_version || exit $?
86
+ echo " ============================="
87
+ lava-server manage migrate lava_results_app 0018_drop_buglink || exit $?
88
+ echo " ============================="
89
+ lava-server manage migrate lava_scheduler_app 0056_testjob_queue_timeout || exit $?
90
+ echo " ============================="
91
+ sudo -u postgres psql lavaserver -c " SELECT * from django_migrations where app = 'lava_scheduler_app';"
92
+ echo " ============================="
93
+ sudo -u postgres psql lavaserver -c " SELECT * from django_migrations where app = 'lava_results_app';"
94
+ echo " ============================="
95
+ else
96
+ echo " DEBUG: no spetial handling for DB"
97
+ fi
98
+ else
99
+ echo " DEBUG: no spetial handling for DB"
100
+ fi
101
+
102
+ echo " DEBUG: call postinst for managing migrations"
103
+ /usr/share/lava-server/postinst.py || exit $?
104
+ # lava-server manage makemigrations
105
+ # yes yes | lava-server manage migrate || exit $?
56
106
57
107
# default site is set as example.com
58
108
if [ -e /root/lava_http_fqdn ]; then
0 commit comments