Merge branch 'master' of git://git.schottelius.org/cdist
This commit is contained in:
commit
5d6c483e39
23 changed files with 211 additions and 94 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -6,7 +6,9 @@ doc/man/.marker
|
||||||
doc/man/man1/*.1
|
doc/man/man1/*.1
|
||||||
doc/man/man7/*.7
|
doc/man/man7/*.7
|
||||||
doc/man/man*/*.html
|
doc/man/man*/*.html
|
||||||
|
doc/man/man*/*.xml
|
||||||
doc/man/man7/cdist-type__*.text
|
doc/man/man7/cdist-type__*.text
|
||||||
|
doc/man/man7/cdist-reference.text
|
||||||
doc/man/man*/docbook-xsl.css
|
doc/man/man*/docbook-xsl.css
|
||||||
|
|
||||||
# Ignore cache for version control
|
# Ignore cache for version control
|
||||||
|
|
9
README
9
README
|
@ -15,17 +15,16 @@
|
||||||
"P' "" ""
|
"P' "" ""
|
||||||
|
|
||||||
|
|
||||||
[[!toc levels=2]]
|
[[!toc levels=2]]
|
||||||
|
|
||||||
## Introduction
|
## Introduction
|
||||||
|
|
||||||
cdist configures your system and is similar to
|
cdist is an alternative to other configuration management systems like
|
||||||
other configuration management systems like
|
|
||||||
[cfengine](http://www.cfengine.org/),
|
[cfengine](http://www.cfengine.org/),
|
||||||
[bcfg2](http://trac.mcs.anl.gov/projects/bcfg2),
|
[bcfg2](http://trac.mcs.anl.gov/projects/bcfg2),
|
||||||
[chef](http://wiki.opscode.com/display/chef/)
|
[chef](http://wiki.opscode.com/display/chef/)
|
||||||
and [puppet](http://www.puppetlabs.com/), but it ticks differently.
|
and [puppet](http://www.puppetlabs.com/).
|
||||||
Here are some features that makes it unique:
|
But cdist ticks differently, here is the feature set that makes it unique:
|
||||||
|
|
||||||
[[!table data="""
|
[[!table data="""
|
||||||
Keywords | Description
|
Keywords | Description
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
|
||||||
__cdist_version="1.6.0pre"
|
__cdist_version="1.6.0"
|
||||||
|
|
||||||
# Fail if something bogus is going on
|
# Fail if something bogus is going on
|
||||||
set -u
|
set -u
|
||||||
|
@ -55,7 +55,7 @@ __cdist_abs_myname="$__cdist_abs_mydir/$__cdist_myname"
|
||||||
: ${__cdist_name_manifest:=manifest}
|
: ${__cdist_name_manifest:=manifest}
|
||||||
: ${__cdist_name_object:=object}
|
: ${__cdist_name_object:=object}
|
||||||
: ${__cdist_name_object_finished:=done}
|
: ${__cdist_name_object_finished:=done}
|
||||||
: ${__cdist_name_object_processed:=processed}
|
: ${__cdist_name_object_prepared:=prepared}
|
||||||
: ${__cdist_name_object_id:=object_id}
|
: ${__cdist_name_object_id:=object_id}
|
||||||
: ${__cdist_name_object_source:=source}
|
: ${__cdist_name_object_source:=source}
|
||||||
: ${__cdist_name_objects_created:=.objects_created}
|
: ${__cdist_name_objects_created:=.objects_created}
|
||||||
|
@ -210,9 +210,9 @@ __cdist_object_code()
|
||||||
echo "$(__cdist_object_dir "$1")/${__cdist_name_code}"
|
echo "$(__cdist_object_dir "$1")/${__cdist_name_code}"
|
||||||
}
|
}
|
||||||
|
|
||||||
__cdist_object_processed()
|
__cdist_object_prepared()
|
||||||
{
|
{
|
||||||
echo "$(__cdist_object_dir "$1")/${__cdist_name_object_processed}"
|
echo "$(__cdist_object_dir "$1")/${__cdist_name_object_prepared}"
|
||||||
}
|
}
|
||||||
|
|
||||||
__cdist_object_finished()
|
__cdist_object_finished()
|
||||||
|
|
|
@ -49,7 +49,7 @@ cdist-dir push "$__cdist_target_host" \
|
||||||
"${__cdist_abs_mydir}" "${__cdist_remote_bin_dir}"
|
"${__cdist_abs_mydir}" "${__cdist_remote_bin_dir}"
|
||||||
cdist-explorer-run-global "$__cdist_target_host"
|
cdist-explorer-run-global "$__cdist_target_host"
|
||||||
cdist-manifest-run-init "$__cdist_target_host"
|
cdist-manifest-run-init "$__cdist_target_host"
|
||||||
cdist-object-all "$__cdist_target_host" cdist-object-process
|
cdist-object-all "$__cdist_target_host" cdist-object-prepare
|
||||||
cdist-object-all "$__cdist_target_host" cdist-object-run
|
cdist-object-all "$__cdist_target_host" cdist-object-run
|
||||||
cdist-cache "$__cdist_target_host"
|
cdist-cache "$__cdist_target_host"
|
||||||
|
|
||||||
|
|
47
bin/cdist-mass-deploy
Executable file
47
bin/cdist-mass-deploy
Executable file
|
@ -0,0 +1,47 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# 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/>.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Deploy configuration to many hosts
|
||||||
|
#
|
||||||
|
|
||||||
|
. cdist-config
|
||||||
|
[ $# -ge 1 ] || __cdist_usage "[-p] <target host> [target host ...]"
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
parallel=""
|
||||||
|
if [ "$1" = "-p" ]; then
|
||||||
|
parallel=yes
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
|
||||||
|
while [ $# -ge 1 ]; do
|
||||||
|
# always assume we run parallel
|
||||||
|
cdist-deploy-to "$1" | awk -v host=$1 '{ print "[" host "] " $0 }' &
|
||||||
|
shift
|
||||||
|
|
||||||
|
# if not, wait for it _now_
|
||||||
|
[ "$parallel" ] || wait
|
||||||
|
done
|
||||||
|
|
||||||
|
# else wait after all are started
|
||||||
|
if [ "$parallel" ]; then
|
||||||
|
echo "Waiting for cdist-deploy-to jobs to finish..."
|
||||||
|
wait
|
||||||
|
fi
|
|
@ -36,13 +36,13 @@ __cdist_object_dir="$(__cdist_object_dir "$__cdist_object")"
|
||||||
# Export to non-core for use in manifest and gencode scripts
|
# Export to non-core for use in manifest and gencode scripts
|
||||||
export $__cdist_name_var_self=$__cdist_object
|
export $__cdist_name_var_self=$__cdist_object
|
||||||
|
|
||||||
__cdist_object_processed="$(__cdist_object_processed "$__cdist_object")"
|
__cdist_object_prepared="$(__cdist_object_prepared "$__cdist_object")"
|
||||||
if [ ! -f "$__cdist_object_processed" ]; then
|
if [ ! -f "$__cdist_object_prepared" ]; then
|
||||||
echo
|
echo
|
||||||
echo "Processing object $__cdist_object"
|
echo "Preparing object $__cdist_object"
|
||||||
cdist-object-explorer-run "$__cdist_target_host" "$__cdist_object"
|
cdist-object-explorer-run "$__cdist_target_host" "$__cdist_object"
|
||||||
cdist-object-manifest-run "$__cdist_target_host" "$__cdist_object"
|
cdist-object-manifest-run "$__cdist_target_host" "$__cdist_object"
|
||||||
|
|
||||||
# Mark this object as processed
|
# Mark this object as prepared
|
||||||
touch "$__cdist_object_processed"
|
touch "$__cdist_object_prepared"
|
||||||
fi
|
fi
|
6
build.sh
6
build.sh
|
@ -57,12 +57,12 @@ case "$1" in
|
||||||
for src in ${MANDIR}/man${section}/*.text; do
|
for src in ${MANDIR}/man${section}/*.text; do
|
||||||
manpage="${src%.text}.$section"
|
manpage="${src%.text}.$section"
|
||||||
if [ ! -f "$manpage" -o "$manpage" -ot "$src" ]; then
|
if [ ! -f "$manpage" -o "$manpage" -ot "$src" ]; then
|
||||||
echo "Compiling manpage for $src"
|
echo "Compiling man page for $src"
|
||||||
$A2XM "$src"
|
$A2XM "$src"
|
||||||
fi
|
fi
|
||||||
htmlpage="${src%.text}.html"
|
htmlpage="${src%.text}.html"
|
||||||
if [ ! -f "$htmlpage" -o "$htmlpage" -ot "$src" ]; then
|
if [ ! -f "$htmlpage" -o "$htmlpage" -ot "$src" ]; then
|
||||||
echo "Compiling html for $src"
|
echo "Compiling html page for $src"
|
||||||
$A2XH "$src"
|
$A2XH "$src"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
@ -99,7 +99,7 @@ case "$1" in
|
||||||
;;
|
;;
|
||||||
|
|
||||||
clean)
|
clean)
|
||||||
rm -f ${MANDIR}/cdist-reference.text
|
rm -f ${MAN7DSTDIR}/cdist-reference.text
|
||||||
find "${MANDIR}" -mindepth 2 -type l \
|
find "${MANDIR}" -mindepth 2 -type l \
|
||||||
-o -name "*.1" \
|
-o -name "*.1" \
|
||||||
-o -name "*.7" \
|
-o -name "*.7" \
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
1.6.0:
|
1.6.0: 2011-04-06
|
||||||
* New Type __package_yum
|
* New Type __package_yum
|
||||||
* New type __debconf_set_selections
|
* New type __debconf_set_selections
|
||||||
* New explorer os_version
|
* New explorer os_version
|
||||||
|
@ -9,6 +9,7 @@
|
||||||
* Removed --preseed support from __package_apt
|
* Removed --preseed support from __package_apt
|
||||||
* explorer/os: gained Fedora support
|
* explorer/os: gained Fedora support
|
||||||
* Simplified types __user and __group
|
* Simplified types __user and __group
|
||||||
|
* New helper binary: cdist-mass-deploy
|
||||||
|
|
||||||
1.5.0: 2011-04-01
|
1.5.0: 2011-04-01
|
||||||
* Add basic cache functionality
|
* Add basic cache functionality
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
Documentation:
|
|
||||||
- update stages
|
|
||||||
- go through all manpages and ensure __ and co are correct
|
|
|
@ -16,7 +16,6 @@ CORE
|
||||||
|
|
||||||
- cdist-object-gencode: remove code if output empty?
|
- cdist-object-gencode: remove code if output empty?
|
||||||
- also take care of that in cdist-code-run!
|
- also take care of that in cdist-code-run!
|
||||||
- cdist-object-process -> cdist-object-prepare
|
|
||||||
- Remove cdist-object-push, covers only one line and is used only once:
|
- Remove cdist-object-push, covers only one line and is used only once:
|
||||||
[20:22] kr:bin% grep cdist-object-push *
|
[20:22] kr:bin% grep cdist-object-push *
|
||||||
cdist-object-run: cdist-object-push "$__cdist_target_host" "$__cdist_object"
|
cdist-object-run: cdist-object-push "$__cdist_target_host" "$__cdist_object"
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
remove --preseed from package_apt and add debconf_set_selection or similar
|
Cleanup documentation:
|
||||||
-> much cleaner!
|
type reference -> add types + manpages
|
||||||
|
add explorer reference
|
||||||
|
|
4
doc/man/.gitignore
vendored
4
doc/man/.gitignore
vendored
|
@ -1,4 +0,0 @@
|
||||||
cdist.7
|
|
||||||
*.html
|
|
||||||
cdist-design.7
|
|
||||||
cdist-reference.text
|
|
|
@ -132,8 +132,20 @@ tmp_dir::
|
||||||
|
|
||||||
TYPES
|
TYPES
|
||||||
-----
|
-----
|
||||||
The available types are listed in the SEE ALSO section
|
The following types are available:
|
||||||
and are referenced as cdist-type__TYPENAME.
|
|
||||||
|
eof
|
||||||
|
|
||||||
|
for type in man7/cdist-type__*.text; do
|
||||||
|
no_dir="${type#man7/}";
|
||||||
|
no_type="${no_dir#cdist-type}";
|
||||||
|
name="${no_type%.text}";
|
||||||
|
man="${no_dir%.text}(7)"
|
||||||
|
|
||||||
|
echo "- $name" "($man)"
|
||||||
|
done
|
||||||
|
|
||||||
|
cat << eof
|
||||||
|
|
||||||
ENVIRONMENT VARIABLES
|
ENVIRONMENT VARIABLES
|
||||||
---------------------
|
---------------------
|
||||||
|
@ -172,16 +184,7 @@ __type_explorers::
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
--------
|
--------
|
||||||
- cdist(7)
|
- cdist(7)
|
||||||
eof
|
|
||||||
for type in man7/cdist-type__*.7; do
|
|
||||||
name_1="${type#man7/}"
|
|
||||||
name_2="${name_1%.7}"
|
|
||||||
|
|
||||||
name="$name_2"
|
|
||||||
echo "- ${name}(7)"
|
|
||||||
done
|
|
||||||
|
|
||||||
cat <<eof
|
|
||||||
|
|
||||||
COPYING
|
COPYING
|
||||||
-------
|
-------
|
||||||
|
|
|
@ -23,7 +23,7 @@ called stages. It is intented to run either from the command line or from cron.
|
||||||
ENVIRONMENT
|
ENVIRONMENT
|
||||||
-----------
|
-----------
|
||||||
If the environment variable **__cdist_conf_dir** is not set, the
|
If the environment variable **__cdist_conf_dir** is not set, the
|
||||||
configuration is read from /etc/cdist. The local output directory can
|
configuration is read from <git-checkout>/conf. The local output directory can
|
||||||
be changed by the variable **__cdist_local_base_dir**. All environment
|
be changed by the variable **__cdist_local_base_dir**. All environment
|
||||||
variables are handled by cdist-config.
|
variables are handled by cdist-config.
|
||||||
|
|
||||||
|
|
41
doc/man/man1/cdist-mass-deploy.text
Normal file
41
doc/man/man1/cdist-mass-deploy.text
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
cdist-mass-deploy(1)
|
||||||
|
====================
|
||||||
|
Nico Schottelius <nico-cdist--@--schottelius.org>
|
||||||
|
|
||||||
|
|
||||||
|
NAME
|
||||||
|
----
|
||||||
|
cdist-mass-deploy - Deploy configuration to many hosts
|
||||||
|
|
||||||
|
|
||||||
|
SYNOPSIS
|
||||||
|
--------
|
||||||
|
cdist-mass-deploy [-p] HOSTNAME [HOSTNAME ...]
|
||||||
|
|
||||||
|
|
||||||
|
DESCRIPTION
|
||||||
|
-----------
|
||||||
|
cdist-mass-deploy is essentially a wrapper around cdist-deploy-to to
|
||||||
|
be able to deploy to many hosts on one command line.
|
||||||
|
|
||||||
|
|
||||||
|
EXAMPLES
|
||||||
|
--------
|
||||||
|
Deploy in parallel to all hosts specfied in the dsh group configuration ikr,
|
||||||
|
which is prefixed by "root@":
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
cdist-mass-deploy -p $(cat ~/.dsh/group/ikr | sed 's/^root@//')
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
SEE ALSO
|
||||||
|
--------
|
||||||
|
- cdist(7)
|
||||||
|
- cdist-deploy-to(1)
|
||||||
|
|
||||||
|
|
||||||
|
COPYING
|
||||||
|
-------
|
||||||
|
Copyright \(C) 2010-2011 Nico Schottelius. Free use of this software is
|
||||||
|
granted under the terms of the GNU General Public License version 3 (GPLv3).
|
31
doc/man/man1/cdist-object-all.text
Normal file
31
doc/man/man1/cdist-object-all.text
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
cdist-object-all(1)
|
||||||
|
===================
|
||||||
|
Steven Armstrong <steven-cdist--@--armstrong.cc>
|
||||||
|
|
||||||
|
|
||||||
|
NAME
|
||||||
|
----
|
||||||
|
cdist-object-all - Run the given command on all objects
|
||||||
|
|
||||||
|
|
||||||
|
SYNOPSIS
|
||||||
|
--------
|
||||||
|
cdist-object-all HOSTNAME COMMAND
|
||||||
|
|
||||||
|
|
||||||
|
DESCRIPTION
|
||||||
|
-----------
|
||||||
|
Iterates over all defined objects and executes the given command on each
|
||||||
|
of them.
|
||||||
|
|
||||||
|
|
||||||
|
SEE ALSO
|
||||||
|
--------
|
||||||
|
- cdist(7)
|
||||||
|
- cdist-type(1)
|
||||||
|
|
||||||
|
|
||||||
|
COPYING
|
||||||
|
-------
|
||||||
|
Copyright \(C) 2011 Steven Armstrong. Free use of this software is
|
||||||
|
granted under the terms of the GNU General Public License version 3 (GPLv3).
|
|
@ -21,7 +21,7 @@ Execute the local and remote code for the given object.
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
--------
|
--------
|
||||||
- cdist(7)
|
- cdist(7)
|
||||||
- cdist-object-run-all(1)
|
- cdist-object-run(1)
|
||||||
- cdist-code-run(1)
|
- cdist-code-run(1)
|
||||||
- cdist-run-remote(1)
|
- cdist-run-remote(1)
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ SEE ALSO
|
||||||
--------
|
--------
|
||||||
- cdist(7)
|
- cdist(7)
|
||||||
- cdist-code-run(1)
|
- cdist-code-run(1)
|
||||||
- cdist-object-run-all(1)
|
- cdist-object-run(1)
|
||||||
- cdist-object-gencode(1)
|
- cdist-object-gencode(1)
|
||||||
|
|
||||||
|
|
||||||
|
|
35
doc/man/man1/cdist-object-prepare.text
Normal file
35
doc/man/man1/cdist-object-prepare.text
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
cdist-object-prepare(1)
|
||||||
|
=======================
|
||||||
|
Steven Armstrong <steven-cdist--@--armstrong.cc>
|
||||||
|
|
||||||
|
|
||||||
|
NAME
|
||||||
|
----
|
||||||
|
cdist-object-prepare - Prepare an object
|
||||||
|
|
||||||
|
|
||||||
|
SYNOPSIS
|
||||||
|
--------
|
||||||
|
cdist-object-prepare HOSTNAME OBJECT
|
||||||
|
|
||||||
|
|
||||||
|
DESCRIPTION
|
||||||
|
-----------
|
||||||
|
Prepare the given object by running it through stage 3 (object information
|
||||||
|
retrieval) and stage 4 (run the object manifest).
|
||||||
|
See related man pages for details.
|
||||||
|
|
||||||
|
|
||||||
|
SEE ALSO
|
||||||
|
--------
|
||||||
|
- cdist(7)
|
||||||
|
- cdist-stages(7)
|
||||||
|
- cdist-object-explorer-run(1)
|
||||||
|
- cdist-object-manifest-run(1)
|
||||||
|
- cdist-type(1)
|
||||||
|
|
||||||
|
|
||||||
|
COPYING
|
||||||
|
-------
|
||||||
|
Copyright \(C) 2011 Steven Armstrong. Free use of this software is granted
|
||||||
|
under the terms of the GNU General Public License version 3 (GPLv3).
|
|
@ -21,7 +21,7 @@ Transfers the given object to the target host.
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
--------
|
--------
|
||||||
- cdist(7)
|
- cdist(7)
|
||||||
- cdist-object-run-all(1)
|
- cdist-object-run(1)
|
||||||
- cdist-type(1)
|
- cdist-type(1)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,33 +0,0 @@
|
||||||
cdist-object-run-all(1)
|
|
||||||
=======================
|
|
||||||
Nico Schottelius <nico-cdist--@--schottelius.org>
|
|
||||||
|
|
||||||
|
|
||||||
NAME
|
|
||||||
----
|
|
||||||
cdist-object-run-all - Run all created objects on the target host
|
|
||||||
|
|
||||||
|
|
||||||
SYNOPSIS
|
|
||||||
--------
|
|
||||||
cdist-object-run-all HOSTNAME
|
|
||||||
|
|
||||||
|
|
||||||
DESCRIPTION
|
|
||||||
-----------
|
|
||||||
Transfers type explorers to the target then runs cdist-object-run(1)
|
|
||||||
for each created object.
|
|
||||||
|
|
||||||
|
|
||||||
SEE ALSO
|
|
||||||
--------
|
|
||||||
- cdist(7)
|
|
||||||
- cdist-type-explorer-push(1)
|
|
||||||
- cdist-object-run(1)
|
|
||||||
- cdist-type(1)
|
|
||||||
|
|
||||||
|
|
||||||
COPYING
|
|
||||||
-------
|
|
||||||
Copyright \(C) 2011 Nico Schottelius, Steven Armstrong. Free use of this software is
|
|
||||||
granted under the terms of the GNU General Public License version 3 (GPLv3).
|
|
|
@ -1,6 +1,6 @@
|
||||||
cdist-object-run(1)
|
cdist-object-run(1)
|
||||||
===================
|
===================
|
||||||
Nico Schottelius <nico-cdist--@--schottelius.org>
|
Steven Armstrong <steven-cdist--@--armstrong.cc>
|
||||||
|
|
||||||
|
|
||||||
NAME
|
NAME
|
||||||
|
@ -15,15 +15,15 @@ cdist-object-run HOSTNAME OBJECT
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
Runs the given object on the given target host.
|
Applies the given object on the target host by running it through stage 5
|
||||||
The different subtasks are dispatched to specialized exectuables.
|
(code generation) and stage 6 (code execution).
|
||||||
See related man pages for details.
|
See related man pages for details.
|
||||||
|
|
||||||
|
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
--------
|
--------
|
||||||
- cdist(7)
|
- cdist(7)
|
||||||
- cdist-object-explorer-run(1)
|
- cdist-stages(7)
|
||||||
- cdist-object-gencode-run(1)
|
- cdist-object-gencode-run(1)
|
||||||
- cdist-object-push(1)
|
- cdist-object-push(1)
|
||||||
- cdist-object-code-run(1)
|
- cdist-object-code-run(1)
|
||||||
|
@ -32,5 +32,5 @@ SEE ALSO
|
||||||
|
|
||||||
COPYING
|
COPYING
|
||||||
-------
|
-------
|
||||||
Copyright \(C) 2011 Nico Schottelius, Steven Armstrong. Free use of this software is
|
Copyright \(C) 2011 Steven Armstrong. Free use of this software is
|
||||||
granted under the terms of the GNU General Public License version 3 (GPLv3).
|
granted under the terms of the GNU General Public License version 3 (GPLv3).
|
||||||
|
|
|
@ -11,8 +11,8 @@ DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
Starting the execution of deployment with cdist-deploy-to(1), cdist passes
|
Starting the execution of deployment with cdist-deploy-to(1), cdist passes
|
||||||
through different stages, each can be triggered and debugged on its own.
|
through different stages, each can be triggered and debugged on its own.
|
||||||
Reading the source of the cdist-deploy-to and cdist-object-run-all executables
|
Reading the source of the cdist-deploy-to executable shows the scripts
|
||||||
shows the scripts responsible for each stage.
|
responsible for each stage.
|
||||||
|
|
||||||
|
|
||||||
STAGE 0: INTERNAL PREPERATION
|
STAGE 0: INTERNAL PREPERATION
|
||||||
|
@ -56,7 +56,7 @@ STAGE 3: OBJECT INFORMATION RETRIEVAL
|
||||||
-------------------------------------
|
-------------------------------------
|
||||||
Every object is checked whether its type has explorers and if so, these are
|
Every object is checked whether its type has explorers and if so, these are
|
||||||
transfered to the target host and executed. The results are transfered back
|
transfered to the target host and executed. The results are transfered back
|
||||||
and can be used in the following stages to decide what changes need to made
|
and can be used in the following stages to decide what changes need to be made
|
||||||
on the target to implement the desired state.
|
on the target to implement the desired state.
|
||||||
|
|
||||||
Related documentation:
|
Related documentation:
|
||||||
|
@ -68,10 +68,9 @@ Related documentation:
|
||||||
|
|
||||||
STAGE 4: RUN THE OBJECT MANIFEST
|
STAGE 4: RUN THE OBJECT MANIFEST
|
||||||
--------------------------------
|
--------------------------------
|
||||||
Every object is checked whether its type has a manifest file. If the type has
|
Every object is checked whether its type has a executable manifest. The
|
||||||
a manifest file and it is executable, it will be executed. The manifest script
|
manifest script may generate and change the created objects. In other words,
|
||||||
may generate and change the created objects. In other words, one type can reuse
|
one type can reuse other types.
|
||||||
other types.
|
|
||||||
|
|
||||||
For instance the object __apache/www.test.ch is of type __apache, which may
|
For instance the object __apache/www.test.ch is of type __apache, which may
|
||||||
contain a manifest script, which creates new objects of type __file.
|
contain a manifest script, which creates new objects of type __file.
|
||||||
|
@ -88,11 +87,10 @@ Related documentation:
|
||||||
|
|
||||||
STAGE 5: CODE GENERATION
|
STAGE 5: CODE GENERATION
|
||||||
------------------------
|
------------------------
|
||||||
In this stage for every created objects its type is checked whether it has a
|
In this stage for every created object its type is checked for executable
|
||||||
gencode script. If the type has a gencode script and it is executable it will
|
gencode scripts. The gencode scripts generate the code to be executed on the
|
||||||
be executed. This executable should create code to be executed on the target
|
target on stdout. If the gencode executables fail, they must print diagnostic
|
||||||
on stdout. If the gencode executable fails, it must print diagnostic messages
|
messages on stderr and exit non-zero.
|
||||||
on stderr and exit non-zero.
|
|
||||||
|
|
||||||
Related documentation:
|
Related documentation:
|
||||||
- cdist-object-gencode-run(1)
|
- cdist-object-gencode-run(1)
|
||||||
|
|
Loading…
Reference in a new issue