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…
Reference in a new issue