Make the 0.5 release
[ext/instance-debootstrap.git] / README
1 ganeti-instance-debootstrap
2 ===========================
3
4 This is a guest OS definition for Ganeti (http://code.google.com/p/ganeti).
5 It will install a minimal version of Debian or Ubuntu via debootstrap (thus it
6 requires network access). This only works if you have a Debian-based node or
7 you have debootstrap installed by hand on another distribution.
8
9 Installation
10 ------------
11
12 In order to install this package from source, you need to determine what
13 options ganeti itself has been configured with. If ganeti was built
14 directly from source, then the only place it looks for OS definitions is
15 ``/srv/ganeti/os``, and you need to install the OS under it::
16
17   ./configure --prefix=/usr --localstatedir=/var \
18     --sysconfdir=/etc \
19     --with-os-dir=/srv/ganeti/os
20   make && make install
21
22 If ganeti was installed from a package, its default OS path should
23 already include /usr/share/ganeti/os, so you can just run::
24
25   ./configure -prefix=/usr --localstatedir=/var \
26     --sysconfdir=/etc
27   make && make install
28
29 Note that you need to repeat this procedure on all nodes of the cluster.
30
31 The actual path that ganeti has been installed with can be determined by
32 looking for a file named _autoconf.py under a ganeti directory in the
33 python modules tree (e.g.
34 ``/usr/lib/python2.4/site-packages/ganeti/_autoconf.py``). In this file,
35 a variable named OS_SEARCH_PATH will list all the directories in which
36 ganeti will look for OS definitions.
37
38 Configuration of instance creation
39 ----------------------------------
40
41 The kind of instance created can be customized via a settings file. This
42 file is not installed by default, as the instance creation will work
43 without it. The creation scripts will look for it in
44 ``$sysconfdir/default/ganeti-instance-debootstrap``, so if you have run
45 configure with the parameter ``--sysconfdir=/etc``, the final filename
46 will be ``/etc/default/ganeti-instance-debootstrap``.
47
48 The following settings will be examined in this file (see also the file
49 named 'defaults' in the source distribution for more details):
50
51 - PROXY: http proxy to use for non-cached installs
52 - MIRROR: the mirror to use if not the default one
53 - ARCH: either i386 or amd64, otherwise your current architecture will
54   be used
55 - SUITE: the actual OS to be installed; the current default is Debian
56   *lenny*, and you can choose any of the OSes supported deboostrap (on
57   Debian, look into /usr/share/deboostrap/scripts)
58 - EXTRAPKGS: most OSes will need some extra packages installed to make
59   them work nicely under Xen; the example file containts a few
60   suggestions
61 - GENERATE_CACHE: if 'yes' (the default), the installation process will
62   save and reuse a cache file to speed reinstalls (located under
63   $localstatedir/cache/ganeti-instance-debootstrap)
64 - CLEAN_CACHE: if empty, the cached files will never be cleaned and thus
65   the installation will definitely need to be updated after install;
66   otherwise, the value of this variable will be taken as the number of
67   days after which to remove the cache file; the default is 14 (two
68   weeks)
69
70 Note that the settings file is important on the node that the instance
71 is installed on, not the cluster master. This is indeed not a very good
72 model of using this OS but currently the OS interface in ganeti is
73 limiting.
74
75 Caching
76 ~~~~~~~
77
78 As described above, the install process uses a cache file in order to
79 speed up repeated installs. If you only rarely do installs, this will
80 not matter to you, but if you want to install 10 instances in a row, the
81 difference will be visible.
82
83 The default settings are to generate a cache, and to clean it up after
84 two weeks.
85
86 Note that the cache will use one file per architecture per suite, so if
87 you install multiple suites there might be a non-trivial amount of space
88 used in the cache directory. It is safe to remove manually the files.
89
90 It is also possible, if done with care, to modify and regenerate the
91 cache file (which is simply a tar archive) in order to preseed your
92 installs with site-specific customizations.
93
94 Instance notes
95 --------------
96
97 The instance is a minimal install:
98
99  - it has no password for root; simply login at the console
100  - it has no network interfaces defined (besides lo); add your own
101    definitions to /etc/network/interfaces
102  - after configuring the network, it is recommended to run ``apt-get
103    update`` so that signatures for the release files are picked up