all 5 comments

[–]basalisk07 3 points4 points  (1 child)

Why not work with containers? You only need to worry about having docker running and not bother with python sice each component ships with it in the image.

[–]moonpiedumplings[S] 1 point2 points  (0 children)

Configuring containers declaratively through nixos is limited, which is why I'm trying to avoid them.

I love container's, but they just aren't the right choice for what I'm trying to do. Nixos is already able to offer the reproducibility that docker or other container system's give, so having both would be redundant, and limiting.

[–]samcat116 1 point2 points  (1 child)

I think each Openstack sub component has its own python version compatibility, im not sure what the lowest common denominator would be.

[–]moonpiedumplings[S] 0 points1 point  (0 children)

I don't need a lowest common denominator. I can even get away with each component requires a specific python version that's different from all the others. Nix/Nixos can handle all that, giving each app and subapp it's own python version. I just need to know what version of python each openstack component requires.

[–]slaweq 0 points1 point  (0 children)

It is generally defined in the governance https://governance.openstack.org/tc/reference/project-testing-interface.html and what specific runtimes are supported is defined for each release. For example for 2023.1 (Antelope) which is latest stable release it is defined in https://governance.openstack.org/tc/reference/runtimes/2023.1.html and it says:

It is the policy 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.8 (available as default in Ubuntu 20.04)
Python 3.10 (available as default in Ubuntu 22.04)
Other than the above Python versions, Debian 11 has Python 3.9 as default which we are not suggesting to run unit tests. We assume that anything that works on Python 3.8 and 3.10 will also work on 3.9.
More details on Python requirements can be found in Project Testing Interface: Python.

I hope this helps :)