MaxSem has uploaded a new change for review.

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

Change subject: WIP: Hierator puppetization
......................................................................

WIP: Hierator puppetization

Change-Id: I3adf10603844b5e89eb6c6e329abb208df8f9f5a
---
M manifests/role/deployment.pp
A manifests/role/hierator.pp
A modules/jetty/manifests/init.pp
A modules/jetty/manifests/service.pp
A modules/jetty/templates/service.conf.erb
5 files changed, 97 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/43/202743/1

diff --git a/manifests/role/deployment.pp b/manifests/role/deployment.pp
index 636cd95..047e71f 100644
--- a/manifests/role/deployment.pp
+++ b/manifests/role/deployment.pp
@@ -122,6 +122,14 @@
             'gitfat_enabled' => true,
             'upstream'       => 
'https://gerrit.wikimedia.org/r/operations/software/dropwizard-metrics',
         },
+        'jetty/jetty-runner' => {
+            'gitfat_enabled' => true,
+            'upstream'       => 
'https://gerrit.wikimedia.org/r/operations/software/jetty-runner',
+        },
+        'hierator/hierator' => {
+            'gitfat_enabled' => true,
+            'upstream'       => 
'https://gerrit.wikimedia.org/r/software/services/hierator/deployment',
+        },
     }
 }
 
diff --git a/manifests/role/hierator.pp b/manifests/role/hierator.pp
new file mode 100644
index 0000000..f4c9760
--- /dev/null
+++ b/manifests/role/hierator.pp
@@ -0,0 +1,16 @@
+class role::hierator {
+    system::role { 'role::hierator':
+        description => 'Hierator server',
+    }
+
+    package { 'hierator/hierator':
+        ensure => present,
+        provider => 'trebuchet',
+    }
+
+    ::jetty::service { 'hierator':
+        port         => 4242,
+        war          => '/srv/deployment/hierator/hierator.war',
+        memory_limit => '512M',
+    }
+}
diff --git a/modules/jetty/manifests/init.pp b/modules/jetty/manifests/init.pp
new file mode 100644
index 0000000..653f7c9
--- /dev/null
+++ b/modules/jetty/manifests/init.pp
@@ -0,0 +1,16 @@
+# == Class: jetty
+#
+# Installs jetty-runner, an isolated Java servlet container
+#
+class jetty {
+    include ::java::tools
+
+    package { 'default-jre-headless':
+        ensure => present,
+    }
+
+    package { 'jetty/jetty-runner':
+        ensure => present,
+        provider => 'trebuchet',
+    }
+}
diff --git a/modules/jetty/manifests/service.pp 
b/modules/jetty/manifests/service.pp
new file mode 100644
index 0000000..a9b8527
--- /dev/null
+++ b/modules/jetty/manifests/service.pp
@@ -0,0 +1,34 @@
+# == Class: jetty::service
+#
+# Defines a Java service
+#
+define jetty::service(
+    $war,
+    $port,
+    $user = 'nobody',
+    $log_channel = undef,
+    $memory_limit = '64M',
+    $java_options = '',
+) {
+    include ::jetty
+
+    $log = $log_channel ? {
+        undef => $name,
+        default => $log_channel,
+    }
+
+    file { "/etc/init/$name.conf":
+        ensure => present,
+        content => template( 'jetty/service.conf.erb' ),
+        owner => 'root',
+        group => 'root',
+        mode  => '0444',
+        notify => Service[$name],
+    }
+
+    service { $name:
+        ensure => 'running',
+        provider => 'upstart',
+        subscribe => Class['jetty'],
+    }
+}
\ No newline at end of file
diff --git a/modules/jetty/templates/service.conf.erb 
b/modules/jetty/templates/service.conf.erb
new file mode 100644
index 0000000..0fef573
--- /dev/null
+++ b/modules/jetty/templates/service.conf.erb
@@ -0,0 +1,23 @@
+# This file is managed by Puppet
+description "Jetty runner executing <%= scope['war'] %> on port <%= 
scope['port'] %>"
+
+start on (runlevel [2345] and net-device-up IFACE!=lo)
+stop on runlevel [!2345]
+
+umask 022
+
+pre-start script
+  mkdir -p -m0755 /var/run/<%= scope['name'] %>
+end script
+
+script
+  exec start-stop-daemon --quiet --start --pidfile /var/run/<%= scope['name'] 
%>/pid \
+    --chuid <%= scope['user'] %> --make-pidfile \
+    --exec /usr/bin/java -- -Xms<%= scope['memory_limit'] %> -Xmx<%= 
scope['memory_limit'] %> \
+    <%= scope['java_options'] %> -jar /usr/share/java/jetty-runner.jar --port 
<%= scope['port'] %> \
+    <%= scope['war'] %> 2>&1 | logger -t <%= scope['log'] %>
+end script
+
+respawn
+
+# vim: set ft=upstart:

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3adf10603844b5e89eb6c6e329abb208df8f9f5a
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: MaxSem <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to