46 lines
1.6 KiB
YAML
46 lines
1.6 KiB
YAML
#
|
|
# This file contains workaround tasks for specific issues
|
|
#
|
|
|
|
# Somehow on SuSE 15 the dependencies are such that python2-pip can be
|
|
# installed, but setuptools is not. This breaks Ansible's pip: which
|
|
# does a direct import of pkg_resources and thus has a hard-dependency
|
|
# on setuptools. This doesn't appear to happen for python3. Thus we
|
|
# ensure this is installed, even if we skipped install phase because
|
|
# pip looked like it was installed already.
|
|
- name: Ensure setuptools
|
|
package:
|
|
name: python-setuptools
|
|
become: yes
|
|
when:
|
|
- ansible_python.version.major == 2
|
|
- ansible_os_family == 'Suse'
|
|
- ansible_distribution_major_version == '15'
|
|
|
|
# Part of this role is exporting a working virtualenv_command for you
|
|
# -- on Debuntu, the presence of venv (i.e. "python3 -m venv --help"
|
|
# works) doesn't actually mean venv works. When "python3 -m venv foo"
|
|
# is run, venv construction will fail because the "ensurepip" module
|
|
# is not present.
|
|
#
|
|
# It's quite possible we have pip and so have skipped installing from
|
|
# packages, where we would have brought this in. To avoid requiring
|
|
# sudo, which is the whole point of probing for pip and skipping
|
|
# install if we have it, we probe for "ensurepip" here and only
|
|
# install the package if required.
|
|
- name: Check for ensurepip module
|
|
command: python3 -m ensurepip --help
|
|
failed_when: false
|
|
register: _ensurepip_module
|
|
when:
|
|
- ansible_os_family == 'Debian'
|
|
|
|
- name: Ensure python3-venv
|
|
package:
|
|
name:
|
|
- python3-venv
|
|
become: yes
|
|
when:
|
|
- ansible_os_family == 'Debian'
|
|
- _ensurepip_module.rc != 0
|