@@ -11,27 +11,6 @@ IS_MICROK8S=false
1111IS_K3S=false
1212IS_RKE2_AGENT=false
1313IS_K0S_WORKER=false
14- SYSTEMD_CGROUP=true
15-
16- # Install D-Bus if it's not available but systemd cgroups are requested
17- if [ " $SYSTEMD_CGROUP " = " true" ]; then
18- if ! nsenter -m/$NODE_ROOT /proc/1/ns/mnt -- which dbus-daemon > /dev/null 2>&1 ; then
19- if nsenter -m/$NODE_ROOT /proc/1/ns/mnt -- which apt-get > /dev/null 2>&1 ; then
20- nsenter -m/$NODE_ROOT /proc/1/ns/mnt -- apt-get update -y
21- nsenter -m/$NODE_ROOT /proc/1/ns/mnt -- apt-get install -y dbus
22- elif nsenter -m/$NODE_ROOT /proc/1/ns/mnt -- which yum > /dev/null 2>&1 ; then
23- nsenter -m/$NODE_ROOT /proc/1/ns/mnt -- yum install -y dbus
24- elif nsenter -m/$NODE_ROOT /proc/1/ns/mnt -- which dnf > /dev/null 2>&1 ; then
25- nsenter -m/$NODE_ROOT /proc/1/ns/mnt -- dnf install -y dbus
26- elif nsenter -m/$NODE_ROOT /proc/1/ns/mnt -- which apk > /dev/null 2>&1 ; then
27- nsenter -m/$NODE_ROOT /proc/1/ns/mnt -- apk add dbus
28- else
29- echo " WARNING: Could not install D-Bus. No supported package manager found."
30- SYSTEMD_CGROUP=false
31- echo " SYSTEMD_CGROUP is now set to $SYSTEMD_CGROUP "
32- fi
33- fi
34- fi
3514
3615if pgrep -f snap/microk8s > /dev/null; then
3716 CONTAINERD_CONF=/var/snap/microk8s/current/args/containerd-template.toml
@@ -56,6 +35,34 @@ elif pgrep -f /var/lib/k0s/bin/kubelet > /dev/null; then
5635 touch $NODE_ROOT$CONTAINERD_CONF
5736fi
5837
38+ # If SYSTEMD_CGROUP is not set, default to true except for distros that do not default to systemd
39+ # TODO: detect k3d which defaults to cgroupfs
40+ if [ -z " ${SYSTEMD_CGROUP+x} " ] && [ " $IS_MICROK8S " = " true" ]; then
41+ SYSTEMD_CGROUP=false
42+ else
43+ : " ${SYSTEMD_CGROUP:= true} "
44+ fi
45+
46+ # Install D-Bus if it's not available but systemd cgroups are requested
47+ if [ " $SYSTEMD_CGROUP " = " true" ]; then
48+ if ! nsenter -m/$NODE_ROOT /proc/1/ns/mnt -- which dbus-daemon > /dev/null 2>&1 ; then
49+ if nsenter -m/$NODE_ROOT /proc/1/ns/mnt -- which apt-get > /dev/null 2>&1 ; then
50+ nsenter -m/$NODE_ROOT /proc/1/ns/mnt -- apt-get update -y
51+ nsenter -m/$NODE_ROOT /proc/1/ns/mnt -- apt-get install -y dbus
52+ elif nsenter -m/$NODE_ROOT /proc/1/ns/mnt -- which yum > /dev/null 2>&1 ; then
53+ nsenter -m/$NODE_ROOT /proc/1/ns/mnt -- yum install -y dbus
54+ elif nsenter -m/$NODE_ROOT /proc/1/ns/mnt -- which dnf > /dev/null 2>&1 ; then
55+ nsenter -m/$NODE_ROOT /proc/1/ns/mnt -- dnf install -y dbus
56+ elif nsenter -m/$NODE_ROOT /proc/1/ns/mnt -- which apk > /dev/null 2>&1 ; then
57+ nsenter -m/$NODE_ROOT /proc/1/ns/mnt -- apk add dbus
58+ else
59+ echo " WARNING: Could not install D-Bus. No supported package manager found."
60+ SYSTEMD_CGROUP=false
61+ echo " SYSTEMD_CGROUP is now set to $SYSTEMD_CGROUP "
62+ fi
63+ fi
64+ fi
65+
5966mkdir -p $NODE_ROOT$KWASM_DIR /bin/
6067
6168cp /assets/containerd-shim-spin-v2 $NODE_ROOT$KWASM_DIR /bin/
@@ -83,7 +90,7 @@ if ! grep -q 'runtimes.spin.options' $NODE_ROOT$CONTAINERD_CONF; then
8390 echo " Setting SystemdCgroup to $SYSTEMD_CGROUP in Spin containerd configuration"
8491 if $IS_K3S ; then
8592 echo '
86- [plugins."io.containerd.cri.v1.runtime".containerd.runtimes.spin.options]
93+ [plugins."io.containerd.cri.v1.runtime".containerd.runtimes." spin" .options]
8794 SystemdCgroup = ' $SYSTEMD_CGROUP '
8895' >> $NODE_ROOT$CONTAINERD_CONF
8996 else
0 commit comments