mirror of
https://github.com/kubernetes-sigs/kubespray.git
synced 2025-12-14 13:54:37 +03:00
* Remove leftover files for Coreos
Coreos was replaced by flatcar in 058438a25 but the file was copied
instead of moved.
* Remove workarounds for resolved ansible issues
* boostrap: Use first_found to include per distro
Using directly ID and VARIANT_ID with first_found allow for less manual
includes.
Distro "families" are simply handled by symlinks.
* boostrap: don't set ansible_python_interpreter
- Allows users to override the chosen python_interpreter with group_vars
easily (group_vars have lesser precedence than facts)
- Allows us to use vars at the task scope to use a virtual env
Ansible python discovery has improved, so those workarounds should not
be necessary anymore.
Special workaround for Flatcar, due to upstream ansible not willing to
support it.
119 lines
4.3 KiB
YAML
119 lines
4.3 KiB
YAML
---
|
|
- name: Gather host facts to get ansible_distribution_version ansible_distribution_major_version
|
|
setup:
|
|
gather_subset: '!all'
|
|
filter: ansible_distribution_*version
|
|
|
|
- name: Add proxy to yum.conf or dnf.conf if http_proxy is defined
|
|
community.general.ini_file:
|
|
path: "{{ ((ansible_distribution_major_version | int) < 8) | ternary('/etc/yum.conf', '/etc/dnf/dnf.conf') }}"
|
|
section: main
|
|
option: proxy
|
|
value: "{{ http_proxy | default(omit) }}"
|
|
state: "{{ http_proxy | default(False) | ternary('present', 'absent') }}"
|
|
no_extra_spaces: true
|
|
mode: 0644
|
|
become: true
|
|
when: not skip_http_proxy_on_os_packages
|
|
|
|
# For Oracle Linux install public repo
|
|
- name: Download Oracle Linux public yum repo
|
|
get_url:
|
|
url: https://yum.oracle.com/public-yum-ol7.repo
|
|
dest: /etc/yum.repos.d/public-yum-ol7.repo
|
|
mode: 0644
|
|
when:
|
|
- use_oracle_public_repo | default(true)
|
|
- '''ID="ol"'' in os_release.stdout_lines'
|
|
- (ansible_distribution_version | float) < 7.6
|
|
environment: "{{ proxy_env }}"
|
|
|
|
- name: Enable Oracle Linux repo
|
|
community.general.ini_file:
|
|
dest: /etc/yum.repos.d/public-yum-ol7.repo
|
|
section: "{{ item }}"
|
|
option: enabled
|
|
value: "1"
|
|
mode: 0644
|
|
with_items:
|
|
- ol7_latest
|
|
- ol7_addons
|
|
- ol7_developer_EPEL
|
|
when:
|
|
- use_oracle_public_repo | default(true)
|
|
- '''ID="ol"'' in os_release.stdout_lines'
|
|
- (ansible_distribution_version | float) < 7.6
|
|
|
|
- name: Install EPEL for Oracle Linux repo package
|
|
package:
|
|
name: "oracle-epel-release-el{{ ansible_distribution_major_version }}"
|
|
state: present
|
|
when:
|
|
- use_oracle_public_repo | default(true)
|
|
- '''ID="ol"'' in os_release.stdout_lines'
|
|
- (ansible_distribution_version | float) >= 7.6
|
|
|
|
- name: Enable Oracle Linux repo
|
|
community.general.ini_file:
|
|
dest: "/etc/yum.repos.d/oracle-linux-ol{{ ansible_distribution_major_version }}.repo"
|
|
section: "ol{{ ansible_distribution_major_version }}_addons"
|
|
option: "{{ item.option }}"
|
|
value: "{{ item.value }}"
|
|
mode: 0644
|
|
with_items:
|
|
- { option: "name", value: "ol{{ ansible_distribution_major_version }}_addons" }
|
|
- { option: "enabled", value: "1" }
|
|
- { option: "baseurl", value: "http://yum.oracle.com/repo/OracleLinux/OL{{ ansible_distribution_major_version }}/addons/$basearch/" }
|
|
when:
|
|
- use_oracle_public_repo | default(true)
|
|
- '''ID="ol"'' in os_release.stdout_lines'
|
|
- (ansible_distribution_version | float) >= 7.6
|
|
|
|
- name: Enable Centos extra repo for Oracle Linux
|
|
community.general.ini_file:
|
|
dest: "/etc/yum.repos.d/centos-extras.repo"
|
|
section: "extras"
|
|
option: "{{ item.option }}"
|
|
value: "{{ item.value }}"
|
|
mode: 0644
|
|
with_items:
|
|
- { option: "name", value: "CentOS-{{ ansible_distribution_major_version }} - Extras" }
|
|
- { option: "enabled", value: "1" }
|
|
- { option: "gpgcheck", value: "0" }
|
|
- { option: "baseurl", value: "http://mirror.centos.org/{{ 'altarch' if (ansible_distribution_major_version | int) <= 7 and ansible_architecture == 'aarch64' else 'centos' }}/{{ ansible_distribution_major_version }}/extras/$basearch/{% if ansible_distribution_major_version | int > 7 %}os/{% endif %}" }
|
|
when:
|
|
- use_oracle_public_repo | default(true)
|
|
- '''ID="ol"'' in os_release.stdout_lines'
|
|
- (ansible_distribution_version | float) >= 7.6
|
|
- (ansible_distribution_version | float) < 9
|
|
|
|
# CentOS ships with python installed
|
|
|
|
- name: Check presence of fastestmirror.conf
|
|
stat:
|
|
path: /etc/yum/pluginconf.d/fastestmirror.conf
|
|
get_attributes: no
|
|
get_checksum: no
|
|
get_mime: no
|
|
register: fastestmirror
|
|
|
|
# the fastestmirror plugin can actually slow down Ansible deployments
|
|
- name: Disable fastestmirror plugin if requested
|
|
lineinfile:
|
|
dest: /etc/yum/pluginconf.d/fastestmirror.conf
|
|
regexp: "^enabled=.*"
|
|
line: "enabled=0"
|
|
state: present
|
|
become: true
|
|
when:
|
|
- fastestmirror.stat.exists
|
|
- not centos_fastestmirror_enabled
|
|
|
|
# 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
|
|
package:
|
|
name: "{{ ((ansible_distribution_major_version | int) < 8) | ternary('libselinux-python', 'python3-libselinux') }}"
|
|
state: present
|
|
become: true
|