X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/9b781facb3a9e1d6273c2cca99835a12b27102ee..d16f3d1a7f01a40ad821948956a21d26fdcab32b:/cookbooks/nominatim/recipes/default.rb diff --git a/cookbooks/nominatim/recipes/default.rb b/cookbooks/nominatim/recipes/default.rb index ffab40914..ab1c5aaa2 100644 --- a/cookbooks/nominatim/recipes/default.rb +++ b/cookbooks/nominatim/recipes/default.rb @@ -18,7 +18,6 @@ # include_recipe "accounts" -include_recipe "munin" include_recipe "prometheus" if node[:nominatim][:api_flavour] == "php" @@ -86,11 +85,6 @@ postgresql_user "www-data" do only_if { node[:nominatim][:state] != "slave" } end -postgresql_munin "nominatim" do - cluster node[:nominatim][:dbcluster] - database node[:nominatim][:dbname] -end - directory "#{basedir}/tablespaces" do owner "postgres" group "postgres" @@ -140,6 +134,7 @@ package %w[ liblua5.3-dev libluajit-5.1-dev libicu-dev + nlohmann-json3-dev lua5.3 python3-pyosmium python3-psycopg2 @@ -173,22 +168,22 @@ elsif node[:nominatim][:api_flavour] == "python" python_package "SQLAlchemy" do python_virtualenv python_directory - version "2.0.19" + version "2.0.29" end python_package "PyICU" do python_virtualenv python_directory - version "2.10.2" + version "2.12" end python_package "psycopg[binary]" do python_virtualenv python_directory - version "3.1.10" + version "3.1.18" end python_package "psycopg2-binary" do python_virtualenv python_directory - version "2.9.7" + version "2.9.9" end python_package "python-dotenv" do @@ -196,6 +191,11 @@ elsif node[:nominatim][:api_flavour] == "python" version "0.21.0" end + python_package "pygments" do + python_virtualenv python_directory + version "2.17.2" + end + python_package "PyYAML" do python_virtualenv python_directory version "6.0.1" @@ -203,17 +203,17 @@ elsif node[:nominatim][:api_flavour] == "python" python_package "falcon" do python_virtualenv python_directory - version "3.1.1" + version "3.1.3" end python_package "uvicorn" do python_virtualenv python_directory - version "0.23.2" + version "0.29.0" end python_package "gunicorn" do python_virtualenv python_directory - version "21.0.1" + version "22.0.0" end end @@ -286,7 +286,7 @@ execute "compile_nominatim" do action :nothing user "nominatim" cwd build_directory - command "cmake -D WITH_LUAJIT=ON #{source_directory} && make" + command "cmake #{source_directory} && make" notifies :run, "execute[install_nominatim]" end @@ -309,7 +309,17 @@ template "#{project_directory}/.env" do :log_file => "#{node[:nominatim][:logdir]}/query.log", :tokenizer => node[:nominatim][:config][:tokenizer], :forward_dependencies => node[:nominatim][:config][:forward_dependencies], - :pool_size => node[:nominatim][:api_pool_size] + :pool_size => node[:nominatim][:api_pool_size], + :query_timeout => node[:nominatim][:api_query_timeout], + :request_timeout => node[:nominatim][:api_request_timeout] +end + +remote_file "#{project_directory}/secondary_importance.sql.gz" do + action :create_if_missing + source "https://nominatim.org/data/wikimedia-secondary-importance.sql.gz" + owner "nominatim" + group "nominatim" + mode "644" end remote_file "#{project_directory}/wikimedia-importance.sql.gz" do @@ -362,7 +372,7 @@ elsif node[:nominatim][:api_flavour] == "python" working_directory project_directory standard_output "append:#{node[:nominatim][:logdir]}/gunicorn.log" standard_error "inherit" - exec_start "#{python_directory}/bin/gunicorn -b unix:/run/gunicorn-nominatim.openstreetmap.org.sock -w #{node[:nominatim][:api_workers]} -k uvicorn.workers.UvicornWorker nominatim.server.falcon.server:run_wsgi" + exec_start "#{python_directory}/bin/gunicorn --max-requests 200000 -b unix:/run/gunicorn-nominatim.openstreetmap.org.sock -w #{node[:nominatim][:api_workers]} -k uvicorn.workers.UvicornWorker nominatim.server.falcon.server:run_wsgi" exec_reload "/bin/kill -s HUP $MAINPID" environment :PYTHONPATH => "/usr/local/lib/nominatim/lib-python/" kill_mode "mixed" @@ -603,25 +613,6 @@ template "/etc/logrotate.d/nominatim" do end # Monitoring - -munin_plugin_conf "nominatim" do - template "munin.erb" - variables :db => node[:nominatim][:dbname], - :querylog => "#{node[:nominatim][:logdir]}/query.log" -end - -munin_plugin "nominatim_importlag" do - target "#{source_directory}/munin/nominatim_importlag" -end - -munin_plugin "nominatim_query_speed" do - target "#{source_directory}/munin/nominatim_query_speed_querylog" -end - -munin_plugin "nominatim_requests" do - target "#{source_directory}/munin/nominatim_requests_querylog" -end - prometheus_exporter "nominatim" do port 8082 user "www-data"