Explains Zuul tasks and fixes when Zanata syncs
This patch describes Zuul instead of Jenkins since translation jobs are also migrated to Zuul v3. Let's clarify by using terms as follows: - Tasks are for Ansible playbooks as yaml tasks - Scripts are actual shell scripts called from tasks Also, while syncs to project repositories are periodic jobs, syncs to Zanata are post jobs which execute after patches on repositories are merged. Change-Id: Iefa50e396d3eb9f016fb17999e2c88b8457e4ea4
This commit is contained in:
parent
c3d3633068
commit
f65156b724
|
@ -2,30 +2,37 @@
|
|||
Translation infrastructure
|
||||
==========================
|
||||
|
||||
A series of scripts in OpenStack infrastructure is used to manage translation
|
||||
changes in Zanata. Without running the scripts, translation changes will not
|
||||
A series of tasks in OpenStack infrastructure is used to manage translation
|
||||
changes in Zanata. Without running the tasks, translation changes will not
|
||||
be reflected into OpenStack projects. This page explains how the infrastructure
|
||||
scripts runs as Jenkins jobs and monitor the jobs status.
|
||||
tasks run actual scripts as `Zuul <https://docs.openstack.org/infra/zuul/>`_
|
||||
jobs and monitor the job status.
|
||||
|
||||
.. _translation-jobs:
|
||||
|
||||
Translation jobs
|
||||
----------------
|
||||
|
||||
We have two types of Jenkins jobs for translations: syncing Zanata with the
|
||||
latest repositories and pushing translations into the repositories.
|
||||
The first job is for Zanata-side updates. It enables Zanata to have up-to-date
|
||||
texts to be translated by comparing OpenStack project repositories and Zanata.
|
||||
On the other hand, the second job is aimed to reflect changes related to
|
||||
translations. For example, if you contribute translations in Zanata, the
|
||||
translation results need to be pushed to the corresponding repositories.
|
||||
We have two types of Zuul jobs for translations: syncing source strings into
|
||||
Zanata with the latest repositories and pushing translations from Zanata into
|
||||
the repositories.
|
||||
The first job is for Zanata-side updates. Up-to-date source strings to be
|
||||
translated are compared and updated between OpenStack project repositories
|
||||
and Zanata. If source texts in OpenStack project repositories are changed,
|
||||
then change sets are pushed into Zanata so translaters deal with up-to-date
|
||||
source strings.
|
||||
On the other hand, the second job is aimed to reflect changes in translated
|
||||
strings in Zanata (after translators do translation activities) into
|
||||
corresponding OpenStack project repositories. The job will propose changes
|
||||
as :doc:`Translation Import <reviewing-translation-import>` Gerrit patches.
|
||||
|
||||
To find updates for both Zanata and OpenStack project repositories,
|
||||
Jenkins starts to run scripts everyday at **6:00 UTC**.
|
||||
Update jobs for Zanata start after patches are merged on OpenStack project
|
||||
repositories, and Zuul starts to run tasks everyday at **6:00 UTC** for
|
||||
the updates on OpenStack project repositories.
|
||||
|
||||
Note that not all translation changes are the target for translation
|
||||
jobs. The goal is to have consistent translated programs, UIs, and
|
||||
documentation. There's not much sense if only a few lines are
|
||||
documentation. There is not much sense if only a few lines are
|
||||
translated. The team has decided that files that have at least 75
|
||||
percent of messages translated will be in the git repositories.
|
||||
|
||||
|
@ -34,8 +41,8 @@ get removed, there is also a lower threshold for releases of **66
|
|||
percent** of messages translated as policy - which is only manually
|
||||
enforced.
|
||||
|
||||
The OpenStack infra scripts currently download new files that are at
|
||||
least **75 percent** translated and if files grow over time but do not
|
||||
The OpenStack infra scripts excuted by tasks currently download new files that
|
||||
are at least **75 percent** translated and if files grow over time but do not
|
||||
get new translations (or strings change too much), they will be
|
||||
removed again automatically from the project with a lower threshold of
|
||||
currently **40 percent**.
|
||||
|
@ -51,20 +58,22 @@ dashboard provides us a convenient way to check the translation job status.
|
|||
* `Post jobs - Syncing to Zanata <http://status.openstack.org/openstack-health/#/g/build_queue/post?groupKey=build_queue&searchJob=translation>`__
|
||||
* `Periodic jobs: Syncing into repos <http://status.openstack.org/openstack-health/#/g/build_queue/periodic?groupKey=build_queue&searchJob=translation>`__
|
||||
|
||||
Translation infrastructure scripts
|
||||
----------------------------------
|
||||
Translation infrastructure tasks and scripts
|
||||
--------------------------------------------
|
||||
|
||||
Translation infrastructure scripts are stored and managed in
|
||||
Translation infrastructure tasks and scripts are stored and managed in
|
||||
`openstack-infra/project-config <http://git.openstack.org/cgit/openstack-infra/project-config>`__
|
||||
repository.
|
||||
|
||||
* `upstream_translation_update.sh <http://git.openstack.org/cgit/openstack-infra/project-config/tree/jenkins/scripts/upstream_translation_update.sh>`__
|
||||
* `upstream-translation-update.yaml <https://git.openstack.org/cgit/openstack-infra/project-config/tree/playbooks/translation/upstream-translation-update.yaml>`__
|
||||
|
||||
* Implements the first Jenkins job (Syncing to Zanata).
|
||||
* Implements the first Zuul job (Syncing to Zanata) by executing
|
||||
`upstream_translation_update.sh <http://git.openstack.org/cgit/openstack-infra/project-config/tree/jenkins/scripts/upstream_translation_update.sh>`__
|
||||
|
||||
* `propose_translation_update.sh <http://git.openstack.org/cgit/openstack-infra/project-config/tree/jenkins/scripts/propose_translation_update.sh>`__
|
||||
* `propose-translation-update.yaml <https://git.openstack.org/cgit/openstack-infra/project-config/tree/playbooks/translation/propose-translation-update.yaml>`__
|
||||
|
||||
* Carries out the second Jenkins job (Syncing into repos).
|
||||
* Carries out the second Zuul job (Syncing into repos) by executing
|
||||
`propose_translation_update.sh <http://git.openstack.org/cgit/openstack-infra/project-config/tree/jenkins/scripts/propose_translation_update.sh>`__
|
||||
|
||||
* `common_translation_update.sh <http://git.openstack.org/cgit/openstack-infra/project-config/tree/jenkins/scripts/common_translation_update.sh>`__
|
||||
|
||||
|
@ -81,5 +90,5 @@ repository.
|
|||
* Builds release notes in both the original (English) version and translated
|
||||
versions (if any).
|
||||
|
||||
Note that the scripts use `zanata-cli <http://docs.zanata.org/en/release/client/>`__
|
||||
Note that the scripts in the tasks use `zanata-cli <http://docs.zanata.org/en/release/client/>`__
|
||||
to pull and push translation content.
|
||||
|
|
Loading…
Reference in New Issue