Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RKE2 Installation Fails on Rocky Linux with aarch64 Architecture #5135

Open
khushalchandak17 opened this issue Dec 14, 2023 · 10 comments
Open
Labels
area/install-script Issues that seem to be related to install.sh or the other shell scripts

Comments

@khushalchandak17
Copy link

khushalchandak17 commented Dec 14, 2023

Environmental Info:
RKE2 Version:

  • rke2-v1.27.3 and above
  • rke2-v1.28

Node(s) CPU architecture, OS, and Version:

First verified on the latest Rocky Linux 9.3 after I saw that this OS is validated here:

# uname -a
Linux localhost.localdomain 5.14.0-362.8.1.el9_3.aarch64 #1 SMP PREEMPT_DYNAMIC Thu Nov 9 05:21:32 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux

Second verified on the supported OS Rocky Linux 8.7:

# cat /etc/os-release
NAME="Rocky Linux"
VERSION="8.7 (Green Obsidian)"
ID="rocky"
ID_LIKE="rhel centos fedora"
VERSION_ID="8.7"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Rocky Linux 8.7 (Green Obsidian)"
ANSI_COLOR="0;32"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:rocky:rocky:8:GA"
HOME_URL="https://rockylinux.org/"
BUG_REPORT_URL="https://bugs.rockylinux.org/"
ROCKY_SUPPORT_PRODUCT="Rocky-Linux-8"
ROCKY_SUPPORT_PRODUCT_VERSION="8.7"
REDHAT_SUPPORT_PRODUCT="Rocky Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="8.7"
[root@ip-10-0-16-58 rocky]# uname -m
aarch64

Cluster Configuration:

Facing an issue during RKE2 installation. Sharing two scenarios as follows:

Scenario-1 On Validated Rocky Linux 9.3:

[root@localhost verify]# uname -a
Linux localhost.localdomain 5.14.0-362.8.1.el9_3.aarch64 #1 SMP PREEMPT_DYNAMIC Thu Nov 9 05:21:32 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux
[root@localhost verify]# curl -sfL https://get.rke2.io | INSTALL_RKE2_VERSION=v1.27.5+rke2r1 INSTALL_RKE2_TYPE=server sh -
[INFO]  using 1.27 series from channel stable
Rancher RKE2 Common (stable)                                                                                                   468  B/s | 2.9 kB     00:06
Rancher RKE2 1.27 (stable)                                                                                                     509  B/s | 2.9 kB     00:05
Error:
 Problem: conflicting requests
  - package rke2-server-1.27.5~rke2r1-0.el9.x86_64 from rancher-rke2-1.27-stable does not have a compatible architecture
  - nothing provides rke2-common = 1.27.5~rke2r1-0.el9 needed by rke2-server-1.27.5~rke2r1-0.el9.x86_64 from rancher-rke2-1.27-stable
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
[root@localhost verify]# cat /etc/os-release
NAME="Rocky Linux"
VERSION="9.3 (Blue Onyx)"
ID="rocky"
ID_LIKE="rhel centos fedora"
VERSION_ID="9.3"
PLATFORM_ID="platform:el9"
PRETTY_NAME="Rocky Linux 9.3 (Blue Onyx)"
ANSI_COLOR="0;32"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:rocky:rocky:9::baseos"
HOME_URL="https://rockylinux.org/"
BUG_REPORT_URL="https://bugs.rockylinux.org/"
SUPPORT_END="2032-05-31"
ROCKY_SUPPORT_PRODUCT="Rocky-Linux-9"
ROCKY_SUPPORT_PRODUCT_VERSION="9.3"
REDHAT_SUPPORT_PRODUCT="Rocky Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="9.3"
[root@localhost verify]#

Scenario-2 On Supported Rocky Linux 8.7:

[rocky@ip-10-0-16-58 ~]$ sudo su
[root@ip-10-0-16-58 rocky]#
[root@ip-10-0-16-58 rocky]#  curl -sfL https://get.rke2.io | INSTALL_RKE2_VERSION=v1.27.7+rke2r2 INSTALL_RKE2_TYPE=server sh -
[INFO]  using 1.27 series from channel stable
Rocky Linux 8 - AppStream                                                                                                                                                                                                                                                                   13 MB/s | 8.3 MB     00:00
Rocky Linux 8 - BaseOS                                                                                                                                                                                                                                                                      11 MB/s | 3.1 MB     00:00
Rocky Linux 8 - Extras                                                                                                                                                                                                                                                                     1.5 MB/s | 329 kB     00:00
Rancher RKE2 Common (stable)                                                                                                                                                                                                                                                               5.7 kB/s | 2.7 kB     00:00
Rancher RKE2 1.27 (stable)                                                                                                                                                                                                                                                                 9.4 kB/s | 4.6 kB     00:00
Error:
 Problem: conflicting requests
  - package rke2-server-1.27.7~rke2r2-0.el8.x86_64 does not have a compatible architecture
  - nothing provides rke2-common = 1.27.7~rke2r2-0.el8 needed by rke2-server-1.27.7~rke2r2-0.el8.x86_64
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
[root@ip-10-0-16-58 rocky]# cat /etc/redhat-release
Rocky Linux release 8.7 (Green Obsidian)
[root@ip-10-0-16-58 rocky]# cat /etc/os-release
NAME="Rocky Linux"
VERSION="8.7 (Green Obsidian)"
ID="rocky"
ID_LIKE="rhel centos fedora"
VERSION_ID="8.7"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Rocky Linux 8.7 (Green Obsidian)"
ANSI_COLOR="0;32"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:rocky:rocky:8:GA"
HOME_URL="https://rockylinux.org/"
BUG_REPORT_URL="https://bugs.rockylinux.org/"
ROCKY_SUPPORT_PRODUCT="Rocky-Linux-8"
ROCKY_SUPPORT_PRODUCT_VERSION="8.7"
REDHAT_SUPPORT_PRODUCT="Rocky Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="8.7"
[root@ip-10-0-16-58 rocky]# uname -m
aarch64
[root@ip-10-0-16-58 rocky]#

[root@ip-10-0-16-58 rocky]# dnf list installed | head -20
Installed Packages
NetworkManager.aarch64                1:1.40.0-2.el8_7                   @System
NetworkManager-cloud-setup.aarch64    1:1.40.0-2.el8_7                   @System
NetworkManager-libnm.aarch64          1:1.40.0-2.el8_7                   @System
acl.aarch64                           2.2.53-1.el8.1                     @System
audit.aarch64                         3.0.7-4.el8                        @System

Describe the bug:

I see that RKE2 is supported for ARM-based OS post 1.27.3 release. However, when I try to install it on Ubuntu OS with an aarch64 system, it installs correctly. Still, it fails for Rocky Linux.

I believe this is due to some glitch in the install.sh script. Instead of pulling the ARM package, it pulls the x86 package, as we can see in the error log.

Steps To Reproduce:

  • Fails during the first step of installation:
 "curl -sfL https://get.rke2.io | INSTALL_RKE2_VERSION=v1.27.5+rke2r1 INSTALL_RKE2_TYPE=server sh -"

Expected behavior:

It should install correctly.

Actual behavior:

Fails only on Rocky Linux ARM-based system.

Additional context / logs:

@brandond
Copy link
Member

brandond commented Dec 14, 2023

arm64 support is still experimental; OS validation currently only covers the amd64 platform. In the mean time, you should be able to manually install the rke2-selinux package from https://github.com/rancher/rke2-selinux/releases, and then set INSTALL_RKE2_METHOD=tar when running the install script.

@AlexBaranowski
Copy link

@brandond

I have a similar problem when installing on EuroLinux 😅.

The problem is not with the rke2-selinux which is a noarch (architecture-independent) package but the rke2-common is an architecture-dependent package.

I tried to hack the repository (the fact that repositories are not auto-indexed due to S3 or a similar solution sucks) to check if there is even the arm64 build available but both

curl https://rpm.rancher.io/rke2/stable/1.28/centos/9/aarch64/repodata/repomd.xml

and

curl https://rpm.rancher.io/rke2/stable/1.28/centos/9/aarch64/repodata/repomd.xml

returns 404

when

curl https://rpm.rancher.io/rke2/stable/1.28/centos/9/x86_64/repodata/repomd.xml

returns proper repository data.

When the ARM64 build (that for RHEL-like system is noted as aarch64 [debian/ubuntu uses arm64 as arch name]) the https://get.rke2.io script should be fixed.

The YUM/DNF based distros (anything that is RHEL-based) should leverage the $basearch repository variable to make the .repo file architecture independent.

curl https://get.rke2.io  > orig
--- orig	2024-01-03 23:32:10.742136873 +0000
+++ orig_fixed	2024-01-03 23:32:32.112248146 +0000
@@ -555,7 +555,7 @@
     cat <<-EOF >>"${repodir}/rancher-rke2.repo"
 [rancher-rke2-${rke2_majmin}-${rke2_rpm_channel}]
 name=Rancher RKE2 ${rke2_majmin} (${1})
-baseurl=https://${rpm_site}/rke2/${rke2_rpm_channel}/${rke2_majmin}/${rpm_site_infix}/x86_64
+baseurl=https://${rpm_site}/rke2/${rke2_rpm_channel}/${rke2_majmin}/${rpm_site_infix}/\$basearch
 enabled=1
 gpgcheck=1
 repo_gpgcheck=0

At the moment any RHEL-like that run on the arm64 is not supported including SUSE Liberty Linux.

Best,
Alex

@brandond
Copy link
Member

brandond commented Jan 4, 2024

As I said above, we don't currently support RPM installs on arm64, regardless of distro.

@AlexBaranowski
Copy link

AlexBaranowski commented Jan 4, 2024

@brandond

Sorry! I had to be so focused/tired that I missed the proposed solution!

EX on EL9

yum install -y https://github.com/rancher/rke2-selinux/releases/download/v0.17.stable.1/rke2-selinux-0.17-1.el9.noarch.rpm tar
curl -sfL https://get.rke2.io | INSTALL_RKE2_TYPE=agent INSTALL_RKE2_METHOD=tar INSTALL_RKE2_VERSION=v1.29.0+rke2r1  sh -

Works like a charm. Thank you.

I believe that this issue could be closed as tar installation on ARM64 works. Do you think that I should open a separate issue about RPM for aarch64?

@brandond
Copy link
Member

brandond commented Jan 4, 2024

Nah, we will want to support RPMs eventually once arm64 leaves experimental status - so I think we can leave this open to track that.

Copy link
Contributor

github-actions bot commented Apr 6, 2024

This repository uses a bot to automatically label issues which have not had any activity (commit/comment/label) for 45 days. This helps us manage the community issues better. If the issue is still relevant, please add a comment to the issue so the bot can remove the label and we know it is still valid. If it is no longer relevant (or possibly fixed in the latest release), the bot will automatically close the issue in 14 days. Thank you for your contributions.

@brandond brandond added area/install-script Issues that seem to be related to install.sh or the other shell scripts and removed status/stale labels Apr 6, 2024
Copy link
Contributor

This repository uses a bot to automatically label issues which have not had any activity (commit/comment/label) for 45 days. This helps us manage the community issues better. If the issue is still relevant, please add a comment to the issue so the bot can remove the label and we know it is still valid. If it is no longer relevant (or possibly fixed in the latest release), the bot will automatically close the issue in 14 days. Thank you for your contributions.

@TomWis97
Copy link

I've created #6313 with a workaround for this issue. Although this is not a permanent fix, at least this fixes the broken install for now. How can I request a review for this PR?

Copy link
Contributor

github-actions bot commented Sep 1, 2024

This repository uses a bot to automatically label issues which have not had any activity (commit/comment/label) for 45 days. This helps us manage the community issues better. If the issue is still relevant, please add a comment to the issue so the bot can remove the label and we know it is still valid. If it is no longer relevant (or possibly fixed in the latest release), the bot will automatically close the issue in 14 days. Thank you for your contributions.

@TomWis97
Copy link

TomWis97 commented Sep 1, 2024

This issue is still very relevant! I'm disappointed to see the lack of activity on #6313 with the fix for this issue. How so I get an approval (or even a rejection with comment) on that PR?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/install-script Issues that seem to be related to install.sh or the other shell scripts
Projects
None yet
Development

No branches or pull requests

5 participants