SIMPLE SOLUTIONS

CDIST-TROUBLESHOOTING(7) - man page online | overview, conventions, and miscellany

Common problems and their solutions.

Chapter
04/07/2016
CDIST-TROUBLESHOOTI(7)                                                     CDIST-TROUBLESHOOTI(7)

NAME

cdist-troubleshooting - common problems and their solutions

ERROR IN MANIFEST IS NOT CONSIDERED AN ERROR BY CDIST

Situation: You are executing other scripts from a manifest. This script fails, but cdist does not recognise the error. An example script would be something like this: % cat ~/.cdist/manifest/init "$__manifest/special" % cat ~/.cdist/manifest/special #!/bin/sh echo "Here is an unclean exiting script" somecommandthatdoesnotexist echo "I continue here although previous command failed" We can clearly see that somecommandthatdoesnotexist will fail in ~/.cdist/manifest/special. But as the custom script is not called with the -e flag (exit on failure) of shell, it does not lead to an error. And thus cdist sees the exit 0 code of the last echo line instead of the failing command. All scripts executed by cdist carry the -e flag. To prevent the above from happening, there are three solutions available, two of which can be used in the calling script: # Execute as before, but abort on failure sh -e "$__manifest/special" # Source the script in our namespace, runs in a set -e environment: . "$__manifest/special" The third solution is to include a shebang header in every script you write to use the -e flag: % cat ~/.cdist/manifest/special #!/bin/sh -e ...

SEE ALSO

· cdist(1) · cdist-tutorial(7)

COPYING

Copyright (C) 2013 Nico Schottelius. Free use of this software is granted under the terms of the GNU General Public License version 3 (GPLv3).

AUTHOR

Nico Schottelius <nico-cdist--@--schottelius.org> Author.
04/07/2016 CDIST-TROUBLESHOOTI(7)
This manual Reference Other manuals
cdist-troubleshooting(7) referred by
refer to cdist(1) | cdist-tutorial(7)