Eventlogging needs to be ported to Python3.
Launch scripts
Many of the bin scripts rely on reload. There is a python 3 equivalent, but the code is doing something weird and no comment was provided, so let's verify whether we need this workaround at all:
import sys reload(sys) # noqa
From https://github.com/wikimedia/eventlogging/commit/375ae076ef70d87d7c3b7b9676d0433cd5c139c4 it seems that it was done to force utf-8, we can probably skip it.
Mysql deps
In T212396#4968773 it is stated that the current version of eventlogging supports only the mysql module < 1.4.0, meanwhile for python3 we need a more up to date version.
requirements.txt
Does it need to be changed?
python-dateutil>=1.5 jsonschema>=0.7 confluent-kafka>=0.9.1.2 kafka-python>=1.3.0 mock==1.0.0 mysqlclient pygments>=1.5 psutil>=2.1.1 PyYAML>=3.10 pyzmq>=2.1 sqlalchemy>=0.7 statsd>=3.0 tornado>=4.0 sprockets.mixins.statsd>=1.3.1 ua_parser>=0.8.0
Docker
Is there anything to do with the Docker directory? Possibly move it to stretch/buster?
Python target version
eventlog1002 is currently running Stretch, so 3.5.3. Buster runs 3.7, but I don't think that we should move to it when upgrading to Python 3 since I'd like to keep the rollback strategy as simple as possible.