From c6758fe544c43c84472811a00888b5cd28712a6f Mon Sep 17 00:00:00 2001 From: Max Gautier <mg@max.gautier.name> Date: Thu, 28 Mar 2024 22:17:52 +0000 Subject: [PATCH] Cleanup of kubernetes/preinstall (#11010) * Move fedora ansible python install to bootstrap-os * /bin/dir is set in bootstrap-os * Removing ansible_os_family workarounds Support for these distributions was merged in Ansible, no need to override it ourselves now. https://github.com/ansible/ansible/pull/69324 openEuler https://github.com/ansible/ansible/pull/77275/ UnionTech OS Server 20 https://github.com/ansible/ansible/pull/78232/ Kylin * Don't unconditionnaly set VARIANT_ID=coreos in os-release WTF, this is so wrong. Furthermore, is_fedora_coreos is already handled in boostrap-os * Handle Clearlinux generically Followup of 4eec302e869955a000732caf5fb482283c960ac5 (since we're using package module anyway, let's get rid of the custom task) --- roles/bootstrap-os/tasks/fedora.yml | 14 +++----- roles/kubernetes/preinstall/defaults/main.yml | 6 ---- .../preinstall/tasks/0020-set_facts.yml | 35 ------------------- .../preinstall/tasks/0070-system-packages.yml | 24 +------------ 4 files changed, 5 insertions(+), 74 deletions(-) diff --git a/roles/bootstrap-os/tasks/fedora.yml b/roles/bootstrap-os/tasks/fedora.yml index 4ce77b44a..85f8ff563 100644 --- a/roles/bootstrap-os/tasks/fedora.yml +++ b/roles/bootstrap-os/tasks/fedora.yml @@ -21,16 +21,10 @@ become: true when: not skip_http_proxy_on_os_packages -- name: Install python3 on fedora - raw: "dnf install --assumeyes --quiet python3" - become: true - when: - - need_bootstrap.rc != 0 - # libselinux-python3 is required on SELinux enabled hosts # See https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#managed-node-requirements -- name: Install libselinux-python3 - package: - name: libselinux-python3 - state: present +- name: Install ansible requirements + raw: "dnf install --assumeyes python3 python3-dnf libselinux-python3" become: true + when: + - need_bootstrap.rc != 0 diff --git a/roles/kubernetes/preinstall/defaults/main.yml b/roles/kubernetes/preinstall/defaults/main.yml index eb33ed3db..8ab2c9aa1 100644 --- a/roles/kubernetes/preinstall/defaults/main.yml +++ b/roles/kubernetes/preinstall/defaults/main.yml @@ -135,15 +135,9 @@ supported_os_distributions: # Extending some distributions into the redhat os family redhat_os_family_extensions: - - "Kylin Linux Advanced Server" - - "openEuler" - "UnionTech" - "UniontechOS" -# Extending some distributions into the debian os family -debian_os_family_extensions: - - "UnionTech OS Server 20" - # Sets DNSStubListener=no, useful if you get "0.0.0.0:53: bind: address already in use" systemd_resolved_disable_stub_listener: "{{ ansible_os_family in ['Flatcar', 'Flatcar Container Linux by Kinvolk'] }}" diff --git a/roles/kubernetes/preinstall/tasks/0020-set_facts.yml b/roles/kubernetes/preinstall/tasks/0020-set_facts.yml index e68f56837..fa7fba113 100644 --- a/roles/kubernetes/preinstall/tasks/0020-set_facts.yml +++ b/roles/kubernetes/preinstall/tasks/0020-set_facts.yml @@ -1,11 +1,4 @@ --- -- name: Force binaries directory for Flatcar Container Linux by Kinvolk - set_fact: - bin_dir: "/opt/bin" - when: ansible_os_family in ["Flatcar", "Flatcar Container Linux by Kinvolk"] - tags: - - facts - - name: Set os_family fact for other redhat-based operating systems set_fact: ansible_os_family: "RedHat" @@ -14,34 +7,6 @@ tags: - facts -- name: Set os_family fact for other debian-based operating systems - set_fact: - ansible_os_family: "Debian" - when: ansible_distribution in debian_os_family_extensions - tags: - - facts - -- name: Check if booted with ostree - stat: - path: /run/ostree-booted - get_attributes: no - get_checksum: no - get_mime: no - register: ostree - -- name: Set is_fedora_coreos - lineinfile: - path: /etc/os-release - line: "VARIANT_ID=coreos" - state: present - check_mode: yes - register: os_variant_coreos - changed_when: false - -- name: Set is_fedora_coreos - set_fact: - is_fedora_coreos: "{{ ostree.stat.exists and os_variant_coreos is not changed }}" - - name: Check resolvconf command: which resolvconf register: resolvconf diff --git a/roles/kubernetes/preinstall/tasks/0070-system-packages.yml b/roles/kubernetes/preinstall/tasks/0070-system-packages.yml index ccfb4900e..8d02a8575 100644 --- a/roles/kubernetes/preinstall/tasks/0070-system-packages.yml +++ b/roles/kubernetes/preinstall/tasks/0070-system-packages.yml @@ -48,20 +48,6 @@ - ansible_os_family == "RedHat" - not is_fedora_coreos -- name: Install python3-dnf for latest RedHat versions - command: dnf install -y python3-dnf - register: dnf_task_result - until: dnf_task_result is succeeded - retries: 4 - delay: "{{ retry_stagger | random + 3 }}" - when: - - ansible_distribution == "Fedora" - - ansible_distribution_major_version | int >= 30 - - not is_fedora_coreos - changed_when: False - tags: - - bootstrap-os - - name: Install epel-release on RHEL derivatives package: name: epel-release @@ -86,14 +72,6 @@ until: pkgs_task_result is succeeded retries: "{{ pkg_install_retries }}" delay: "{{ retry_stagger | random + 3 }}" - when: not (ansible_os_family in ["Flatcar", "Flatcar Container Linux by Kinvolk", "ClearLinux"] or is_fedora_coreos) + when: not (ansible_os_family in ["Flatcar", "Flatcar Container Linux by Kinvolk"] or is_fedora_coreos) tags: - bootstrap-os - -- name: Install ipvsadm for ClearLinux - package: - name: ipvsadm - state: present - when: - - ansible_os_family in ["ClearLinux"] - - kube_proxy_mode == 'ipvs' -- GitLab