Feature #15274

Update weblate to the newest possible version in translate.lizard

Added by emmapeel 2018-01-31 20:14:40 . Updated 2019-06-27 17:16:41 .

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Target version:
Start date:
2018-01-31
Due date:
% Done:

0%

Feature Branch:
Type of work:
Sysadmin
Blueprint:

Starter:
Affected tool:
Deliverable for:

Description

There have been numerous updates as mentioned at Feature #15075 so we should update before doing this task.

Requirements for the last version, weblate-2.18, taken
from https://github.com/WeblateOrg/weblate/releases/tag/weblate-2.18 are:

Django>=1.11
siphashc>=0.8
Whoosh>=2.7.0
translate-toolkit>=2.0.0
lxml>=3.1.0
Pillow
six>=1.7.0
python-dateutil
social-auth-core>=1.3.0
social-auth-app-django>= 1.2.0
django-crispy-forms>=1.6.1
oauthlib>=0.6.3
django_compressor>=2.1.1
djangorestframework>=3.7
defusedxml>=0.4
django-appconf>=1.0


Subtasks


Related issues

Blocks Tails - Bug #15365: Check if voting mechanism in Weblate WRT validity of strings Resolved 2018-03-02
Blocks Tails - Bug #15409: Configure addons in Weblate Resolved 2018-03-13

History

#1 Updated by intrigeri 2018-02-02 05:38:17

  • Assignee set to emmapeel
  • QA Check changed from Dev Needed to Info Needed

> Requirements for the last version, weblate-2.18, taken
> from https://github.com/WeblateOrg/weblate/releases/tag/weblate-2.18 are:

Please check their availability on the distro we’re running and let us know if there’s any special case (e.g. a package we need to install from stretch-backports).

Then once you’ve done this part of the work, on the sysadmin side it’ll be a matter of:

  1. ensuring all new dependencies are installed
  2. bumping the tag we want in the Puppet class parameter

#2 Updated by emmapeel 2018-02-06 12:32:23

  • Assignee deleted (emmapeel)

we are looking at this with drebs, and we are thinking maybe to upgrade to python 3, as python 2 will be deprecated on next Debian release.

what do you think?

#3 Updated by Anonymous 2018-02-06 13:05:54

  • Assignee set to emmapeel
  • QA Check deleted (Info Needed)

emmapeel wrote:
> we are looking at this with drebs, and we are thinking maybe to upgrade to python 3, as python 2 will be deprecated on next Debian release.
>
> what do you think?

Well I think this depends on the Python version required by this Weblate version. Not all scripts running on Python2 will magically run with Python3 as far as I know. Still you may want to read the docs: https://docs.weblate.org/en/latest/admin/install.html#requirements “Weblate is written in Python and supports Python 2.7, 3.4 or newer.” So whichever version satisfies these requirements, you can use.

I suggest you create a local VM on your computer, which is an exact copy of the production VM, except that you have root on it. And then you can try updating Weblate in this VM and identifying possible issues before asking sysadmins to do this work on the production VM.

#4 Updated by emmapeel 2018-02-06 13:49:18

Yes, we are preparing the list of issues at https://pad.riseup.net/p/GEukdwaLcsyk

One of the ideas we had after looking at dependencies was that we should also update to python3.

#5 Updated by emmapeel 2018-02-12 19:47:51

  • Assignee deleted (emmapeel)

I was about to raise the priority of this ticket because it needs to be done before we integrate the translation platform with our system.

We have been working with drebs on a Docker image with the puppet recipes we use in weblate.pp

The only three packages that we need to install through pip for Weblate 2.18 are

social-auth-app-django social-auth-core
djangorestframework==3.7
siphashc

More information at https://pad.riseup.net/p/GEukdwaLcsyk

There are other packages for pip but they are optional.

It is very important to update, as the review process has changed, and many tickets we filed are fixed on the new releases.

#7 Updated by Anonymous 2018-03-02 11:02:42

  • Assignee set to emmapeel

We’ve decided at our meeting yesterday, that drebs and emmapeel will first try to do this using the docker image and then report back/document what should be done on the production VM. Then the update will be done together with groente on the production VM.

Thus assigning this ticket to emmapeel for now.

#8 Updated by Anonymous 2018-03-02 11:02:53

  • Target version set to Tails_3.7

#9 Updated by emmapeel 2018-03-11 16:30:06

  • blocks Bug #15365: Check if voting mechanism in Weblate WRT validity of strings added

#10 Updated by Anonymous 2018-03-13 16:05:53

  • blocked by Bug #15409: Configure addons in Weblate added

#11 Updated by drebs 2018-04-03 09:43:13

u wrote:
> We’ve decided at our meeting yesterday, that drebs and emmapeel will first try to do this using the docker image and then report back/document what should be done on the production VM. Then the update will be done together with groente on the production VM.

Updates:

  • The docker image has been updated to run Weblate 2.19.1 using python3.
  • Dependencies that are either too old in Debian or that have not been packaged yet have been installed with pip3.
  • The puppet-tails module has been forked to install both apache wsgi module and python dependencies for python3. I am not sure what would be a good upgrade path regarding updating that module. One possibility is to upgrade Weblate in production using the fork of the puppet module, then merge the changes in the module’s canonical repo, and then change production to use canonical repo again.
  • There are currently some issues with the image (as for example user creation is not working and the website seems to run slower, probably because of lack of offloaded indexing), and it’d be good to tackle them before doing the actual upgrade.
  • Two packages (phply and django-crispy-forms) had to be installed using pip3 otherwise Weblate failed to run. It is not clear if they are dependencies that are not listed or if it is something else about the environment. This still has to be investigated, possibly with help from upstream.

#12 Updated by emmapeel 2018-04-03 09:53:31

  • blocks deleted (Bug #15409: Configure addons in Weblate)

#13 Updated by emmapeel 2018-04-03 09:53:51

  • blocks Bug #15409: Configure addons in Weblate added

#14 Updated by emmapeel 2018-04-03 13:04:33

  • Assignee changed from emmapeel to groente
  • Priority changed from Normal to Elevated

#15 Updated by Anonymous 2018-04-03 13:10:17

  • Assignee changed from groente to drebs

During our meeting, we agreed that drebs will ask the sysadmins about an approach to installing via pip on this VM. Assigning back to drebs.

#16 Updated by Anonymous 2018-04-03 13:19:17

drebs agreed to ask the sysadmins about what is still missing or possible blockers to make this upgrade happen. and then he can report back here.

#17 Updated by emmapeel 2018-04-03 13:28:42

  • Assignee changed from drebs to groente

#18 Updated by drebs 2018-04-03 14:06:24

We just had a meeting about the translation platform [1], and part of the discussion was around work done and missing for upgrading Weblate to its latest version [2] [3].

Upgrading Weblate to the latest version is important for different reasons:

  • there are newer/different dependencies.
  • there are bug fixes (including bugs reported by us).
  • there are new features that affect remaining work (i.e. suggestion/revision workflow [4] and configuration of addons [5]).
  • this currently blocks our end user documentation writing for the Lush project as well as other configuration tasks.
  • we need to have the feeling that we are moving forward in this. :-)

We were wondering:

  • Is the information provided on Feature #15274’s description and in https://labs.riseup.net/code/issues/15274#note-11 sufficient for you to upgrade the production platform?
  • Or are there any blockers? If yes, can you point them out so that we can fix them as soon as possible?
  • Packaging all dependencies to Debian is ongoing but will take some more time, and we wouldn’t like that to block the upgrade. Is it ok to have some dependencies installed from pip?

We have created a docker image (https://0xacab.org/drebs/tails-translate-docker) which can be used to test the configuration beforehand if needed. That repository “kind of documents” the extra steps needed to be done to get to a python3 installation of Weblate 2.19.1. We also started modifying weblate.pp from tails-puppet to install apache mod wsgi and packages from python3 [6].

If there are no remaining blockers, we’d like to have an ETA for this task. Eventually, we would need a precise date so that we can agree on a strategy to tell translators beforehand that during a certain period of time, the platform will be unavailable.
Ideally, we’d like to have this before the end of the month of April. Please let us know if this is realistic, and if you need something else from our side.

[1] https://translate.tails.boum.org/
[2] https://labs.riseup.net/code/issues/15274
[3] https://labs.riseup.net/code/issues/10038
[4] https://labs.riseup.net/code/issues/11763
[5] https://labs.riseup.net/code/issues/15409
[6] https://0xacab.org/drebs/puppet-tails/tree/upgrade-weblate

#19 Updated by Anonymous 2018-04-03 21:08:38

  • Priority changed from Elevated to Normal
  • QA Check set to Info Needed

#20 Updated by Anonymous 2018-04-06 09:14:22

After our last meeting, intrigeri said that we could also run Weblate in a container, which would allow us for a little bit more administration freedom as far as I understand. He invited drebs to talk to him an groente about that possibility. FYI.

#21 Updated by bertagaz 2018-05-10 11:09:06

  • Target version changed from Tails_3.7 to Tails_3.8

#22 Updated by intrigeri 2018-06-26 16:27:41

  • Target version changed from Tails_3.8 to Tails_3.9

#23 Updated by Anonymous 2018-08-16 12:20:04

  • Status changed from Confirmed to Resolved

I’ve been told this happened.

#24 Updated by intrigeri 2019-06-27 17:16:41

  • Assignee deleted (groente)