-
Type: Story
-
Status: To Do (View Workflow)
-
Priority: Medium
-
Resolution: Unresolved
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: ci-system
-
Labels:
-
Story Points:0
Upgrade version of python in use to support v3.10.X+.
This ticket is mainly a placeholder for system work needed.
Consider this a BHAG ([B]ig [H]airy [A]udacious [G]oal) due to the number of dependencies and moving parts involved.
Plenty of prep work will be needed before python 3.10.X will be usable.
Python v3.10 problem:
ERROR: ImportError: cannot import name 'Mapping' from 'collections' (/usr/lib/python3.10/collections/_init_.py)
Starting in python v3.3 the module collections was modified to support abstract base class logic. Fast forward to python v3.10 that effort is now live complete with a change in the module namespace ( collections => collections.abc ). Python v3.10 has become a fatal condition for legacy module syntax.
+Problem source: makefile targets
+
% source ~/.venv/3.10.6/bin/activate
% python --version
Python 3.10.6
% cd voltha-docs
% make clean-all
% make html
ERROR: ImportError: cannot import name 'Mapping' from 'collections' (/usr/lib/python3.10/collections/_init_.py)
Background: circa Python v3.5 & v3.6
=============================
During the transition from python 3.5 to 3.6 the interpreter was updated to support new syntax for printf. This logic in turn caused problems for some build system automation, as a workaround a static python library was created to normalize behavior for the v3.5 <=> v3.6 transition:
- git+https://github.com/zdw/sphinx-multiversion@ec7c01cdaf2f9241245e84483dfb9bc0d0dffc62
- https://github.com/zdw/robotframework-importresource
As of today with the static lib and frozen module dependencies so we are kinda anchored to (v3.6 >= python).
More Jira tickets will be opened to weaken version dependencies and remove this restriction to enable upgrading the python interpreter and modules so we can pickup the latest bug fixes and security patches.
At a minimum dependencies exist for voltha-docs - documentation generation.
I have a strong suspicion given the python module robotframework is involved VOLTHA testing logic will also have an implicit dependency and may require logic changes.
Short term try upgrading or removing python module version dependencies in any repositories you may be working in. Jira tickets will be opened as specific problems are identified, upgrading modules, logic and testing early will help reduce the problem space for a final upgrade to v3.10.x+
1.
|
repo:voltha-docs "make html" target fails with python v3.10 | To Do | Unassigned | |
2.
|
repo: voltha-system-tests failing with python v3.10 | To Do | Unassigned | |
3.
|
Remove build system dependency on external /zdw/ resources | To Do | Unassigned | |
4.
|
Jenkins job failing on a python dependency | To Do | Unassigned | |
5.
|
python 3.10+ upgrade: voltha-system-tests | Resolved | Joey Armstrong | |
6.
|
repo:voltha-docs - makefile targets fail with python 3.8 | To Do | Eric Ball | |
7.
|
repo:voltha-system-tests: make targets failing with python v3.8 | To Do | Unassigned |
# | Subject | Branch | Project | Status | CR | V |
---|---|---|---|---|---|---|
33440,7 | VOL-4874 - Fix local lint target use problems. | master | voltha-system-tests | Status: MERGED | +2 | +1 |
33448,4 | VOL-4840 - Makefile edits | master | voltha-docs | Status: MERGED | +2 | +1 |
35393,8 | [VOL-5362] Fix extlinks in Voltha 2.12 relnotes | master | voltha-docs | Status: MERGED | +2 | +1 |