47 lines
1.1 KiB
YAML
47 lines
1.1 KiB
YAML
---
|
|
# Some Fedora based distros ship without Python installed
|
|
|
|
- name: Check if this is an atomic host
|
|
raw: stat /run/ostree-booted
|
|
register: ostree
|
|
environment: {}
|
|
failed_when: false
|
|
changed_when: false
|
|
tags:
|
|
- facts
|
|
|
|
- name: Store the fact if this is an atomic host
|
|
set_fact:
|
|
is_atomic: "{{ ostree.rc == 0 }}"
|
|
tags:
|
|
- facts
|
|
|
|
- name: Check if bootstrap is needed
|
|
raw: which python
|
|
register: need_bootstrap
|
|
failed_when: false
|
|
changed_when: false
|
|
environment: {}
|
|
tags:
|
|
- facts
|
|
|
|
# Fedora's policy as of Fedora 30 is to still install python2 as /usr/bin/python
|
|
# See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3 for the current status
|
|
- name: Install python on fedora
|
|
raw: "dnf install --assumeyes --quiet python2"
|
|
become: true
|
|
environment: {}
|
|
when:
|
|
- need_bootstrap.rc != 0
|
|
- not is_atomic
|
|
|
|
# libselinux-python is required on SELinux enabled hosts
|
|
# See https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#managed-node-requirements
|
|
- name: Install libselinux-python
|
|
package:
|
|
name: libselinux-python
|
|
state: present
|
|
become: true
|
|
when:
|
|
- not is_atomic
|