]> git.openstreetmap.org Git - chef.git/blob - cookbooks/nominatim/templates/default/updater.erb
nominatim: add nightly updates for QA tiles
[chef.git] / cookbooks / nominatim / templates / default / updater.erb
1 #!/bin/bash -e
2
3 # DO NOT EDIT - This file is being maintained by Chef
4
5 # Change to Nominatim directory
6 cd <%= @bindir %>
7
8 num_cpus=`cat /proc/cpuinfo | grep -c processor`
9 num_cpus=$((num_cpus - 2))
10
11 while [ ! -f "<%= @update_stop_file %>" ]
12 do
13     # Send output to the log (logrotatable)
14     exec >> <%= @logfile %> 2>&1
15
16     current_load=`cat /proc/loadavg | cut -f 2 -d ' ' | sed 's:\..*::'`
17
18     if [[ $current_load -lt $num_cpus ]]
19     then
20         INST=4
21     else
22         INST=2
23     fi
24
25     ./nominatim replication --once --threads $INST
26
27 <% if node[:nominatim][:enable_git_updates] -%>
28     pushd <%= @srcdir %>
29     if git fetch origin; then
30       # will trigger recompilation if necessary
31       git merge origin/<%= @branch %>
32     else
33       echo "WARNING: git fetch failed."
34     fi
35     popd
36 <% end -%>
37
38     if [ -f "<%= @update_maintenance_trigger %>" ]; then
39         rm <%= @update_maintenance_trigger %>
40         ./nominatim refresh --postcodes --threads 4 -v
41 <% if node[:nominatim][:enable_qa_tiles] -%>
42         pushd <%= @qabindir %>
43         if python3 cli.py --execute-all; then
44           rm -rf "<%= @qadatadir %>/old"
45           if [ -d "<%= @qadatadir %>/current" ]; then
46             mv "<%= @qadatadir %>/current" "<%= @qadatadir %>/old"
47           fi
48           mv "<%= @qadatadir %>/new" "<%= @qadatadir %>/current"
49         fi
50         popd
51 <% end -%>
52     fi
53 done