Giuseppe Lavagetto has submitted this change and it was merged.
Change subject: service::node: fix the look-up of undefined variables
......................................................................
service::node: fix the look-up of undefined variables
Some variables may not be defined when completing the template.
Unfortunately for us, scope#lookupvar does not return nil, but 'undef'
on such occasions (etiher as a string or symbol). This causes any
possible if-guards to be evaluated as true, and consequently we end up
with variables set to the string 'undef'. For instance, citoid's config
in the beta cluster does not have a proxy set, but the configuration
reads:
proxy: undef
which is clearly wrong. This patch translates such look-ups into empty
strings, which represents perfectly-valid YAML.
Bug: T95533
Change-Id: I9eab4f1627070e031c33ee4640ba146cdc9fd600
---
M modules/service/templates/node/config.yaml.erb
1 file changed, 18 insertions(+), 9 deletions(-)
Approvals:
Giuseppe Lavagetto: Looks good to me, approved
jenkins-bot: Verified
diff --git a/modules/service/templates/node/config.yaml.erb
b/modules/service/templates/node/config.yaml.erb
index caa82cc..e073f18 100644
--- a/modules/service/templates/node/config.yaml.erb
+++ b/modules/service/templates/node/config.yaml.erb
@@ -1,3 +1,16 @@
+<%
+cvars = {
+ 'gelf_host' => scope.lookupvar('service::configuration::logstash_host'),
+ 'gelf_port' => scope.lookupvar('service::configuration::logstash_port'),
+ 'stat_host' => scope.lookupvar('service::configuration::statsd_host'),
+ 'stat_port' => scope.lookupvar('service::configuration::statsd_port'),
+ 'proxy' => scope.lookupvar('service::configuration::http_proxy')
+}
+
+cvars.keys.each do |k|
+ cvars[k] = '' if cvars[k].nil? or ['undef', ''].include? cvars[k].to_s
+end
+%>
# Number of worker processes to spawn.
# Set to 0 to run everything in a single process without clustering.
# Use 'ncpu' to run as many workers as there are CPU units
@@ -14,8 +27,8 @@
streams:
# Use gelf-stream -> logstash
- type: gelf
- host: <%= scope.lookupvar('service::configuration::logstash_host') %>
- port: <%= scope.lookupvar('service::configuration::logstash_port') %>
+ host: <%= cvars['gelf_host'] %>
+ port: <%= cvars['gelf_port'] %>
- type: file
path: <%= @local_logfile %>
level: info
@@ -23,8 +36,8 @@
# Statsd metrics reporter
metrics:
type: statsd
- host: <%= scope.lookupvar('service::configuration::statsd_host') %>
- port: <%= scope.lookupvar('service::configuration::statsd_port') %>
+ host: <%= cvars['stat_host'] %>
+ port: <%= cvars['stat_port'] %>
services:
- name: <%= @title %>
@@ -45,8 +58,4 @@
# to restrict to a particular domain, use:
# cors: restricted.domain.org
# URL of the outbound proxy to use (complete with protocol)
- <% if scope.lookupvar('service::configuration::http_proxy') %>
- proxy: <%= scope.lookupvar('service::configuration::http_proxy') %>
- <% else %>
- # proxy: http://my.proxy.org:8080
- <% end %>
+ proxy: <%= cvars['proxy'] %>
--
To view, visit https://gerrit.wikimedia.org/r/203886
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I9eab4f1627070e031c33ee4640ba146cdc9fd600
Gerrit-PatchSet: 4
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Mobrovac <[email protected]>
Gerrit-Reviewer: Giuseppe Lavagetto <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits