]> git.openstreetmap.org Git - chef.git/commitdiff
nominatim: migrate versions before installing the software
authorSarah Hoffmann <lonvia@denofr.de>
Tue, 12 Mar 2024 11:02:09 +0000 (12:02 +0100)
committerSarah Hoffmann <lonvia@denofr.de>
Tue, 12 Mar 2024 11:02:09 +0000 (12:02 +0100)
Avoids disruptions where the migration is needed for the frontend
to function properly (e.g. when creating new indexes).

cookbooks/nominatim/templates/default/nominatim-update-refresh-db.erb
cookbooks/nominatim/templates/default/nominatim-update.erb

index f3de24347b348b8ec5062fa15fc1dd8084208431..6d7b415962d53fbd87dc4646884118141208995d 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -e
 
 # DO NOT EDIT - This file is being maintained by Chef
 
@@ -6,5 +6,7 @@ date "+%c === Refresh database after software updates"
 
 cd <%= @projectdir %>
 
-nominatim admin --migrate
-nominatim refresh --functions --address-levels --website
+# Run the migrations from the nominatim version in the build directory,
+# so they can execute while the frontend doesn't have the new code yet.
+<%= @builddir %>/nominatim admin --migrate
+<%= @builddir %>/nominatim refresh --functions --address-levels --website
index 6bff200e147c74e57f1fc057b69e5b3a6e540224..145ae6a8c6f5e15f48c7d2e725d7406152108d99 100644 (file)
@@ -8,16 +8,18 @@ starttime=`date +%s`
 
 <% if node[:nominatim][:enable_git_updates] -%>
 if /sbin/runuser -u nominatim -- <%= @bindir %>/nominatim-update-source; then
-  pushd <%= @builddir %>
-  make install
-<% if node[:nominatim][:api_flavour] == "python" -%>
-  systemctl reload nominatim
-<% end -%>
 
   if ! /sbin/runuser -u nominatim -- <%= @bindir %>/nominatim-update-refresh-db; then
     date "+%c === Database refresh failed. Stopping updates."
     exit 1
   fi
+
+  pushd <%= @builddir %>
+  make install
+
+<% if node[:nominatim][:api_flavour] == "python" -%>
+  systemctl reload nominatim
+<% end -%>
 fi
 <% end -%>