Author: sandervanderburg
Date: Tue Sep  7 16:04:30 2010
New Revision: 23678
URL: https://svn.nixos.org/websvn/nix/?rev=23678&sc=1

Log:
Added an overview section to the manual and some tweaks

Added:
   disnix/disnix/trunk/doc/manual/model.dia   (contents, props changed)
   disnix/disnix/trunk/doc/manual/model.png   (contents, props changed)
   disnix/disnix/trunk/doc/manual/overview.xml
Modified:
   disnix/disnix/trunk/doc/manual/Makefile.am
   disnix/disnix/trunk/doc/manual/introduction.xml
   disnix/disnix/trunk/doc/manual/manual.xml

Modified: disnix/disnix/trunk/doc/manual/Makefile.am
==============================================================================
--- disnix/disnix/trunk/doc/manual/Makefile.am  Tue Sep  7 15:12:41 2010        
(r23677)
+++ disnix/disnix/trunk/doc/manual/Makefile.am  Tue Sep  7 16:04:30 2010        
(r23678)
@@ -13,7 +13,9 @@
  -P doc.collab.show=0 \
  -P latex.output.revhistory=0
 
-MANUAL_SRCS = manual.xml introduction.xml installation.xml
+FIGURES = model.png
+
+MANUAL_SRCS = manual.xml introduction.xml overview.xml installation.xml
 
 version.txt:
        echo -n $(VERSION) > version.txt
@@ -40,9 +42,10 @@
 install-data-local: manual.html
        $(INSTALL) -d $(DESTDIR)$(docdir)/manual
        $(INSTALL_DATA) manual.html $(DESTDIR)$(docdir)/manual
+       $(INSTALL_DATA) $(FIGURES) $(DESTDIR)$(docdir)/manual
 
 KEEP = manual.html manual.is-valid version.txt
 
-EXTRA_DIST = $(MANUAL_SRCS) $(KEEP)
+EXTRA_DIST = $(MANUAL_SRCS) $(FIGURES) $(KEEP)
 
 DISTCLEANFILES = $(KEEP)

Modified: disnix/disnix/trunk/doc/manual/introduction.xml
==============================================================================
--- disnix/disnix/trunk/doc/manual/introduction.xml     Tue Sep  7 15:12:41 
2010        (r23677)
+++ disnix/disnix/trunk/doc/manual/introduction.xml     Tue Sep  7 16:04:30 
2010        (r23678)
@@ -5,12 +5,7 @@
 <title>Introduction</title>
 
 <para>
-Disnix is a distributed deployment extension for Nix,
-a purely functional package manager.
-</para>
-
-<para>
-Nix has various advantages
+Nix is a purely function packager, which has various advantages
 over conventional package managers, such as the option to install
 multiple versions or variants of components safely next to each
 other, a declarative language to specify how to build a component,
@@ -18,6 +13,8 @@
 </para>
 
 <para>
+Disnix is a distributed deployment extension for the
+Nix package manager.
 Disnix reuses the Nix package manager for local deployment and
 extends the deployment concepts to distributed systems.
 </para>
@@ -34,12 +31,13 @@
 systems.
 </para>
 <para>
-Disnix requires three models each capturing a specific concern
-in deploying a distributed system. The services model is used
+Disnix requires three models, each capturing a specific concern
+in deploying a distributed system. The <emphasis>services</emphasis> model is 
used
 for specifying the components of a distributed system and
-its inter-dependencies. The infrastructure model is used for
+its inter-dependencies.
+The <emphasis>infrastructure model</emphasis> is used for
 specifying the network of machines and their relevant properties.
-The distribution model is used to map services to machines
+The <emphasis>distribution</emphasis> model is used to map services to machines
 in the network.
 </para>
 </simplesect>
@@ -121,6 +119,7 @@
 a distributed system into a heterogeneous network (i.e. a network consisting
 of various types of machines, running different operating systems). Disnix 
reuses
 Nix to automatically build a component for the given target platform.
+Optionally, it can also perform builds on target machines in the network.
 </para>
 
 </simplesect>
@@ -137,7 +136,7 @@
 a plugin architecture which can be used to integrate
 custom developed components used for the activation and deactivation of 
services,
 and a custom plugin that provides access to deployment operations through
-a specific interfaces.
+specific interfaces.
 </para>
 
 <para>

Modified: disnix/disnix/trunk/doc/manual/manual.xml
==============================================================================
--- disnix/disnix/trunk/doc/manual/manual.xml   Tue Sep  7 15:12:41 2010        
(r23677)
+++ disnix/disnix/trunk/doc/manual/manual.xml   Tue Sep  7 16:04:30 2010        
(r23678)
@@ -29,5 +29,6 @@
   </info>
   
   <xi:include href="introduction.xml" />
+  <xi:include href="overview.xml" />
   <xi:include href="installation.xml" />    
 </book>

Added: disnix/disnix/trunk/doc/manual/model.dia
==============================================================================
Binary file. No diff available.

Added: disnix/disnix/trunk/doc/manual/model.png
==============================================================================
Binary file. No diff available.

Added: disnix/disnix/trunk/doc/manual/overview.xml
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ disnix/disnix/trunk/doc/manual/overview.xml Tue Sep  7 16:04:30 2010        
(r23678)
@@ -0,0 +1,66 @@
+<chapter xmlns="http://docbook.org/ns/docbook";
+         xmlns:xlink="http://www.w3.org/1999/xlink";
+         xml:id="chap-overview">
+
+<title>Overview</title>
+
+<mediaobject>
+<imageobject>
+<imagedata fileref="model.png" format="PNG"/>
+</imageobject>
+</mediaobject>
+
+<para>
+The figure above shows the concept of Disnix in a nutshell.
+In the center of the figure the <command>disnix-env</command>
+command line tool is shown, which performs the complete deployment
+process of a distributed system.
+The tool requires three models as input parameters, which are shown
+on the left part of the figure.
+The <emphasis>services</emphasis> model describes of which distributable
+components the system consists, their inter-dependencies and their types.
+The service model has a reference to the file 
<command>all-packages.nix</command>,
+which captures all the intra-dependencies of every service and all the local 
dependencies,
+such as libraries, configuration files and compilers.
+The <emphasis>infrastructure</emphasis> model describes all the machines
+in the network and their relevant properties and capabilities.
+The <emphasis>distribution</emphasis> model maps services defined
+in the services model.
+On the right part of the figure, the network is shown in which the system
+has to be deployed. Every machine in the network requires the
+<emphasis>DisnixService</emphasis> component installed, so that
+remote deployment steps can be performed from the coordinator machine.
+</para>
+
+<para>
+The machine on which <command>disnix-env</command> is executed is called
+the <emphasis>coordinator</emphasis> machine. The machines in the network
+are called <emphasis>targets</emphasis>.
+</para>
+
+<para>
+By writing instances of the specifications shown above and by running the 
following command:
+</para>
+
+<para>
+<command>disnix-env -s services.nix -i infrastructure.nix -d 
distribution.nix</command>
+</para>
+
+<para>
+All the services that are defined in the distribution model are built from 
source code,
+then transferred to the machines in the network and finally activated in the 
right order.
+By adapting one of the models and by running <command>disnix-env</command> 
again,
+an upgrade is performed. In this case only services that are changed are built 
from
+source code, only components that have to be upgraded are transferred to target
+machines and only changed services are deactivated and activated (also in the 
right
+order), making this phase efficient and reliable.
+</para>
+
+<para>
+Since the coordinator machine may be of a different type as one of the 
machines in the
+network, it may not be able to compile a service on the coordinator for the 
given target platform.
+In those cases, Disnix can also compile a service on a target machine in the 
network,
+which is achieved by specifying the <command>--build-on-targets</command> 
option.
+</para>
+
+</chapter>
_______________________________________________
nix-commits mailing list
[email protected]
http://mail.cs.uu.nl/mailman/listinfo/nix-commits

Reply via email to