Giuseppe Lavagetto has submitted this change and it was merged.
Change subject: monitoring: convert monitor_group to monitoring::group
......................................................................
monitoring: convert monitor_group to monitoring::group
Also, move decommission_monitor_host, which seems useless anyway.
Change-Id: I52461750f38d8bff7da9358654bf45a5feeb44ae
---
M manifests/facilities.pp
M manifests/nagios.pp
M manifests/network.pp
M manifests/nfs.pp
M manifests/role/analytics.pp
M manifests/role/apertium.pp
M manifests/role/cache.pp
M manifests/role/coredb.pp
M manifests/role/cxserver.pp
M manifests/role/elasticsearch.pp
M manifests/role/logstash.pp
M manifests/role/lvs.pp
M manifests/role/mathoid.pp
M manifests/role/mediawiki.pp
M manifests/role/memcached.pp
M manifests/role/nova.pp
M manifests/role/ocg.pp
M manifests/role/openldap.pp
M manifests/role/parsoid.pp
M manifests/role/protoproxy.pp
M manifests/role/rcstream.pp
M manifests/role/redisdb.pp
M manifests/role/swift.pp
M manifests/search.pp
M modules/icinga/manifests/groups/misc.pp
A modules/monitoring/manifests/decommission_host.pp
A modules/monitoring/manifests/group.pp
27 files changed, 121 insertions(+), 87 deletions(-)
Approvals:
Giuseppe Lavagetto: Looks good to me, approved
jenkins-bot: Verified
diff --git a/manifests/facilities.pp b/manifests/facilities.pp
index 31be227..373b16d 100644
--- a/manifests/facilities.pp
+++ b/manifests/facilities.pp
@@ -105,7 +105,7 @@
}
# Nagios monitoring
-@monitor_group { 'pdus':
+@monitoring::group { 'pdus':
description => 'PDUs',
}
diff --git a/manifests/nagios.pp b/manifests/nagios.pp
index 377435e..547c184 100644
--- a/manifests/nagios.pp
+++ b/manifests/nagios.pp
@@ -136,7 +136,7 @@
}
}
-define monitor_group ($description, $ensure=present) {
+define monitoring::group ($description, $ensure=present) {
# Nagios hostgroup instance
nagios_hostgroup { $title:
ensure => $ensure,
@@ -151,29 +151,5 @@
target => "${::nagios_config_dir}/puppet_servicegroups.cfg",
servicegroup_name => $title,
alias => $description,
- }
-}
-define decommission_monitor_host {
- if defined(Nagios_host[$title]) {
- # Override the existing resources
- Nagios_host <| title == $title |> {
- ensure => absent
- }
- Nagios_hostextinfo <| title == $title |> {
- ensure => absent
- }
- }
- else {
- # Resources don't exist in Puppet. Remove from Nagios config as well.
- nagios_host { $title:
- host_name => $title,
- ensure => absent;
-
- }
- nagios_hostextinfo { $title:
- host_name => $title,
- ensure => absent;
-
- }
}
}
diff --git a/manifests/network.pp b/manifests/network.pp
index 3b60088..da2e937 100644
--- a/manifests/network.pp
+++ b/manifests/network.pp
@@ -272,11 +272,11 @@
$snmp_ro_community = $passwords::network::snmp_ro_community
# Nagios monitoring
- @monitor_group { 'routers':
+ @monitoring::group { 'routers':
description => 'IP routers',
}
- @monitor_group { 'storage':
+ @monitoring::group { 'storage':
description => 'Storage equipment',
}
diff --git a/manifests/nfs.pp b/manifests/nfs.pp
index dbf3d4e..f69cb27 100644
--- a/manifests/nfs.pp
+++ b/manifests/nfs.pp
@@ -1,7 +1,7 @@
# nfs.pp
# Virtual resource for the monitoring server
-#@monitor_group { "nfs": description => "NFS" }
+#@monitoring::group { "nfs": description => "NFS" }
class nfs::common {
package { 'nfs-common':
diff --git a/manifests/role/analytics.pp b/manifests/role/analytics.pp
index 3dfcf15..bd46c58 100644
--- a/manifests/role/analytics.pp
+++ b/manifests/role/analytics.pp
@@ -1,6 +1,6 @@
# analytics servers (RT-1985)
-@monitor_group { 'analytics_eqiad': description => 'analytics servers in
eqiad' }
+@monitoring::group { 'analytics_eqiad': description => 'analytics servers in
eqiad' }
# == Class role::analytics
# Base class for all analytics nodes.
diff --git a/manifests/role/apertium.pp b/manifests/role/apertium.pp
index 0d32aab..d189d21 100644
--- a/manifests/role/apertium.pp
+++ b/manifests/role/apertium.pp
@@ -1,7 +1,7 @@
# vim: set ts=4 et sw=4:
# We do not have monitoring yet
-#@monitor_group { 'apertium_eqiad': description => 'eqiad apertium servers' }
+#@monitoring::group { 'apertium_eqiad': description => 'eqiad apertium
servers' }
# Skipping production for now
#class role::apertium::production {}
diff --git a/manifests/role/cache.pp b/manifests/role/cache.pp
index 1bd8fdf..d2c4a9b 100644
--- a/manifests/role/cache.pp
+++ b/manifests/role/cache.pp
@@ -2,51 +2,51 @@
# cache::varnish role classes
# Virtual resources for the monitoring server
-@monitor_group { 'cache_text_eqiad':
+@monitoring::group { 'cache_text_eqiad':
description => 'eqiad text Varnish',
}
-@monitor_group { 'cache_text_esams':
+@monitoring::group { 'cache_text_esams':
description => 'esams text Varnish',
}
-@monitor_group { 'cache_text_ulsfo':
+@monitoring::group { 'cache_text_ulsfo':
description => 'ulsfo text Varnish',
}
-@monitor_group { 'cache_upload_eqiad':
+@monitoring::group { 'cache_upload_eqiad':
description => 'eqiad upload Varnish',
}
-@monitor_group { 'cache_upload_esams':
+@monitoring::group { 'cache_upload_esams':
description => 'esams upload Varnish',
}
-@monitor_group { 'cache_upload_ulsfo':
+@monitoring::group { 'cache_upload_ulsfo':
description => 'ulsfo upload Varnish',
}
-@monitor_group { 'cache_bits_eqiad':
+@monitoring::group { 'cache_bits_eqiad':
description => 'eqiad bits Varnish',
}
-@monitor_group { 'cache_bits_esams':
+@monitoring::group { 'cache_bits_esams':
description => 'esams bits Varnish',
}
-@monitor_group { 'cache_bits_ulsfo':
+@monitoring::group { 'cache_bits_ulsfo':
description => 'ulsfo bits Varnish',
}
-@monitor_group { 'cache_mobile_eqiad':
+@monitoring::group { 'cache_mobile_eqiad':
description => 'eqiad mobile Varnish',
}
-@monitor_group { 'cache_mobile_esams':
+@monitoring::group { 'cache_mobile_esams':
description => 'esams mobile Varnish',
}
-@monitor_group { 'cache_mobile_ulsfo':
+@monitoring::group { 'cache_mobile_ulsfo':
description => 'ulsfo mobile Varnish',
}
-@monitor_group { 'cache_parsoid_eqiad':
+@monitoring::group { 'cache_parsoid_eqiad':
description => 'Parsoid caches eqiad',
}
-@monitor_group { 'cache_misc_eqiad':
+@monitoring::group { 'cache_misc_eqiad':
description => 'Misc caches eqiad',
}
diff --git a/manifests/role/coredb.pp b/manifests/role/coredb.pp
index 906c22b..33b8a13 100644
--- a/manifests/role/coredb.pp
+++ b/manifests/role/coredb.pp
@@ -1,7 +1,7 @@
# Virtual resource for the monitoring server
-@monitor_group { 'es_eqiad': description => 'eqiad External Storage' }
-@monitor_group { 'mysql_eqiad': description => 'eqiad mysql core' }
-@monitor_group { 'mysql_codfw': description => 'codfw mysql core' }
+@monitoring::group { 'es_eqiad': description => 'eqiad External Storage' }
+@monitoring::group { 'mysql_eqiad': description => 'eqiad mysql core' }
+@monitoring::group { 'mysql_codfw': description => 'codfw mysql core' }
## for describing replication topology
## hosts must be added here in addition to site.pp
diff --git a/manifests/role/cxserver.pp b/manifests/role/cxserver.pp
index bdc75ae..0c658ae 100644
--- a/manifests/role/cxserver.pp
+++ b/manifests/role/cxserver.pp
@@ -1,7 +1,7 @@
# vim: set ts=4 et sw=4:
# We do not have monitoring yet
-#@monitor_group { 'cxserver_eqiad': description => 'eqiad cxserver servers' }
+#@monitoring::group { 'cxserver_eqiad': description => 'eqiad cxserver
servers' }
# Skipping production for now
#class role::cxserver::production {}
diff --git a/manifests/role/elasticsearch.pp b/manifests/role/elasticsearch.pp
index 037fd9c..92e1f86 100644
--- a/manifests/role/elasticsearch.pp
+++ b/manifests/role/elasticsearch.pp
@@ -3,10 +3,10 @@
# This class sets up Elasticsearch configuration in a WMF-specific way.
#
-@monitor_group { 'elasticsearch_eqiad': description => 'eqiad elasticsearch
servers' }
-@monitor_group { 'elasticsearch_codfw': description => 'codfw elasticsearch
servers' }
-@monitor_group { 'elasticsearch_esams': description => 'esams elasticsearch
servers' }
-@monitor_group { 'elasticsearch_ulsfo': description => 'ulsfo elasticsearch
servers' }
+@monitoring::group { 'elasticsearch_eqiad': description => 'eqiad
elasticsearch servers' }
+@monitoring::group { 'elasticsearch_codfw': description => 'codfw
elasticsearch servers' }
+@monitoring::group { 'elasticsearch_esams': description => 'esams
elasticsearch servers' }
+@monitoring::group { 'elasticsearch_ulsfo': description => 'ulsfo
elasticsearch servers' }
class role::elasticsearch::config {
# Config
diff --git a/manifests/role/logstash.pp b/manifests/role/logstash.pp
index 706533b..ddd377a 100644
--- a/manifests/role/logstash.pp
+++ b/manifests/role/logstash.pp
@@ -1,5 +1,5 @@
# vim:sw=4 ts=4 sts=4 et:
-@monitor_group { 'logstash_eqiad': description => 'eqiad logstash' }
+@monitoring::group { 'logstash_eqiad': description => 'eqiad logstash' }
# == Class: role::logstash
#
diff --git a/manifests/role/lvs.pp b/manifests/role/lvs.pp
index f8ae8ba..13a2cdc 100644
--- a/manifests/role/lvs.pp
+++ b/manifests/role/lvs.pp
@@ -1,10 +1,10 @@
# role/lvs.pp
-@monitor_group { "lvs": description => "LVS" }
-@monitor_group { "lvs_eqiad": description => "eqiad LVS servers" }
-@monitor_group { "lvs_codfw": description => "codfw LVS servers" }
-@monitor_group { "lvs_ulsfo": description => "ulsfo LVS servers" }
-@monitor_group { "lvs_esams": description => "esams LVS servers" }
+@monitoring::group { "lvs": description => "LVS" }
+@monitoring::group { "lvs_eqiad": description => "eqiad LVS servers" }
+@monitoring::group { "lvs_codfw": description => "codfw LVS servers" }
+@monitoring::group { "lvs_ulsfo": description => "ulsfo LVS servers" }
+@monitoring::group { "lvs_esams": description => "esams LVS servers" }
class role::lvs::balancer {
system::role { "role::lvs::balancer": description => "LVS balancer" }
diff --git a/manifests/role/mathoid.pp b/manifests/role/mathoid.pp
index 7503b7d..75de55a 100644
--- a/manifests/role/mathoid.pp
+++ b/manifests/role/mathoid.pp
@@ -2,7 +2,7 @@
# TODO: now that other services inhabit service cluster A, move this
definition in a
# better place
-@monitor_group { 'sca_eqiad': description => 'Service Cluster A servers' }
+@monitoring::group { 'sca_eqiad': description => 'Service Cluster A servers' }
class role::mathoid::production {
system::role { 'role::mathoid::production':
diff --git a/manifests/role/mediawiki.pp b/manifests/role/mediawiki.pp
index 57d97e8..b2ce91e 100644
--- a/manifests/role/mediawiki.pp
+++ b/manifests/role/mediawiki.pp
@@ -1,9 +1,9 @@
-@monitor_group { 'appserver_hhvm_eqiad': description => 'eqiad application
servers (HHVM)' }
-@monitor_group { 'appserver_eqiad': description => 'eqiad application
servers' }
-@monitor_group { 'api_appserver_eqiad': description => 'eqiad API application
servers' }
-@monitor_group { 'imagescaler_eqiad': description => 'eqiad image scalers' }
-@monitor_group { 'jobrunner_eqiad': description => 'eqiad jobrunner
application servers' }
-@monitor_group { 'videoscaler_eqiad': description => 'eqiad video scaler' }
+@monitoring::group { 'appserver_hhvm_eqiad': description => 'eqiad
application servers (HHVM)' }
+@monitoring::group { 'appserver_eqiad': description => 'eqiad application
servers' }
+@monitoring::group { 'api_appserver_eqiad': description => 'eqiad API
application servers' }
+@monitoring::group { 'imagescaler_eqiad': description => 'eqiad image
scalers' }
+@monitoring::group { 'jobrunner_eqiad': description => 'eqiad jobrunner
application servers' }
+@monitoring::group { 'videoscaler_eqiad': description => 'eqiad video
scaler' }
class role::mediawiki::common {
include ::standard
diff --git a/manifests/role/memcached.pp b/manifests/role/memcached.pp
index 3209f99..33f8c77 100644
--- a/manifests/role/memcached.pp
+++ b/manifests/role/memcached.pp
@@ -1,7 +1,7 @@
# vim: noet
# Virtual resource for monitoring server
-@monitor_group { 'memcached_eqiad':
+@monitoring::group { 'memcached_eqiad':
description => 'eqiad memcached',
}
diff --git a/manifests/role/nova.pp b/manifests/role/nova.pp
index 6ab881a..b0dd226 100644
--- a/manifests/role/nova.pp
+++ b/manifests/role/nova.pp
@@ -425,8 +425,8 @@
}
# global icinga hostgroups for virt/labs hosts
-@monitor_group { 'virt_eqiad': description => 'eqiad virt servers' }
-@monitor_group { 'virt_esams': description => 'esams virt servers' }
-@monitor_group { 'virt_codfw': description => 'codfw virt servers' }
-@monitor_group { 'virt_ulsfo': description => 'ulsfo virt servers' }
+@monitoring::group { 'virt_eqiad': description => 'eqiad virt servers' }
+@monitoring::group { 'virt_esams': description => 'esams virt servers' }
+@monitoring::group { 'virt_codfw': description => 'codfw virt servers' }
+@monitoring::group { 'virt_ulsfo': description => 'ulsfo virt servers' }
diff --git a/manifests/role/ocg.pp b/manifests/role/ocg.pp
index cfa6dc0..f287822 100644
--- a/manifests/role/ocg.pp
+++ b/manifests/role/ocg.pp
@@ -3,7 +3,7 @@
# Offline content generator for the MediaWiki collection extension
# Virtual resources for the monitoring server
-@monitor_group { 'ocg_eqiad': description => 'offline content generator eqiad'
}
+@monitoring::group { 'ocg_eqiad': description => 'offline content generator
eqiad' }
class role::ocg::production (
$tmpfs_size = '512M', # size of tmpfs filesystem e.g. 512M
diff --git a/manifests/role/openldap.pp b/manifests/role/openldap.pp
index 7db01bc..968a319 100644
--- a/manifests/role/openldap.pp
+++ b/manifests/role/openldap.pp
@@ -1,6 +1,6 @@
# vim: set ts=4 et sw=4:
-@monitor_group { "openldap_corp_mirror_${::site}": description => 'Corp OIT
LDAP Mirror' }
+@monitoring::group { "openldap_corp_mirror_${::site}": description => 'Corp
OIT LDAP Mirror' }
class role::openldap::corp {
include passwords::openldap::corp
diff --git a/manifests/role/parsoid.pp b/manifests/role/parsoid.pp
index c1c9860..456ab5c 100644
--- a/manifests/role/parsoid.pp
+++ b/manifests/role/parsoid.pp
@@ -1,6 +1,6 @@
# vim: set ts=4 et sw=4:
-@monitor_group { 'parsoid_eqiad': description => 'eqiad parsoid servers' }
+@monitoring::group { 'parsoid_eqiad': description => 'eqiad parsoid servers' }
class role::parsoid::common {
package { [
diff --git a/manifests/role/protoproxy.pp b/manifests/role/protoproxy.pp
index c49cef7..e8fa7af 100644
--- a/manifests/role/protoproxy.pp
+++ b/manifests/role/protoproxy.pp
@@ -187,7 +187,7 @@
}
-@monitor_group { 'ssl_eqiad': description => 'eqiad ssl servers' }
-@monitor_group { 'ssl_codfw': description => 'codfw ssl servers' }
-@monitor_group { 'ssl_esams': description => 'esams ssl servers' }
-@monitor_group { 'ssl_ulsfo': description => 'ulsfo ssl servers' }
+@monitoring::group { 'ssl_eqiad': description => 'eqiad ssl servers' }
+@monitoring::group { 'ssl_codfw': description => 'codfw ssl servers' }
+@monitoring::group { 'ssl_esams': description => 'esams ssl servers' }
+@monitoring::group { 'ssl_ulsfo': description => 'ulsfo ssl servers' }
diff --git a/manifests/role/rcstream.pp b/manifests/role/rcstream.pp
index 9ff01b2..bd8baad 100644
--- a/manifests/role/rcstream.pp
+++ b/manifests/role/rcstream.pp
@@ -1,4 +1,4 @@
-@monitor_group { 'rcstream_eqiad': description => 'eqiad rcstream' }
+@monitoring::group { 'rcstream_eqiad': description => 'eqiad rcstream' }
# == Class: role::rcstream
#
diff --git a/manifests/role/redisdb.pp b/manifests/role/redisdb.pp
index d4db287..75ed631 100644
--- a/manifests/role/redisdb.pp
+++ b/manifests/role/redisdb.pp
@@ -2,7 +2,7 @@
# db::redis
# Virtual resource for the monitoring server
-@monitor_group { 'redis_eqiad':
+@monitoring::group { 'redis_eqiad':
description => 'eqiad Redis',
}
diff --git a/manifests/role/swift.pp b/manifests/role/swift.pp
index e136030..8a94de4 100644
--- a/manifests/role/swift.pp
+++ b/manifests/role/swift.pp
@@ -1,4 +1,4 @@
-@monitor_group { 'swift':
+@monitoring::group { 'swift':
description => 'swift servers',
}
diff --git a/manifests/search.pp b/manifests/search.pp
index f374c64..871910e 100644
--- a/manifests/search.pp
+++ b/manifests/search.pp
@@ -2,7 +2,7 @@
# vim: set noet :
# Virtual resource for the monitoring server
-@monitor_group { 'lucene': description => 'eqiad search servers' }
+@monitoring::group { 'lucene': description => 'eqiad search servers' }
class lucene {
diff --git a/modules/icinga/manifests/groups/misc.pp
b/modules/icinga/manifests/groups/misc.pp
index 5fd35f4..c1eba82 100644
--- a/modules/icinga/manifests/groups/misc.pp
+++ b/modules/icinga/manifests/groups/misc.pp
@@ -3,24 +3,24 @@
#
class icinga::groups::misc {
- @monitor_group { 'misc_eqiad':
+ @monitoring::group { 'misc_eqiad':
description => 'eqiad misc servers'
}
- @monitor_group { 'misc_codfw':
+ @monitoring::group { 'misc_codfw':
description => 'codfw misc servers'
}
- @monitor_group { 'misc_esams':
+ @monitoring::group { 'misc_esams':
description => 'esams misc servers'
}
- @monitor_group { 'misc_ulsfo':
+ @monitoring::group { 'misc_ulsfo':
description => 'ulsfo misc servers'
}
# This needs to be consolited in the virt cluster probably
- @monitor_group { 'labsnfs_eqiad':
+ @monitoring::group { 'labsnfs_eqiad':
description => 'eqiad labsnfs server servers'
}
}
diff --git a/modules/monitoring/manifests/decommission_host.pp
b/modules/monitoring/manifests/decommission_host.pp
new file mode 100644
index 0000000..8f16ae5
--- /dev/null
+++ b/modules/monitoring/manifests/decommission_host.pp
@@ -0,0 +1,25 @@
+#TODO: this should probably go away. The cleanup scripts in puppet should do
this by themselves.
+define decommission_monitor_host {
+ if defined(Nagios_host[$title]) {
+ # Override the existing resources
+ Nagios_host <| title == $title |> {
+ ensure => absent
+ }
+ Nagios_hostextinfo <| title == $title |> {
+ ensure => absent
+ }
+ }
+ else {
+ # Resources don't exist in Puppet. Remove from Nagios config as well.
+ nagios_host { $title:
+ host_name => $title,
+ ensure => absent;
+
+ }
+ nagios_hostextinfo { $title:
+ host_name => $title,
+ ensure => absent;
+
+ }
+ }
+}
diff --git a/modules/monitoring/manifests/group.pp
b/modules/monitoring/manifests/group.pp
new file mode 100644
index 0000000..d13094b
--- /dev/null
+++ b/modules/monitoring/manifests/group.pp
@@ -0,0 +1,33 @@
+# == Define monitoring::group
+# Define host groups and service groups in the monitoring system.
+# Note that these will be applied by naginator and are the only
+# resource we don't manage via naggen2.
+#
+# == Parameters
+# [*description*]
+# Plain-text description of the group.
+#
+# [*config_dir*]
+# Nagios config dir, by default '/etc/nagios'
+#
+define monitoring::group (
+ $description,
+ $ensure=present,
+ $config_dir = '/etc/nagios'
+ ) {
+ # Nagios hostgroup instance
+ nagios_hostgroup { $title:
+ ensure => $ensure,
+ target => "${config_dir}/puppet_hostgroups.cfg",
+ hostgroup_name => $title,
+ alias => $description,
+ }
+
+ # Nagios servicegroup instance
+ nagios_servicegroup { $title:
+ ensure => $ensure,
+ target => "${config_dir}/puppet_servicegroups.cfg",
+ servicegroup_name => $title,
+ alias => $description,
+ }
+}
--
To view, visit https://gerrit.wikimedia.org/r/170727
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I52461750f38d8bff7da9358654bf45a5feeb44ae
Gerrit-PatchSet: 3
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Giuseppe Lavagetto <[email protected]>
Gerrit-Reviewer: Filippo Giunchedi <[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