Tilecache: breakout render parents to avoid squid roundrobin DNS issue
authorGrant Slater <git@firefishy.com>
Wed, 18 Dec 2013 12:59:11 +0000 (12:59 +0000)
committerGrant Slater <git@firefishy.com>
Wed, 18 Dec 2013 12:59:11 +0000 (12:59 +0000)
cookbooks/tilecache/recipes/default.rb
cookbooks/tilecache/templates/default/squid.conf.erb

index 19a475cd3103fefa9a1190c23d24cf5df7c52471..53b5abb42a947a0da8ad54bb609df8c524cef452 100644 (file)
@@ -23,6 +23,7 @@ include_recipe "ssl"
 include_recipe "squid"
 
 tilecaches = search(:node, "roles:tilecache").sort_by { |n| n[:hostname] }
+tilerenders = search(:node, "roles:tile").sort_by { |n| n[:hostname] }
 
 tilecaches.each do |cache|
   cache.ipaddresses(:family => :inet, :role => :external).sort.each do |address|
@@ -49,7 +50,7 @@ end
 
 squid_fragment "tilecache" do
   template "squid.conf.erb"
-  variables :caches => tilecaches
+  variables :caches => tilecaches, :renders => tilerenders
 end
 
 template "/etc/logrotate.d/squid" do
index 5ddd3d4ca06db8675a09a20fc773c394e018d605..5a59e59c7a2273e404185a2caf25e32757656cdd 100644 (file)
@@ -45,13 +45,15 @@ cache_peer trogdor.openstreetmap.org sibling 3128 3130
 cache_peer nadder-01.openstreetmap.org sibling 3128 3130 proxy-only
 cache_peer nadder-02.openstreetmap.org sibling 3128 3130 proxy-only
 <% end -%>
+#Primary Parent
 cache_peer <%= node[:tilecache][:tile_parent] %> parent 80 0 no-query originserver name=osmtileAccel login=PASS connect-timeout=60 no-digest weight=1000
-cache_peer render.openstreetmap.org parent 80 0 no-query originserver name=osmtileAccelBackup login=PASS connect-timeout=60 no-digest weight=10
-
 cache_peer_access osmtileAccel allow osmtile_sites
-cache_peer_access osmtileAccelBackup allow osmtile_sites
-cache_peer_access osmtileAccel deny all
-cache_peer_access osmtileAccelBackup deny all
+
+#Backup Parents
+<% @renders.each do |renders| -%>
+cache_peer <%= renders[:hostname] %>.render.openstreetmap.org parent 80 0 no-query originserver name=osmtileAccelBackup<%= renders[:hostname] %> login=PASS connect-timeout=60 no-digest weight=10
+cache_peer_access osmtileAccelBackup<%= renders[:hostname] %> allow osmtile_sites
+<% end -%>
 
 #----------------------------------
 #Create an unlimited pool for cache IP addresses