Page MenuHomePhabricator

Setup a new server for pixel
Open, Needs TriagePublic

Description

Let's create a mirror of the current pixel server to make it easier with the transition to QTE.

A couple of things:

  • Setup a pixel user that runs all the jobs
  • Make sure we have two extra volumes. One for pixel data/outcome and one for Docker.
  • Update dependencies so we run on the latest versions (LTS NodeJS etc).
  • Let it run for a week and let users verify that it works as it should
  • Setup alerts / check if we can do anything useful with the logs (errors to Slack etc)
  • Document the new setup

Do we need a beta deployment server?

Event Timeline

I've setup a server today with two volumes. I'll continue tomorrow with pixel.

Ok, the server is setup and works. I need help to make sure everything in the GUI works as expected. Maybe @vaughnwalters can help me when you have time? The server is accessible using https://pixel-production.wmcloud.org/

It runs slightly modified code to skip errors. https://github.com/wikimedia/pixel/pull/256 needs to be merged then we can run the exact same code as in the repository.

The server is setup with a user (pixel) that runs the tests. It works but we need to do some tweaks in the future to make it work better. There's a NodeJS script that starts everything and then backstops runs in Docker. The containers output creates files owned by root. If I configure pixel user id in the docker compose file, pixel is used but then puppeteer cannot find Chrome, so there are some mismatch going on. The NodeJS script then wants to edit the files written by the container and then there's a mismatch between the pixel user and the root user. I'm thinking that the most important thing is to run the tests on a new server so QTE can take over the ownership and then I can create a task about the root/pixel user and we can prioritise that.

Ok, the server is setup and works. I need help to make sure everything in the GUI works as expected. Maybe @vaughnwalters can help me when you have time? The server is accessible using https://pixel-production.wmcloud.org/

Checked the GUI for campaign events, and it works as I expected it to.

I think the work on the new server is finished. How to set it up is described in https://wikitech.wikimedia.org/wiki/Pixel/Setup_server and there's a new section on https://wikitech.wikimedia.org/wiki/Pixel#Upcoming_setup. When we do the swap, I'll update the documentation page. To switch to the new server, there's a couple of things that should be done:

  • Get an OK from @Jdlrobson that we can do the switch
  • There's a couple of tasks that we would be nice to fix before we switch to the new server and we take over responsibility:
    • Separate code from configuration. T361784
    • Make the main code in pixel.js easier to maintain. @Mhurd is working on this. I'm not sure exactly which task number though?

Anything I missed?

I am out next week so how about we schedule the move for week of 15th?