summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/server/index.txt5
-rw-r--r--doc/server/plugins/structures/bundler/index.txt17
-rw-r--r--doc/server/plugins/structures/bundler/kernel.txt78
-rw-r--r--doc/server/plugins/structures/bundler/moab.txt19
-rw-r--r--doc/server/plugins/structures/bundler/nagios.txt59
-rw-r--r--doc/server/plugins/structures/bundler/ntp.txt21
-rw-r--r--doc/server/plugins/structures/bundler/snmpd.txt17
-rw-r--r--doc/server/plugins/structures/bundler/torque.txt49
-rw-r--r--doc/server/plugins/structures/bundler/yp.txt32
9 files changed, 293 insertions, 4 deletions
diff --git a/doc/server/index.txt b/doc/server/index.txt
index 6e7f82693..17143dfe6 100644
--- a/doc/server/index.txt
+++ b/doc/server/index.txt
@@ -11,3 +11,8 @@ Bcfg2 Server
plugins/index
reports/index
+
+.. toctree::
+ :hidden:
+
+ configurationentries
diff --git a/doc/server/plugins/structures/bundler/index.txt b/doc/server/plugins/structures/bundler/index.txt
index 2f4275a96..d4a2cc2d1 100644
--- a/doc/server/plugins/structures/bundler/index.txt
+++ b/doc/server/plugins/structures/bundler/index.txt
@@ -204,7 +204,16 @@ The latter form is preferred if the if block contains multiple
files. While this example is simple, the test in the if block can in
fact be any python statement.
-Examples
---------
-
-See [wiki:Plugins/Bundler/examples this] page for more Bundler examples.
+Other examples
+==============
+
+.. toctree::
+ :maxdepth: 1
+
+ kernel
+ moab
+ nagios
+ ntp
+ snmpd
+ torque
+ yp
diff --git a/doc/server/plugins/structures/bundler/kernel.txt b/doc/server/plugins/structures/bundler/kernel.txt
new file mode 100644
index 000000000..2e3d84e93
--- /dev/null
+++ b/doc/server/plugins/structures/bundler/kernel.txt
@@ -0,0 +1,78 @@
+.. -*- mode: rst -*-
+
+.. _server-plugins-structures-bundler-kernel:
+
+kernel
+======
+
+This is a rather complex Bundle for the Linux kernel from a system with
+a history of complexity. There are two kernel versions present on the
+systems at all times (the current and the previous), so the package
+names all contain versioning information. This includes kernel-specific
+modules for various specialties - ``gm`` for Myrinet boards, ``gpfs``
+and ``pvfs`` for storage clients, and ``nvidia`` modules for machines
+with Nvidia cards. Note that only the ``ia32`` machines have Nvidia
+cards in them, and thus those entries only exist in that section.
+
+It is easy to see that there is duplication of effort between the
+two architectures - both have the same ``linux`` package entry names,
+for example. This Bundle could be arranged in many different ways,
+some of which might be better than this one. Feel free to hack as needed.
+
+.. code-block:: xml
+
+ <Bundle name='kernel' version='2.0'>
+ <Group name='sles8'>
+ <!-- =================== ia32 ==================== -->
+ <Group name='ia32'>
+ <Path name='/etc/lilo.conf'/>
+ <Path name='/boot/vmlinuz'/>
+ <Path name='/boot/initrd'/>
+ <Path name='/boot/vmlinuz.old'/>
+ <Path name='/boot/initrd.old'/>
+ <PostInstall name='/sbin/lilo'/>
+ <!-- Current kernel -->
+ <Package name='linux-2.4.21-314.tg1'/>
+ <Package name='linux-2.4.21-314.tg1-source'/>
+ <!-- Old kernel -->
+ <Package name='linux-2.4.21-309.tg1'/>
+ <Group name='gm'>
+ <Package name='gm-kernel-2.4.21-314.tg1'/>
+ <Package name='gm-kernel-2.4.21-309.tg1'/>
+ </Group>
+ <Group name='storage-client'>
+ <!-- Current kernel -->
+ <Package name='gpfs-modules-2.4.21-314.tg1'/>
+ <Package name='pvfs2-kernel-2.4.21-314.tg1'/>
+ <!-- Old kernel -->
+ <Package name='gpfs-modules-2.4.21-309.tg1'/>
+ <Package name='pvfs2-kernel-2.4.21-309.tg1'/>
+ </Group>
+ <Group name='nvidia'>
+ <Package name='NVIDIA-kernel-2.4.21-314.tg1'/>
+ <Package name='NVIDIA-kernel-2.4.21-309.tg1'/>
+ </Group>
+ </Group>
+ <!-- =================== ia64 ==================== -->
+ <Group name='ia64'>
+ <Path name='/boot/efi/SuSE/elilo.conf'/>
+ <!-- Current kernel -->
+ <Package name='linux-2.4.21-314.tg1'/>
+ <Package name='linux-2.4.21-314.tg1-source'/>
+ <!-- Old kernel -->
+ <Package name='linux-2.4.21-309.tg1'/>
+ <Group name='gm'>
+ <Package name='gm-kernel-2.4.21-314.tg1'/>
+ <Package name='gm-kernel-2.4.21-309.tg1'/>
+ </Group>
+ <Group name='storage-client'>
+ <!-- Current kernel -->
+ <Package name='gpfs-modules-2.4.21-314.tg1'/>
+ <Package name='pvfs2-kernel-2.4.21-314.tg1'/>
+ <!-- Old kernel -->
+ <Package name='gpfs-modules-2.4.21-309.tg1'/>
+ <Package name='pvfs2-kernel-2.4.21-309.tg1'/>
+ </Group>
+ </Group>
+ </Group>
+ </Bundle>
diff --git a/doc/server/plugins/structures/bundler/moab.txt b/doc/server/plugins/structures/bundler/moab.txt
new file mode 100644
index 000000000..e0d96be74
--- /dev/null
+++ b/doc/server/plugins/structures/bundler/moab.txt
@@ -0,0 +1,19 @@
+.. -*- mode: rst -*-
+
+.. _server-plugins-structures-bundler-moab:
+
+moab
+====
+
+This is a fairly simple Bundle for the Moab workload manager.
+
+.. code-block:: xml
+
+ <Bundle name='moab' version='2.0'>
+ <Path name='/var/spool/moab'/>
+ <Path name='/var/spool/moab/moab.cfg'/>
+ <Group name='moab-server'>
+ <Path name='/etc/init.d/moab'/>
+ <Service name='moab'/>
+ </Group>
+ </Bundle>
diff --git a/doc/server/plugins/structures/bundler/nagios.txt b/doc/server/plugins/structures/bundler/nagios.txt
new file mode 100644
index 000000000..fa5b67f30
--- /dev/null
+++ b/doc/server/plugins/structures/bundler/nagios.txt
@@ -0,0 +1,59 @@
+.. -*- mode: rst -*-
+
+.. _server-plugins-structures-bundler-nagios:
+
+nagios
+======
+
+A Bundle for the Nagios service. This Bundle installs all of our local
+Nagios plugins, takes into account that the SNMP package changed names
+between SLES 8 and SLES 9, and works on both the Nagios server and
+the clients.
+
+.. code-block:: xml
+
+ <Bundle name='nagios-client' version='2.0'>
+ <Group name='sles8'>
+ <Package name='ucdsnmp'/>
+ </Group>
+ <Group name='sles9'>
+ <Package name='net-snmp'/>
+ </Group>
+ <Package name='nagios-plugins'/>
+ <Package name='perl-SNMP'/>
+ <Package name='radiusclient' />
+ <Package name='postgresql-libs' />
+ <Package name='mysql-shared' />
+ <Path name='/etc/hosts.deny'/>
+ <Path name='/etc/services'/>
+ <Path name='/etc/snmpd.conf'/>
+ <Path name='/usr/lib/nagios/plugins/check_disks_scratchgpfs1.tg'/>
+ <Path name='/usr/lib/nagios/plugins/check_fs.mds'/>
+ <Path name='/usr/lib/nagios/plugins/check_gm_network.tg'/>
+ <Path name='/usr/lib/nagios/plugins/check_gpfs_wan.tg'/>
+ <Path name='/usr/lib/nagios/plugins/check_hung_jobs.tg'/>
+ <Path name='/usr/lib/nagios/plugins/check_mem.mds'/>
+ <Path name='/usr/lib/nagios/plugins/check_mem.tg'/>
+ <Path name='/usr/lib/nagios/plugins/check_nvidia_acceleration.tg'/>
+ <Path name='/usr/lib/nagios/plugins/check_os.mds'/>
+ <Path name='/usr/lib/nagios/plugins/check_procinfo.mds'/>
+ <Path name='/usr/lib/nagios/plugins/check_torque.tg'/>
+ <Path name='/usr/lib/nagios/plugins/check_uname_r.tg'/>
+ <Path name='/usr/lib/nagios/plugins/check_uname_r.tg.conf'/>
+ <Service name='snmpd'/>
+ <Group name='nagios-server'>
+ <Package name='nagios'/>
+ <Package name='nagios-devel'/>
+ <Package name='nagios-www'/>
+ <Path name='/etc/httpd/conf.d/nagios.conf'/>
+ <Path name='/etc/nagios/cgi.cfg'/>
+ <Path name='/etc/nagios/checkcommands.cfg'/>
+ <Path name='/etc/nagios/nagios.cfg'/>
+ <Path name='/etc/nagios/resource.cfg'/>
+ </Group>
+ </Bundle>
+
+.. note::
+
+ You may also want to have a look at the :ref:`NagiosGen
+ <server-plugins-generators-nagiosgen>` plugin.
diff --git a/doc/server/plugins/structures/bundler/ntp.txt b/doc/server/plugins/structures/bundler/ntp.txt
new file mode 100644
index 000000000..b1264b5ee
--- /dev/null
+++ b/doc/server/plugins/structures/bundler/ntp.txt
@@ -0,0 +1,21 @@
+.. -*- mode: rst -*-
+
+.. _server-plugins-structures-bundler-ntp:
+
+ntp
+===
+
+Despite its lack of groups, this Bundle controls both ``ntp`` servers
+and clients. It does this through the use of host-specific entries in the
+``Cfg`` repository. It is left as an exercise for the reader to do this
+better through use of groups.
+
+.. code-block:: xml
+
+ <Bundle name='ntp'>
+ <Package name='xntp'/>
+ <Path name='/etc/sysconfig/xntp'/>
+ <Path name='/etc/sysconfig/clock'/>
+ <Path name='/etc/ntp.conf'/>
+ <Service name='xntpd'/>
+ </Bundle>
diff --git a/doc/server/plugins/structures/bundler/snmpd.txt b/doc/server/plugins/structures/bundler/snmpd.txt
new file mode 100644
index 000000000..2318f8ca1
--- /dev/null
+++ b/doc/server/plugins/structures/bundler/snmpd.txt
@@ -0,0 +1,17 @@
+.. -*- mode: rst -*-
+
+.. _server-plugins-structures-bundler-snmpd:
+
+snmpd
+=====
+
+A simple bundle for a SNMP daemon with a package, a service and a
+configuration file.
+
+.. code-block:: xml
+
+ <Bundle name="snmpd" version="3.0">
+ <Package name="snmpd"/>
+ <Service name="snmpd"/>
+ <Path name="/etc/snmp/snmpd.conf"/>
+ </Bundle>
diff --git a/doc/server/plugins/structures/bundler/torque.txt b/doc/server/plugins/structures/bundler/torque.txt
new file mode 100644
index 000000000..44e186541
--- /dev/null
+++ b/doc/server/plugins/structures/bundler/torque.txt
@@ -0,0 +1,49 @@
+.. -*- mode: rst -*-
+
+.. _server-plugins-structures-bundler-torque:
+
+torque
+======
+
+= torque.xml =
+
+A longer Bundle that includes many group-specific entries.
+
+.. code-block:: xml
+
+ <Bundle name='torque' version='1.0'>
+ <Service name='nfs'/>
+ <Service name='nfslock'/>
+ <BoundPath type='directory' owner='root' group='root' perms='0755' name='/var/spool/torque'/>
+ <BoundPath type='directory' owner='root' group='root' perms='0755' name='/var/spool/torque/spool'/>
+ <BoundPath type='directory' owner='root' group='root' perms='0755' name='/var/spool/torque/undelivered'/>
+ <Path name='/var/spool/torque/pbs_environment'/>
+ <Path name='/var/spool/torque/torque.server'/>
+ <Path name='/var/spool/torque/server_name'/>
+ <Service name='jumbo'/>
+ <Group name='torque-mom'>
+ <Service name='torque_mom'/>
+ <Path name='/etc/init.d/torque_mom'/>
+ <BoundPath type='directory' owner='root' group='root' perms='0755' name='/var/spool/torque/aux'/>
+ <BoundPath type='directory' owner='root' group='root' perms='0755' name='/var/spool/torque/checkpoint'/>
+ <BoundPath type='directory' owner='root' group='root' perms='0755' name='/var/spool/torque/mom_logs'/>
+ <BoundPath type='directory' owner='root' group='root' perms='0755' name='/var/spool/torque/mom_priv'/>
+ <BoundPath type='directory' owner='root' group='root' perms='0755' name='/var/spool/torque/mom_priv/jobs'/>
+ <Path name='/var/spool/torque/mom_priv/config'/>
+ <Path name='/var/spool/torque/mom_priv/prologue'/>
+ <Path name='/var/spool/torque/mom_priv/epilogue'/>
+ </Group>
+ <Group name='torque-server'>
+ <Service name='torque_server'/>
+ <Path name='/etc/init.d/torque_server'/>
+ <BoundPath type='directory' owner='root' group='root' perms='0755' name='/var/spool/torque/server_logs'/>
+ <BoundPath type='directory' owner='root' group='root' perms='0755' name='/var/spool/torque/server_priv'/>
+ <BoundPath type='directory' owner='root' group='root' perms='0755' name='/var/spool/torque/server_priv/accounting'/>
+ <BoundPath type='directory' owner='root' group='root' perms='0755' name='/var/spool/torque/server_priv/acl_groups'/>
+ <BoundPath type='directory' owner='root' group='root' perms='0755' name='/var/spool/torque/server_priv/acl_hosts'/>
+ <BoundPath type='directory' owner='root' group='root' perms='0755' name='/var/spool/torque/server_priv/acl_svr'/>
+ <BoundPath type='directory' owner='root' group='root' perms='0755' name='/var/spool/torque/server_priv/acl_users'/>
+ <BoundPath type='directory' owner='root' group='root' perms='0755' name='/var/spool/torque/server_priv/jobs'/>
+ <BoundPath type='directory' owner='root' group='root' perms='0755' name='/var/spool/torque/server_priv/queues'/>
+ </Group>
+ </Bundle>
diff --git a/doc/server/plugins/structures/bundler/yp.txt b/doc/server/plugins/structures/bundler/yp.txt
new file mode 100644
index 000000000..6eecb3304
--- /dev/null
+++ b/doc/server/plugins/structures/bundler/yp.txt
@@ -0,0 +1,32 @@
+.. -*- mode: rst -*-
+
+.. _server-plugins-structures-bundler-yp:
+
+yp
+==
+
+= yp.xml =
+
+Note that this Bundle includes **Group** sections. Toplevel elements
+go to anybody that includes this Bundle, but clients that belong to
+the **yp-client** and **yp-server** groups get their own specialized
+treatment too.
+
+.. code-block:: xml
+
+ <Bundle name='yp' version='2.0'>
+ <Package name='yp-tools'/>
+ <Path name='/etc/nsswitch.conf'/>
+ <Path name='/etc/yp.conf'/>
+ <Path name='/etc/defaultdomain'/>
+ <Group name='yp-client'>
+ <Package name='ypbind'/>
+ <Service name='ypbind'/>
+ <Service name='portmap'/>
+ </Group>
+ <Group name='yp-server'>
+ <Package name='ypserv'/>
+ <Service name='ypserv'/>
+ <Path name='/etc/ypserv.conf'/>
+ </Group>
+ </Bundle>