devstack/tools
Clark Boylan 50e3c06ec2 Fix dbcounter installation on Jammy
There are two problems with dbcounter installation on Jammy. The first
is straightforward. We have to use `py_modules` instead of `modules` to
specify the source file. I don't know how this works on other distros
but the docs [0] seem to clearly indicate py_modules does this.

The second issue is quite an issue and requires story time. When
pip/setuptools insteall editable installs (as is done for many of the
openstack projects) it creates an easy-install.pth file that tells the
python interpreter to add the source dirs of those repos to the python
path. Normally these paths are appended to your sys.path. Pip's isolated
build env relies on the assumption that these paths are appeneded to the
path when it santizes sys.path to create the isolated environemnt.

However, when SETUPTOOLS_SYS_PATH_TECHNIQUE is set to rewrite the paths
are not appended and are inserted in the middle. This breaks pip's
isolated build env which broke dbcounter installations. We fix this by
not setting SETUPTOOLS_SYS_PATH_TECHNIQUE to rewrite. Upstream indicates
the reason we set this half a decade ago has since been fixed properly.

The reason Jammy and nothing else breaks is that python3.10 is the first
python version to use pip's isolated build envs by default.

I've locally fiddled with a patch to pip [1] to try and fix this
behavior even when rewrite is set. I don't plan to push this upstream
but it helps to illustrate where the problem lies. If someone else would
like to upstream this feel free.

Finally this change makes the jammy platform job voting again and adds
it to the gate to ensure we don't regress again.

[0] https://docs.python.org/3/distutils/sourcedist.html#specifying-the-files-to-distribute
[1] https://paste.opendev.org/show/bqVAuhgMtVtfYupZK5J6/

Change-Id: I237f5663b0f8b060f6df130de04e17e2b1695f8a
2022-05-20 10:35:18 -07:00
..
dbcounter Fix dbcounter installation on Jammy 2022-05-20 10:35:18 -07:00
build_venv.sh Mostly docs cleanups 2015-03-28 14:35:12 -05:00
create_userrc.sh Revert "Drop keystone dedicated ports" 2020-07-06 14:01:08 -05:00
create-stack-user.sh Permit use of sudo-ldap instead of sudo package 2019-06-04 01:23:37 +01:00
debug_function.sh Add debug helper script 2021-01-12 17:41:19 -08:00
discover_hosts.sh Don't assume nova-manage is present 2017-01-26 16:21:54 +01:00
dstat.sh Handle pcp-dstat transition 2019-03-29 11:20:19 -07:00
fixup_stuff.sh Workaround CentOS 8-stream bug until fixed 2022-01-17 08:43:52 +00:00
generate-devstack-plugins-list.py Use python3 as default python command 2020-02-17 17:03:47 +00:00
generate-devstack-plugins-list.sh Fix propose-updates job 2020-08-02 13:13:00 +02:00
get-stats.py Improve API log parsing 2022-05-12 07:55:30 -07:00
image_list.sh Remove references to XenAPI driver 2021-03-05 15:10:19 +00:00
info.sh Fix typo in tools/info.sh comment 2016-08-22 17:00:50 +00:00
install_pip.sh Add python3.6 pip support 2022-02-01 11:27:05 +00:00
install_prereqs.sh Use python3 as default python command 2020-02-17 17:03:47 +00:00
make_cert.sh Fix displaying usage for make_cert.sh 2021-08-06 12:55:39 +02:00
memory_tracker.sh Switch to python3 for memory_peak service 2020-01-30 12:35:34 +00:00
mlock_report.py Handle disappearing pids in mlock_report.py 2021-04-28 16:31:17 +00:00
outfilter.py Use python3 as default python command 2020-02-17 17:03:47 +00:00
ping_neutron.sh Neutron: use "OSC show -f value -c id" instead of "OSC list + grep" 2016-11-18 12:18:09 +01:00
update_clouds_yaml.py Fix use of yaml.load() 2021-10-16 17:33:12 +02:00
upload_image.sh Use openstack CLI instead of keystone 2015-04-13 10:09:13 -04:00
verify-ipv6-only-deployments.sh Move verify-ipv6-only-deployments 2021-06-07 17:44:54 +00:00
worlddump.py Drop broute from ebtables_dump 2021-06-09 09:37:34 +02:00