forked from ungleich-public/cdist
		
	ensure failing if manifest or gencode break
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
		
					parent
					
						
							
								f392543d43
							
						
					
				
			
			
				commit
				
					
						ff41ce0318
					
				
			
		
					 5 changed files with 25 additions and 16 deletions
				
			
		| 
						 | 
					@ -21,8 +21,10 @@ I usually do it like this:
 | 
				
			||||||
eof
 | 
					eof
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Tell the user what we do, so this script makes sense during execution
 | 
					# Tell the user what we do, so this script makes sense during execution
 | 
				
			||||||
# And abort on any error
 | 
					set -x
 | 
				
			||||||
set -ex
 | 
					
 | 
				
			||||||
 | 
					# Abort on any error
 | 
				
			||||||
 | 
					set -e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# prepare use (only from top level directory)
 | 
					# prepare use (only from top level directory)
 | 
				
			||||||
export PATH="$PATH:$(pwd -P)/bin"
 | 
					export PATH="$PATH:$(pwd -P)/bin"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -23,10 +23,8 @@
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
. cdist-config
 | 
					. cdist-config
 | 
				
			||||||
 | 
					[ $# -eq 2 ] || __cdist_usage "<target host> <outdir>"
 | 
				
			||||||
if [ $# -ne 2 ]; then
 | 
					set -e
 | 
				
			||||||
   __cdist_usage "<target host> <outdir>"
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
export __cdist_target_host="$1"; shift
 | 
					export __cdist_target_host="$1"; shift
 | 
				
			||||||
export __cdist_output_dir="$1"; shift
 | 
					export __cdist_output_dir="$1"; shift
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -23,19 +23,15 @@
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
. cdist-config
 | 
					. cdist-config
 | 
				
			||||||
 | 
					[ $# -eq 3 ] || __cdist_usage "<target host> <manifest> <outdir>"
 | 
				
			||||||
if [ $# -ne 3 ]; then
 | 
					set -u
 | 
				
			||||||
   __cdist_usage "<target host> <manifest> <outdir>"
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
set -aeu
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
export __cdist_target_host="$1"; shift
 | 
					export __cdist_target_host="$1"; shift
 | 
				
			||||||
export __cdist_manifest="$1"; shift
 | 
					export __cdist_manifest="$1"; shift
 | 
				
			||||||
export __cdist_output_dir="$1"; shift
 | 
					export __cdist_output_dir="$1"; shift
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Ensure binaries exist and are up-to-date
 | 
					# Ensure binaries exist and are up-to-date
 | 
				
			||||||
cdist-build-bin
 | 
					cdist-build-bin || __cdist_exit_err "Failed to build support binaries"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# prepend our path, so all cdist tools come before other tools
 | 
					# prepend our path, so all cdist tools come before other tools
 | 
				
			||||||
PATH="${__cdist_cache_bin}:$PATH"
 | 
					PATH="${__cdist_cache_bin}:$PATH"
 | 
				
			||||||
| 
						 | 
					@ -50,7 +46,12 @@ mkdir -p "${__cdist_output_dir}"
 | 
				
			||||||
# Catch errors ourselves now
 | 
					# Catch errors ourselves now
 | 
				
			||||||
set +e
 | 
					set +e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"${__cdist_manifest}"; ret=$?
 | 
					# Ensure manifest fails if any error exists - FIXME: redundant, cdist-object-codegen
 | 
				
			||||||
 | 
					(
 | 
				
			||||||
 | 
					   set -e
 | 
				
			||||||
 | 
					   . "${__cdist_manifest}"
 | 
				
			||||||
 | 
					); ret=$?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [ "$ret" -ne 0 ]; then
 | 
					if [ "$ret" -ne 0 ]; then
 | 
				
			||||||
   __cdist_exit_err "Error: ${__cdist_manifest} exited non-zero."
 | 
					   __cdist_exit_err "Error: ${__cdist_manifest} exited non-zero."
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -56,7 +56,12 @@ eof
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   # Catch errors ourself now
 | 
					   # Catch errors ourself now
 | 
				
			||||||
   set +e
 | 
					   set +e
 | 
				
			||||||
   "$gencode"; ret=$?
 | 
					   (
 | 
				
			||||||
 | 
					      # Ensure manifest fails if something within manifest fails
 | 
				
			||||||
 | 
					      # And not all manifests need to include set -e themselves
 | 
				
			||||||
 | 
					      set -e
 | 
				
			||||||
 | 
					      . "$gencode"
 | 
				
			||||||
 | 
					   ); ret=$?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
else
 | 
					else
 | 
				
			||||||
   ret=0
 | 
					   ret=0
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -25,12 +25,15 @@
 | 
				
			||||||
. cdist-config
 | 
					. cdist-config
 | 
				
			||||||
set -e
 | 
					set -e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pwd -P >&2
 | 
				
			||||||
 | 
					ls >&2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type="$(cat type)"
 | 
					type="$(cat type)"
 | 
				
			||||||
mode="$(cat mode)"
 | 
					mode="$(cat mode)"
 | 
				
			||||||
path="$(cat path)"
 | 
					path="$(cat path)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
case "$type" in
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					case "$type" in
 | 
				
			||||||
   directory)
 | 
					   directory)
 | 
				
			||||||
      echo mkdir \"$path\"
 | 
					      echo mkdir \"$path\"
 | 
				
			||||||
   ;;
 | 
					   ;;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue