During the Weekly checkin for Continuous-Integration-Scaling, @chasemp proposed to migrate the Zuul server from gallium.wikimedia.org to a new / more recent production host. The reasons are:
- it potentially has unpuppetized configuration, migrating will force us to resorb the potential technical debt
- it is still hosted on Precise forcing us to build a Debian package for that distribution
- hardware is getting old
The Zuul server is a threaded application which is fairly lightweight. mem usage from top on gallium:
PID USER VIRT RES SHR S %CPU %MEM TIME WCHAN COMMAND 8682 zuul 2041m 161m 3936 S 0.0 2.0 16:04 pause /usr/bin/python /usr/local/bin/zuul-server -c /etc/zuul/zuul-server.conf 8687 zuul 242m 75m 2024 S 0.0 1.0 69:31 pipe_wait /usr/bin/python /usr/local/bin/zuul-server -c /etc/zuul/zuul-server.conf
It embeds:
- a web server serving its internal state as a status.json file. Requests from public internet users lands on misc-varnish, then an Apache on gallium which proxy the request to the Zuul webserver over localhost.
- a gearman server that got connections from Jenkins. With the isolation projects there will be client connection from labs hosts subnet as well
@hashar needs root access on the machine to maintain / debug Zuul in production, might prevent having the service collocated. So a lightweight server will do.
Since it will be a backend of misc-varnish, we can consider moving the integration website to it as well.