dockerd-rootless-setuptool.sh: show more helpful error messages
Tibor Vass authored on 2020/12/09 12:58:59... | ... |
@@ -269,6 +269,16 @@ cmd_entrypoint_check() { |
269 | 269 |
INFO "Requirements are satisfied" |
270 | 270 |
} |
271 | 271 |
|
272 |
+show_systemd_error() { |
|
273 |
+ n="20" |
|
274 |
+ ERROR "Failed to start ${SYSTEMD_UNIT}. Run \`journalctl -n ${n} --no-pager --user --unit ${SYSTEMD_UNIT}\` to show the error log." |
|
275 |
+ ERROR "Before retrying installation, you might need to uninstall the current setup: \`$0 uninstall -f ; ${BIN}/rootlesskit rm -rf ${HOME}/.local/share/docker\`" |
|
276 |
+ if journalctl -q -n ${n} --user --unit ${SYSTEMD_UNIT} | grep -qF "/run/xtables.lock: Permission denied"; then |
|
277 |
+ ERROR "Failure likely related to https://github.com/moby/moby/issues/41230" |
|
278 |
+ ERROR "This may work as a workaround: \`sudo dnf install -y policycoreutils-python-utils && sudo semanage permissive -a iptables_t\`" |
|
279 |
+ fi |
|
280 |
+} |
|
281 |
+ |
|
272 | 282 |
# install (systemd) |
273 | 283 |
install_systemd() { |
274 | 284 |
mkdir -p "${CFG_DIR}/systemd/user" |
... | ... |
@@ -307,13 +317,21 @@ install_systemd() { |
307 | 307 |
INFO "starting systemd service ${SYSTEMD_UNIT}" |
308 | 308 |
( |
309 | 309 |
set -x |
310 |
- systemctl --user start "${SYSTEMD_UNIT}" |
|
310 |
+ if ! systemctl --user start "${SYSTEMD_UNIT}"; then |
|
311 |
+ set +x |
|
312 |
+ show_systemd_error |
|
313 |
+ exit 1 |
|
314 |
+ fi |
|
311 | 315 |
sleep 3 |
312 | 316 |
) |
313 | 317 |
fi |
314 | 318 |
( |
315 | 319 |
set -x |
316 |
- systemctl --user --no-pager --full status "${SYSTEMD_UNIT}" |
|
320 |
+ if ! systemctl --user --no-pager --full status "${SYSTEMD_UNIT}"; then |
|
321 |
+ set +x |
|
322 |
+ show_systemd_error |
|
323 |
+ exit 1 |
|
324 |
+ fi |
|
317 | 325 |
DOCKER_HOST="unix://$XDG_RUNTIME_DIR/docker.sock" $BIN/docker version |
318 | 326 |
systemctl --user enable "${SYSTEMD_UNIT}" |
319 | 327 |
) |