Mobrovac has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/329598 )

Change subject: service::node: Migrate to systemd
......................................................................

service::node: Migrate to systemd

Bug: T154267
Change-Id: I869d865269e95d7718bc0025a05ee8fcd6e04efa
---
M puppet/modules/service/manifests/node.pp
A puppet/modules/service/templates/node/systemd.service.erb
D puppet/modules/service/templates/node/upstart.conf.erb
3 files changed, 29 insertions(+), 24 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/vagrant 
refs/changes/98/329598/1

diff --git a/puppet/modules/service/manifests/node.pp 
b/puppet/modules/service/manifests/node.pp
index ee4f814..186e960 100644
--- a/puppet/modules/service/manifests/node.pp
+++ b/puppet/modules/service/manifests/node.pp
@@ -143,9 +143,9 @@
         mode    => '0444',
     }
 
-    # the upstart config
-    file { "/etc/init/${title}.conf":
-        content => template('service/node/upstart.conf.erb'),
+    # the systemd config
+    file { "/lib/systemd/system/${title}.service":
+        content => template('service/node/systemd.service.erb'),
         owner   => 'root',
         group   => 'root',
         mode    => '0444',
@@ -163,12 +163,13 @@
     service { $title:
         ensure    => running,
         enable    => true,
-        provider  => 'upstart',
+        provider  => 'systemd',
         require   => [
             Git::Clone[$title],
+            File["/lib/systemd/system/${title}.service"],
         ],
         subscribe => [
-            File["/etc/init/${title}.conf", "${title}_config_yaml"],
+            File["${title}_config_yaml"],
             Npm::Install[$dir]
         ]
     }
diff --git a/puppet/modules/service/templates/node/systemd.service.erb 
b/puppet/modules/service/templates/node/systemd.service.erb
new file mode 100644
index 0000000..8ff0986
--- /dev/null
+++ b/puppet/modules/service/templates/node/systemd.service.erb
@@ -0,0 +1,23 @@
+# NOTE: This file is managed by Puppet
+# Systemd unit for <%= @title %>
+[Unit]
+Description="<%= @title %> service"
+After=network.target
+
+[Service]
+# up ulimit -n a bit
+LimitNOFILE=<%= @no_file %>
+User=www-data
+Group=www-data
+Environment="NODE_PATH=<%= @dir %>/node_modules"
+Environment="<%= @title.gsub(/[^a-zA-Z0-9_]/, '_').upcase %>_PORT=<%= @port %>"
+Restart=always
+RestartSec=2s
+# wait 60 seconds for a graceful restart before killing the master
+TimeoutStopSec=60
+WorkingDirectory=<%= @dir %>
+ExecStart=/usr/bin/nodejs <%= @script %> -c <%= @dir %>/config.vagrant.yaml
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/puppet/modules/service/templates/node/upstart.conf.erb 
b/puppet/modules/service/templates/node/upstart.conf.erb
deleted file mode 100644
index 15f316f..0000000
--- a/puppet/modules/service/templates/node/upstart.conf.erb
+++ /dev/null
@@ -1,19 +0,0 @@
-# This file is managed by Puppet
-# Upstart init script for <%= @title %>
-
-description "<%= @title %> service"
-
-start on mediawiki-ready
-stop on runlevel [016]
-
-setuid "www-data"
-setgid "www-data"
-
-env <%= @title.gsub(/[^a-zA-Z0-9_]/, '_').upcase %>_PORT="<%= @port %>"
-env NODE_PATH="<%= @dir %>/node_modules"
-
-chdir "<%= @dir %>"
-exec /usr/bin/nodejs <%= @script %> -c <%= @dir %>/config.vagrant.yaml
-
-respawn
-

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I869d865269e95d7718bc0025a05ee8fcd6e04efa
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/vagrant
Gerrit-Branch: jessie-migration
Gerrit-Owner: Mobrovac <mobro...@wikimedia.org>

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

Reply via email to