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