Dzahn has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/394727 )
Change subject: ganglia: add decom bash script if on trusty (WIP)
......................................................................
ganglia: add decom bash script if on trusty (WIP)
Bug:T177225
Change-Id: I3f314e06eab3b81d8c2b0dfc9990753078791d15
---
A modules/ganglia/files/kill-ganglia.sh
M modules/ganglia/manifests/monitor/decommission.pp
2 files changed, 70 insertions(+), 40 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/puppet
refs/changes/27/394727/1
diff --git a/modules/ganglia/files/kill-ganglia.sh
b/modules/ganglia/files/kill-ganglia.sh
new file mode 100644
index 0000000..36b15a5
--- /dev/null
+++ b/modules/ganglia/files/kill-ganglia.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+# purge Ganglia (T177225)
+#
+# WIP - untested
+/usr/bin/apt-get -y -q remove --purge ganglia-monitor libganglia1
+sleep 5
+killall -s 9 -u ganglia
+rm -rf /usr/lib/ganglia
+rm -rf /etc/ganglia
+rm -rf /var/lib/ganglia
+rm /run/ganglia-monitor.pid
diff --git a/modules/ganglia/manifests/monitor/decommission.pp
b/modules/ganglia/manifests/monitor/decommission.pp
index 5f49ebe..fa731bf 100644
--- a/modules/ganglia/manifests/monitor/decommission.pp
+++ b/modules/ganglia/manifests/monitor/decommission.pp
@@ -1,46 +1,65 @@
+# T177225
class ganglia::monitor::decommission {
- package { 'ganglia-monitor':
- ensure => purged,
- }
- package { 'libganglia1':
- ensure => purged,
- }
+ # on trusty hosts the package removal doesn't always work reliably,
+ # and we got tired of debugging puppet issue for a one-time task,
+ # so here we are just installing a bash script that will be executed via
cumin
+ # and removed again as the final step
+ if os_version('ubuntu == trusty') {
- # We normally would need only /usr/lib/ganglia/python_modules but let's be
- # ultra cautious here and purge the parent directory
- file { '/usr/lib/ganglia/':
- ensure => absent,
- recurse => true,
- force => true,
- require => Package['ganglia-monitor'],
- }
- # This is handled by the purging of ganglia-monitor, but let's be extra
- # explicit so that this is not ever created by some human mistake
- file { '/etc/ganglia/':
- ensure => absent,
- recurse => true,
- force => true,
- require => Package['ganglia-monitor'],
- }
- # in some cases /var/lib/ganglia becomes a remnant
- # with files like pdns_gmetric.state in it
- file { '/var/lib/ganglia/':
- ensure => absent,
- recurse => true,
- force => true,
- require => Package['ganglia-monitor'],
- }
+ file { '/usr/local/bin/kill-ganglia':
+ ensure => present,
+ owner => 'root',
+ group => 'root',
+ mode => '0544',
+ source => 'puppet:///modules/ganglia/kill-ganglia.sh',
+ }
- # in some cases the pid file was left even when service was stopped
- file { '/run/ganglia-monitor.pid':
- ensure => absent,
- }
- file { '/etc/systemd/system/ganglia-monitor.service':
- ensure => absent,
- }
+ } else {
- file { '/etc/systemd/system/[email protected]':
- ensure => absent,
- }
+ package { 'ganglia-monitor':
+ ensure => purged,
+ }
+
+ package { 'libganglia1':
+ ensure => purged,
+ }
+
+ # We normally would need only /usr/lib/ganglia/python_modules but
let's be
+ # ultra cautious here and purge the parent directory
+ file { '/usr/lib/ganglia/':
+ ensure => absent,
+ recurse => true,
+ force => true,
+ require => Package['ganglia-monitor'],
+ }
+ # This is handled by the purging of ganglia-monitor, but let's be extra
+ # explicit so that this is not ever created by some human mistake
+ file { '/etc/ganglia/':
+ ensure => absent,
+ recurse => true,
+ force => true,
+ require => Package['ganglia-monitor'],
+ }
+ # in some cases /var/lib/ganglia becomes a remnant
+ # with files like pdns_gmetric.state in it
+ file { '/var/lib/ganglia/':
+ ensure => absent,
+ recurse => true,
+ force => true,
+ require => Package['ganglia-monitor'],
+ }
+
+ # in some cases the pid file was left even when service was stopped
+ file { '/run/ganglia-monitor.pid':
+ ensure => absent,
+ }
+ file { '/etc/systemd/system/ganglia-monitor.service':
+ ensure => absent,
+ }
+
+ file { '/etc/systemd/system/[email protected]':
+ ensure => absent,
+ }
+ }
}
--
To view, visit https://gerrit.wikimedia.org/r/394727
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I3f314e06eab3b81d8c2b0dfc9990753078791d15
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Dzahn <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits