Our current Thumbor installation (debian jessie + librsvg 2.40.18-1) is not rendering properly SVGs -> PNG. We believe that librsvg >= 2.43 will fix most of our issues but:
* Debian stretch's librsvg version is older (2.40.16). The highest version we can use on stretch is **librsvg=2.40.20-3**
* We can't port librsvg >= 2.43 to stretch as we will go down a dependancy spiral
* Debian buster uses librsvg >= 2.43 but is not stable yet (ETA this summer?)
* (Also) Thumbor is a stateless service and a good candidate for our k8s cluster.
After assessing running Thumbor on stretch with librsvg 2.40.20-3, we have the following options:
1. Upgrade all Thumbor servers to Stretch during Q3 since there is some improvement with librsvg=2.40.20-3. Migrate Thumbor to Buster (probably Q4 or Q1 FY19/20?)
** Rolling upgrade our 8 Thumbor servers (4 eqiad, 4 codfw)
** Some puppet changes to support both jessie & stretch
** Will offer some improvement in rendering untill librsvg >= 2.43
** This will be temporary, we should put minimum effort in it
2. Hold the upgrade, wait for buster to become stable and migrate Thumbor directly to Buster (probably Q4 or Q1 FY19/20?)
** This adds another 6 months of having SVG rendering in the current state
** Thumbor could be the first service we migrate to buster
3. Hold the upgrade, work (part time) on Q3/Q4 to move Thumbor to k8s and buster
** This will take longer and an (currently) unknown amount of time due to availability
** Moving Thumbor to k8s could be a goal for Q4
4. Upgrade servers to stretch (option 1) in Q3, aim to move Thumbor to k8s and buster on Q4.
** We will be running a version with some improvements until we figure out the k8s transition
** Moving Thumbor to k8s could be a goal for Q4
**Testing**
librsvg 2.40.20-3:
[x] Get stretch test VM on WMCS
[x] Package `python-libthumbor:1.3.2-0+wmf1` for stretch
[x] Package `python-thumbor-community-core: 0.4.0-0wmf1` for stretch
[x] Package `python-thumbor-wikimedia: 2.2-1` for stretch
[x] Package `Thumbor: 6.3.2+git20170607-1` for stretch
[x] Package librsvg 2.40.20-3 for stretch and upload to component/thumbor
[x] Deploy on Beta
[x] Test how this works and what are our issues