[all][tc] Minium python version for yoga and centos 9 stream.

Ghanshyam Mann gmann at ghanshyammann.com
Tue Sep 7 15:38:12 UTC 2021

 ---- On Tue, 07 Sep 2021 06:07:55 -0500 Sean Mooney <smooney at redhat.com> wrote ----
 > resending to correct list
 > On Tue, 2021-09-07 at 10:51 +0100, Sean Mooney wrote:
 > > hi i was jsut looking at the yoga runtimes an notice that we have not really updated it
 > > with regards to minium python versions.
 > > 
 > > currently 
 > > 
 > > the runtime defintion is as follows https://github.com/openstack/governance/blob/master/reference/runtimes/yoga.rst
 > > 
 > >    It is the :doc:`policy <../../resolutions/20181024-python-update-process>` that each OpenStack release cycle will target the latest available version of Python; default Python runtimes on the
 > >    distributions listed above; and versions used in integration tests at the start of the cycle, at least until the point when all projects have migrated to a later version.
 > >    
 > >    Based on the criteria above, all Python-based projects must target and test against, at a minimum:
 > >    
 > >        Python 3.6 (default in CentOS 8 Stream)
 > >        Python 3.8 (latest available; default in Ubuntu 20.04)
 > >    
 > > looking at to look at https://repology.org/project/python/versions what python version are shpping by default now in many distro
 > > more and more of them are moving to python 3.9 which is currently not in the test list and wer are starting to fall quite far behind
 > > 
 > > debian 11/12/stable are currently using 3.9.2
 > > centos 8 defaults to 3.6.8 but ships     3.8.6 and 3.9.2 as appstreams
 > > centos 9 stream will default to  python3-3.9.6-6.el9.x86_64.rpm  https://composes.stream.centos.org/test/latest-CentOS-Stream/compose/BaseOS/x86_64/os/Packages/
 > > ubuntu 20.04 default to 3.8.2 but also ships 3.9.5 in universe
 > > ubuntu 21.04 default to 3.9.5 so we can expect that when yoga ships on ubuntu 22.04 it will be based on at least python 3.9 and proably 3.10
 > > fedora well they basically ship everythin but i belive 3.9 is not the default based on complaints some of my fellow contiutors had with
 > > runnign unit and functional tests.
 > > 
 > > openSUSE Leap 15.3 main/oss     python39     3.9.4 ship 3.9 but default to 3.6
 > > they aslo nolonger have an openstack product but it would still be nice to keep them in mind.
 > > 

Definitely we can move to 3.9 as official testing runtime if any of the currently supporting distro support it as default.

openSuse distro is not supported anymore due to no/less volunteer to maintain it. centos9 or Ubuntu 22.04 LTS is not yet
released so we have not picked them yet but that is something we discussed during the review of defining Yoga testing
runtime. If any of these distro is released before Yoga development cycle we can propose a update to the current testing runtime
- https://review.opendev.org/c/openstack/governance/+/799927/1/reference/runtimes/yoga.rst#9

Also one thing to make a note here, py3.9 is being tested as non-voting in all the project unit tests and hopefully projects
has made it green. There is no restriction to run unit or functional tests on py3.9 as voting testing. Testing runtime is just
a minimum testing we except projects to do and it can be extended at any distro/versions at project level. 


 > > 
 > > over all i think we shoudl consider raising or min tested/supported python version to python 3.8 for yoga and consider updating from centos 8 to centos 9.
 > > i also think it worth including python 3.9 in the required testing versions for python projects.
 > > 
 > > several distros will be releaseing openstack xena/wallaby with python 3.9 and also yoga likely with 3.10 in some cases.
 > > if we only offically test with 3.6 and 3.8 we could have some hard probalems to solve going forward. the optional testing with unit and functional tests 
 > > that some project have for python 3.9 certenly helps but actully having an integrated tempest gate job that runs on 3.9 i think is going to be increasingly important.
 > > 
 > > readring centos 9 stream, it was orginally planned of release at the end of q2. now that date has obviosly passed but i know that they are still hopeful to have
 > > a release ready in the next month or so. cloud images are avaibel at https://composes.stream.centos.org/production/latest-CentOS-Stream/compose/BaseOS/x86_64/images/ although the repos are still only
 > > partly complete https://composes.stream.centos.org/production/latest-CentOS-Stream/compose/BaseOS/x86_64/images/ and there are currently no active mirros so its still officaly
 > > not released https://www.centos.org/centos-stream/ and i don not have any ETA beyond soonTM. as such im aware we cant offically declare centos 9 stream as part of the tested
 > > runtimes at this point but it might be at least worht listing it as an experimtal runtime as i suspec there will be a desire to swtich to it during the yoga cycle for some proejct.
 > > ooo/rdo come to mind as they discussed this for xena but obviously that was not possibel since it was not released in time.
 > > 
 > > 
 > > regards
 > > sean.
 > > 
 > > ps removing python 3.6 and replacing it with 3.9 instead of just adding 3.9 as an addtional runtime is more to manage our testing
 > > there isnt nessarly any python feature that i explcitly would like to be able to use that are added in 3.8 that would be enabled
 > > by making that the new min python verion that is motivating this suggestion.  there are some nice thingin 3.9/3.10 such as pattern
 > > mataching that are commign but it will be some time (2-4 years)before we can actully use those as our min version so i was just being practial
 > > and suggestion we raise to 3.8 and add 3.9 as required with 3.10 as optional/experimal for those that want it.
 > > 

More information about the openstack-discuss mailing list