[i18n][infra][horizon] Zanata translation job failures after Python 3.8 deprecation
Hi all, During last week's PTG, the I18n SIG identified Zanata translation job failures for Horizon (and likely related plugins). The root cause appears to be Python 3.8 deprecation on Horizon [1]. Failed jobs have been observed on Zuul [2], and translation proposals were made on Gerrit [3]. Since translation sync on Horizon stable branches is functioning correctly, the error message seems to be related to Python 3.8 deprecation: ERROR: Cannot install -r doc/requirements.txt (line 3) due to conflicting package version dependencies. To address this, I'd like to raise two points: 1/ To resolve the issue, would you support updating translation sync jobs with Bionic-based Zuul jobs by either upgrading to Jammy or modifying the Bionic image to support Python >3.8? 2/ At least me from I18n SIG acknowledges that recognizing these translation job errors was delayed. Moving forward, would it be beneficial to implement periodic (e.g., monthly) reporting on translation job successes and failures? Thank you, /Ian [1] https://docs.openstack.org/releasenotes/horizon/2024.2.html#upgrade-notes [2] https://zuul.opendev.org/t/openstack/builds?job_name=propose-translation-update&project=openstack%2Fhorizon&branch=master&skip=0 [3] https://review.opendev.org/q/owner:proposal-bot+project:openstack/horizon+br...
On Tue, Oct 29, 2024, at 2:48 PM, Ian Y. Choi wrote:
Hi all,
During last week's PTG, the I18n SIG identified Zanata translation job failures for Horizon (and likely related plugins). The root cause appears to be Python 3.8 deprecation on Horizon [1].
Failed jobs have been observed on Zuul [2], and translation proposals were made on Gerrit [3].
Since translation sync on Horizon stable branches is functioning correctly, the error message seems to be related to Python 3.8 deprecation: ERROR: Cannot install -r doc/requirements.txt (line 3) due to conflicting package version dependencies.
To address this, I'd like to raise two points:
1/ To resolve the issue, would you support updating translation sync jobs with Bionic-based Zuul jobs by either upgrading to Jammy or modifying the Bionic image to support Python >3.8?
The problem with updating the translation sync jobs to Jammy or newer is that the Zanata client requires Java 8 which isn't available on those newer platforms. We can either satisfy the Python requirements or the Java requirements but not both at the same time with extra work. As has been mentioned elsewhere, completing the migration to Weblate removes the need for Zanata client and we can move on from this old platform. Some ideas on how we might workaround this issue while continuing to use Zanata include: running Zanata client from a container image with the right version of Java installed, or as you suggest installing a newer version of Python on Bionic. We could potentially use the `ensure-python` zuul-jobs role with `python_use_pyenv` set to true and `python_version` set to 3.11 or similar. That would build the newer python version from source on the older platform. We did this with Python 3.12 to get early tests running and it seemed to work. The problem with these approaches are that they too require work when we could instead focus on completing the Weblate migration.
2/ At least me from I18n SIG acknowledges that recognizing these translation job errors was delayed. Moving forward, would it be beneficial to implement periodic (e.g., monthly) reporting on translation job successes and failures?
Thank you,
/Ian
[1] https://docs.openstack.org/releasenotes/horizon/2024.2.html#upgrade-notes [2] https://zuul.opendev.org/t/openstack/builds?job_name=propose-translation-update&project=openstack%2Fhorizon&branch=master&skip=0 [3] https://review.opendev.org/q/owner:proposal-bot+project:openstack/horizon+br...
Thank you for sharing the current situation accurately and providing suggestions regarding the translation sync issues. Due to continuous requests for translation updates while Horizon updates were pending, I took the initiative to execute the translation infrastructure sync script locally. Following your suggestions, I successfully ran the sync in a local container environment and uploaded the proposal patch [1]. Detail commands are pasted as [2]. Given that the Weblate migration is still in progress [3], I believe it would be beneficial to discuss how we can potentially incorporate the approach into the current infrastructure sync process in future discussions. I understand this is a temporary solution while we work towards completing the Weblate migration. The container-based approach has proven effective for our immediate needs, and I appreciate your guidance on this matter. Thank you, /Ian [1] https://review.opendev.org/c/openstack/horizon/+/939607 [2] https://paste.opendev.org/show/b6v9BODjraT8Heie2xW4/ [3] https://meetings.opendev.org/meetings/openstack_i18n_meeting/2025/ On Wed, Oct 30, 2024 at 8:36 AM Clark Boylan <cboylan@sapwetik.org> wrote:
On Tue, Oct 29, 2024, at 2:48 PM, Ian Y. Choi wrote:
Hi all,
During last week's PTG, the I18n SIG identified Zanata translation job failures for Horizon (and likely related plugins). The root cause appears to be Python 3.8 deprecation on Horizon [1].
Failed jobs have been observed on Zuul [2], and translation proposals were made on Gerrit [3].
Since translation sync on Horizon stable branches is functioning correctly, the error message seems to be related to Python 3.8 deprecation: ERROR: Cannot install -r doc/requirements.txt (line 3) due to conflicting package version dependencies.
To address this, I'd like to raise two points:
1/ To resolve the issue, would you support updating translation sync jobs with Bionic-based Zuul jobs by either upgrading to Jammy or modifying the Bionic image to support Python >3.8?
The problem with updating the translation sync jobs to Jammy or newer is that the Zanata client requires Java 8 which isn't available on those newer platforms. We can either satisfy the Python requirements or the Java requirements but not both at the same time with extra work. As has been mentioned elsewhere, completing the migration to Weblate removes the need for Zanata client and we can move on from this old platform.
Some ideas on how we might workaround this issue while continuing to use Zanata include: running Zanata client from a container image with the right version of Java installed, or as you suggest installing a newer version of Python on Bionic. We could potentially use the `ensure-python` zuul-jobs role with `python_use_pyenv` set to true and `python_version` set to 3.11 or similar. That would build the newer python version from source on the older platform. We did this with Python 3.12 to get early tests running and it seemed to work.
The problem with these approaches are that they too require work when we could instead focus on completing the Weblate migration.
2/ At least me from I18n SIG acknowledges that recognizing these translation job errors was delayed. Moving forward, would it be beneficial to implement periodic (e.g., monthly) reporting on translation job successes and failures?
Thank you,
/Ian
[1] https://docs.openstack.org/releasenotes/horizon/2024.2.html#upgrade-notes [2] https://zuul.opendev.org/t/openstack/builds?job_name=propose-translation-update&project=openstack%2Fhorizon&branch=master&skip=0 [3] https://review.opendev.org/q/owner:proposal-bot+project:openstack/horizon+br...
participants (2)
-
Clark Boylan
-
Ian Y. Choi