Niedzielski has uploaded a new change for review.

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

Change subject: Add Xdummy daemon
......................................................................

Add Xdummy daemon

Xdummy is an Xorg virtual display that X11 clients may show windows on
just like a desktop machine. This functionality is needed by the
Jenkins' Android emulation tests which include view tests that are
screen captured.

Change-Id: I41f4dac74da20aeb36509d9f2cd267f1ccc5c729
---
A modules/xdummy/manifests/init.pp
A modules/xdummy/templates/initscripts/xdummy.systemd.erb
A modules/xdummy/templates/initscripts/xdummy.upstart.erb
3 files changed, 80 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/03/264303/1

diff --git a/modules/xdummy/manifests/init.pp b/modules/xdummy/manifests/init.pp
new file mode 100644
index 0000000..bf26c8d
--- /dev/null
+++ b/modules/xdummy/manifests/init.pp
@@ -0,0 +1,53 @@
+# == Class: xdummy
+#
+# Configure a persistent Xdummy daemon.
+#
+# Xdummy is an X11 server that performs all graphical operations,
+# including GLX, on a virtual display.
+#
+# === Parameters
+#
+# [*display*]
+#   X display number. Default: 100.
+#
+# === Examples
+#
+#  class { 'xdummy':
+#    display    => 86
+#  }
+#
+class xdummy(
+    $display    = 100
+) {
+    package { 'xorg':
+        ensure => present,
+    }
+
+    package { 'xpra':
+        ensure => present,
+    }
+
+    group { 'xdummy':
+        ensure => present,
+    }
+
+    user { 'xdummy':
+        ensure => present,
+        gid    => 'xdummy',
+        shell  => '/bin/false',
+        home   => '/nonexistent',
+        system => true,
+    }
+
+    base::service_unit { 'xdummy':
+        ensure  => present,
+        refresh => true,
+        upstart => true,
+        systemd => true,
+        require => [
+            Package['Xorg'],
+            Package['xpra'],
+            User['xdummy']
+        ]
+    }
+}
diff --git a/modules/xdummy/templates/initscripts/xdummy.systemd.erb 
b/modules/xdummy/templates/initscripts/xdummy.systemd.erb
new file mode 100644
index 0000000..f61bbc3
--- /dev/null
+++ b/modules/xdummy/templates/initscripts/xdummy.systemd.erb
@@ -0,0 +1,13 @@
+[Unit]
+Description=Virtual X11 display
+After=network.target
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/Xorg -config /etc/xpra/xorg.conf :<%= @display %>
+Restart=always
+User=xdummy
+Group=xdummy
+
+[Install]
+WantedBy=multi-user.target
diff --git a/modules/xdummy/templates/initscripts/xdummy.upstart.erb 
b/modules/xdummy/templates/initscripts/xdummy.upstart.erb
new file mode 100644
index 0000000..ca0d4ad
--- /dev/null
+++ b/modules/xdummy/templates/initscripts/xdummy.upstart.erb
@@ -0,0 +1,14 @@
+# Upstart service job for Xdummy
+#
+description "Virtual X11 display"
+
+start on runlevel [2345]
+stop on runlevel [!2345]
+
+setuid xdummy
+setgid xdummy
+
+respawn
+respawn limit 10 5
+
+exec Xorg -config /etc/xpra/xorg.conf :<%= @display %>

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

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

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

Reply via email to