Skip to content

Commit 0525815

Browse files
Add dropsonde telemetry config
1 parent 7f071c6 commit 0525815

File tree

5 files changed

+44
-0
lines changed

5 files changed

+44
-0
lines changed

manifests/init.pp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -445,6 +445,11 @@
445445
# Defaults to true, matching defaults in Puppetserver 5+.
446446
# If set to false, compiler and function metrics will not be available, (eg. when enabling graphite metrics)
447447
#
448+
# $server_puppetserver_telemetry:: Enable Dropsonde telemetry.
449+
# Defaults to true, matching defaults in Puppetserver 7.
450+
# If set to false, will disable module metrics submission via Dropsonde.
451+
# Note that is only valid since Puppetserver 7.
452+
#
448453
# $server_metrics_jmx_enable:: Enable or disable JMX metrics reporter. Defaults to true
449454
#
450455
# $server_metrics_graphite_enable:: Enable or disable Graphite metrics reporter. Defaults to false
@@ -713,6 +718,7 @@
713718
Integer[0] $server_web_idle_timeout = $puppet::params::server_web_idle_timeout,
714719
Boolean $server_puppetserver_metrics = true,
715720
Boolean $server_puppetserver_profiler = true,
721+
Boolean $server_puppetserver_telemetry = true,
716722
Boolean $server_metrics_jmx_enable = $puppet::params::server_metrics_jmx_enable,
717723
Boolean $server_metrics_graphite_enable = $puppet::params::server_metrics_graphite_enable,
718724
String $server_metrics_graphite_host = $puppet::params::server_metrics_graphite_host,

manifests/server.pp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,10 @@
265265
# $puppetserver_profiler:: Enable JRuby profiling.
266266
# Defaults to false because that's the Puppet Inc. default behaviour.
267267
#
268+
# $puppetserver_telemetry:: Enable Dropsonde telemetry.
269+
# Valid on puppetserver >= 7
270+
# Defaults to true because that's the Puppet Inc. default behaviour since puppet 7
271+
#
268272
# $metrics_jmx_enable:: Enable or disable JMX metrics reporter. Defaults to true
269273
#
270274
# $metrics_graphite_enable:: Enable or disable Graphite metrics reporter. Defaults to false
@@ -429,6 +433,7 @@
429433
Boolean $allow_header_cert_info = $puppet::server_allow_header_cert_info,
430434
Optional[Boolean] $puppetserver_metrics = $puppet::server_puppetserver_metrics,
431435
Boolean $puppetserver_profiler = $puppet::server_puppetserver_profiler,
436+
Boolean $puppetserver_telemetry = $puppet::server_puppetserver_telemetry,
432437
Boolean $metrics_jmx_enable = $puppet::server_metrics_jmx_enable,
433438
Boolean $metrics_graphite_enable = $puppet::server_metrics_graphite_enable,
434439
String $metrics_graphite_host = $puppet::server_metrics_graphite_host,

manifests/server/puppetserver.pp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@
119119
$server_environment_class_cache_enabled = $puppet::server::environment_class_cache_enabled,
120120
$server_metrics = $puppet::server::puppetserver_metrics,
121121
$server_profiler = $puppet::server::puppetserver_profiler,
122+
$server_telemetry = $puppet::server::puppetserver_telemetry,
122123
$metrics_jmx_enable = $puppet::server::metrics_jmx_enable,
123124
$metrics_graphite_enable = $puppet::server::metrics_graphite_enable,
124125
$metrics_graphite_host = $puppet::server::metrics_graphite_host,

spec/classes/puppet_server_puppetserver_spec.rb

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -306,6 +306,30 @@
306306
end
307307
end
308308

309+
describe 'server_telemetry' do
310+
context 'when server_puppetserver_version == 7.0.0' do
311+
let(:params) { super().merge(server_puppetserver_version: '7.0.0') }
312+
context 'with default parameters' do
313+
it {
314+
should contain_file(puppetserver_conf)
315+
.with_content(/^dropsonde: \{\n # enable or disable telemetry\n enabled: true/)
316+
}
317+
end
318+
319+
context 'when server_telemetry => false' do
320+
let(:params) { super().merge(server_puppetserver_telemetry: false) }
321+
it {
322+
should contain_file(puppetserver_conf)
323+
.with_content(/^dropsonde: \{\n # enable or disable telemetry\n enabled: false/)
324+
}
325+
end
326+
end
327+
328+
context 'when server_puppetserver_version >= 6.15.0 and < 7.0.0' do
329+
it { should contain_file(puppetserver_conf).without_content(/^dropsonde: \{/) }
330+
end
331+
end
332+
309333
describe 'server_experimental' do
310334
context 'when server_experimental => true' do
311335
let(:params) { super().merge(server_puppetserver_experimental: true) }

templates/server/puppetserver/conf.d/puppetserver.conf.erb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,3 +139,11 @@ profiler: {
139139
# enable or disable profiling for the Ruby code;
140140
enabled: <%= @server_profiler %>
141141
}
142+
<%- if scope.function_versioncmp([@server_puppetserver_version, '7.0']) >= 0 -%>
143+
144+
# Settings related to telemetry
145+
dropsonde: {
146+
# enable or disable telemetry
147+
enabled: <%= @server_telemetry %>
148+
}
149+
<%- end -%>

0 commit comments

Comments
 (0)