Statistics
| Branch: | Tag: | Revision:

root / man / ganeti-os-interface.sgml @ c450e9b0

History | View | Annotate | Download (7.6 kB)

1 a8083063 Iustin Pop
<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
2 a8083063 Iustin Pop
3 a8083063 Iustin Pop
  <!-- Fill in your name for FIRSTNAME and SURNAME. -->
4 a8083063 Iustin Pop
  <!-- Please adjust the date whenever revising the manpage. -->
5 a8083063 Iustin Pop
  <!ENTITY dhdate      "<date>June 20, 2007</date>">
6 a8083063 Iustin Pop
  <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
7 a8083063 Iustin Pop
       allowed: see man(7), man(1). -->
8 a8083063 Iustin Pop
  <!ENTITY dhsection   "<manvolnum>7</manvolnum>">
9 a8083063 Iustin Pop
  <!ENTITY dhucpackage "<refentrytitle>ganeti-os-interface</refentrytitle>">
10 a8083063 Iustin Pop
  <!ENTITY dhpackage   "ganeti">
11 a8083063 Iustin Pop
12 a8083063 Iustin Pop
  <!ENTITY debian      "<productname>Debian</productname>">
13 a8083063 Iustin Pop
  <!ENTITY gnu         "<acronym>GNU</acronym>">
14 a8083063 Iustin Pop
  <!ENTITY gpl         "&gnu; <acronym>GPL</acronym>">
15 a8083063 Iustin Pop
  <!ENTITY footer SYSTEM "footer.sgml">
16 a8083063 Iustin Pop
]>
17 a8083063 Iustin Pop
18 a8083063 Iustin Pop
<refentry>
19 a8083063 Iustin Pop
  <refentryinfo>
20 a8083063 Iustin Pop
    <copyright>
21 a8083063 Iustin Pop
      <year>2006</year>
22 a8083063 Iustin Pop
      <year>2007</year>
23 a8083063 Iustin Pop
      <holder>Google Inc.</holder>
24 a8083063 Iustin Pop
    </copyright>
25 a8083063 Iustin Pop
    &dhdate;
26 a8083063 Iustin Pop
  </refentryinfo>
27 a8083063 Iustin Pop
  <refmeta>
28 a8083063 Iustin Pop
    &dhucpackage;
29 a8083063 Iustin Pop
30 a8083063 Iustin Pop
    &dhsection;
31 a8083063 Iustin Pop
    <refmiscinfo>ganeti 1.2</refmiscinfo>
32 a8083063 Iustin Pop
  </refmeta>
33 a8083063 Iustin Pop
  <refnamediv>
34 a8083063 Iustin Pop
    <refname>ganeti guest OS interface</refname>
35 a8083063 Iustin Pop
36 a8083063 Iustin Pop
    <refpurpose>specifications for guest OS types
37 a8083063 Iustin Pop
    </refpurpose>
38 a8083063 Iustin Pop
39 a8083063 Iustin Pop
  </refnamediv>
40 a8083063 Iustin Pop
41 a8083063 Iustin Pop
  <refsect1>
42 a8083063 Iustin Pop
    <title>DESCRIPTION</title>
43 a8083063 Iustin Pop
44 a8083063 Iustin Pop
    <para>
45 a8083063 Iustin Pop
      The method of supporting guest operating systems in Ganeti is to
46 a8083063 Iustin Pop
      have, for each guest OS type, a directory containing a number of
47 a8083063 Iustin Pop
      required files.
48 a8083063 Iustin Pop
    </para>
49 a8083063 Iustin Pop
50 a8083063 Iustin Pop
51 a8083063 Iustin Pop
  </refsect1>
52 a8083063 Iustin Pop
  <refsect1>
53 a8083063 Iustin Pop
    <title>REFERENCE</title>
54 a8083063 Iustin Pop
55 a8083063 Iustin Pop
    <para>
56 386b57af Iustin Pop
      There are five required files: <filename>create</filename>,
57 386b57af Iustin Pop
      <filename>import</filename>, <filename>export</filename>,
58 386b57af Iustin Pop
      <filename>rename</filename> (executables) and
59 386b57af Iustin Pop
      <filename>ganeti_api_version</filename> (text file).
60 a8083063 Iustin Pop
    </para>
61 a8083063 Iustin Pop
62 a8083063 Iustin Pop
    <refsect2>
63 a8083063 Iustin Pop
      <title>create</title>
64 a8083063 Iustin Pop
      <cmdsynopsis>
65 a8083063 Iustin Pop
        <command>create</command>
66 a8083063 Iustin Pop
        <arg choice="req">-i <replaceable>instance_name</replaceable></arg>
67 a8083063 Iustin Pop
        <arg choice="req">-b <replaceable>blockdev_sda</replaceable></arg>
68 a8083063 Iustin Pop
        <arg choice="req">-s <replaceable>blockdev_sdb</replaceable></arg>
69 a8083063 Iustin Pop
      </cmdsynopsis>
70 a8083063 Iustin Pop
71 a8083063 Iustin Pop
      <para>The <command>create</command> command is used for creating
72 a8083063 Iustin Pop
      a new instance from scratch.</para>
73 a8083063 Iustin Pop
74 a8083063 Iustin Pop
      <para>The argument to the <option>-i</option> option is the FQDN
75 a8083063 Iustin Pop
      of the instance, which is guaranteed to resolve to an IP
76 a8083063 Iustin Pop
      address. The create script should configure the instance
77 a8083063 Iustin Pop
      according to this name. It can configure the IP statically or
78 a8083063 Iustin Pop
      not, depending on the deployment environment.</para>
79 a8083063 Iustin Pop
80 a8083063 Iustin Pop
      <para>The <option>-b</option> and <option>-s</option> options
81 a8083063 Iustin Pop
      denote the block devices which will be visible in the instance
82 a8083063 Iustin Pop
      as <emphasis>sda</emphasis> and <emphasis>sdb</emphasis>. The
83 a8083063 Iustin Pop
      <emphasis>sda</emphasis> block device should be used for the
84 386b57af Iustin Pop
      root disk (and will be passed as the root device for Linux
85 a8083063 Iustin Pop
      kernels). The <emphasis>sdb</emphasis> device should be setup
86 a8083063 Iustin Pop
      for swap usage.</para>
87 a8083063 Iustin Pop
88 a8083063 Iustin Pop
    </refsect2>
89 a8083063 Iustin Pop
90 a8083063 Iustin Pop
    <refsect2>
91 a8083063 Iustin Pop
      <title>import</title>
92 a8083063 Iustin Pop
      <cmdsynopsis>
93 a8083063 Iustin Pop
        <command>import</command>
94 a8083063 Iustin Pop
        <arg choice="req">-i <replaceable>instance_name</replaceable></arg>
95 a8083063 Iustin Pop
        <arg choice="req">-b <replaceable>blockdev_sda</replaceable></arg>
96 a8083063 Iustin Pop
        <arg choice="req">-s <replaceable>blockdev_sdb</replaceable></arg>
97 a8083063 Iustin Pop
      </cmdsynopsis>
98 a8083063 Iustin Pop
99 a8083063 Iustin Pop
      <para>
100 a8083063 Iustin Pop
        The <command>import</command> command is used for restoring an
101 a8083063 Iustin Pop
        instance from a backup as done by
102 a8083063 Iustin Pop
        <command>export</command>. The arguments are the same as for
103 a8083063 Iustin Pop
        <command>create</command> and the output of the
104 a8083063 Iustin Pop
        <command>export</command> will be provided on
105 a8083063 Iustin Pop
        <acronym>stdin</acronym>.
106 a8083063 Iustin Pop
      </para>
107 a8083063 Iustin Pop
108 a8083063 Iustin Pop
    </refsect2>
109 a8083063 Iustin Pop
110 a8083063 Iustin Pop
    <refsect2>
111 a8083063 Iustin Pop
      <title>export</title>
112 a8083063 Iustin Pop
      <cmdsynopsis>
113 a8083063 Iustin Pop
        <command>export</command>
114 a8083063 Iustin Pop
        <arg choice="req">-i <replaceable>instance_name</replaceable></arg>
115 a8083063 Iustin Pop
        <arg choice="req">-b <replaceable>blockdev_sda</replaceable></arg>
116 a8083063 Iustin Pop
      </cmdsynopsis>
117 a8083063 Iustin Pop
118 a8083063 Iustin Pop
      <para>
119 a8083063 Iustin Pop
        This command is used in order to make a backup of the
120 a8083063 Iustin Pop
        instance. The command should write to stdout a dump of the
121 a8083063 Iustin Pop
        given block device. The output of this program will be passed
122 a8083063 Iustin Pop
        to the <command>import</command> command.
123 a8083063 Iustin Pop
      </para>
124 a8083063 Iustin Pop
125 a8083063 Iustin Pop
      <para>
126 a8083063 Iustin Pop
        The options have the same meaning as for
127 a8083063 Iustin Pop
        <command>create</command> and <command>import</command>, with
128 a8083063 Iustin Pop
        the exception that the argument to <option>-i</option> denotes
129 a8083063 Iustin Pop
        an existing instance.
130 a8083063 Iustin Pop
      </para>
131 a8083063 Iustin Pop
132 a8083063 Iustin Pop
    </refsect2>
133 a8083063 Iustin Pop
134 a8083063 Iustin Pop
    <refsect2>
135 386b57af Iustin Pop
      <title>rename</title>
136 386b57af Iustin Pop
      <cmdsynopsis>
137 386b57af Iustin Pop
        <command>rename</command>
138 386b57af Iustin Pop
        <arg choice="req">-o <replaceable>old_name</replaceable></arg>
139 386b57af Iustin Pop
        <arg choice="req">-n <replaceable>new_name</replaceable></arg>
140 386b57af Iustin Pop
        <arg choice="req">-b <replaceable>blockdev_sda</replaceable></arg>
141 386b57af Iustin Pop
        <arg choice="req">-s <replaceable>blockdev_sdb</replaceable></arg>
142 386b57af Iustin Pop
      </cmdsynopsis>
143 386b57af Iustin Pop
144 386b57af Iustin Pop
      <para>
145 386b57af Iustin Pop
        This command is used in order to perform a rename at the
146 386b57af Iustin Pop
        instance OS level, after the instance has been renamed in
147 386b57af Iustin Pop
        Ganeti. The command should do whatever steps are required to
148 386b57af Iustin Pop
        ensure that the instance is updated to use the new name, if
149 386b57af Iustin Pop
        the operating system supports it.
150 386b57af Iustin Pop
      </para>
151 386b57af Iustin Pop
152 386b57af Iustin Pop
      <para>
153 386b57af Iustin Pop
        Note that it is acceptable for the rename script to do nothing
154 386b57af Iustin Pop
        at all, however be warned that in this case, there will be a
155 386b57af Iustin Pop
        desynchronization between what <computeroutput>gnt-instance
156 386b57af Iustin Pop
        list</computeroutput> shows you and the actual hostname of the
157 386b57af Iustin Pop
        instance.
158 386b57af Iustin Pop
      </para>
159 386b57af Iustin Pop
160 386b57af Iustin Pop
      <para>
161 386b57af Iustin Pop
        A very simple rename script should at least change the
162 386b57af Iustin Pop
        hostname and IP address of the instance, leaving the
163 386b57af Iustin Pop
        administrator to update the other services.
164 386b57af Iustin Pop
        </screen>
165 386b57af Iustin Pop
      </para>
166 386b57af Iustin Pop
    </refsect2>
167 386b57af Iustin Pop
168 386b57af Iustin Pop
    <refsect2>
169 a8083063 Iustin Pop
      <title>ganeti_api_version</title>
170 a8083063 Iustin Pop
      <para>
171 a8083063 Iustin Pop
        The <filename>ganeti_api_version</filename> file is a plain
172 a8083063 Iustin Pop
        text file containing the version of the guest OS api that this
173 a8083063 Iustin Pop
        OS definition complies with. The version documented by this
174 386b57af Iustin Pop
        man page is 5, so this file must contain the number 5 followed
175 386b57af Iustin Pop
        by a newline.
176 a8083063 Iustin Pop
      </para>
177 a8083063 Iustin Pop
    </refsect2>
178 a8083063 Iustin Pop
179 a8083063 Iustin Pop
  </refsect1>
180 a8083063 Iustin Pop
181 a8083063 Iustin Pop
  <refsect1>
182 a8083063 Iustin Pop
    <title>NOTES</title>
183 a8083063 Iustin Pop
184 a8083063 Iustin Pop
    <refsect2>
185 a8083063 Iustin Pop
      <title>Common behaviour</title>
186 a8083063 Iustin Pop
187 a8083063 Iustin Pop
      <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>
188 a8083063 Iustin Pop
189 a8083063 Iustin Pop
    </refsect2>
190 a8083063 Iustin Pop
191 386b57af Iustin Pop
    <refsect2>
192 386b57af Iustin Pop
      <title>Upgrading from old versions</title>
193 386b57af Iustin Pop
      <refsect3>
194 386b57af Iustin Pop
        <title>Version 4 to 5</title>
195 386b57af Iustin Pop
        <para>
196 386b57af Iustin Pop
          The <filename>rename</filename> script has been added. If
197 386b57af Iustin Pop
          you don't want to do any changes on the instances after a
198 386b57af Iustin Pop
          rename, you can migrate the OS definition to version 5 by
199 386b57af Iustin Pop
          creating the <filename>rename</filename> script simply as:
200 386b57af Iustin Pop
          <screen>
201 386b57af Iustin Pop
#!/bin/sh
202 386b57af Iustin Pop
203 386b57af Iustin Pop
exit 0
204 386b57af Iustin Pop
          </screen>
205 386b57af Iustin Pop
        </para>
206 386b57af Iustin Pop
207 386b57af Iustin Pop
        <para>Note that the script must be executable.</para>
208 386b57af Iustin Pop
      </refsect3>
209 386b57af Iustin Pop
    </refsect2>
210 386b57af Iustin Pop
211 a8083063 Iustin Pop
    <!--
212 a8083063 Iustin Pop
    <refsect2>
213 a8083063 Iustin Pop
214 a8083063 Iustin Pop
      <title>Export/import format</title>
215 a8083063 Iustin Pop
216 386b57af Iustin Pop
      <para>
217 386b57af Iustin Pop
        It is up to the export and import scripts to define the format
218 386b57af Iustin Pop
        they use. It is only required for these two to work
219 386b57af Iustin Pop
        together. It is not recommended that
220 386b57af Iustin Pop
      </para>
221 a8083063 Iustin Pop
222 a8083063 Iustin Pop
    </refsect2>
223 a8083063 Iustin Pop
    -->
224 a8083063 Iustin Pop
225 a8083063 Iustin Pop
  </refsect1>
226 a8083063 Iustin Pop
227 a8083063 Iustin Pop
  &footer;
228 a8083063 Iustin Pop
229 a8083063 Iustin Pop
</refentry>
230 a8083063 Iustin Pop
231 a8083063 Iustin Pop
<!-- Keep this comment at the end of the file
232 a8083063 Iustin Pop
Local variables:
233 a8083063 Iustin Pop
mode: sgml
234 a8083063 Iustin Pop
sgml-omittag:t
235 a8083063 Iustin Pop
sgml-shorttag:t
236 a8083063 Iustin Pop
sgml-minimize-attributes:nil
237 a8083063 Iustin Pop
sgml-always-quote-attributes:t
238 a8083063 Iustin Pop
sgml-indent-step:2
239 a8083063 Iustin Pop
sgml-indent-data:t
240 a8083063 Iustin Pop
sgml-parent-document:nil
241 a8083063 Iustin Pop
sgml-default-dtd-file:nil
242 a8083063 Iustin Pop
sgml-exposed-tags:nil
243 a8083063 Iustin Pop
sgml-local-catalogs:nil
244 a8083063 Iustin Pop
sgml-local-ecat-files:nil
245 a8083063 Iustin Pop
End:
246 a8083063 Iustin Pop
-->