Remove the virtualenv version check

Simplify this code by making the assumption that we always have a
new enough version of virtualenv present. Centos-7 ships 15.1.0 so
it is now possible to remove some conditional logic as well.

This patch removes the version check and replaces it with a check
that the virtualenv command is present on the system patch and
is usable.

Change-Id: I1a8f4961358c9551c5493b332187b411177b2769
This commit is contained in:
Jonathan Rosser 2020-07-06 13:36:54 +01:00
parent cf3b1dbe7b
commit aabd3c07c2
3 changed files with 9 additions and 28 deletions

View File

@ -50,7 +50,7 @@
- name: Create the virtualenv (if it does not exist)
command: >-
virtualenv
{{ _venv_create_extra_options }}
--no-download
--python={{ venv_python_executable }}
{{ (ansible_pkg_mgr == 'apt') | ternary('--always-copy', '') }}
{{ venv_install_destination_path }}

View File

@ -21,34 +21,15 @@
when:
- venv_install_destination_path is not defined
- name: Collect the version of virtualenv from either stdout or stderr
shell: |
virtualenv --version 2>&1 || echo 'none'
args:
executable: /bin/bash
- name: Check for virtualenv command being available on system path
command: 'which virtualenv'
register: virtualenv_installed
ignore_errors: yes
changed_when: false
failed_when: false
register: _virtualenv_version
# _virtualenv_version may take two forms:
# (stdout) '15.1.0'
# (stderr) 'virtualenv 20.0.1 from /usr/local/lib/python2.7/dist-packages/virtualenv/__init__.pyc'
- name: Extract just the virtualevn version number
set_fact:
_virtualenv_version_number: "{{ (_virtualenv_version.stdout.split(' ') | length == 1) | ternary(_virtualenv_version.stdout, _virtualenv_version.stdout.split(' ')[1]) }}"
- name: Fail when required virtualenv version is not present
- name: Fail when required virtualenv is not present
fail:
msg: >-
The required virtualenv version is not present.
The minimum version of 1.10 is required, but
{{ _virtualenv_version_number }} is installed.
The command 'virtualenv' version is not present.
when:
- ((_virtualenv_version_number | trim) == 'none') or
((_virtualenv_version_number | trim) is version('1.10', '<'))
- name: Set extra virtualenv parameters
set_fact:
_venv_create_extra_options: >-
{{ ((_virtualenv_version_number | trim) is version('14.0.0', '<')) | ternary('--never-download', '--no-download') }}
{{ ((_virtualenv_version_number | trim) is version('1.7.0', '<')) | ternary('--no-site-packages', '') }}
virtualenv_installed.rc != 0

View File

@ -69,7 +69,7 @@
- name: Create the wheel build virtualenv (if it does not exist)
command: >-
virtualenv
{{ _venv_create_extra_options }}
--no-download
--python={{ venv_python_executable }}
{{ (ansible_pkg_mgr == 'apt') | ternary('--always-copy', '') }}
{{ venv_build_host_venv_path }}