Use systemd for xvfb service on Debian/Jessie
Closed, ResolvedPublic

Description

Our CI puppet manifest starts xvfb using an upstart script but it is not available on Jessie:

Error: /Stage[main]/Xvfb/Service[xvfb]: Provider upstart is not functional on this host

On Jessie slaves, we thus need to define the xvfb service via systemd.

Brandon Black pointed that Giuseppe Lavagetto wrote a puppet definition that handle that case.

https://github.com/wikimedia/operations-puppet/blob/21c72942dd7bf25dbe0759d2f867082e966bfb45/modules/base/manifests/service_unit.pp

No clue how it should be applied though. Operations might be able to help.

hashar created this task.Apr 3 2015, 1:16 PM
hashar updated the task description. (Show Details)
hashar raised the priority of this task from to Normal.
hashar added subscribers: hashar, Aklapper, Joe.
hashar renamed this task from Jessie cant use xvfb service because provider upstart is not available to Use systemd for xvfb service on Debian/Jessie.Apr 28 2015, 11:05 AM
hashar updated the task description. (Show Details)
hashar set Security to None.

I'd like to see this moving forward. What is it that operations could offer to get this moving ?

https://github.com/wikimedia/operations-puppet/blob/21c72942dd7bf25dbe0759d2f867082e966bfb45/modules/base/manifests/service_unit.pp has documentation in it and already used in production examples exist in all of these files:

modules/base/manifests/service_unit.pp
modules/base/spec/defines/service_unit_spec.rb
modules/confd/manifests/init.pp
modules/etcd/manifests/init.pp
modules/graphite/manifests/carbon_c_relay.pp
modules/memcached/manifests/init.pp
modules/varnish/manifests/instance.pp
modules/varnish/manifests/logging.pp
modules/varnish/manifests/logging/statsd.pp

Anything specific that ops can help with ?

hashar added a comment.EditedJun 11 2015, 10:56 AM

I have poked Release-Engineering-Team team mailing list about this bug and others. Need to have one of us to get his fingers in the gears and do the migration, potentially pairing with someone from ops.

Thanks for the examples @akosiaris !

Joe/Yuvi confirmed that base::service_unit has the logic to vary between Upstart and Systemd. "Just" have to provide both service files and it should sort it out for us.

Change 256643 had a related patch set uploaded (by Hashar):
xvfb: switch to base::service_unit

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

Change 256659 had a related patch set uploaded (by Hashar):
xvfb: systemd support for Debian

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

hashar claimed this task.Dec 3 2015, 11:01 AM

I have cherry picked https://gerrit.wikimedia.org/r/#/c/256643/ and https://gerrit.wikimedia.org/r/#/c/256659/ on the integration puppetmaster. We now have Xvfb running on Jessie slaves.

Need the changes to be merged so we can use it on Nodepool instances.

hashar removed hashar as the assignee of this task.Dec 3 2015, 11:04 AM

Change 256643 merged by Alexandros Kosiaris:
xvfb: switch to base::service_unit

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

Change 256659 merged by Alexandros Kosiaris:
xvfb: systemd support for Debian

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

hashar closed this task as Resolved.Dec 4 2015, 6:45 PM
hashar claimed this task.

And we now have xvfb on Jessie!!!