From 6aac59394e5d2801e4dcde71c393b73201a880ef Mon Sep 17 00:00:00 2001 From: Omar Aloraini Date: Tue, 19 Oct 2021 18:29:04 +0300 Subject: [PATCH] Rocky Linux support (#8095) * Add Rocky as a known OS * Make sure Rocky includes bootstrap-centos.yml * Update docs with Rocky Linux * Rocky Linux wireguard and EPEL * Rocky Linux in the list of supported distributions --- README.md | 1 + docs/_sidebar.md | 2 +- docs/bootstrap-os.md | 2 +- docs/calico.md | 1 + docs/centos8.md | 2 +- docs/offline-environment.md | 2 +- roles/bootstrap-os/tasks/main.yml | 2 +- roles/container-engine/containerd/tasks/main.yml | 2 +- roles/kubernetes/preinstall/tasks/0020-verify-settings.yml | 2 +- 9 files changed, 9 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index b7402c740..92cce7fe6 100644 --- a/README.md +++ b/README.md @@ -123,6 +123,7 @@ vagrant up - **openSUSE** Leap 15.x/Tumbleweed - **Oracle Linux** 7, [8](docs/centos8.md) - **Alma Linux** [8](docs/centos8.md) +- **Rocky Linux** [8](docs/centos8.md) - **Amazon Linux 2** (experimental: see [amazon linux notes](docs/amazonlinux.md)) Note: Upstart/SysV init based OS types are not supported. diff --git a/docs/_sidebar.md b/docs/_sidebar.md index f2085c9b8..225ef035e 100644 --- a/docs/_sidebar.md +++ b/docs/_sidebar.md @@ -35,7 +35,7 @@ * [Fedora CoreOS](docs/fcos.md) * [OpenSUSE](docs/opensuse.md) * [RedHat Enterprise Linux](docs/rhel.md) - * [CentOS/OracleLinux/AlmaLinux](docs/centos8.md) + * [CentOS/OracleLinux/AlmaLinux/Rocky Linux](docs/centos8.md) * [Amazon Linux 2](docs/amazonlinux.md) * CRI * [Containerd](docs/containerd.md) diff --git a/docs/bootstrap-os.md b/docs/bootstrap-os.md index ae14a1a00..c9f4ffd54 100644 --- a/docs/bootstrap-os.md +++ b/docs/bootstrap-os.md @@ -35,7 +35,7 @@ Variables are listed with their default values, if applicable. * `coreos_locksmithd_disable: false` Whether `locksmithd` (responsible for rolling restarts) should be disabled or be left alone. -#### CentOS/RHEL/AlmaLinux +#### CentOS/RHEL/AlmaLinux/Rocky Linux * `centos_fastestmirror_enabled: false` Whether the [fastestmirror](https://wiki.centos.org/PackageManagement/Yum/FastestMirror) yum plugin should be enabled. diff --git a/docs/calico.md b/docs/calico.md index c1fa53d02..be63d2ce4 100644 --- a/docs/calico.md +++ b/docs/calico.md @@ -369,6 +369,7 @@ The following OSes will require enabling the EPEL repo in order to bring in wire * CentOS 7 & 8 * AlmaLinux 8 +* Rocky Linux 8 * Amazon Linux 2 ```yaml diff --git a/docs/centos8.md b/docs/centos8.md index 32afb22f9..c72fa7178 100644 --- a/docs/centos8.md +++ b/docs/centos8.md @@ -1,6 +1,6 @@ # CentOS 8 and derivatives -CentOS 8 / Oracle Linux 8 / AlmaLinux 8 ship only with iptables-nft (ie without iptables-legacy similar to RHEL8) +CentOS 8 / Oracle Linux 8 / AlmaLinux 8 / Rocky Linux 8 ship only with iptables-nft (ie without iptables-legacy similar to RHEL8) The only tested configuration for now is using Calico CNI You need to add `calico_iptables_backend: "NFT"` or `calico_iptables_backend: "Auto"` to your configuration. diff --git a/docs/offline-environment.md b/docs/offline-environment.md index 5e86b5667..09e92eaf6 100644 --- a/docs/offline-environment.md +++ b/docs/offline-environment.md @@ -31,7 +31,7 @@ calicoctl_download_url: "{{ files_repo }}/kubernetes/calico/{{ calico_ctl_versio # If using Calico with kdd calico_crds_download_url: "{{ files_repo }}/kubernetes/calico/{{ calico_version }}.tar.gz" -# CentOS/Redhat/AlmaLinux +# CentOS/Redhat/AlmaLinux/Rocky Linux ## Docker / Containerd docker_rh_repo_base_url: "{{ yum_repo }}/docker-ce/$releasever/$basearch" docker_rh_repo_gpgkey: "{{ yum_repo }}/docker-ce/gpg" diff --git a/roles/bootstrap-os/tasks/main.yml b/roles/bootstrap-os/tasks/main.yml index 982a3afa4..9771bf315 100644 --- a/roles/bootstrap-os/tasks/main.yml +++ b/roles/bootstrap-os/tasks/main.yml @@ -7,7 +7,7 @@ check_mode: false - include_tasks: bootstrap-centos.yml - when: '''ID="centos"'' in os_release.stdout_lines or ''ID="ol"'' in os_release.stdout_lines or ''ID="almalinux"'' in os_release.stdout_lines' + when: '''ID="centos"'' in os_release.stdout_lines or ''ID="ol"'' in os_release.stdout_lines or ''ID="almalinux"'' in os_release.stdout_lines or ''ID="rocky"'' in os_release.stdout_lines' - include_tasks: bootstrap-amazon.yml when: '''ID="amzn"'' in os_release.stdout_lines' diff --git a/roles/container-engine/containerd/tasks/main.yml b/roles/container-engine/containerd/tasks/main.yml index cf8aee6b5..a7479199c 100644 --- a/roles/container-engine/containerd/tasks/main.yml +++ b/roles/container-engine/containerd/tasks/main.yml @@ -15,7 +15,7 @@ fail: msg: "{{ ansible_distribution }} is not supported by containerd." when: - - not ansible_distribution in ["CentOS", "OracleLinux", "RedHat", "Ubuntu", "Debian", "Fedora", "AlmaLinux", "Amazon", "Flatcar", "Flatcar Container Linux by Kinvolk"] + - not ansible_distribution in ["CentOS", "OracleLinux", "RedHat", "Ubuntu", "Debian", "Fedora", "AlmaLinux", "Rocky", "Amazon", "Flatcar", "Flatcar Container Linux by Kinvolk"] - name: gather os specific variables include_vars: "{{ item }}" diff --git a/roles/kubernetes/preinstall/tasks/0020-verify-settings.yml b/roles/kubernetes/preinstall/tasks/0020-verify-settings.yml index a3707ca85..6b666ba06 100644 --- a/roles/kubernetes/preinstall/tasks/0020-verify-settings.yml +++ b/roles/kubernetes/preinstall/tasks/0020-verify-settings.yml @@ -24,7 +24,7 @@ - name: Stop if unknown OS assert: - that: ansible_distribution in ['RedHat', 'CentOS', 'Fedora', 'Ubuntu', 'Debian', 'Flatcar', 'Flatcar Container Linux by Kinvolk', 'Suse', 'openSUSE Leap', 'ClearLinux', 'OracleLinux', 'AlmaLinux', 'Amazon'] + that: ansible_distribution in ['RedHat', 'CentOS', 'Fedora', 'Ubuntu', 'Debian', 'Flatcar', 'Flatcar Container Linux by Kinvolk', 'Suse', 'openSUSE Leap', 'ClearLinux', 'OracleLinux', 'AlmaLinux', 'Rocky', 'Amazon'] msg: "{{ ansible_distribution }} is not a known OS" when: not ignore_assert_errors