Mark Bergsma has submitted this change and it was merged.
Change subject: Support aggregators responsible for multiple sites
......................................................................
Support aggregators responsible for multiple sites
Change-Id: I0ec2576b1ed9d3214d5b71566222987b065ad670
---
M manifests/site.pp
M modules/ganglia_new/manifests/configuration.pp
M modules/ganglia_new/manifests/monitor/aggregator.pp
M modules/ganglia_new/manifests/monitor/aggregator/instance.pp
4 files changed, 33 insertions(+), 9 deletions(-)
Approvals:
Mark Bergsma: Looks good to me, approved
jenkins-bot: Verified
diff --git a/manifests/site.pp b/manifests/site.pp
index 0fec1dd..4e4b070 100644
--- a/manifests/site.pp
+++ b/manifests/site.pp
@@ -1072,7 +1072,7 @@
hosts => $storagehosts
}
- include ganglia_new::monitor::aggregator
+ class { "ganglia_new::monitor::aggregator": sites => ["pmtpa"] }
}
node "hooper.wikimedia.org" {
diff --git a/modules/ganglia_new/manifests/configuration.pp
b/modules/ganglia_new/manifests/configuration.pp
index bc5e8b1..4fd18e4 100644
--- a/modules/ganglia_new/manifests/configuration.pp
+++ b/modules/ganglia_new/manifests/configuration.pp
@@ -121,11 +121,22 @@
$url = "http://ganglia.wikimedia.org"
$gmetad_hosts = [ "208.80.152.15", "208.80.154.150" ]
$base_port = 8649
+ $site_port_prefix = {
+ pmtpa => 0,
+ eqiad => 1000,
+ esams => 3000,
+ }
+ $default_sites = ["pmtpa", "eqiad"]
}
'labs': {
$url = "http://ganglia.wmflabs.org"
$gmetad_hosts = [ "10.4.0.79"]
$base_port = 8649
+ $site_port_prefix = {
+ pmtpa => 0,
+ eqiad => 0,
+ }
+ $default_sites = ["pmtpa"]
}
}
}
\ No newline at end of file
diff --git a/modules/ganglia_new/manifests/monitor/aggregator.pp
b/modules/ganglia_new/manifests/monitor/aggregator.pp
index 2ba6f95..e8d64db 100644
--- a/modules/ganglia_new/manifests/monitor/aggregator.pp
+++ b/modules/ganglia_new/manifests/monitor/aggregator.pp
@@ -1,4 +1,4 @@
-class ganglia_new::monitor::aggregator {
+class ganglia_new::monitor::aggregator($sites) {
require ganglia_new::monitor::packages
include ganglia_new::configuration
@@ -20,9 +20,13 @@
upstart_job { "ganglia-monitor-aggregator-instance": }
- # Instantiate aggregators for all clusters
- $cluster_list = keys($ganglia_new::configuration::clusters)
- instance{ $cluster_list: }
+ define site_instances() {
+ # Instantiate aggregators for all clusters for this site
($title)
+ $cluster_list =
suffix(keys($ganglia_new::configuration::clusters), "_${title}")
+ instance{ $cluster_list: site => $title }
+ }
+
+ site_instances{ $sites: }
service { "ganglia-monitor-aggregator":
provider => upstart,
diff --git a/modules/ganglia_new/manifests/monitor/aggregator/instance.pp
b/modules/ganglia_new/manifests/monitor/aggregator/instance.pp
index 4e952c8..b0cf918 100644
--- a/modules/ganglia_new/manifests/monitor/aggregator/instance.pp
+++ b/modules/ganglia_new/manifests/monitor/aggregator/instance.pp
@@ -1,25 +1,34 @@
-define ganglia_new::monitor::aggregator::instance() {
+define ganglia_new::monitor::aggregator::instance($site) {
Ganglia_new::Monitor::Aggregator::Instance[$title] ->
Service[ganglia-monitor-aggregator]
include ganglia_new::configuration, network::constants
$aggregator = true
- # TODO: support multiple $site
+ if has_key($ganglia_new::configuration::clusters[$cluster], 'sites') {
+ $sites =
$ganglia_new::configuration::clusters[$cluster]['sites']
+ } else {
+ $sites = $ganglia_new::configuration::default_sites
+ }
$cluster = $title
$id = $ganglia_new::configuration::clusters[$cluster]['id']
$desc = $ganglia_new::configuration::clusters[$cluster]['name']
- $portnr = $ganglia_new::configuration::base_port + $id
+ $portnr = $ganglia_new::configuration::base_port +
$ganglia_new::configuration::site_port_prefix[$site] + $id
$gmond_port = $::realm ? {
production => $portnr,
labs => $::project_gid
}
$cname = "${desc} ${::site}"
+ $ensure = $site in $sites ? {
+ true => present,
+ default => absent
+ }
file { "/etc/ganglia/aggregators/${id}.conf":
require => File["/etc/ganglia/aggregators"],
mode => 0444,
content => template("$module_name/gmond.conf.erb"),
- notify => Service["ganglia-monitor-aggregator"]
+ notify => Service["ganglia-monitor-aggregator"],
+ ensure => $ensure
}
}
--
To view, visit https://gerrit.wikimedia.org/r/60842
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I0ec2576b1ed9d3214d5b71566222987b065ad670
Gerrit-PatchSet: 4
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Mark Bergsma <[email protected]>
Gerrit-Reviewer: Mark Bergsma <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits