summaryrefslogtreecommitdiffstats
path: root/doc/deployment.xml
diff options
context:
space:
mode:
Diffstat (limited to 'doc/deployment.xml')
-rw-r--r--doc/deployment.xml214
1 files changed, 4 insertions, 210 deletions
diff --git a/doc/deployment.xml b/doc/deployment.xml
index d687ea187..1114589d3 100644
--- a/doc/deployment.xml
+++ b/doc/deployment.xml
@@ -52,58 +52,6 @@
ports.
</para>
- <variablelist>
- <varlistentry>
- <term>Package</term>
- <listitem>
- <para>
- A software package. This entity includes a package name
- and version number. It may optionally include installation
- information (such as a package source URL) if one is
- needed.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>ConfigFile</term>
- <listitem>
- <para>
- A configuration file. This entity includes a file path,
- owner, group, permissions, and file contents.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>SymLink</term>
- <listitem>
- <para>
- A symbolic link. This entity includes a source and
- destination.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>Service</term>
- <listitem>
- <para>
- A service (de)activation. This controls services, a la
- chkconfig or update-rc.d. Services are restarted
- whenever co-located configuration entities are
- modified. This ensures that any configuration changes
- are flushed out to all active processes.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>Directory</term>
- <listitem>
- <para>
- A filesystem directory. This entity includes an owner,
- group and permissions.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
</section>
<section>
@@ -129,166 +77,12 @@
</section>
<section>
- <title>Object Oriented Configs</title>
- <para>
- One of the most powerful and useful parts about bcfg2 metadata
- system is the ability to have truely Object Oriented configs. I
- have found that this has made me understand the machines I am
- managing in a whole new light. Instead of focusing on what is
- installed, I now focus on how machines relate to each other, or
- what pieces of the metadata are similar in their configs. To
- illistrate this think about the following example machines:
- </para>
-
- <itemizedlist>
- <listitem><para>A users desktop machine</para></listitem>
- <listitem><para>A multiuser compute machine</para></listitem>
- <listitem><para>A users home machine. (telecommuter)</para></listitem>
- </itemizedlist>
- <para>
- These 3 machines have 3 distinct focuses for usage, but in reality
- they can have a very similar metadata, depending on how the config is
- broken up or the view that is taken of the config. If you focus first
- on where the machines are the same it will help to build the common
- metadata. below is what all 3 machines have in common:
- </para>
- <itemizedlist>
- <listitem><para>users need to have the software they need to perform
- there work. </para></listitem>
- </itemizedlist>
- <para>
- let just encode this into metadata by creating a Class called
- common-software that contains all the common software between all 3
- machines.
- </para>
- <programlisting>
- <![CDATA[
- <Class name='common-software'>
- <Bundle ... />
- ....
- </Class>
- ]]>
- </programlisting>
- <para>
- now we need to find where they differ:
- </para>
- <variablelist>
- <varlistentry>
- <term>Desktop machines</term>
- <listitem>
- <itemizedlist>
- <listitem>
- <para>need to have a GUI interface( Xwindows or what not )</para>
- </listitem>
- <listitem>
- <para>use NIS for authentification</para>
- </listitem>
- <listitem>
- <para>use Autofs to mount home directories</para>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>Multiuser compute machines</term>
- <listitem>
- <itemizedlist>
- <listitem>
- <para>only accessible by SSH, No GUI interface</para>
- </listitem>
- <listitem>
- <para>use NIS for authentification</para>
- </listitem>
- <listitem>
- <para>use Autofs to mount home directories</para>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>Home machine</term>
- <listitem>
- <itemizedlist>
- <listitem>
- <para>need to have a GUI interface( Xwindows or what not )</para>
- </listitem>
- <listitem>
- <para>use static password file</para>
- </listitem>
- <listitem>
- <para>use local disk for home directories</para>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
- </variablelist>
- <para>
- As you can see that there are common things pairwise in these configs
- that can be further exploited by the object oriented system of bcfg2
- </para>
- <programlisting>
- <![CDATA[
- <Class name="Gui-Interface">
- <Bundle ... />
- ...
- </Class>
- <Class name="NIS-Autofs">
- <Bundle ... />
- ...
- </Class>
- ]]>
- </programlisting>
- <para>
- now all that is left is to ensure that all needs are met and we find
- we need to make one more class:
- </para>
- <programlisting>
- <![CDATA[
- <Class name="static-password-local-disk">
- <Bundle ... />
- ...
- </Class>
- ]]>
- </programlisting>
- <para>
- Now we can mix and match these classes together to build the 3
- profiles or even build new profiles with these descrete entities.
- </para>
- <programlisting>
- <![CDATA[
- <Profile name='desktop'>
- <Class name='common-software'/>
- <Class name="Gui-Interface"/>
- <Class name="NIS-Autofs">
- </Profile>
- <Profile name='computerserver'>
- <Class name='common-software'/>
- <Class name="NIS-Autofs">
- </Profile>
- <Profile name='home-desktop'>
- <Class name='common-software'/>
- <Class name="Gui-Interface"/>
- <Class name="static-password-local-disk">
- </Profile>
- <Profile name='bare-system'>
- <Class name='common-software'/>
- </Profile>
- ]]>
- </programlisting>
- <para>
- The free form object oriented fashion in which metadata can be
- constructed is truely a double edge sword. On one hand you can build
- up a nice list of descrete entities that can compose even the most
- complicated configs, but it also allows for the creation of entities
- that could provide monolithic solutions to each machines config. It is
- all in how one views the machines and how much they are willing to
- harness the power of the OO based metadata system.
- </para>
- </section>
- <section>
- <title>Tips & Tricks</title>
+ <title>Bcfg2 Server Administration</title>
+
<para/>
+
</section>
+
<section>
<title>An example application of bcfg2</title>
<para>