Fix installation with pip install --user

If kolla-ansible is installed via pip install --user, currently the
kolla-ansible script is unable to locate the installed playbooks.
This leads to a failure when running commands.

This change fixes the issue by checking for the user's .local directory
as a possible installation path.

This fixes some of the scenario tests which were failing after switching
to a user installation in Ifaf1948ed5d42eebaa62d7bad375bbfc12b134d5.
Most tests did not fail since the kolla-ansible script in the source
checkout was used.

Closes-Bug: #1915527

Change-Id: I5b47a146627d06bb3fe4a747c5f20290c726b0f9
This commit is contained in:
Mark Goddard 2021-02-11 09:23:21 +00:00
parent 638e00cfb1
commit 519ca1c083
2 changed files with 8 additions and 0 deletions

View File

@ -0,0 +1,6 @@
---
fixes:
- |
Fixes an issue with executing ``kolla-ansible`` when installed via ``pip
install --user``. `LP#1915527
<https://bugs.launchpad.net/kolla-ansible/+bug/1915527>`__

View File

@ -75,6 +75,8 @@ function find_base_dir {
BASEDIR=/usr/share/kolla-ansible
elif [[ ${dir_name} == "/usr/local/bin" ]]; then
BASEDIR=/usr/local/share/kolla-ansible
elif [[ ${dir_name} == ~/.local/bin ]]; then
BASEDIR=~/.local/share/kolla-ansible
elif [[ -n ${VIRTUAL_ENV} ]] && [[ ${dir_name} == "$(readlink -e "${VIRTUAL_ENV}/bin")" ]]; then
if test -f ${VIRTUAL_ENV}/lib/python*/site-packages/kolla-ansible.egg-link; then
# Editable install.