"Install prerequisites" does:
sudo dnf -y install nss-tools python3 -m pip install --upgrade pip setuptools pycodestyle
The second command fails with:
python3: error while loading shared libraries: libpython3.6m.so.1.0: cannot open shared object file: No such file or directory ##[error]Bash exited with code '127'. ##[section]Finishing: Install prerequisites
Log available at: https://dev.azure.com/freeipa/freeipa/_build/results?buildId=805&view=logs&jobId=2fb0eb09-97d5-54f0-ea8f-50bdaefda98e
Metadata Update from @fcami: - Issue tagged with: test-failure
Hi, @fcami. In this AP job Python specific version (3.6, for instance) is taken from tools dir (/__t/Python/3.6.9/x64/bin), but there is no corresponding libpython. Just now I've checked this on host (vmImage: 'Ubuntu-16.04', not within container), it works as expected. Unfortunately, there are no detail docs on it https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/tool/use-python-version?view=azure-devops
3.6
/__t/Python/3.6.9/x64/bin
vmImage: 'Ubuntu-16.04'
I think AP issue should be opened to clarify behavior. Concerning Tox job I don't know why is Python version pinned to 3.6. May it be relaxed to 3.7? My proposal is completely removing UsePythonVersion@0 task from this job.
UsePythonVersion@0
Hi @slev Thanks for the investigations! I've opened a PR to switch to 3.7. I'm not sure why it was pinned on 3.6 anyway.
Metadata Update from @fcami: - Custom field on_review adjusted to https://github.com/freeipa/freeipa/pull/3492
It was pinned to the version because we needed to on to some above the default. Since then, an upgrade happened, it seems, so we need to move up.
master:
ipa-4-8:
Metadata Update from @fcami: - Issue close_status updated to: fixed - Issue status updated to: Closed (was: Open)
Hi, @abbra , @fcami. This is a strace log of the current Tox job. <img alt="strace_python37.log" src="/freeipa/issue/raw/files/411ab75651d68e7d7e19a7b2af6cfce006b17d5e47d919b34bd013dc31d18eb8-strace_python37.log" /> You can see that due to UsePythonVersion@0 Python3.7 was used from /__t/Python/3.7.4. When /__t/Python/3.7.4/x64/bin/python3 (Ubuntu's python) is launched, ld loads container's libpython. So, it is a luck, that this job passed. I think, this is not what we want.
/__t/Python/3.7.4
/__t/Python/3.7.4/x64/bin/python3
I've opened an upstream ticket https://github.com/microsoft/azure-pipelines-tasks/issues/11070
Login to comment on this ticket.