diff --git a/tasks/octavia_install.yml b/tasks/octavia_install.yml index a8591f20..d30beec2 100644 --- a/tasks/octavia_install.yml +++ b/tasks/octavia_install.yml @@ -110,11 +110,22 @@ - not octavia_developer_mode | bool - octavia_get_venv | changed or octavia_venv_dir | 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 {{ octavia_bin }} -name \*.pyc -delete sed -si '1s/^.*python.*$/#!{{ octavia_bin | replace ('/','\/') }}\/python/' {{ octavia_bin }}/* - virtualenv {{ octavia_bin | dirname }} + virtualenv {{ octavia_bin | dirname }} \ + {{ (ansible_pkg_mgr == 'apt') | ternary('--always-copy', '') }} \ + --no-pip \ + --no-setuptools \ + --no-wheel when: - not octavia_developer_mode | bool - octavia_get_venv | changed or octavia_venv_dir | changed