diff --git a/defaults/main.yml b/defaults/main.yml index f281752..95b458a 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -93,7 +93,6 @@ panko_service_in_ldap: false # panko packages that must be installed before anything else panko_requires_pip_packages: - virtualenv - - virtualenv-tools - python-keystoneclient # Keystoneclient needed to OSA keystone lib - httplib2 diff --git a/tasks/panko_install.yml b/tasks/panko_install.yml index 4c44e4e..ee77c59 100644 --- a/tasks/panko_install.yml +++ b/tasks/panko_install.yml @@ -120,10 +120,25 @@ - ansible_pkg_mgr in ['yum', 'dnf'] - panko_get_venv | changed -- name: Update virtualenv path - command: > - virtualenv-tools --update-path=auto --reinitialize {{ panko_bin | dirname }} +# NOTE(odyssey4me): +# We reinitialize the venv to ensure that the right +# version of python is in the venv, but we do not +# want virtualenv to also replace pip, setuptools +# and wheel so we tell it not to. +# We do not use --always-copy for CentOS/SuSE due +# to https://github.com/pypa/virtualenv/issues/565 +- name: Reset virtualenv and update its paths + shell: | + find {{ panko_bin }} -name \*.pyc -delete + sed -si '1s/^.*python.*$/#!{{ panko_bin | replace ('/','\/') }}\/python/' {{ panko_bin }}/* + virtualenv {{ panko_bin | dirname }} \ + {{ (ansible_pkg_mgr == 'apt') | ternary('--always-copy', '') }} \ + --no-pip \ + --no-setuptools \ + --no-wheel when: panko_get_venv | changed + tags: + - skip_ansible_lint - name: Record the venv tag deployed ini_file: