Initial commit.
[ganeti-local] / man / ganeti-os-interface.sgml
1 <!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
2
3   <!-- Fill in your name for FIRSTNAME and SURNAME. -->
4   <!-- Please adjust the date whenever revising the manpage. -->
5   <!ENTITY dhdate      "<date>June 20, 2007</date>">
6   <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
7        allowed: see man(7), man(1). -->
8   <!ENTITY dhsection   "<manvolnum>7</manvolnum>">
9   <!ENTITY dhucpackage "<refentrytitle>ganeti-os-interface</refentrytitle>">
10   <!ENTITY dhpackage   "ganeti">
11
12   <!ENTITY debian      "<productname>Debian</productname>">
13   <!ENTITY gnu         "<acronym>GNU</acronym>">
14   <!ENTITY gpl         "&gnu; <acronym>GPL</acronym>">
15   <!ENTITY footer SYSTEM "footer.sgml">
16 ]>
17
18 <refentry>
19   <refentryinfo>
20     <copyright>
21       <year>2006</year>
22       <year>2007</year>
23       <holder>Google Inc.</holder>
24     </copyright>
25     &dhdate;
26   </refentryinfo>
27   <refmeta>
28     &dhucpackage;
29
30     &dhsection;
31     <refmiscinfo>ganeti 1.2</refmiscinfo>
32   </refmeta>
33   <refnamediv>
34     <refname>ganeti guest OS interface</refname>
35
36     <refpurpose>specifications for guest OS types
37     </refpurpose>
38
39   </refnamediv>
40
41   <refsect1>
42     <title>DESCRIPTION</title>
43
44     <para>
45       The method of supporting guest operating systems in Ganeti is to
46       have, for each guest OS type, a directory containing a number of
47       required files.
48     </para>
49
50
51   </refsect1>
52   <refsect1>
53     <title>REFERENCE</title>
54
55     <para>
56       There are four required files: <filename>create</filename>,
57       <filename>import</filename>, <filename>export</filename>
58       (executables) and <filename>ganeti_api_version</filename> (text
59       file).
60     </para>
61
62     <refsect2>
63       <title>create</title>
64       <cmdsynopsis>
65         <command>create</command>
66         <arg choice="req">-i <replaceable>instance_name</replaceable></arg>
67         <arg choice="req">-b <replaceable>blockdev_sda</replaceable></arg>
68         <arg choice="req">-s <replaceable>blockdev_sdb</replaceable></arg>
69       </cmdsynopsis>
70
71       <para>The <command>create</command> command is used for creating
72       a new instance from scratch.</para>
73
74       <para>The argument to the <option>-i</option> option is the FQDN
75       of the instance, which is guaranteed to resolve to an IP
76       address. The create script should configure the instance
77       according to this name. It can configure the IP statically or
78       not, depending on the deployment environment.</para>
79
80       <para>The <option>-b</option> and <option>-s</option> options
81       denote the block devices which will be visible in the instance
82       as <emphasis>sda</emphasis> and <emphasis>sdb</emphasis>. The
83       <emphasis>sda</emphasis> block device should be used for the
84       root disk (and will be passed as the root device for linux
85       kernels). The <emphasis>sdb</emphasis> device should be setup
86       for swap usage.</para>
87
88     </refsect2>
89
90     <refsect2>
91       <title>import</title>
92       <cmdsynopsis>
93         <command>import</command>
94         <arg choice="req">-i <replaceable>instance_name</replaceable></arg>
95         <arg choice="req">-b <replaceable>blockdev_sda</replaceable></arg>
96         <arg choice="req">-s <replaceable>blockdev_sdb</replaceable></arg>
97       </cmdsynopsis>
98
99       <para>
100         The <command>import</command> command is used for restoring an
101         instance from a backup as done by
102         <command>export</command>. The arguments are the same as for
103         <command>create</command> and the output of the
104         <command>export</command> will be provided on
105         <acronym>stdin</acronym>.
106       </para>
107
108     </refsect2>
109
110     <refsect2>
111       <title>export</title>
112       <cmdsynopsis>
113         <command>export</command>
114         <arg choice="req">-i <replaceable>instance_name</replaceable></arg>
115         <arg choice="req">-b <replaceable>blockdev_sda</replaceable></arg>
116       </cmdsynopsis>
117
118       <para>
119         This command is used in order to make a backup of the
120         instance. The command should write to stdout a dump of the
121         given block device. The output of this program will be passed
122         to the <command>import</command> command.
123       </para>
124
125       <para>
126         The options have the same meaning as for
127         <command>create</command> and <command>import</command>, with
128         the exception that the argument to <option>-i</option> denotes
129         an existing instance.
130       </para>
131
132     </refsect2>
133
134     <refsect2>
135       <title>ganeti_api_version</title>
136       <para>
137         The <filename>ganeti_api_version</filename> file is a plain
138         text file containing the version of the guest OS api that this
139         OS definition complies with. The version documented by this
140         man page is 4, so this file must contain 4 followed by a
141         newline.
142       </para>
143     </refsect2>
144
145   </refsect1>
146
147   <refsect1>
148     <title>NOTES</title>
149
150     <refsect2>
151       <title>Common behaviour</title>
152
153       <para>All the scripts should display an usage message when called with a wrong number of arguments or when the first argument is <option>-h</option> or <option>--help</option>.</para>
154
155     </refsect2>
156
157     <!--
158     <refsect2>
159
160       <title>Export/import format</title>
161
162       <para>It is up to the export and import scripts to define the format they use. It is only required for these two to work together. It is not recommended that </para>
163
164     </refsect2>
165     -->
166
167   </refsect1>
168
169   &footer;
170
171 </refentry>
172
173 <!-- Keep this comment at the end of the file
174 Local variables:
175 mode: sgml
176 sgml-omittag:t
177 sgml-shorttag:t
178 sgml-minimize-attributes:nil
179 sgml-always-quote-attributes:t
180 sgml-indent-step:2
181 sgml-indent-data:t
182 sgml-parent-document:nil
183 sgml-default-dtd-file:nil
184 sgml-exposed-tags:nil
185 sgml-local-catalogs:nil
186 sgml-local-ecat-files:nil
187 End:
188 -->