Conflicts: doc/dev/todo/TAKEME Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>remotes/origin/1.5
commit
8bd52b9065
@ -1,77 +0,0 @@ |
||||
#!/bin/sh |
||||
# |
||||
# 2010-2011 Nico Schottelius (nico-cdist at schottelius.org) |
||||
# |
||||
# This file is part of cdist. |
||||
# |
||||
# cdist is free software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# cdist is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with cdist. If not, see <http://www.gnu.org/licenses/>. |
||||
# |
||||
# Run all manifests |
||||
# |
||||
|
||||
. cdist-config |
||||
[ $# -eq 1 ] || __cdist_usage "<target host>" |
||||
set -eu |
||||
|
||||
__cdist_target_host="$1"; shift |
||||
|
||||
__cdist_objects_list="${__cdist_tmp_dir}/objects_file" |
||||
__cdist_new_objects_list="${__cdist_tmp_dir}/new_objects_file" |
||||
|
||||
# Loop until we do not create new objects anymore |
||||
# which is equal to all objects have been run |
||||
__cdist_new_objects_created=y |
||||
while [ "$__cdist_new_objects_created" = "y" ]; do |
||||
# Assume we're done after this run |
||||
__cdist_new_objects_created=n |
||||
|
||||
__cdist_object_list "$__cdist_out_object_dir" > "$__cdist_objects_list" |
||||
|
||||
# Check every object, if we need to run it |
||||
while read __cdist_object_self; do |
||||
# Full path to current object |
||||
__cdist_cur_object_dir="$(__cdist_object_dir "$__cdist_object_self")" |
||||
|
||||
# Only the id |
||||
__cdist_object_id="$(__cdist_object_id_from_object "$__cdist_object_self")" |
||||
|
||||
if [ ! -f "${__cdist_cur_object_dir}/$__cdist_name_object_finished" ]; then |
||||
echo "Checking manifest for ${__cdist_object_self} ..." |
||||
|
||||
__cdist_type="$(__cdist_type_from_object "$__cdist_object_self")" |
||||
__cdist_manifest="$(__cdist_type_manifest "${__cdist_type}")" |
||||
|
||||
if [ -f "$__cdist_manifest" ]; then |
||||
if [ -x "$__cdist_manifest" ]; then |
||||
# Make __cdist_manifest available for cdist-type-emulator |
||||
export __cdist_manifest |
||||
|
||||
echo "Executing manifest ${__cdist_manifest} ..." |
||||
# Make variables available to non-core - FIXME: beatify |
||||
export $__cdist_name_var_object="$__cdist_cur_object_dir" |
||||
export $__cdist_name_var_object_id="$__cdist_object_id" |
||||
export $__cdist_name_var_type="$(__cdist_type_dir "$__cdist_type")" |
||||
|
||||
cdist-manifest-run "$__cdist_target_host" "$__cdist_manifest" |
||||
__cdist_new_objects_created=y |
||||
else |
||||
__cdist_exit_err "${__cdist_manifest} needs to be executable." |
||||
fi |
||||
fi |
||||
fi |
||||
|
||||
# done with this object |
||||
touch "$__cdist_cur_object_dir/$__cdist_name_object_finished" |
||||
done < "$__cdist_objects_list" |
||||
done |
@ -0,0 +1,60 @@ |
||||
#!/bin/sh |
||||
# |
||||
# 2010 Nico Schottelius (nico-cdist at schottelius.org) |
||||
# 2011 Steven Armstrong (steven-cdist at armstrong.cc) |
||||
# |
||||
# This file is part of cdist. |
||||
# |
||||
# cdist is free software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# cdist is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with cdist. If not, see <http://www.gnu.org/licenses/>. |
||||
# |
||||
# |
||||
# Run the manifest for the given object. |
||||
# |
||||
|
||||
. cdist-config |
||||
[ $# -eq 2 ] || __cdist_usage "<target host> <object>" |
||||
set -eu |
||||
|
||||
__cdist_target_host="$1"; shift |
||||
__cdist_object="$1"; shift |
||||
|
||||
# Full path to current object |
||||
__cdist_cur_object_dir="$(__cdist_object_dir "$__cdist_object")" |
||||
|
||||
# Only the id |
||||
__cdist_object_id="$(__cdist_object_id_from_object "$__cdist_object")" |
||||
|
||||
echo "Checking manifest for $__cdist_object ..." |
||||
|
||||
__cdist_type="$(__cdist_type_from_object "$__cdist_object")" |
||||
__cdist_manifest="$(__cdist_type_manifest "$__cdist_type")" |
||||
|
||||
if [ -f "$__cdist_manifest" ]; then |
||||
if [ -x "$__cdist_manifest" ]; then |
||||
# Make __cdist_manifest available for cdist-type-emulator |
||||
export __cdist_manifest |
||||
|
||||
echo "Executing manifest ${__cdist_manifest} ..." |
||||
# Make variables available to non-core - FIXME: beatify |
||||
export $__cdist_name_var_object="$__cdist_cur_object_dir" |
||||
export $__cdist_name_var_object_id="$__cdist_object_id" |
||||
export $__cdist_name_var_type="$(__cdist_type_dir "$__cdist_type")" |
||||
|
||||
cdist-manifest-run "$__cdist_target_host" "$__cdist_manifest" |
||||
# Tell cdist-object-run-all that there may be new objects |
||||
touch "$__cdist_objects_created" |
||||
else |
||||
__cdist_exit_err "${__cdist_manifest} needs to be executable." |
||||
fi |
||||
fi |
@ -1,40 +0,0 @@ |
||||
#!/bin/sh |
||||
# |
||||
# 2010-2011 Nico Schottelius (nico-cdist at schottelius.org) |
||||
# 2011 Steven Armstrong (steven-cdist at armstrong.cc) |
||||
# |
||||
# This file is part of cdist. |
||||
# |
||||
# cdist is free software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# cdist is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with cdist. If not, see <http://www.gnu.org/licenses/>. |
||||
# |
||||
# |
||||
# Push the given types explorers to the target host |
||||
# |
||||
|
||||
. cdist-config |
||||
[ $# -eq 2 ] || __cdist_usage "<target host> <type>" |
||||
|
||||
set -eu |
||||
|
||||
__cdist_target_host="$1"; shift |
||||
__cdist_type="$1"; shift |
||||
|
||||
src_dir="$(__cdist_type_explorer_dir "$__cdist_type")" |
||||
dst_dir="$(__cdist_remote_type_explorer_dir "$__cdist_type")" |
||||
|
||||
if [ -d "$src_dir" ]; then |
||||
echo "Transfering explorers for $__cdist_type ..." |
||||
cdist-dir push "$__cdist_target_host" "$src_dir" "$dst_dir" |
||||
fi |
||||
|
@ -0,0 +1,5 @@ |
||||
- align messages (already in todo for steven, but makes life much easier, thus repeated) |
||||
-> prefix all object stuff with $__self |
||||
-> __cdist_echo object string |
||||
-> $__cdist_object_self :-) |
||||
|
@ -1,32 +0,0 @@ |
||||
cdist-manifest-run-all(1) |
||||
========================== |
||||
Nico Schottelius <nico-cdist--@--schottelius.org> |
||||
|
||||
|
||||
NAME |
||||
---- |
||||
cdist-manifest-run-all - Run manifests of all created types |
||||
|
||||
|
||||
SYNOPSIS |
||||
-------- |
||||
cdist-manifest-run-all HOSTNAME |
||||
|
||||
|
||||
DESCRIPTION |
||||
----------- |
||||
cdist-manifest-run-all iterates over every existing object and |
||||
executes the manifest of its type. |
||||
|
||||
|
||||
SEE ALSO |
||||
-------- |
||||
- cdist(7) |
||||
- cdist-deploy-to(1) |
||||
- cdist-manifest-run-init(1) |
||||
|
||||
|
||||
COPYING |
||||
------- |
||||
Copyright \(C) 2011 Nico Schottelius. Free use of this software is |
||||
granted under the terms of the GNU General Public License version 3 (GPLv3). |
@ -1,29 +1,29 @@ |
||||
cdist-type-explorer-push(1) |
||||
=========================== |
||||
cdist-object-manifest-run(1) |
||||
============================ |
||||
Nico Schottelius <nico-cdist--@--schottelius.org> |
||||
Steven Armstrong <steven-dist--@--armstrong.cc> |
||||
|
||||
|
||||
NAME |
||||
---- |
||||
cdist-type-explorer-push - Transfer type explorers to the target host |
||||
cdist-object-manifest-run - Run an objects manifest |
||||
|
||||
|
||||
SYNOPSIS |
||||
-------- |
||||
cdist-type-explorer-push HOSTNAME TYPE |
||||
cdist-object-manifest-run HOSTNAME OBJECT |
||||
|
||||
|
||||
DESCRIPTION |
||||
----------- |
||||
Transfers the explorers of the given type to the target host. |
||||
Run the manifest for the given object. |
||||
|
||||
|
||||
SEE ALSO |
||||
-------- |
||||
- cdist(7) |
||||
- cdist-object-run(1) |
||||
- cdist-type(1) |
||||
- cdist-deploy-to(1) |
||||
- cdist-manifest-run(1) |
||||
|
||||
|
||||
COPYING |
Loading…
Reference in new issue