Mark Bergsma has uploaded a new change for review. https://gerrit.wikimedia.org/r/60842
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(+), 10 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/operations/puppet refs/changes/42/60842/1 diff --git a/manifests/site.pp b/manifests/site.pp index 85fde0a..9e35097 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..8282d29 100644 --- a/modules/ganglia_new/manifests/configuration.pp +++ b/modules/ganglia_new/manifests/configuration.pp @@ -121,11 +121,21 @@ $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..2ee7220 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: newchange Gerrit-Change-Id: I0ec2576b1ed9d3214d5b71566222987b065ad670 Gerrit-PatchSet: 1 Gerrit-Project: operations/puppet Gerrit-Branch: production Gerrit-Owner: Mark Bergsma <m...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits