Dzahn has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/325039

Change subject: (WIP) services: create global service restart script
......................................................................

(WIP) services: create global service restart script

Change-Id: I44762ee2f1fac0aa4047f103c276d0b942e3fb4d
---
M modules/role/manifests/sca.pp
M modules/role/manifests/scb.pp
A modules/service/manifests/tools.pp
A modules/service/templates/restart_services.sh.erb
4 files changed, 70 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/39/325039/1

diff --git a/modules/role/manifests/sca.pp b/modules/role/manifests/sca.pp
index 17ef84a..7d30a63 100644
--- a/modules/role/manifests/sca.pp
+++ b/modules/role/manifests/sca.pp
@@ -3,6 +3,7 @@
 class role::sca {
     include role::zotero
 
+    include services::tools
     include standard
     include base::firewall
     if $::realm == 'production' {
diff --git a/modules/role/manifests/scb.pp b/modules/role/manifests/scb.pp
index 0046681..2c6a272 100644
--- a/modules/role/manifests/scb.pp
+++ b/modules/role/manifests/scb.pp
@@ -13,6 +13,7 @@
     include role::eventstreams
     include role::pdfrender
 
+    include services::tools
     include standard
     include base::firewall
 
diff --git a/modules/service/manifests/tools.pp 
b/modules/service/manifests/tools.pp
new file mode 100644
index 0000000..8ec5d9b
--- /dev/null
+++ b/modules/service/manifests/tools.pp
@@ -0,0 +1,26 @@
+# == Class: service::tools
+# scripts and tools that are useful for all services,
+# such as global restart and helper scripts
+# 
+# === Parameters
+#
+# [*cluster*]
+#   Which set of services to use. (currently 'sca' or 'scb')
+#   Default: none. required.
+class service::tools(
+    $cluster,
+){
+
+    # TODO, hiera lookup based on $cluster
+    $service_names = hiera('role::common::${cluster}::service_names', ''), 
+
+    # script to restart all services in a service group
+    file { '/usr/local/sbin/restart-services':
+        ensure => 'present',
+        owner  => 'root',
+        group  => 'root',
+        mode   => '0550',
+       content => template('service/restart-services.erb'),
+    }
+
+}
diff --git a/modules/service/templates/restart_services.sh.erb 
b/modules/service/templates/restart_services.sh.erb
new file mode 100755
index 0000000..7cb367c
--- /dev/null
+++ b/modules/service/templates/restart_services.sh.erb
@@ -0,0 +1,42 @@
+#!/bin/bash
+# restart all services in a service group
+# depool, restart, repool
+
+# sca
+#declare -a services=(
+#    "zotero"
+#)
+
+# scb
+#declare -a services=(
+#    "graphoid"
+#    "mathoid"
+#    "cxserver"
+#    "mobileapps"
+#    "eventstreams"
+#    "changeprop"
+#    "citoid"
+#)
+
+# TODO: replace the above with a hiera lookup
+#declare -a service=(
+<%= @service_names %>
+# ) # TODO
+
+# TODO: make the sleep values a parameter
+depool
+
+sleep 60
+
+for service in "${services[@]}"
+do
+       echo "restarting $service"
+       systemctl restart $service.service
+       sleep 10
+       systemctl status $service.service
+       sleep 10
+done
+
+sleep 60
+
+pool

-- 
To view, visit https://gerrit.wikimedia.org/r/325039
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I44762ee2f1fac0aa4047f103c276d0b942e3fb4d
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Dzahn <dz...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to