@@ -11,6 +11,30 @@ IS_MICROK8S=false
1111IS_K3S=false
1212IS_RKE2_AGENT=false
1313IS_K0S_WORKER=false
14+ # Set default cgroup driver to systemd
15+ SYSTEMD_CGROUP=true
16+
17+ # Install D-Bus if it's not available but systemd cgroups are requested
18+ if [ " $SYSTEMD_CGROUP " = " true" ]; then
19+ # Check if D-Bus daemon exists
20+ if ! nsenter -m/$NODE_ROOT /proc/1/ns/mnt -- which dbus-daemon > /dev/null 2>&1 ; then
21+ if nsenter -m/$NODE_ROOT /proc/1/ns/mnt -- which apt-get > /dev/null 2>&1 ; then
22+ nsenter -m/$NODE_ROOT /proc/1/ns/mnt -- apt-get update -y
23+ nsenter -m/$NODE_ROOT /proc/1/ns/mnt -- apt-get install -y dbus
24+ elif nsenter -m/$NODE_ROOT /proc/1/ns/mnt -- which yum > /dev/null 2>&1 ; then
25+ nsenter -m/$NODE_ROOT /proc/1/ns/mnt -- yum install -y dbus
26+ elif nsenter -m/$NODE_ROOT /proc/1/ns/mnt -- which dnf > /dev/null 2>&1 ; then
27+ nsenter -m/$NODE_ROOT /proc/1/ns/mnt -- dnf install -y dbus
28+ elif nsenter -m/$NODE_ROOT /proc/1/ns/mnt -- which apk > /dev/null 2>&1 ; then
29+ nsenter -m/$NODE_ROOT /proc/1/ns/mnt -- apk add dbus
30+ else
31+ echo " WARNING: Could not install D-Bus. No supported package manager found."
32+ SYSTEMD_CGROUP=false
33+ echo " SYSTEMD_CGROUP is now set to $SYSTEMD_CGROUP "
34+ fi
35+ fi
36+ fi
37+
1438if pgrep -f snap/microk8s > /dev/null; then
1539 CONTAINERD_CONF=/var/snap/microk8s/current/args/containerd-template.toml
1640 IS_MICROK8S=true
@@ -43,13 +67,19 @@ if ! grep -q spin $NODE_ROOT$CONTAINERD_CONF; then
4367[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.spin]
4468 runtime_type = "' $KWASM_DIR ' /bin/containerd-shim-spin-v2"
4569[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.spin.options]
46- SystemdCgroup = true
70+ SystemdCgroup = ' $SYSTEMD_CGROUP '
4771' >> $NODE_ROOT$CONTAINERD_CONF
4872 rm -Rf $NODE_ROOT$KWASM_DIR /active
4973fi
5074
5175if [ ! -f $NODE_ROOT$KWASM_DIR /active ]; then
5276 touch $NODE_ROOT$KWASM_DIR /active
77+
78+ # Ensure D-Bus is running before restarting services if using systemd cgroups
79+ if [ " $SYSTEMD_CGROUP " = " true" ]; then
80+ nsenter -m/$NODE_ROOT /proc/1/ns/mnt -- systemctl restart dbus
81+ fi
82+
5383 if $IS_MICROK8S ; then
5484 nsenter -m/$NODE_ROOT /proc/1/ns/mnt -- systemctl restart snap.microk8s.daemon-containerd
5585 elif $IS_K3S ; then
0 commit comments