From: Tom Hughes Date: Sun, 9 Jun 2019 17:52:10 +0000 (+0100) Subject: Add support for squid 4 X-Git-Url: https://git.openstreetmap.org/chef.git/commitdiff_plain/d0446717f1f755850a9698fcf1998e7fc8614837?ds=inline Add support for squid 4 --- diff --git a/cookbooks/apt/recipes/default.rb b/cookbooks/apt/recipes/default.rb index 14e37dd9b..1cac23bff 100644 --- a/cookbooks/apt/recipes/default.rb +++ b/cookbooks/apt/recipes/default.rb @@ -88,6 +88,11 @@ apt_repository "squid3" do uri "ppa:osmadmins/squid3" end +apt_repository "squid4" do + action repository_actions["squid4"] + uri "ppa:osmadmins/squid4" +end + apt_repository "management-component-pack" do action repository_actions["management-component-pack"] uri "https://downloads.linux.hpe.com/SDR/repo/mcp" diff --git a/cookbooks/squid/attributes/default.rb b/cookbooks/squid/attributes/default.rb index 2f49acad0..e3e2ca83e 100644 --- a/cookbooks/squid/attributes/default.rb +++ b/cookbooks/squid/attributes/default.rb @@ -1,4 +1,4 @@ -default[:squid][:version] = "2" +default[:squid][:version] = 2 default[:squid][:cache_mem] = "256 MB" default[:squid][:cache_dir] = "ufs /var/spool/squid 256 16 256" default[:squid][:access_log] = "/var/log/squid/access.log openstreetmap" diff --git a/cookbooks/squid/recipes/default.rb b/cookbooks/squid/recipes/default.rb index 12c57c775..fe5077bcd 100644 --- a/cookbooks/squid/recipes/default.rb +++ b/cookbooks/squid/recipes/default.rb @@ -17,7 +17,7 @@ # limitations under the License. # -if node[:squid][:version] == "3" +if node[:squid][:version] >= 3 apt_package "squid" do action :unlock end diff --git a/cookbooks/squid/templates/default/squid.conf.erb b/cookbooks/squid/templates/default/squid.conf.erb index 053987f1b..a2f38b73f 100644 --- a/cookbooks/squid/templates/default/squid.conf.erb +++ b/cookbooks/squid/templates/default/squid.conf.erb @@ -12,7 +12,7 @@ icp_port 3130 log_icp_queries off #FIXME - configurable -<% if node[:squid][:version] == "2" -%> +<% if node[:squid][:version] < 3 -%> http_port 80 accel defaultsite=tile.openstreetmap.org tcpkeepalive=60,10,6 http11 <% else -%> http_port 80 accel no-vhost defaultsite=tile.openstreetmap.org tcpkeepalive=60,10,6 @@ -28,7 +28,7 @@ cache_effective_group proxy <% Array(node[:squid][:cache_dir]).each do |cache_dir| -%> cache_dir <%= cache_dir %> <% end -%> -<% if node[:squid][:version] == "2" -%> +<% if node[:squid][:version] < 3 -%> cache_swap_log /var/spool/squid/%s <% end -%> @@ -50,7 +50,7 @@ persistent_request_timeout 1 minutes negative_ttl 15 seconds half_closed_clients off -<% if node[:squid][:version] == "2" -%> +<% if node[:squid][:version] < 3 -%> pipeline_prefetch on <% else -%> pipeline_prefetch 1 @@ -62,13 +62,13 @@ connect_timeout 20 seconds client_lifetime 1 hours collapsed_forwarding on -<% if node[:squid][:version] == "2" -%> +<% if node[:squid][:version] < 3 -%> refresh_stale_hit 300 seconds <% end -%> #Recommended minimum configuration: #---------------------------------- -<% if node[:squid][:version] == "2" -%> +<% if node[:squid][:version] < 3 -%> acl all src all acl manager proto cache_object acl localhost src 127.0.0.1/32 @@ -103,7 +103,7 @@ http_access deny purge forwarded_for on follow_x_forwarded_for allow localhost -<% if node[:squid][:version] == "2" -%> +<% if node[:squid][:version] < 3 -%> logformat openstreetmap %ts.%03tu %tr %>a %Ss/%03Hs %h" "%{User-Agent}>h" access_log <%= node[:squid][:access_log] %> <% else -%> @@ -115,7 +115,7 @@ cache_store_log none buffered_logs on client_db off strip_query_terms off -<% if node[:squid][:version] == "3" -%> +<% if node[:squid][:version] > 2 -%> # Work around bug in squid 3 that causes log_fqdn to be # turned on by some of the (unused by us) default formats: # http://lists.squid-cache.org/pipermail/squid-users/2016-February/thread.html#8999 diff --git a/cookbooks/tilecache/templates/default/squid.conf.erb b/cookbooks/tilecache/templates/default/squid.conf.erb index c74c527d3..b9a396851 100644 --- a/cookbooks/tilecache/templates/default/squid.conf.erb +++ b/cookbooks/tilecache/templates/default/squid.conf.erb @@ -117,7 +117,7 @@ acl tile_caches src <%= address %> <% end -%> <% end -%> -<% if node[:squid][:version] == "2" -%> +<% if node[:squid][:version] != 3 -%> # Siblings <% node[:tilecache][:tile_siblings].each do |sibling| -%> cache_peer <%= sibling %> sibling 3128 3130 weight=1500 @@ -125,12 +125,20 @@ cache_peer <%= sibling %> sibling 3128 3130 weight=1500 <% end -%> # Primary Parent +<% if node[:squid][:version] < 4 -%> cache_peer <%= node[:tilecache][:tile_parent] %> parent 443 0 no-query originserver name=osmtileAccel login=PASS connect-timeout=120 no-digest weight=1000 ssl ssldomain=render.openstreetmap.org +<% else -%> +cache_peer <%= node[:tilecache][:tile_parent] %> parent 443 0 no-query originserver name=osmtileAccel login=PASS connect-timeout=120 no-digest weight=1000 tls ssldomain=render.openstreetmap.org +<% end -%> cache_peer_access osmtileAccel allow osmtile_sites # Backup Parents <% @renders.each do |renders| -%> +<% if node[:squid][:version] < 4 -%> cache_peer <%= renders[:hostname] %>.render.openstreetmap.org parent 443 0 no-query originserver name=osmtileAccelBackup<%= renders[:hostname] %> login=PASS connect-timeout=60 no-digest weight=10 ssl ssldomain=render.openstreetmap.org +<% else -%> +cache_peer <%= renders[:hostname] %>.render.openstreetmap.org parent 443 0 no-query originserver name=osmtileAccelBackup<%= renders[:hostname] %> login=PASS connect-timeout=60 no-digest weight=10 tls ssldomain=render.openstreetmap.org +<% end -%> cache_peer_access osmtileAccelBackup<%= renders[:hostname] %> allow osmtile_sites <% end -%>