[OpenStack-Infra] CentOS 8 as a Python 3-only base image
Hello, All our current images use dib's "pip-and-virtualenv" element to ensure the latest pip/setuptools/virtualenv are installed, and /usr/bin/ installs Python 2 packages and /usr/bin/ install Python 3 packages. The upshot of this is that all our base images have Python 2 and 3 installed (even "python 3 first" distros like Bionic). We have to make a decision if we want to continue this with CentOS 8; to be specific the change [1]. Installing pip and virtualenv from upstream sources has a long history full of bugs and workarounds nobody wants to think about (if you do want to think about it, you can start at [2]). A major problem has been that we have to put these packages on "hold", to avoid the situation where the packaged versions are re-installed over the upstream versions, creating a really big mess of mixed up versions. I'm thinking that CentOS 8 is a good place to stop this. We just won't support, in dib, installing pip/virtualenv from source for CentOS 8. We hope for the best that the packaged versions of tools are always working, but *if* we do require fixes to the system packages, we will implement that inside jobs directly, rather than on the base images. I think the 2019 world this is increasingly less likley, as we have less reliance on older practices like mixing system-wide installs (umm, yes devstack ... but we have a lot of work getting centos8 stable there anyway) and the Zuul v3 world makes it much easier to deploy isloated fixes as roles should we need. If we take this path, the images will be Python 3 only -- we recently turned Ansible's "ansible_python_interpreter" to Python 3 for Fedora 30 and after a little debugging I think that is ready to go. Of course jobs can install the Python 2 environment should they desire. Any comments here, or in the review [1] welcome. Thanks, -i [1] https://review.opendev.org/684462 [2] https://opendev.org/openstack/diskimage-builder/src/branch/master/diskimage_builder/elements/pip-and-virtualenv/install.d/pip-and-virtualenv-source-install/04-install-pip#L73 ___ OpenStack-Infra mailing list OpenStack-Infra@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-infra
Re: [OpenStack-Infra] CentOS 8 as a Python 3-only base image
On 2019-09-27 17:26:15 +1000 (+1000), Ian Wienand wrote: [...] > Installing pip and virtualenv from upstream sources has a long history > full of bugs and workarounds nobody wants to think about (if you do > want to think about it, you can start at [2]). [...] > I'm thinking that CentOS 8 is a good place to stop this. We just > won't support, in dib, installing pip/virtualenv from source for > CentOS 8. We hope for the best that the packaged versions of tools > are always working, but *if* we do require fixes to the system > packages, we will implement that inside jobs directly, rather than on > the base images. [...] This seems like a reasonable shift to me. I'd eventually love to see us stop preinstalling pip and virtualenv entirely, allowing jobs to take care of doing that at runtime if they need to use them. -- Jeremy Stanley signature.asc Description: PGP signature ___ OpenStack-Infra mailing list OpenStack-Infra@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-infra
Re: [OpenStack-Infra] CentOS 8 as a Python 3-only base image
On Fri, Sep 27, 2019 at 7:11 AM Jeremy Stanley wrote: > > On 2019-09-27 17:26:15 +1000 (+1000), Ian Wienand wrote: > [...] > > Installing pip and virtualenv from upstream sources has a long history > > full of bugs and workarounds nobody wants to think about (if you do > > want to think about it, you can start at [2]). > [...] > > I'm thinking that CentOS 8 is a good place to stop this. We just > > won't support, in dib, installing pip/virtualenv from source for > > CentOS 8. We hope for the best that the packaged versions of tools > > are always working, but *if* we do require fixes to the system > > packages, we will implement that inside jobs directly, rather than on > > the base images. > [...] > > This seems like a reasonable shift to me. I'd eventually love to see > us stop preinstalling pip and virtualenv entirely, allowing jobs to > take care of doing that at runtime if they need to use them. +1 for this, it'll simplify building nodepool images a lot more > -- > Jeremy Stanley > ___ > OpenStack-Infra mailing list > OpenStack-Infra@lists.openstack.org > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-infra -- Mohammed Naser — vexxhost - D. 514-316-8872 D. 800-910-1726 ext. 200 E. mna...@vexxhost.com W. http://vexxhost.com ___ OpenStack-Infra mailing list OpenStack-Infra@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-infra