Package: fai-client Version: 5.8.4~bpo9+2 Severity: normal Dear Maintainer,
Today I discovered that a task error raised in a class definition script does not stop the installation/softupdate. In my example (see log excerpt below) the class script /var/lib/fai/config/class/95-dep.sh sets an error calling "task_error 800". FAI detects this and uploads log files, however then continues with the next task (the remaining class definition scripts are not executed). The softupdate continues as usual and the log files are finally uploaded again (causing a conflict). Looking at the code, `/usr/lib/fai/subroutines` apparently calls `fai-class` but does not check if a fatal task error was set (or if `fai-class` exited with error). As far as I can tell, the issue still seems to be present in version 5.9.4. Thanks for your help! Best, Maximilian -- fai.log ------------------------------------------------- Fully Automatic Installation - FAI 5.8.4~bpo9+2 (c) 1999-2019 Thomas Lange <la...@informatik.uni-koeln.de> ------------------------------------------------- Starting FAI execution - 20200520_140231 Using configuration files from /etc/fai Calling task_confdir FAI_FLAGS: Setting SERVER=fai.example.org. Value extracted from FAI_CONFIG_SRC. Monitoring to server fai-monitor.example.org enabled. FAI_CONFIG_SRC is set to git+ssh://f...@fai.example.org/srv/git/fai.git Updating git copy in /var/lib/fai/config HEAD is now at 12345678... foobar Source hook: setup.DEFAULT.sh hostname: examplehost setup.DEFAULT.sh OK. Calling task_setup FAI_FLAGS: Calling task_defclass fai-class: Defining classes. Executing /var/lib/fai/config/class/10-base-classes.sh. ./10-base-classes.sh defined classes: LINUX AMD64 DHCPC 10-base-classes.sh OK. ... Executing /var/lib/fai/config/class/70-custom-classes.sh. 70-custom-classes.sh OK. Executing /var/lib/fai/config/class/95-dep.sh. FATAL ERROR: class ABC conflicts with DEF Error in task defclass. Code: 800 Traceback: task_error conflicts source main Calling hook: savelog.DEFAULT '//var/log/fai/last-localhost' -> 'localhost/last' savelog.DEFAULT OK. Source hook: savelog.ADBASE.sh savelog.ADBASE.sh OK. Save log files via ssh to f...@fai.example.org:log//examplehost/softupdate-2020-05-20T14:02:33+02:00 FATAL ERROR. Installation stopped. List of all classes: DEFAULT LINUX AMD64 DHCPC GRUB ARCH_PC DEBIAN STRETCH ABC DEF Calling task_defvar Executing DEBIAN.var ...