release icon indicating copy to clipboard operation
release copied to clipboard

kubelet not installale on SUSE

Open simonc6372 opened this issue 1 year ago • 0 comments

What happened:

The kubelet rpm at https://pkgs.k8s.io/core:/stable:/v1.30/rpm/ does not install on SUSE based linux systems due to a dependency difference between RH and SUSE . I've included a suggested solution in the details of this issue.

Installing kubelet on openSUSE produces a dependency error

~ # zypper in kubelet
Retrieving repository 'Main Repository (NON-OSS)' metadata ..........................................................................................[done]
Building repository 'Main Repository (NON-OSS)' cache ...............................................................................................[done]
Retrieving repository 'Main Repository (OSS)' metadata ..............................................................................................[done]
Building repository 'Main Repository (OSS)' cache ...................................................................................................[done]
Retrieving repository 'openSUSE-20230803-0' metadata ................................................................................................[done]
Building repository 'openSUSE-20230803-0' cache .....................................................................................................[done]
Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: 1: nothing provides 'conntrack' needed by the to be installed kubelet-1.30.3-150500.1.1.x86_64
 Solution 1: do not install kubelet-1.30.3-150500.1.1.x86_64
 Solution 2: break kubelet-1.30.3-150500.1.1.x86_64 by ignoring some of its dependencies

Choose from above solutions by number or cancel [1/2/c/d/?] (c):

This is because SUSE splits up conntrack into conntrack-tools, and conntrackd packages, neither advertise they provide the conntrack capability to the rpm database, but conntrackd requried conntrack-tools

OpenSUSE tumbleweed:

~> rpm -q --whatprovides conntrack
no package provides conntrack

~> rpm -qa |grep conntrack
# rpm -qa |grep conntrack
libnetfilter_conntrack3-1.0.9-1.9.x86_64
conntrackd-1.4.8-2.1.x86_64
conntrack-tools-1.4.8-2.1.x86_64


~> rpm -q --whatrequires conntrackd
no package requires conntrackd
~> rpm -q --whatrequires conntrack-tools
cri-o-1.24.3-2.4.x86_64
conntrackd-1.4.8-2.1.x86_64

RHEL 9.4

~> rpm -q --whatprovides conntrack
conntrack-tools-1.4.7-2.el9.x86_64

What you expected to happen:

kubelet to install without dependency error

How to reproduce it (as minimally and precisely as possible):

  1. Install an opensuse base system
  2. add the kubernetes repo e.g.
cat <<EOF | sudo tee /etc/zypp/repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.30/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.30/rpm/repodata/repomd.xml.key
EOF
  1. install kubelet
zypper in --from kubernetes  kubelet

Anything else we need to know?:

Changing the Requires line here from Requires: conntrack to Requires: /sbin/conntrack should resolve this, while keeping it working in RHEL.

OpenSUSE:

rpm -q --whatprovides /sbin/conntrack
conntrack-tools-1.4.8-2.1.x86_64

RHEL 9.4:

~> rpm -q --whatprovides /sbin/conntrack
conntrack-tools-1.4.7-2.el9.x86_64

Environment:

  • Cloud provider or hardware configuration: 6HT cores * Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz 32 GB ram local system

  • OS (e.g: cat /etc/os-release):

# cat /etc/os-release
NAME="openSUSE Tumbleweed"
# VERSION="20240716"
ID="opensuse-tumbleweed"
ID_LIKE="opensuse suse"
VERSION_ID="20240716"
PRETTY_NAME="openSUSE Tumbleweed"
ANSI_COLOR="0;32"
# CPE 2.3 format, boo#1217921
CPE_NAME="cpe:2.3:o:opensuse:tumbleweed:20240716:*:*:*:*:*:*:*"
#CPE 2.2 format
#CPE_NAME="cpe:/o:opensuse:tumbleweed:20240716"
BUG_REPORT_URL="https://bugzilla.opensuse.org"
SUPPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org"
DOCUMENTATION_URL="https://en.opensuse.org/Portal:Tumbleweed"
LOGO="distributor-logo-Tumbleweed"
  • Kernel (e.g. uname -a):
~> uname -a
Linux worker1.domain 6.9.9-1-default #1 SMP PREEMPT_DYNAMIC Thu Jul 11 11:31:54 UTC 2024 (8c0f797) x86_64 x86_64 x86_64 GNU/Linux
  • Others:
 # cat /etc/zypp/repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.30/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.30/rpm/repodata/repomd.xml.key

simonc6372 avatar Jul 24 '24 11:07 simonc6372