From e75bf460a7ef5070cffd7dcd28c818151d28e0ee Mon Sep 17 00:00:00 2001 From: Jesse Pretorius Date: Wed, 18 Apr 2018 10:20:59 +0100 Subject: [PATCH] Only replace python when re-initializing the venv 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. If we don't do this then virtualenv will install the latest available version, which is not what we want. Change-Id: I982e042c472693ba73702b9be15438c1a0c045c2 Partial-Bug: #1764470 (cherry picked from commit 1c10d38b6d3d725b68f61f3c695b7e2051c541e8) --- tasks/aodh_install.yml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/tasks/aodh_install.yml b/tasks/aodh_install.yml index aad5bdd..072d80a 100644 --- a/tasks/aodh_install.yml +++ b/tasks/aodh_install.yml @@ -122,11 +122,22 @@ - ansible_pkg_mgr in ['yum', 'dnf', 'zypper'] - aodh_get_venv | changed +# 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: Update virtualenv path shell: | find {{ aodh_bin }} -name \*.pyc -delete sed -si '1s/^.*python.*$/#!{{ aodh_bin | replace ('/','\/') }}\/python/' {{ aodh_bin }}/* - virtualenv {{ aodh_bin | dirname }} + virtualenv {{ aodh_bin | dirname }} \ + {{ (ansible_pkg_mgr == 'apt') | ternary('--always-copy', '') }} \ + --no-pip \ + --no-setuptools \ + --no-wheel when: aodh_get_venv | changed tags: - skip_ansible_lint