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