From 5acda3eaeabae9045609539303a8c12c4ce401f1 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 25 Apr 2016 12:01:08 +0200 Subject: merge with latest dev version --- core/modules/debug/data/addon-init | 4 + .../etc/systemd/system/debug-udevd_logger.service | 8 ++ .../debug-udevd_logger.service | 1 + .../debug/data/opt/openslx/bin/debug_report | 98 ++++++++++++++++++++++ .../opt/openslx/scripts/systemd-debug_udevd_logger | 2 + core/modules/debug/module.build | 20 +++++ core/modules/debug/module.conf | 18 ++++ core/modules/debug/module.conf.debian | 7 ++ core/modules/debug/module.conf.opensuse | 11 +++ core/modules/debug/module.conf.ubuntu | 7 ++ 10 files changed, 176 insertions(+) create mode 100755 core/modules/debug/data/addon-init create mode 100644 core/modules/debug/data/etc/systemd/system/debug-udevd_logger.service create mode 120000 core/modules/debug/data/etc/systemd/system/sysinit.target.wants/debug-udevd_logger.service create mode 100755 core/modules/debug/data/opt/openslx/bin/debug_report create mode 100755 core/modules/debug/data/opt/openslx/scripts/systemd-debug_udevd_logger create mode 100644 core/modules/debug/module.build create mode 100644 core/modules/debug/module.conf create mode 100644 core/modules/debug/module.conf.debian create mode 100644 core/modules/debug/module.conf.opensuse create mode 100644 core/modules/debug/module.conf.ubuntu (limited to 'core/modules/debug') diff --git a/core/modules/debug/data/addon-init b/core/modules/debug/data/addon-init new file mode 100755 index 00000000..e83c21ba --- /dev/null +++ b/core/modules/debug/data/addon-init @@ -0,0 +1,4 @@ +#!/bin/ash + +systemctl daemon-reload +systemctl start debug-shell.service diff --git a/core/modules/debug/data/etc/systemd/system/debug-udevd_logger.service b/core/modules/debug/data/etc/systemd/system/debug-udevd_logger.service new file mode 100644 index 00000000..387defde --- /dev/null +++ b/core/modules/debug/data/etc/systemd/system/debug-udevd_logger.service @@ -0,0 +1,8 @@ +[Unit] +Description=Logger for udevd-messages via udevadmin monitor +DefaultDependencies=no +IgnoreOnIsolate=yes + +[Service] +ExecStart=/opt/openslx/scripts/systemd-debug_udevd_logger + diff --git a/core/modules/debug/data/etc/systemd/system/sysinit.target.wants/debug-udevd_logger.service b/core/modules/debug/data/etc/systemd/system/sysinit.target.wants/debug-udevd_logger.service new file mode 120000 index 00000000..ad7f978f --- /dev/null +++ b/core/modules/debug/data/etc/systemd/system/sysinit.target.wants/debug-udevd_logger.service @@ -0,0 +1 @@ +../debug-udevd_logger.service \ No newline at end of file diff --git a/core/modules/debug/data/opt/openslx/bin/debug_report b/core/modules/debug/data/opt/openslx/bin/debug_report new file mode 100755 index 00000000..4cdfae4e --- /dev/null +++ b/core/modules/debug/data/opt/openslx/bin/debug_report @@ -0,0 +1,98 @@ +#!/bin/ash + +TOOLS=" + journalctl + systemctl + loginctl + lspci + lsusb + lsmod + mount +" + +URL="http://132.230.8.113/error_report.php" + +if [ "$UID" != "0" ]; then + echo "Debug Reports können nur von root versendet werden" >&2 + exit 1 +fi + +if ! curl -H "Expect:" -f -s -S --connect-timeout 5 "$URL" > /dev/null; then + echo "Kann den Debug-Report-Server in Freiburg nicht erreichen. :-(" >&2 + exit 1 +fi + +rm -rf /tmp/debug-report +mkdir -p /tmp/debug-report/{static,generated} + +if [ ! -d /tmp/debug-report ]; then + echo "FEHLER: Konnte /tmp/debug-report nicht erstellen!" >&2 + exit 1 +fi + +cd /tmp/debug-report + +cat > err-desc < metadata +hwclock >> metadata +date >> metadata +for srv in 132.230.1.9 $SLX_NTP_SERVER 0.de.pool.ntp.org; do + ntpdate -u -q -p 2 -t 1 "$srv" >> metadata && break +done +echo -n "..." + +cp /opt/openslx/config /tmp/udhcpclog static/ 2> /dev/null +echo -n "." + +find /tmp/vmware* -name "*.log" -exec cp {} static/ \; 2> /dev/null +echo -n "." + +cp /var/log/Xorg.0.lo* static/ 2> /dev/null +cp /var/log/{auth.log,kdm.log,syslog,messages,user.log} static/ 2> /dev/null +cp /proc/cpuinfo static/ 2> /dev/null +echo -n "." + +for tool in $TOOLS; do + $tool > "generated/${tool}-out" 2> "generated/${tool}-err" + echo -n "." +done + +ip a > "generated/ip-a-out" 2> "generated/ip-a-err" +echo -n "." + +systemctl status > "generated/systemctl-status-out" 2> "generated/systemctl-status-err" +echo -n "." + +ps aux > "generated/ps-out" 2> "generated/ps-err" +echo -n "." + +echo "..fertig!" + +cd /tmp +rm -f error-report.tar.gz +echo -n "Packe Fehlerbericht ein..." +if ! tar czf error-report.tar.gz debug-report; then + echo "Fehler beim Packen des Berichts!" >&2 + exit 1 +fi +echo "....fertig!" + +echo -n "Lade Fehlerbericht hoch...." +if ! curl -H "Expect:" -f -s -S -F "file=@error-report.tar.gz;filename=report" "$URL" > /dev/null; then + echo "Fehler beim Hochladen des Fehlerberichts :-(" >&2 + exit 1 +fi + +echo "Fehlerbericht erfolgreich versendet!" + diff --git a/core/modules/debug/data/opt/openslx/scripts/systemd-debug_udevd_logger b/core/modules/debug/data/opt/openslx/scripts/systemd-debug_udevd_logger new file mode 100755 index 00000000..fb04d568 --- /dev/null +++ b/core/modules/debug/data/opt/openslx/scripts/systemd-debug_udevd_logger @@ -0,0 +1,2 @@ +#!/bin/ash +/usr/bin/udevadm monitor | /usr/bin/logger diff --git a/core/modules/debug/module.build b/core/modules/debug/module.build new file mode 100644 index 00000000..c020181d --- /dev/null +++ b/core/modules/debug/module.build @@ -0,0 +1,20 @@ +fetch_source() { + : +} + +build() { + + for BIN in $REQUIRED_BINARIES; do + [[ "$BIN" == @* ]] && BIN=$(echo "$BIN" | cut -c 2-) + BIN_LOCATION=$(which ${BIN}) + if [ ! -z ${BIN_LOCATION} -a -e ${BIN_LOCATION} ]; then + tarcopy "$(get_link_chain ${BIN_LOCATION})" "${MODULE_BUILD_DIR}" + else + pwarning "'${BIN}' not found on the system." + fi + done +} + +post_copy() { + : +} diff --git a/core/modules/debug/module.conf b/core/modules/debug/module.conf new file mode 100644 index 00000000..71006514 --- /dev/null +++ b/core/modules/debug/module.conf @@ -0,0 +1,18 @@ +REQUIRED_BINARIES=" + strace + ltrace + ldd + setterm + curl + nano + fc-cache + fc-query + @xset + locale + su + file + @htop + @logger + @tcpdump + getfacl +" diff --git a/core/modules/debug/module.conf.debian b/core/modules/debug/module.conf.debian new file mode 100644 index 00000000..00bfea2c --- /dev/null +++ b/core/modules/debug/module.conf.debian @@ -0,0 +1,7 @@ +REQUIRED_INSTALLED_PACKAGES=" + curl + ltrace + strace + nano + fontconfig +" diff --git a/core/modules/debug/module.conf.opensuse b/core/modules/debug/module.conf.opensuse new file mode 100644 index 00000000..b7971956 --- /dev/null +++ b/core/modules/debug/module.conf.opensuse @@ -0,0 +1,11 @@ +REQUIRED_INSTALLED_PACKAGES=" + curl + ltrace + nano + fontconfig + fonts-config + xset +" +REQUIRED_BINARIES+=" + fonts-config +" diff --git a/core/modules/debug/module.conf.ubuntu b/core/modules/debug/module.conf.ubuntu new file mode 100644 index 00000000..00bfea2c --- /dev/null +++ b/core/modules/debug/module.conf.ubuntu @@ -0,0 +1,7 @@ +REQUIRED_INSTALLED_PACKAGES=" + curl + ltrace + strace + nano + fontconfig +" -- cgit v1.2.3-55-g7522