[MediaWiki-commits] [Gerrit] varnish: allow director backends to be single-value again - change (operations/puppet)
BBlack has submitted this change and it was merged. Change subject: varnish: allow director backends to be single-value again .. varnish: allow director backends to be single-value again director=>backends used to allow being a single value or an array. We switched to requiring an array some time back to simplify some code. Now I've learned about the Ruby splat operator, which makes it easy for cleaner code to support both again. The single value form is far more common when we move this data to hieradata/ and saves lots of lines and line-noise if it doesn't need unecessary array enclosures. Bug: T127484 Change-Id: I52d78bc0e8ed15b01d41eb9511e3fbeb8b433680 --- M modules/varnish/templates/vcl/directors.vcl.tpl.erb M modules/varnish/templates/vcl/wikimedia-common.inc.vcl.erb 2 files changed, 4 insertions(+), 4 deletions(-) Approvals: BBlack: Verified; Looks good to me, approved diff --git a/modules/varnish/templates/vcl/directors.vcl.tpl.erb b/modules/varnish/templates/vcl/directors.vcl.tpl.erb index b5e8ff4..cd895ea 100644 --- a/modules/varnish/templates/vcl/directors.vcl.tpl.erb +++ b/modules/varnish/templates/vcl/directors.vcl.tpl.erb @@ -18,7 +18,7 @@ director <%= director_name %> <%= director['type'] %> { <%- keyspace = "#{@conftool_namespace}/#{director['dc']}/#{@group}/#{director['service']}" -%> <%- if director['type'] == 'chash' %> - .retries = <%= chash_def_retries(99, director['backends'].size) %>; + .retries = <%= chash_def_retries(99, [*director['backends']].size) %>; <% end -%> {{range $node := ls "<%= keyspace %>/"}}{{ $key := printf "<%= keyspace %>/%s" $node }}{{ $data := json (getv $key) }}{{ if eq $data.pooled "yes"}} { diff --git a/modules/varnish/templates/vcl/wikimedia-common.inc.vcl.erb b/modules/varnish/templates/vcl/wikimedia-common.inc.vcl.erb index 664cee3..8a57083 100644 --- a/modules/varnish/templates/vcl/wikimedia-common.inc.vcl.erb +++ b/modules/varnish/templates/vcl/wikimedia-common.inc.vcl.erb @@ -84,7 +84,7 @@ # 'type' => 'chash', # required # 'dc' => 'eqiad', # required if dynamic==yes # 'service' => 'foo', # required if dynamic==yes -# 'backends' => [ "backend1", "backend2" ], # required +# 'backends' => [ "backend1", "backend2" ], # required: array or single value # 'be_opts' => { # every option but 'probe' is required! # 'port' = 80, # 'connect_timeout' = '2s', @@ -109,7 +109,7 @@ @varnish_directors.keys.sort.each do |director_name| director = @varnish_directors[director_name] be_opts = director['be_opts'] - director['backends'].each do |backend| + [*director['backends']].each do |backend| next if be_seen.key?(backend) be_seen[backend] = 1 name = /^[0-9\.]+$/.match(backend) ? "ipv4_" + backend.gsub(".", "_") : "be_" + backend.split(".")[0].gsub("-", "_") @@ -137,7 +137,7 @@ <% @varnish_directors.keys.sort.each do |director_name| director = @varnish_directors[director_name] if (!@dynamic_directors or director['dynamic'] != 'yes') - backends = director['backends'] + backends = [*director['backends']] if (!backends.empty?) -%> director <%= director_name %> <%= director['type'] %> { -- To view, visit https://gerrit.wikimedia.org/r/275118 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I52d78bc0e8ed15b01d41eb9511e3fbeb8b433680 Gerrit-PatchSet: 8 Gerrit-Project: operations/puppet Gerrit-Branch: production Gerrit-Owner: BBlackGerrit-Reviewer: BBlack Gerrit-Reviewer: jenkins-bot <> ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] varnish: allow director backends to be single-value again - change (operations/puppet)
BBlack has uploaded a new change for review. https://gerrit.wikimedia.org/r/275118 Change subject: varnish: allow director backends to be single-value again .. varnish: allow director backends to be single-value again director=>backends used to allow being a single value or an array. We switched to requiring an array some time back to simplify some code. Now I've learned about the Ruby splat operator, which makes it easy for cleaner code to support both again. The single value form is far more common when we move this data to hieradata/ and saves lots of lines and line-noise if it doesn't need unecessary array enclosures. Bug: T127484 Change-Id: I52d78bc0e8ed15b01d41eb9511e3fbeb8b433680 --- M modules/varnish/templates/vcl/directors.vcl.tpl.erb M modules/varnish/templates/vcl/wikimedia-common.inc.vcl.erb 2 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/operations/puppet refs/changes/18/275118/1 diff --git a/modules/varnish/templates/vcl/directors.vcl.tpl.erb b/modules/varnish/templates/vcl/directors.vcl.tpl.erb index b5e8ff4..cd895ea 100644 --- a/modules/varnish/templates/vcl/directors.vcl.tpl.erb +++ b/modules/varnish/templates/vcl/directors.vcl.tpl.erb @@ -18,7 +18,7 @@ director <%= director_name %> <%= director['type'] %> { <%- keyspace = "#{@conftool_namespace}/#{director['dc']}/#{@group}/#{director['service']}" -%> <%- if director['type'] == 'chash' %> - .retries = <%= chash_def_retries(99, director['backends'].size) %>; + .retries = <%= chash_def_retries(99, [*director['backends']].size) %>; <% end -%> {{range $node := ls "<%= keyspace %>/"}}{{ $key := printf "<%= keyspace %>/%s" $node }}{{ $data := json (getv $key) }}{{ if eq $data.pooled "yes"}} { diff --git a/modules/varnish/templates/vcl/wikimedia-common.inc.vcl.erb b/modules/varnish/templates/vcl/wikimedia-common.inc.vcl.erb index ac0294a..f460336 100644 --- a/modules/varnish/templates/vcl/wikimedia-common.inc.vcl.erb +++ b/modules/varnish/templates/vcl/wikimedia-common.inc.vcl.erb @@ -83,7 +83,7 @@ # 'type' => 'chash', # required # 'dc' => 'eqiad', # required if dynamic==yes # 'service' => 'foo', # required if dynamic==yes -# 'backends' => [ "backend1", "backend2" ], # required +# 'backends' => [ "backend1", "backend2" ], # required: array or single value # 'be_opts' => { # every option but 'probe' is required! # 'port' = 80, # 'connect_timeout' = '2s', @@ -99,7 +99,7 @@ @varnish_directors.keys.sort.each do |director_name| director = @varnish_directors[director_name] be_opts = director[be_opts] - director['backends'].each do |backend| + [*director['backends']].each do |backend| name = /^[0-9\.]+$/.match(backend) ? "ipv4_" + backend.gsub(".", "_") : "be_" + backend.split(".")[0].gsub("-", "_") probe_str = defined? be_opts['probe'] ? ".probe = " + be_opts['probe'] + ";" : ""; -%> @@ -126,7 +126,7 @@ <% @varnish_directors.keys.sort.each do |director_name| director = @varnish_directors[director_name] if (!@dynamic_directors or director['dynamic'] != 'yes') - backends = director['backends'] + backends = [*director['backends']] if (!backends.empty?) -%> director <%= director_name %> <%= director['type'] %> { -- To view, visit https://gerrit.wikimedia.org/r/275118 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I52d78bc0e8ed15b01d41eb9511e3fbeb8b433680 Gerrit-PatchSet: 1 Gerrit-Project: operations/puppet Gerrit-Branch: production Gerrit-Owner: BBlack___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits