forked from ungleich-public/cdist
begin to cleanup recursive call run
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
parent
5237bcd5cd
commit
f4c53e800c
4 changed files with 40 additions and 15 deletions
|
@ -25,3 +25,7 @@ __cdist_config=$(pwd -P)/conf __cdist_target_host=localhost cdist-explorer-run
|
||||||
|
|
||||||
# Display result
|
# Display result
|
||||||
find conf/cache/hosts/localhost
|
find conf/cache/hosts/localhost
|
||||||
|
|
||||||
|
# Soon working:
|
||||||
|
cdist-manifest-recursive-run /tmp ~/p/cdist/conf/cache/hosts/localhost/objects
|
||||||
|
|
||||||
|
|
|
@ -80,9 +80,12 @@ __cdist_bin_prefix="__"
|
||||||
# Used for IDs
|
# Used for IDs
|
||||||
__cdist_sane_regexp='[A-Za-z0-9]*[-A-Za-z0-9_]*'
|
__cdist_sane_regexp='[A-Za-z0-9]*[-A-Za-z0-9_]*'
|
||||||
|
|
||||||
# Used to mark file that created a specific type
|
# File that contains source of a specific object creation
|
||||||
__cdist_object_source=".source"
|
__cdist_object_source=".source"
|
||||||
|
|
||||||
|
# Mark object finished
|
||||||
|
__cdist_object_finished=".done"
|
||||||
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Function list
|
# Function list
|
||||||
|
|
|
@ -43,21 +43,35 @@ __cdist_object_ran_all=0
|
||||||
while [ "$__cdist_object_ran_all" = 0 ]; do
|
while [ "$__cdist_object_ran_all" = 0 ]; do
|
||||||
cd "$__cdist_object_dir"
|
cd "$__cdist_object_dir"
|
||||||
|
|
||||||
# FIXME past 1.0: allow multi level ids (/example/id instead of example_id only)
|
# find all objects (every object has the source recorded)
|
||||||
# OUTER LOOP NEEDED IF GOING OVER ALL OBJECTS WITH FIND?
|
find . -name "$__cdist_object_source" | \
|
||||||
for type in *; do
|
sed -e "s;$__cdist_object_source\$;;" \
|
||||||
cd "$__cdist_object_dir/$type"
|
-e 's;^./;;' \
|
||||||
|
> "$__cdist_tmp_file"
|
||||||
|
|
||||||
# find all objects (every object has the source recorded)
|
while read object; do
|
||||||
find . -name "$__cdist_object_source" > "$__cdist_tmp_file"
|
if [ ! -f "${object}/$__cdist_object_finished" ]; then
|
||||||
|
echo "Running object ${object} ..."
|
||||||
|
echo "Merging stuff back..."
|
||||||
|
touch "${object}/$__cdist_object_finished"
|
||||||
|
fi
|
||||||
|
done < "$__cdist_tmp_file"
|
||||||
|
|
||||||
while read object; do
|
# # FIXME past 1.0: allow multi level ids (/example/id instead of example_id only)
|
||||||
echo "Running object ${type}/${object} ..."
|
# # OUTER LOOP NEEDED IF GOING OVER ALL OBJECTS WITH FIND?
|
||||||
done < "$__cdist_tmp_file"
|
# for type in *; do
|
||||||
done
|
# cd "$__cdist_object_dir/$type"
|
||||||
|
#
|
||||||
# FIXME: abort on real case only :-)
|
# # find all objects (every object has the source recorded)
|
||||||
__cdist_object_ran_all=1
|
# find . -name "$__cdist_object_source" > "$__cdist_tmp_file"
|
||||||
|
#
|
||||||
|
# while read object; do
|
||||||
|
# echo "Running object ${type}/${object} ..."
|
||||||
|
# done < "$__cdist_tmp_file"
|
||||||
|
# done
|
||||||
|
#
|
||||||
|
# # FIXME: abort on real case only :-)
|
||||||
|
# __cdist_object_ran_all=1
|
||||||
done
|
done
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
|
@ -27,7 +27,11 @@ a look at cdist-quickstart(7).
|
||||||
REQUIREMENTS
|
REQUIREMENTS
|
||||||
------------
|
------------
|
||||||
Cdist requires enabled ssh-server and a posix shell on the clients and
|
Cdist requires enabled ssh-server and a posix shell on the clients and
|
||||||
ssh-client and posix shell on the server.
|
ssh-client and posix shell on the server. Additionaly, it requires
|
||||||
|
the following unix tools:
|
||||||
|
|
||||||
|
- find
|
||||||
|
-
|
||||||
|
|
||||||
|
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
|
|
Loading…
Reference in a new issue