summaryrefslogtreecommitdiffstats
path: root/genome-docs/genome-docs-1.0.0/en-US/MachineTypes.xml
diff options
context:
space:
mode:
authorChris Alfonso <calfonso@redhat.com>2008-07-07 17:20:43 -0400
committerChris Alfonso <calfonso@redhat.com>2008-07-08 10:43:59 -0400
commit40598cb7bfeb6b1042482fe91701770b179c1803 (patch)
tree57d9b019a845fbcf4a7fcb8ccbce836bfc45174c /genome-docs/genome-docs-1.0.0/en-US/MachineTypes.xml
parent9b9d481f6684777e90bb144193251244d14926ae (diff)
downloadtools-40598cb7bfeb6b1042482fe91701770b179c1803.tar.gz
tools-40598cb7bfeb6b1042482fe91701770b179c1803.tar.xz
tools-40598cb7bfeb6b1042482fe91701770b179c1803.zip
Renaming everying everest to genome
Diffstat (limited to 'genome-docs/genome-docs-1.0.0/en-US/MachineTypes.xml')
-rw-r--r--genome-docs/genome-docs-1.0.0/en-US/MachineTypes.xml249
1 files changed, 249 insertions, 0 deletions
diff --git a/genome-docs/genome-docs-1.0.0/en-US/MachineTypes.xml b/genome-docs/genome-docs-1.0.0/en-US/MachineTypes.xml
new file mode 100644
index 0000000..1105395
--- /dev/null
+++ b/genome-docs/genome-docs-1.0.0/en-US/MachineTypes.xml
@@ -0,0 +1,249 @@
+<?xml version='1.0'?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+
+<chapter id="genome-Machines">
+ <title>Genome Machines</title>
+
+ <section id="genome-appliances">
+ <title>Appliances</title>
+ <para>
+ Appliances in the &PRODUCT; environment are machines
+ that enable the &PRODUCT; tooling.
+ </para>
+
+ <section id="genome-cloud-appliance">
+ <title>Cloud</title>
+ <para>
+ The Host machine type is used to host Xen
+ guests in the &PRODUCT; environment.
+ </para>
+ <para>
+ Features:
+ <itemizedlist>
+ <listitem><para>Virtualization (Either Xen or KVM)</para></listitem>
+ <listitem><para>&PRODUCT; tooling for managing the cloud</para></listitem>
+ </itemizedlist>
+ </para>
+ </section>
+
+ <section id="genome-RepoMachineType">
+ <title>Repo</title>
+ <para>
+ Repo machines are the center of development in the
+ &PRODUCT; environment. In a nutshell they are the
+ self-contained provisioning, configuration and artifact
+ store. For this reason &PRODUCT; machines types are
+ generally not considered volatile.
+ </para>
+
+ <para>
+ As all other machine types it is designed to work as
+ both a "baremetal" and virtual machine. The main
+ resource requirement that distinguishes this machine
+ type is disk space, which is a function of the amount of
+ bits imported to <application>cobbler</application>.
+ <note>
+ <title>Note</title>
+ <para>
+ There was a time when Repo
+ machines were able to be
+ created via <application><link
+ linkend="genome-GenomeBootstrap">genome-bootstrap</link>
+ </application>. This led to
+ several "chicken and the egg"
+ sorts of problems. For this
+ reason the method for
+ provisioning Repo machines was
+ switched to RPM.
+ </para>
+ </note>
+ </para>
+
+ <section>
+ <title>Features</title>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Cobbler for all RPM/provisioning
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ A Puppetmaster for all configuration
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Bare git repos
+ for all content
+ located under
+ /pub/git
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ GitWeb running
+ on
+ http://[hostname]/git/gitweb.cgi
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Genomed
+ running
+ http://[hostname]:8106/nodes.html
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </section>
+
+ <section>
+ <title>Repo machine cloning</title>
+ <para>
+ The state of a particular Repo machine can be
+ described by the content stored under
+ /var/www/cobbler and /pub/git. Cloning a
+ particular Repo is really just a matter of
+ getting the correct bit from those locations
+ onto a new Repo machine.
+ </para>
+
+ <para>
+ Aside from the simple bit replicatation that
+ must be performed there are also a few
+ "one-off" things that need to happen. This
+ involves:
+ <itemizedlist>
+ <listitem>
+ <para>
+ Getting the
+ puppet modules
+ to the location
+ where the
+ <application>puppetmaster</application>
+ can see them.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Setting up
+ commit hooks
+ for the puppet
+ module git
+ repositories.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Sets up commit
+ hook for the
+ &PRODUCT;
+ documentation.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+ <para>
+ See the <link
+ linkend="genome-RepoMachineBootstrapping">cookbook</link>
+ for more information.
+ </para>
+ </section>
+
+ <section id="genome-repo-machine-customization">
+ <title>Repo machine customization</title>
+ <para>
+ The &REPORPM; is designed to get users up and
+ running with a known working configuration.
+ There are certain custom settings users of
+ &PRODUCT; will need to configure for their
+ environment. The two most common needs for
+ customization are adding new Genome machine
+ types to <link
+ linkend="genomed-configuration">genomed</link>
+ and any extra
+ <application>cobbler</application>
+ customization.
+ </para>
+
+ <para>
+ How these customizations are managed is at the
+ user's discretion. However, since the Repo
+ machine is already controlled by
+ <application>puppet</application> it makes
+ sense in many cases to simply use it for this
+ as well.
+ </para>
+
+ <para>
+ For this to work a puppet module named
+ <emphasis>repo_extensions</emphasis>
+ must be created and exist on the module
+ path. The class that this module
+ must define is also called
+ <emphasis>repo_extensions</emphasis>.
+
+ <important>
+ <title>Important</title>
+ <para>
+ The reason this works
+ is because by default
+ the Repo appliance's
+ <application>puppet</application>
+ external nodes script
+ includes two classes:
+ <emphasis>genomerepo::appliance</emphasis>
+ and
+ <emphasis>repo_extensions</emphasis>.
+ </para>
+ </important>
+ </para>
+ </section>
+ </section>
+ </section>
+
+ <section id="genome-custom-types">
+ <title>Custom Machine Types</title>
+ <para>
+ A custom machine type in the &PRODUCT; environment can
+ be roughly described as a collection of known working
+ <application>puppet</application> classes matched with
+ an operating system (or more precisely, a
+ <application>cobbler</application> profile). The list
+ of machines that can be provisioned from a given Repo
+ machine can be found when using the <link
+ linkend="genome-GenomeBootstrap">genome-bootstrap</link>
+ wizard or the <link
+ linkend="genome-Genomed">genomed</link> UI.
+
+ <note>
+ <title>Note</title>
+ <para>
+ See the <link
+ linkend="genome-AddMachineType">cookbook</link>
+ for more information for information on
+ creating custom machine types.
+ </para>
+ </note>
+
+ <important>
+ <title>Important</title>
+ <para>
+ From Puppet's point of view these "types" are
+ not bound to any particular OS version. You
+ choose the OS with <link
+ linkend="genome-GenomeBootstrap">
+ genome-bootstrap</link> or when <link
+ linkend="genome-Koan">provisioning
+ directly with Koan</link>. This allows
+ users to test out different OS and applications
+ versions using the same Puppet code.
+ </para>
+ </important>
+ </para>
+ </section>
+</chapter>