zuul-jobs/roles/ensure-python/tasks/main.yaml
Szymon Datko fab437bbfe [ensure-python] Improve check for CentOS/RHEL 9 packages
The value of python_version is float by default.
The existing comparison will only work for strings.
This commit changes it to work in both cases.

Change-Id: Ib13c33f38b611a38525d2803474b4ae1e05413f7
2022-03-02 13:16:58 +00:00

53 lines
1.6 KiB
YAML

- name: Validate python_version value
assert:
that:
- (python_version|string).split(".") | length == 2
- (python_version|string).split(".")[0]
- (python_version|string).split(".")[1]
when: python_version is defined
- name: Install python using system packages
when:
- python_version is defined
- not python_use_pyenv
- not python_use_stow
block:
- name: Install specified version of python interpreter and development files (DEB)
when:
- ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu'
package:
name: python{{ python_version }}-dev
state: present
become: yes
- name: Install specified version of python interpreter and development files (RPM)
when:
- ansible_distribution == 'CentOS' or ansible_distribution == 'RedHat'
block:
- name: Set default RPM package name
set_fact:
rpm_python_pkg_name: python{{ python_version | replace('.', '') }}-devel
- name: Set RPM package name for CentOS/RHEL 9 and Python 3.9
set_fact:
rpm_python_pkg_name: python3-devel
when:
- ansible_distribution_major_version == '9'
- python_version|string == '3.9'
- name: Install RPM package
package:
name: "{{ rpm_python_pkg_name }}"
state: present
become: yes
- name: Install python using pyenv
when:
- python_version is defined
- python_use_pyenv
include_tasks: pyenv.yaml
- name: Activate python using stow
when:
- python_version is defined
- python_use_stow
include_tasks: stow.yaml