08bbd16c52
This is part of the efforts to remove pip-and-virtualenv from our base images [1]. There are some users who specifically require the virtualenv command (perhaps, like dib, they have some code that uses the activate_this.py mechanisms it provides wich venv does not). This installs the virtualenv package for the currently running distribution. One of the main maintenance issues of pip-and-virtualenv is that tried to ensure that "virtualenv" created a Python 2 environment always by default. Now that we have Python 3 only distributions like current Fedora, this is not something we can continue to do (even if we wanted to, which we don't). What owns virtualenv and what it produces in our heterogeneous environment is messy, and I think the best we can do is document it as done here. [1] https://docs.opendev.org/opendev/infra-specs/latest/specs/cleanup-test-node-python.html Change-Id: I97d8bfb970ed2b5aaa02a0813899014c94994066
51 lines
1.4 KiB
YAML
51 lines
1.4 KiB
YAML
- hosts: all
|
|
tasks:
|
|
- name: Include ensure-pip
|
|
include_role:
|
|
name: ensure-pip
|
|
|
|
- name: Sanity check provided virtualenv command works
|
|
shell: |
|
|
tmp_venv=$(mktemp -d -t venv-XXXXXXXXXX)
|
|
trap "rm -rf $tmp_venv" EXIT
|
|
{{ ensure_pip_virtualenv_command }} $tmp_venv
|
|
$tmp_venv/bin/pip install tox
|
|
failed_when: false
|
|
register: _venv_sanity
|
|
|
|
- name: Assert pip venv sanity check
|
|
fail:
|
|
msg: 'The virtualenv_command: "{{ ensure_pip_virtualenv_command }}" does not appear to work!'
|
|
when:
|
|
- _venv_sanity.rc != 0
|
|
|
|
- name: Include ensure-virtualenv
|
|
include_role:
|
|
name: ensure-virtualenv
|
|
|
|
- name: Sanity check virtualenv command works
|
|
shell: |
|
|
tmp_venv=$(mktemp -d -t venv-XXXXXXXXXX)
|
|
trap "rm -rf $tmp_venv" EXIT
|
|
virtualenv $tmp_venv
|
|
$tmp_venv/bin/pip install tox
|
|
failed_when: false
|
|
register: _virtualenv_sanity
|
|
|
|
- name: Assert sanity check
|
|
fail:
|
|
msg: 'The virtualenv command does not appear to work!'
|
|
when:
|
|
- _virtualenv_sanity.rc != 0
|
|
|
|
# NOTE(ianw) : this does not play nicely with pip-and-virtualenv which
|
|
# has already installed from source. We might be able to test this
|
|
# once it's gone...
|
|
|
|
#- hosts: all
|
|
# roles:
|
|
# - role: ensure-pip
|
|
# vars:
|
|
# ensure_pip_from_upstream: True
|
|
|