Skip to content

Commit c0792d3

Browse files
committed
test: Debug reboot issue in C10S
Signed-off-by: Xiaofeng Wang <henrywangxf@me.com>
1 parent f687add commit c0792d3

File tree

1 file changed

+27
-5
lines changed

1 file changed

+27
-5
lines changed

tmt/tests/booted/bootc_testlib.nu

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,33 @@
44
# that seems to have appeared in C10S
55
# TODO diagnose and fill in here
66
export def reboot [] {
7-
# Sometimes systemd daemons are still running old binaries and response "Access denied" when send reboot request
8-
# Force a full sync before reboot
9-
sync
10-
# Allow more delay for bootc to settle
11-
sleep 30sec
7+
# Confirm root cause
8+
# loginctl show-session $(loginctl | awk '/tty/ {print $1}')
9+
loginctl
10+
busctl call org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager CanReboot
11+
journalctl -f -n0 & PID_J=sudo bash -c 'echo $!; sleep 0.1' # start follower in background if you want
12+
journalctl -u systemd-logind -f
13+
journalctl -u systemd-logind -n200
14+
journalctl -b -n200 | sed -n '1,200p'
15+
journalctl -k -n200
16+
ausearch -m USER_CMD -ts recent 2>/dev/null or true
17+
ausearch -m avc,USER_AVC -ts recent 2>/dev/null or true
18+
journalctl -b | grep -i "denied\|capability\|reboot\|sys_reboot"
19+
capsh --print 2>/dev/null or true
20+
# Enable polkit permissions for test user (root or non-root)
21+
# to allow logind reboot non-interactively
22+
sudo sh -c 'cat >/etc/polkit-1/rules.d/49-allow-reboot.rules <<EOF
23+
polkit.addRule(function(action, subject) {
24+
if (action.id == "org.freedesktop.login1.reboot" ||
25+
action.id == "org.freedesktop.login1.reboot-multiple-sessions" ||
26+
action.id == "org.freedesktop.login1.power-off") {
27+
28+
if (subject.user == "root" || subject.isInGroup("wheel")) {
29+
return polkit.Result.YES;
30+
}
31+
}
32+
});
33+
EOF'
1234

1335
tmt-reboot
1436
}

0 commit comments

Comments
 (0)