From 5c3e795e201f2109ca49ecbdea8feb09b692a117 Mon Sep 17 00:00:00 2001 From: Michael Prokop Date: Fri, 10 Jul 2020 13:31:45 +0200 Subject: [PATCH] Store logfiles also when FAI's dirinstall fails With the ongoing bsdmainutils transition grml32-small_sid failed to build and we don't have any log files for debugging in our jenkins builds. Ensure to store logfiles also when the fai dirinstall run failed. --- grml-live | 39 +++++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/grml-live b/grml-live index 1158f86..5cd5880 100755 --- a/grml-live +++ b/grml-live @@ -184,6 +184,24 @@ umount_all() { } # }}} +# store logfiles {{{ +store_logfiles() { + # move fai logs into grml_logs directory + mkdir -p "$LOG_OUTPUT"/fai/ + cp -r "$CHROOT_OUTPUT"/var/log/fai/"$HOSTNAME"/last/* "$LOG_OUTPUT"/fai/ + rm -rf "$CHROOT_OUTPUT"/var/log/fai + + # store copy of autogenerated configuration file + cp ${GRML_FAI_CONFIG}/nfsroot.conf "$LOG_OUTPUT"/fai/ + + # copy fai package list + cp "$CHROOT_OUTPUT"/var/log/install_packages.list "$LOG_OUTPUT"/fai/ + # fixup owners + chown root:adm "$LOG_OUTPUT"/fai/* + chmod 664 "$LOG_OUTPUT"/fai/* +} +# }}} + # clean exit {{{ bailout() { rm -f /var/run/fai/fai_softupdate_is_running \ @@ -745,9 +763,10 @@ else RC="$PIPESTATUS" # notice: bash-only if [ "$RC" != 0 ] ; then - log "Error: critical error while executing fai [exit code ${RC}]. Exiting." - eerror "Error: critical error while executing fai [exit code ${RC}]. Exiting." ; eend 1 - bailout 1 + store_logfiles # ensure to have logfiles available even if building failed + log "Error: critical error while executing fai [exit code ${RC}]. Exiting." + eerror "Error: critical error while executing fai [exit code ${RC}]. Exiting." ; eend 1 + bailout 1 fi # provide inform fai about the ISO we build, needs to be provided @@ -759,19 +778,7 @@ else FORCE_ISO_REBUILD=true - # move fai logs into grml_logs directory - mkdir -p "$LOG_OUTPUT"/fai/ - cp -r "$CHROOT_OUTPUT"/var/log/fai/"$HOSTNAME"/last/* "$LOG_OUTPUT"/fai/ - rm -rf "$CHROOT_OUTPUT"/var/log/fai - - # store copy of autogenerated configuration file - cp ${GRML_FAI_CONFIG}/nfsroot.conf "$LOG_OUTPUT"/fai/ - - # copy fai package list - cp "$CHROOT_OUTPUT"/var/log/install_packages.list "$LOG_OUTPUT"/fai/ - # fixup owners - chown root:adm "$LOG_OUTPUT"/fai/* - chmod 664 "$LOG_OUTPUT"/fai/* + store_logfiles umount_all -- 2.1.4