forked from ungleich-public/cdist
		
	introduce new variable names and use __explorers
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
		
					parent
					
						
							
								e2ecdd92ab
							
						
					
				
			
			
				commit
				
					
						f5eccb2cb1
					
				
			
		
					 7 changed files with 41 additions and 11 deletions
				
			
		| 
						 | 
					@ -39,6 +39,9 @@ set -au
 | 
				
			||||||
: ${__cdist_name_conf_dir:=conf}
 | 
					: ${__cdist_name_conf_dir:=conf}
 | 
				
			||||||
: ${__cdist_name_type_bin:=type_bin}
 | 
					: ${__cdist_name_type_bin:=type_bin}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Exported variable names
 | 
				
			||||||
 | 
					: ${__cdist_name_var_explorer:=__$__cdist_name_explorer}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Name of the manifest file in types
 | 
					# Name of the manifest file in types
 | 
				
			||||||
: ${__cdist_name_manifest:=manifest}
 | 
					: ${__cdist_name_manifest:=manifest}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -33,8 +33,9 @@ cdist-dir push "$__cdist_target_host" \
 | 
				
			||||||
   "${__cdist_explorer_dir}" "${__cdist_remote_explorer_dir}"
 | 
					   "${__cdist_explorer_dir}" "${__cdist_remote_explorer_dir}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# run the initial explorers remotely
 | 
					# run the initial explorers remotely
 | 
				
			||||||
cdist-explorer-run "$__cdist_target_host" "$__cdist_remote_base_dir" \
 | 
					cdist-run-remote "${__cdist_target_host}" cdist-remote-explorer-run  \
 | 
				
			||||||
   "$__cdist_remote_explorer_dir" "$__cdist_remote_out_explorer_dir"
 | 
					   "$__cdist_remote_base_dir" "$__cdist_remote_explorer_dir"         \
 | 
				
			||||||
 | 
					   "$__cdist_name_var_explorer" "$__cdist_remote_out_explorer_dir"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# retrieve the results
 | 
					# retrieve the results
 | 
				
			||||||
cdist-dir pull "$__cdist_target_host" \
 | 
					cdist-dir pull "$__cdist_target_host" \
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -45,4 +45,5 @@ fi
 | 
				
			||||||
mkdir -p "${__cdist_output_dir}" || __cdist_exit_err "Cannot create output dir ${__cdist_output_dir}"
 | 
					mkdir -p "${__cdist_output_dir}" || __cdist_exit_err "Cannot create output dir ${__cdist_output_dir}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cd "$__cdist_work_dir" || __cdist_exit_err "Cannot change to work dir \"$__cdist_work_dir\"."
 | 
					cd "$__cdist_work_dir" || __cdist_exit_err "Cannot change to work dir \"$__cdist_work_dir\"."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
__cdist_exec_fail_on_error "${__cdist_manifest}" "$@"
 | 
					__cdist_exec_fail_on_error "${__cdist_manifest}" "$@"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -31,22 +31,32 @@ __cdist_object_base_dir="$1"; shift
 | 
				
			||||||
################################################################################
 | 
					################################################################################
 | 
				
			||||||
# New code
 | 
					# New code
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					object_listing="$__cdist_tmp_dir/objects"
 | 
				
			||||||
 | 
					type_listing_all="$__cdist_tmp_dir/types_all"
 | 
				
			||||||
 | 
					type_listing="$__cdist_tmp_dir/types"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Get listing of objects
 | 
					# Get listing of objects
 | 
				
			||||||
 | 
					__cdist_object_list "$__cdist_object_base_dir" > "$__cdist_tmp_file"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Get listing of types used
 | 
					# Get listing of types used
 | 
				
			||||||
 | 
					while read object; do
 | 
				
			||||||
 | 
					   echo "$(__cdist_type_from_object "$object")" >> "$type_listing_all"
 | 
				
			||||||
 | 
					done < "$__cdist_tmp_file"
 | 
				
			||||||
 | 
					sort "$type_listing_all" | uniq > "$type_listing"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cat "$type_listing"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# For every type that has explorers, Transfer the explorers
 | 
					# For every type that has explorers, Transfer the explorers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# For every object of a type that has explorers, execute the explorers
 | 
					# For every object of a type that has explorers, execute the explorers
 | 
				
			||||||
# and retrieve the results
 | 
					# and retrieve the results
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					exit 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
################################################################################
 | 
					################################################################################
 | 
				
			||||||
# Old code
 | 
					# Old code
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
__cdist_object_list "$__cdist_object_base_dir" > "$__cdist_tmp_file"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# need to create pseudo array, as ssh in cdist-explorer-run will destroy while-read loops
 | 
					# need to create pseudo array, as ssh in cdist-explorer-run will destroy while-read loops
 | 
				
			||||||
while read object; do
 | 
					while read object; do
 | 
				
			||||||
   set -- "$@" "$object"
 | 
					   set -- "$@" "$object"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -20,22 +20,30 @@
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# This binary is executed on the remote side to execute explorers
 | 
					# This binary is executed on the remote side to execute explorers
 | 
				
			||||||
# 
 | 
					# 
 | 
				
			||||||
 | 
					# It supports different variables names to be used, so __explorers
 | 
				
			||||||
 | 
					# and __type_explorers can be submitted :-)
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
. cdist-config
 | 
					. cdist-config
 | 
				
			||||||
if [ $# -lt 3 ]; then
 | 
					if [ $# -lt 4 ]; then
 | 
				
			||||||
   __cdist_usage "<work dir> <explorer dir> <out dir> [explorer args]"
 | 
					   __cdist_usage "<work dir> <explorer dir> <variable name> <out dir> [explorer args]"
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
set -ue
 | 
					set -ue
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# cd to this dir
 | 
					# cd to this dir
 | 
				
			||||||
__cdist_work_dir="$1"; shift
 | 
					__cdist_work_dir="$1"; shift
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# find explorers here
 | 
					# Find explorers here
 | 
				
			||||||
__cdist_explorer_dir="$1"; shift
 | 
					__cdist_explorer_dir="$1"; shift
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# write output here
 | 
					# Variable that defines the home of the explorers
 | 
				
			||||||
 | 
					__cdist_variable_name="$1"; shift
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Write output here
 | 
				
			||||||
__cdist_my_out_dir="$1"; shift
 | 
					__cdist_my_out_dir="$1"; shift
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Setup environment
 | 
				
			||||||
 | 
					eval export $__cdist_variable_name=\"$__cdist_explorer_dir\"
 | 
				
			||||||
cd "${__cdist_work_dir}"
 | 
					cd "${__cdist_work_dir}"
 | 
				
			||||||
mkdir -p "$__cdist_my_out_dir"
 | 
					mkdir -p "$__cdist_my_out_dir"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -45,6 +53,8 @@ if [ "$num" -lt 1 ]; then
 | 
				
			||||||
   __cdist_exit_err "${__cdist_explorer_dir}: Contains no explorers"
 | 
					   __cdist_exit_err "${__cdist_explorer_dir}: Contains no explorers"
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Setup environment for explorer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Execute all explorers
 | 
					# Execute all explorers
 | 
				
			||||||
for explorer in "$__cdist_explorer_dir/"*; do
 | 
					for explorer in "$__cdist_explorer_dir/"*; do
 | 
				
			||||||
   explorer_name="${explorer##*/}"
 | 
					   explorer_name="${explorer##*/}"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -19,10 +19,14 @@
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
case "$(./conf/explorers/os)" in
 | 
					os="$("$__explorers/os")"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					case "$os" in
 | 
				
			||||||
      archlinux) echo pacman ;;
 | 
					      archlinux) echo pacman ;;
 | 
				
			||||||
      debian|ubuntu) echo apt ;;
 | 
					      debian|ubuntu) echo apt ;;
 | 
				
			||||||
      gentoo) echo emerge ;;
 | 
					      gentoo) echo emerge ;;
 | 
				
			||||||
 | 
					      *)
 | 
				
			||||||
 | 
					         echo "Unknown OS: $os" >&2
 | 
				
			||||||
 | 
					         exit 1
 | 
				
			||||||
 | 
					      ;;
 | 
				
			||||||
esac
 | 
					esac
 | 
				
			||||||
 | 
					 | 
				
			||||||
exit 0
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,2 +1,3 @@
 | 
				
			||||||
add explorers per type/object
 | 
					add explorers per type/object
 | 
				
			||||||
   - change exec directory for all stages
 | 
					   - change exec directory for all stages
 | 
				
			||||||
 | 
					      - create cdist-remote-explorer-run that sets
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue