Use debian:bookworm for base images
Using bullseye turned out to be a dud !357 (closed), but bookworm includes a version of Python that works reliably with NSO. We started using these updated base images a couple of months ago and have not noticed any issues.
Important version changes:
- Python 3.7 -> 3.11.2!
- Only NSO 5.1.4 and 5.1.5 are not compatible with Python 3.9+. These NSO versions are EOL and we already decided to remove support in !357 (closed).
- Linters:
- pylint 2.2.2 -> 2.16.2
- mypy 0.670 -> 1.0.1
- If the upgraded linters complain more (and fail package builds) users can pin to an older version in
requirements-dev.txt
- OpenJDK 17
- The Java APIs for NSO 5.3+ require Java 8. For older version we replace the deprecated 1.6 source and target versions with 1.8.
- All packages comes from the main repository, no need for
*-backports
. - I already addressed OpenSSH and curl incompatibilities in !436 (merged) and !437 (merged)
References to NSO changes:
NSO 5.3
- java-api: The Java API is now built with a Java 8 compiler and will
require a minimum of a Java 8 VM.
(ENG-20799)
- java-api: Java 6 & 7 are removed as supported Java versions as there are
no support of them in the Java community. ConfD is now built with Java
8.
(ENG-20208, RT:37926, PS-33000)
NSO 5.1.6
- python-api: Python 3.9 no longer exports PyObject PyIOBase_Type, because
of this _confd could not be imported. Now _confd.init no longer check
that the "file" argument is of type io.IOBase.
(ENG-25176)
Edited by Marko Zagožen