29 lines
7.1 KiB
HTML
29 lines
7.1 KiB
HTML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>cdist-stages(7)</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.76.1" /></head><body><div xml:lang="en" class="article" title="cdist-stages(7)" lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="idp25204032"></a>cdist-stages(7)</h2></div><div><div class="author"><h3 class="author"><span class="firstname">Nico</span> <span class="surname">Schottelius</span></h3><code class="email"><<a class="email" href="mailto:nico-cdist--@--schottelius.org">nico-cdist--@--schottelius.org</a>></code></div></div></div><hr /></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="#_name">1. NAME</a></span></dt><dt><span class="section"><a href="#_description">2. DESCRIPTION</a></span></dt><dt><span class="section"><a href="#_stage_1_target_information_retrieval">3. STAGE 1: TARGET INFORMATION RETRIEVAL</a></span></dt><dt><span class="section"><a href="#_stage_2_run_the_initial_manifest">4. STAGE 2: RUN THE INITIAL MANIFEST</a></span></dt><dt><span class="section"><a href="#_stage_3_object_information_retrieval">5. STAGE 3: OBJECT INFORMATION RETRIEVAL</a></span></dt><dt><span class="section"><a href="#_stage_4_run_the_object_manifest">6. STAGE 4: RUN THE OBJECT MANIFEST</a></span></dt><dt><span class="section"><a href="#_stage_5_code_generation">7. STAGE 5: CODE GENERATION</a></span></dt><dt><span class="section"><a href="#_stage_6_code_execution">8. STAGE 6: CODE EXECUTION</a></span></dt><dt><span class="section"><a href="#_stage_7_cache">9. STAGE 7: CACHE</a></span></dt><dt><span class="section"><a href="#_summary">10. SUMMARY</a></span></dt><dt><span class="section"><a href="#_see_also">11. SEE ALSO</a></span></dt><dt><span class="section"><a href="#_copying">12. COPYING</a></span></dt></dl></div><div class="section" title="1. NAME"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_name"></a>1. NAME</h2></div></div></div><p>cdist-stages - Stages used during configuration deployment</p></div><div class="section" title="2. DESCRIPTION"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_description"></a>2. DESCRIPTION</h2></div></div></div><p>Starting the execution of deployment with cdist, cdist passes
|
||
through different stages.</p></div><div class="section" title="3. STAGE 1: TARGET INFORMATION RETRIEVAL"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_stage_1_target_information_retrieval"></a>3. STAGE 1: TARGET INFORMATION RETRIEVAL</h2></div></div></div><p>In this stage information is collected about the target host using so called
|
||
explorers. Every existing explorer is run on the target and the output of all
|
||
explorers are copied back into the local cache. The results can be used by
|
||
manifests and types.</p></div><div class="section" title="4. STAGE 2: RUN THE INITIAL MANIFEST"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_stage_2_run_the_initial_manifest"></a>4. STAGE 2: RUN THE INITIAL MANIFEST</h2></div></div></div><p>The initial manifest, which should be used for mappings of hosts to types,
|
||
is executed. This stage creates objects in a cconfig database that contains
|
||
the objects as defined in the manifest for the specific host. In this stage,
|
||
no conflicts may occur, i.e. no object of the same type with the same id may
|
||
be created, if it has different parameters.</p></div><div class="section" title="5. STAGE 3: OBJECT INFORMATION RETRIEVAL"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_stage_3_object_information_retrieval"></a>5. STAGE 3: OBJECT INFORMATION RETRIEVAL</h2></div></div></div><p>Every object is checked whether its type has explorers and if so, these are
|
||
executed on the target host. The results are transfered back
|
||
and can be used in the following stages to decide what changes need to be made
|
||
on the target to implement the desired state.</p></div><div class="section" title="6. STAGE 4: RUN THE OBJECT MANIFEST"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_stage_4_run_the_object_manifest"></a>6. STAGE 4: RUN THE OBJECT MANIFEST</h2></div></div></div><p>Every object is checked whether its type has a executable manifest. The
|
||
manifest script may generate and change the created objects. In other words,
|
||
one type can reuse other types.</p><p>For instance the object <span class="emphasis"><em>apache/www.example.org is of type </em></span>apache, which may
|
||
contain a manifest script, which creates new objects of type __file.</p><p>The newly created objects are merged back into the existing tree. No conflicts
|
||
may occur during the merge. A conflict would mean that two different objects
|
||
try to create the same object, which indicates a broken configuration.</p></div><div class="section" title="7. STAGE 5: CODE GENERATION"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_stage_5_code_generation"></a>7. STAGE 5: CODE GENERATION</h2></div></div></div><p>In this stage for every created object its type is checked for executable
|
||
gencode scripts. The gencode scripts generate the code to be executed on the
|
||
target on stdout. If the gencode executables fail, they must print diagnostic
|
||
messages on stderr and exit non-zero.</p></div><div class="section" title="8. STAGE 6: CODE EXECUTION"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_stage_6_code_execution"></a>8. STAGE 6: CODE EXECUTION</h2></div></div></div><p>For every object the resulting code from the previous stage is transferred to
|
||
the target host and executed there to apply the configuration changes.</p></div><div class="section" title="9. STAGE 7: CACHE"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_stage_7_cache"></a>9. STAGE 7: CACHE</h2></div></div></div><p>The cache stores the information from the current run for later use.</p></div><div class="section" title="10. SUMMARY"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_summary"></a>10. SUMMARY</h2></div></div></div><p>If, and only if, all the stages complete without an errors, the configuration
|
||
will be applied to the target.</p></div><div class="section" title="11. SEE ALSO"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_see_also"></a>11. SEE ALSO</h2></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
|
||
cdist(1)
|
||
</li><li class="listitem">
|
||
cdist-reference(7)
|
||
</li></ul></div></div><div class="section" title="12. COPYING"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_copying"></a>12. COPYING</h2></div></div></div><p>Copyright (C) 2010-2012 Nico Schottelius, Steven Armstrong. Free use of this software is
|
||
granted under the terms of the GNU General Public License version 3 (GPLv3).</p></div></div></body></html>
|