On Thu, 2021-12-02 at 08:25 -0500, Corey Bryant wrote:
On Wed, Dec 1, 2021 at 4:34 PM Clark Boylan <cboylan@sapwetik.org> wrote:
<snip>
If we want to be bold and try an experiment, we could also reduce
testing of the python versions to oldest and newest supported python versions. For example python3.6 and python3.9 during Yoga. Don't worry about python3.7 and python3.8 as it is likely they will continue to function as long as 3.6 and 3.9 are happy. This would reduce the size of the testing matrix. We can always reevaluate if problems for 3.7 and 3.8 occur.
The issue here I think is trying to align on a default LTS distro python. CS8,18.04 is 3.6, Debian Buster is 3.7, 20.04 is 3.8 and CS9 will be 3.9. Personally I think 3.6/3.9 is sufficient because for the projects I contribute to this covers my cases. But this would exclude the 3.8 on 20.04. Would this be a problem for Ubuntu's UCA?
Ubuntu 20.04 includes a python 3.9. I don't know how that would impact the UCA or Ubuntu's packaging though. That said I have a strong suspicion that if OpenStack runs on 3.6 and 3.9 that it should just work on 3.8 as well. And as I mentioned if we prove that wrong through experience we can always fix 3.8 and go back to explicitly testing it. I don't think this particular change is super critical, but I know some people were concerned about the number of pythons that would need testing.
Ubuntu will be supporting python3.8 (on 20.04) and python3.10 (on 22.04) for Yoga by default. Once python 3.10.1 is released, it will be backported to 20.04, so I was hoping to add non-voting py310 unit tests upstream. Tthoughts? We did that in the past, I forget what release. i think that likely would be a good idea. i know eventlets are currently adding inital 3.10 support and have had to adapt to some changes sicne py3.6 by increasing the min version of some of there deps like dns python getting a head up early and ensuring we can get our upper-constraits in order i think woudl help make that smother.
https://github.com/eventlet/eventlet/pull/715
Python3.9 testing is probably good enough coverage for Python3.8. Generally testing with the min and max python versions seems sensible, although the gap feels like it's getting wider than it was in the past, likely due to python release cadence.
ya it is wider then in the past for yoga we will effectlyve need to support 3.6, 3.7, 3.8, and 3.9 during development and then 3.10 once ubuntu 22.04 release. long term supporting 5 python version i dont think is sutainable so if we can reduce that to 3.8 3.9 and 3.10 for Z i think that is what we should aim for. we might event want to aim for 3.9 and 3.10 only if the distro support matrix makes sense. suse is perhaps the only distro that may not supprot 3.9+ ? and they nolonger ship an openstack distro so perhaps we coudl limit to 3.9+ in z
Corey