[all][dev] Python.h not found after openstack-tox-py36 is switch to CentOS8
Hi,
openstack-tox-py36 is now run on CentOS-8 after commit 31c4a7a18e2bd43d2893563b992c683c95baed6f was merged. I noticed Python.h is not installed so we cannot install python modules which require compilation. An example is found at [1]. Do individual projects explicitly install python-dev or will we handle it in the common zuul job? Before proposing a fix, I would like to hear our direction.
[1] https://zuul.opendev.org/t/openstack/build/696978c5614c41bd88b5b2a1d6c2174a/...
Thanks, Akihiro Motoki (irc: amotoki)
On 2020-10-04 01:56:42 +0900 (+0900), Akihiro Motoki wrote:
openstack-tox-py36 is now run on CentOS-8 after commit 31c4a7a18e2bd43d2893563b992c683c95baed6f was merged. I noticed Python.h is not installed so we cannot install python modules which require compilation. An example is found at [1]. Do individual projects explicitly install python-dev or will we handle it in the common zuul job? Before proposing a fix, I would like to hear our direction.
[1] https://zuul.opendev.org/t/openstack/build/696978c5614c41bd88b5b2a1d6c2174a/...
We've also observed that the common mysqladmin invocations in tools/test_setup.sh files in many projects are failing due to differences in how MySQL/MariaDB are started or configured on CentOS vs Ubuntu.
I've been hacking on a change to handle mysql[1] for ironic which at least seems to get us past the initial failure with mysql, but we also carry postgresql support in our script and that seems like it is going to need more work. Currently fighting trying to update the pg_hba.conf file.
[1]: https://review.opendev.org/755905
On Sat, Oct 3, 2020 at 10:06 AM Jeremy Stanley fungi@yuggoth.org wrote:
On 2020-10-04 01:56:42 +0900 (+0900), Akihiro Motoki wrote:
openstack-tox-py36 is now run on CentOS-8 after commit 31c4a7a18e2bd43d2893563b992c683c95baed6f was merged. I noticed Python.h is not installed so we cannot install python modules which require compilation. An example is found at [1]. Do individual projects explicitly install python-dev or will we handle it in the common zuul job? Before proposing a fix, I would like to hear our direction.
[1] https://zuul.opendev.org/t/openstack/build/696978c5614c41bd88b5b2a1d6c2174a/...
We've also observed that the common mysqladmin invocations in tools/test_setup.sh files in many projects are failing due to differences in how MySQL/MariaDB are started or configured on CentOS vs Ubuntu. -- Jeremy Stanley
On 03.10.20 19:04, Jeremy Stanley wrote:
On 2020-10-04 01:56:42 +0900 (+0900), Akihiro Motoki wrote:
openstack-tox-py36 is now run on CentOS-8 after commit 31c4a7a18e2bd43d2893563b992c683c95baed6f was merged. I noticed Python.h is not installed so we cannot install python modules which require compilation. An example is found at [1]. Do individual projects explicitly install python-dev or will we handle it in the common zuul job? Before proposing a fix, I would like to hear our direction.
[1] https://zuul.opendev.org/t/openstack/build/696978c5614c41bd88b5b2a1d6c2174a/...
We've also observed that the common mysqladmin invocations in tools/test_setup.sh files in many projects are failing due to differences in how MySQL/MariaDB are started or configured on CentOS vs Ubuntu.
I think this change should have been announced beforehand and given projects enough time to prepare for the switch. Or maybe even the TC recommendations for testing environments should follow what is happening in the real world and acknowledge that Bionic is indeed still a platform that is being used for testing. I've thus proposed a revert of the change at [0] in order to unblock the gate for those affected (including Nova and Neutron), allowing to reevaluate the necessity and usefulness of this change.
Em dom., 4 de out. de 2020 às 09:31, Jens Harbott frickler@offenerstapel.de escreveu:
On 03.10.20 19:04, Jeremy Stanley wrote:
On 2020-10-04 01:56:42 +0900 (+0900), Akihiro Motoki wrote:
openstack-tox-py36 is now run on CentOS-8 after commit 31c4a7a18e2bd43d2893563b992c683c95baed6f was merged. I noticed Python.h is not installed so we cannot install python modules which require compilation. An example is found at [1]. Do individual projects explicitly install python-dev or will we handle it in the common zuul job? Before proposing a fix, I would like to hear our direction.
[1]
https://zuul.opendev.org/t/openstack/build/696978c5614c41bd88b5b2a1d6c2174a/...
We've also observed that the common mysqladmin invocations in tools/test_setup.sh files in many projects are failing due to differences in how MySQL/MariaDB are started or configured on CentOS vs Ubuntu.
I think this change should have been announced beforehand and given projects enough time to prepare for the switch. Or maybe even the TC recommendations for testing environments should follow what is happening in the real world and acknowledge that Bionic is indeed still a platform that is being used for testing. I've thus proposed a revert of the change at [0] in order to unblock the gate for those affected (including Nova and Neutron), allowing to reevaluate the necessity and usefulness of this change.
[0] https://review.opendev.org/755954
++, I agree with you Jens.
This type of change deserves an email and testing by each project. (maybe add a non-voting job with centos8 so it won't block the gate of the projects)
On 2020-10-04 09:29:19 +0200 (+0200), Jens Harbott wrote: [...]
maybe even the TC recommendations for testing environments should follow what is happening in the real world and acknowledge that Bionic is indeed still a platform that is being used for testing.
[...]
The TC recommending testing on old releases instead of new ones would basically mean we just stop being compatible with new distro versions. I'll grant the change was late and should have been pushed in at the start of the Victoria cycle instead of the end of it. In future any test platform changes should just happen at the start of the cycle and let the project developers cope with being unable to merge any new changes until they get their repos working on the PTI platforms for that cycle. Every time we try to provide an opportunity for smooth platform transitions, we always wind up at the end of the cycle (or even after the release) still trying to get jobs switched over to them. We really need to stop seeing this as a nicety and recognize it as the necessity it really is.
If the TC says we're going to test on Python 3.6 because that's the version in CentOS 8, then we should be testing Python 3.6 on CentOS 8 and not some other entirely different distro which just happens to have an old Python version which is similar.
participants (5)
-
Akihiro Motoki
-
Iury Gregory
-
Jens Harbott
-
Jeremy Stanley
-
Julia Kreger