Statistics
| Branch: | Tag: | Revision:

root / man / ganeti-os-interface.sgml @ 6328fea3

History | View | Annotate | Download (15.2 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 bdfec6fd Guido Trotter
  <!ENTITY dhdate      "<date>October 02, 2009</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 216842d7 Iustin Pop
      <year>2008</year>
24 216842d7 Iustin Pop
      <year>2009</year>
25 7a8da378 Michael Hanselmann
      <year>2010</year>
26 a8083063 Iustin Pop
      <holder>Google Inc.</holder>
27 a8083063 Iustin Pop
    </copyright>
28 a8083063 Iustin Pop
    &dhdate;
29 a8083063 Iustin Pop
  </refentryinfo>
30 a8083063 Iustin Pop
  <refmeta>
31 a8083063 Iustin Pop
    &dhucpackage;
32 a8083063 Iustin Pop
33 a8083063 Iustin Pop
    &dhsection;
34 bdfec6fd Guido Trotter
    <refmiscinfo>ganeti 2.1</refmiscinfo>
35 a8083063 Iustin Pop
  </refmeta>
36 a8083063 Iustin Pop
  <refnamediv>
37 037da795 Guido Trotter
    <refname>ganeti-os-interface</refname>
38 a8083063 Iustin Pop
39 a8083063 Iustin Pop
    <refpurpose>specifications for guest OS types
40 a8083063 Iustin Pop
    </refpurpose>
41 a8083063 Iustin Pop
42 a8083063 Iustin Pop
  </refnamediv>
43 a8083063 Iustin Pop
44 a8083063 Iustin Pop
  <refsect1>
45 a8083063 Iustin Pop
    <title>DESCRIPTION</title>
46 a8083063 Iustin Pop
47 a8083063 Iustin Pop
    <para>
48 a8083063 Iustin Pop
      The method of supporting guest operating systems in Ganeti is to
49 a8083063 Iustin Pop
      have, for each guest OS type, a directory containing a number of
50 a8083063 Iustin Pop
      required files.
51 a8083063 Iustin Pop
    </para>
52 a8083063 Iustin Pop
53 a8083063 Iustin Pop
54 a8083063 Iustin Pop
  </refsect1>
55 a8083063 Iustin Pop
  <refsect1>
56 a8083063 Iustin Pop
    <title>REFERENCE</title>
57 a8083063 Iustin Pop
58 a8083063 Iustin Pop
    <para>
59 bdfec6fd Guido Trotter
      There are six required files: <filename>create</filename>,
60 386b57af Iustin Pop
      <filename>import</filename>, <filename>export</filename>,
61 bdfec6fd Guido Trotter
      <filename>rename</filename> (executables),
62 bdfec6fd Guido Trotter
      <filename>ganeti_api_version</filename> and
63 bdfec6fd Guido Trotter
      <filename>variants.list</filename> (text file).
64 a8083063 Iustin Pop
    </para>
65 a8083063 Iustin Pop
66 a8083063 Iustin Pop
    <refsect2>
67 216842d7 Iustin Pop
      <title>Common environment</title>
68 216842d7 Iustin Pop
      <para>
69 216842d7 Iustin Pop
        All commands will get their input via environment variables. A
70 216842d7 Iustin Pop
        common set of variables will be exported for all commands, and
71 216842d7 Iustin Pop
        some of them might have extra ones. Note that all counts are
72 216842d7 Iustin Pop
        zero-based.
73 216842d7 Iustin Pop
      </para>
74 216842d7 Iustin Pop
      <variablelist>
75 216842d7 Iustin Pop
        <varlistentry>
76 216842d7 Iustin Pop
          <term>OS_API_VERSION</term>
77 216842d7 Iustin Pop
          <listitem>
78 216842d7 Iustin Pop
            <simpara>The OS api version that the rest of the
79 216842d7 Iustin Pop
            environment conforms to.</simpara>
80 216842d7 Iustin Pop
          </listitem>
81 216842d7 Iustin Pop
        </varlistentry>
82 216842d7 Iustin Pop
        <varlistentry>
83 216842d7 Iustin Pop
          <term>INSTANCE_NAME</term>
84 216842d7 Iustin Pop
          <listitem>
85 216842d7 Iustin Pop
            <simpara>The instance name the script should operate
86 216842d7 Iustin Pop
            on.</simpara>
87 216842d7 Iustin Pop
          </listitem>
88 216842d7 Iustin Pop
        </varlistentry>
89 216842d7 Iustin Pop
        <varlistentry>
90 216842d7 Iustin Pop
          <term>INSTANCE_OS</term>
91 216842d7 Iustin Pop
          <listitem>
92 216842d7 Iustin Pop
            <simpara>The name os the instance's OS as Ganeti knows
93 216842d7 Iustin Pop
            it. This can simplify the OS scripts by providing the same
94 216842d7 Iustin Pop
            scripts under multiple names, and then the scripts can use
95 216842d7 Iustin Pop
            this name to alter their behaviour.</simpara>
96 bdfec6fd Guido Trotter
            <simpara>Under OS api 15 changing the script behavior based
97 bdfec6fd Guido Trotter
            on this variable is deprecated: OS_VARIANT should be used
98 bdfec6fd Guido Trotter
            instead (see below).</simpara>
99 bdfec6fd Guido Trotter
          </listitem>
100 bdfec6fd Guido Trotter
        </varlistentry>
101 bdfec6fd Guido Trotter
        <varlistentry>
102 bdfec6fd Guido Trotter
          <term>OS_VARIANT</term>
103 bdfec6fd Guido Trotter
          <listitem>
104 bdfec6fd Guido Trotter
            <simpara>The variant of the OS which should be installed. Each OS
105 bdfec6fd Guido Trotter
            must support all variants listed under its
106 bdfec6fd Guido Trotter
            <filename>variants.list</filename> file, and may support more.
107 bdfec6fd Guido Trotter
            Any more supported variants should be properly documented in the
108 bdfec6fd Guido Trotter
            per-os documentation.</simpara>
109 216842d7 Iustin Pop
          </listitem>
110 216842d7 Iustin Pop
        </varlistentry>
111 216842d7 Iustin Pop
        <varlistentry>
112 216842d7 Iustin Pop
          <term>HYPERVISOR</term>
113 216842d7 Iustin Pop
          <listitem>
114 216842d7 Iustin Pop
            <simpara>The hypervisor of this instance.</simpara>
115 216842d7 Iustin Pop
          </listitem>
116 216842d7 Iustin Pop
        </varlistentry>
117 216842d7 Iustin Pop
        <varlistentry>
118 216842d7 Iustin Pop
          <term>DISK_COUNT</term>
119 216842d7 Iustin Pop
          <listitem>
120 216842d7 Iustin Pop
            <simpara>The number of disks the instance has. The actual
121 216842d7 Iustin Pop
            disk defitions are in a set of additional variables. The
122 216842d7 Iustin Pop
            instance's disk will be numbered from 0 to this value
123 216842d7 Iustin Pop
            minus one.</simpara>
124 216842d7 Iustin Pop
          </listitem>
125 216842d7 Iustin Pop
        </varlistentry>
126 216842d7 Iustin Pop
        <varlistentry>
127 216842d7 Iustin Pop
          <term>DISK_%N_PATH</term>
128 216842d7 Iustin Pop
          <listitem>
129 216842d7 Iustin Pop
            <simpara>The path to the storage for disk N of the
130 216842d7 Iustin Pop
            instance. This might be either a block device or a regular
131 216842d7 Iustin Pop
            file, in which case the OS scripts should use
132 216842d7 Iustin Pop
            <emphasis>losetup</emphasis> (if they need to mount
133 216842d7 Iustin Pop
            it). E.g. the first disk of the instance might be exported
134 216842d7 Iustin Pop
            as <envar>DISK_0_PATH=/dev/drbd0</envar>.</simpara>
135 216842d7 Iustin Pop
          </listitem>
136 216842d7 Iustin Pop
        </varlistentry>
137 216842d7 Iustin Pop
        <varlistentry>
138 216842d7 Iustin Pop
          <term>DISK_%N_ACCESS</term>
139 216842d7 Iustin Pop
          <listitem>
140 216842d7 Iustin Pop
            <simpara>This is how the hypervisor will export the
141 216842d7 Iustin Pop
            instance disks: either read-write (<emphasis>rw</emphasis>) or
142 216842d7 Iustin Pop
            read-only (<emphasis>ro</emphasis>).</simpara>
143 216842d7 Iustin Pop
          </listitem>
144 216842d7 Iustin Pop
        </varlistentry>
145 216842d7 Iustin Pop
        <varlistentry>
146 216842d7 Iustin Pop
          <term>DISK_%N_FRONTEND_TYPE</term>
147 216842d7 Iustin Pop
          <listitem>
148 216842d7 Iustin Pop
            <simpara>(Optional) If applicable to the current
149 216842d7 Iustin Pop
            hypervisor type: the type of the device exported by the
150 216842d7 Iustin Pop
            hypervisor. For example, the Xen HVM hypervisor can export
151 216842d7 Iustin Pop
            disks as either <emphasis>paravirtual</emphasis> or
152 216842d7 Iustin Pop
            <emphasis>ioemu</emphasis>.</simpara>
153 216842d7 Iustin Pop
          </listitem>
154 216842d7 Iustin Pop
        </varlistentry>
155 216842d7 Iustin Pop
        <varlistentry>
156 216842d7 Iustin Pop
          <term>DISK_%N_BACKEND_TYPE</term>
157 216842d7 Iustin Pop
          <listitem>
158 216842d7 Iustin Pop
            <simpara>How files are visible on the node side. This can
159 216842d7 Iustin Pop
            be either <emphasis>block</emphasis> (when using block
160 216842d7 Iustin Pop
            devices) or <emphasis>file:type</emphasis>, where
161 216842d7 Iustin Pop
            <emphasis>type</emphasis> is either
162 216842d7 Iustin Pop
            <emphasis>loop</emphasis> <emphasis>blktap</emphasis>
163 216842d7 Iustin Pop
            depending on how the hypervisor will be configured. Note
164 216842d7 Iustin Pop
            that not all backend types apply to all
165 216842d7 Iustin Pop
            hypervisors.</simpara>
166 216842d7 Iustin Pop
          </listitem>
167 216842d7 Iustin Pop
        </varlistentry>
168 216842d7 Iustin Pop
        <varlistentry>
169 216842d7 Iustin Pop
          <term>NIC_COUNT</term>
170 216842d7 Iustin Pop
          <listitem>
171 216842d7 Iustin Pop
            <simpara>Similar to the <envar>DISK_COUNT</envar>, this
172 216842d7 Iustin Pop
            represents the number of NICs of the instance.</simpara>
173 216842d7 Iustin Pop
          </listitem>
174 216842d7 Iustin Pop
        </varlistentry>
175 216842d7 Iustin Pop
        <varlistentry>
176 216842d7 Iustin Pop
          <term>NIC_%N_MAC</term>
177 216842d7 Iustin Pop
          <listitem>
178 216842d7 Iustin Pop
            <simpara>The MAC address associated with this
179 216842d7 Iustin Pop
            interface.</simpara>
180 216842d7 Iustin Pop
          </listitem>
181 216842d7 Iustin Pop
        </varlistentry>
182 216842d7 Iustin Pop
        <varlistentry>
183 216842d7 Iustin Pop
          <term>NIC_%N_IP</term>
184 216842d7 Iustin Pop
          <listitem>
185 216842d7 Iustin Pop
            <simpara>The IP address, if any, associated with the N-th
186 216842d7 Iustin Pop
            NIC of the instance.</simpara>
187 216842d7 Iustin Pop
          </listitem>
188 216842d7 Iustin Pop
        </varlistentry>
189 216842d7 Iustin Pop
        <varlistentry>
190 216842d7 Iustin Pop
          <term>NIC_%N_BRIDGE</term>
191 216842d7 Iustin Pop
          <listitem>
192 216842d7 Iustin Pop
            <simpara>The bridge to which this NIC will be attached
193 216842d7 Iustin Pop
            to.</simpara>
194 216842d7 Iustin Pop
          </listitem>
195 216842d7 Iustin Pop
        </varlistentry>
196 216842d7 Iustin Pop
        <varlistentry>
197 216842d7 Iustin Pop
          <term>NIC_%N_FRONTEND_TYPE</term>
198 216842d7 Iustin Pop
          <listitem>
199 216842d7 Iustin Pop
            <para>(Optional) If applicable, the type of the exported
200 216842d7 Iustin Pop
            NIC to the instance, this can be one of of: <simplelist
201 216842d7 Iustin Pop
            type="inline"> <member>rtl8139</member>
202 216842d7 Iustin Pop
            <member>ne2k_pci</member> <member>ne2k_isa</member>
203 216842d7 Iustin Pop
            <member>paravirtual</member> </simplelist>.
204 216842d7 Iustin Pop
              </para>
205 216842d7 Iustin Pop
          </listitem>
206 216842d7 Iustin Pop
        </varlistentry>
207 216842d7 Iustin Pop
        <varlistentry>
208 216842d7 Iustin Pop
          <term>DEBUG_LEVEL</term>
209 216842d7 Iustin Pop
          <listitem>
210 216842d7 Iustin Pop
            <simpara>If non-zero, this should cause the OS script to
211 216842d7 Iustin Pop
            generate verbose logs of its execution, for
212 216842d7 Iustin Pop
            troubleshooting purposes. Currently only
213 216842d7 Iustin Pop
            <emphasis>0</emphasis> and <emphasis>1</emphasis> are
214 216842d7 Iustin Pop
            valid values.</simpara>
215 216842d7 Iustin Pop
          </listitem>
216 216842d7 Iustin Pop
        </varlistentry>
217 216842d7 Iustin Pop
      </variablelist>
218 216842d7 Iustin Pop
    </refsect2>
219 216842d7 Iustin Pop
220 216842d7 Iustin Pop
    <refsect2>
221 a8083063 Iustin Pop
      <title>create</title>
222 a8083063 Iustin Pop
223 a8083063 Iustin Pop
      <para>The <command>create</command> command is used for creating
224 216842d7 Iustin Pop
      a new instance from scratch. It has no additional environment
225 216842d7 Iustin Pop
      variables bside the common ones.</para>
226 a8083063 Iustin Pop
227 216842d7 Iustin Pop
      <para>The <envar>INSTANCE_NAME</envar> variable denotes the name
228 a8083063 Iustin Pop
      of the instance, which is guaranteed to resolve to an IP
229 a8083063 Iustin Pop
      address. The create script should configure the instance
230 a8083063 Iustin Pop
      according to this name. It can configure the IP statically or
231 a8083063 Iustin Pop
      not, depending on the deployment environment.</para>
232 a8083063 Iustin Pop
233 e557bae9 Guido Trotter
      <para>The <envar>INSTANCE_REINSTALL</envar> variable is set to '1' when
234 e557bae9 Guido Trotter
      this create request is reinstalling and existing instance, rather than
235 e557bae9 Guido Trotter
      creating one anew. This can be used, for example, to preserve some
236 e557bae9 Guido Trotter
      data in the old instance in an os-specific way.</para>
237 e557bae9 Guido Trotter
238 a8083063 Iustin Pop
    </refsect2>
239 a8083063 Iustin Pop
240 a8083063 Iustin Pop
    <refsect2>
241 216842d7 Iustin Pop
      <title>export</title>
242 a8083063 Iustin Pop
243 a8083063 Iustin Pop
      <para>
244 216842d7 Iustin Pop
        This command is used in order to make a backup of a given disk
245 216842d7 Iustin Pop
        of the instance. The command should write to stdout a dump of
246 216842d7 Iustin Pop
        the given block device. The output of this program will be
247 216842d7 Iustin Pop
        passed during restore to the <command>import</command>
248 216842d7 Iustin Pop
        command.
249 216842d7 Iustin Pop
      </para>
250 216842d7 Iustin Pop
251 216842d7 Iustin Pop
      <para>
252 216842d7 Iustin Pop
        The specific disk to backup is denoted by two additional
253 216842d7 Iustin Pop
        environment variables: <envar>EXPORT_INDEX</envar> which
254 216842d7 Iustin Pop
        denotes the index in the instance disks structure (and could
255 216842d7 Iustin Pop
        be used for example to skip the second disk if not needed for
256 216842d7 Iustin Pop
        backup) and <envar>EXPORT_PATH</envar> which has the same
257 216842d7 Iustin Pop
        value as <emphasis>DISK_N_PATH</emphasis> but is duplicate
258 216842d7 Iustin Pop
        here for easier usage by shell scripts (rather than parse the
259 216842d7 Iustin Pop
        DISK_... variables).
260 a8083063 Iustin Pop
      </para>
261 a8083063 Iustin Pop
262 a8083063 Iustin Pop
    </refsect2>
263 a8083063 Iustin Pop
264 a8083063 Iustin Pop
    <refsect2>
265 216842d7 Iustin Pop
      <title>import</title>
266 a8083063 Iustin Pop
267 a8083063 Iustin Pop
      <para>
268 216842d7 Iustin Pop
        The <command>import</command> command is used for restoring an
269 216842d7 Iustin Pop
        instance from a backup as done by
270 216842d7 Iustin Pop
        <command>export</command>. The arguments are the similar to
271 216842d7 Iustin Pop
        those passed to <command>export</command>, whose output will
272 216842d7 Iustin Pop
        be provided on <acronym>stdin</acronym>.
273 a8083063 Iustin Pop
      </para>
274 a8083063 Iustin Pop
275 a8083063 Iustin Pop
      <para>
276 216842d7 Iustin Pop
        The difference in variables is that the current disk is called
277 7a8da378 Michael Hanselmann
        by <envar>IMPORT_DEVICE</envar> and <envar>IMPORT_INDEX</envar>
278 216842d7 Iustin Pop
        (instead of <emphasis>EXPORT_</emphasis>).
279 a8083063 Iustin Pop
      </para>
280 a8083063 Iustin Pop
281 a8083063 Iustin Pop
    </refsect2>
282 a8083063 Iustin Pop
283 a8083063 Iustin Pop
    <refsect2>
284 386b57af Iustin Pop
      <title>rename</title>
285 386b57af Iustin Pop
286 386b57af Iustin Pop
      <para>
287 386b57af Iustin Pop
        This command is used in order to perform a rename at the
288 386b57af Iustin Pop
        instance OS level, after the instance has been renamed in
289 386b57af Iustin Pop
        Ganeti. The command should do whatever steps are required to
290 386b57af Iustin Pop
        ensure that the instance is updated to use the new name, if
291 386b57af Iustin Pop
        the operating system supports it.
292 386b57af Iustin Pop
      </para>
293 386b57af Iustin Pop
294 386b57af Iustin Pop
      <para>
295 386b57af Iustin Pop
        Note that it is acceptable for the rename script to do nothing
296 386b57af Iustin Pop
        at all, however be warned that in this case, there will be a
297 386b57af Iustin Pop
        desynchronization between what <computeroutput>gnt-instance
298 386b57af Iustin Pop
        list</computeroutput> shows you and the actual hostname of the
299 386b57af Iustin Pop
        instance.
300 386b57af Iustin Pop
      </para>
301 386b57af Iustin Pop
302 216842d7 Iustin Pop
      <para>The script will be passed one additional environment
303 216842d7 Iustin Pop
      variable called <envar>OLD_INSTANCE_NAME</envar> which holds the
304 216842d7 Iustin Pop
      old instance name. The <envar>INSTANCE_NAME</envar> variable
305 216842d7 Iustin Pop
      holds the new instance name.</para>
306 216842d7 Iustin Pop
307 386b57af Iustin Pop
      <para>
308 386b57af Iustin Pop
        A very simple rename script should at least change the
309 386b57af Iustin Pop
        hostname and IP address of the instance, leaving the
310 386b57af Iustin Pop
        administrator to update the other services.
311 386b57af Iustin Pop
      </para>
312 386b57af Iustin Pop
    </refsect2>
313 386b57af Iustin Pop
314 386b57af Iustin Pop
    <refsect2>
315 a8083063 Iustin Pop
      <title>ganeti_api_version</title>
316 a8083063 Iustin Pop
      <para>
317 a8083063 Iustin Pop
        The <filename>ganeti_api_version</filename> file is a plain
318 216842d7 Iustin Pop
        text file containing the version(s) of the guest OS api that
319 216842d7 Iustin Pop
        this OS definition complies with, one per line. The version
320 bdfec6fd Guido Trotter
        documented by this man page is 15, so this file must contain
321 bdfec6fd Guido Trotter
        the number 15 followed by a newline if only this version is
322 bdfec6fd Guido Trotter
        supported. A script compatible more than one ganeti version
323 bdfec6fd Guido Trotter
        should contain the most recent version first (i.e. 15),
324 bdfec6fd Guido Trotter
        followed by the old version(s) (in this case 10 and/or 5).
325 bdfec6fd Guido Trotter
      </para>
326 bdfec6fd Guido Trotter
    </refsect2>
327 bdfec6fd Guido Trotter
328 bdfec6fd Guido Trotter
    <refsect2>
329 bdfec6fd Guido Trotter
      <title>variants.list</title>
330 bdfec6fd Guido Trotter
      <para>
331 bdfec6fd Guido Trotter
        <filename>variants.list</filename> is a plain text file
332 bdfec6fd Guido Trotter
        containing all the declared supported variants for this
333 bdfec6fd Guido Trotter
        OS, one per line. At least one variant must be supported.
334 a8083063 Iustin Pop
      </para>
335 a8083063 Iustin Pop
    </refsect2>
336 a8083063 Iustin Pop
337 a8083063 Iustin Pop
  </refsect1>
338 a8083063 Iustin Pop
339 a8083063 Iustin Pop
  <refsect1>
340 a8083063 Iustin Pop
    <title>NOTES</title>
341 a8083063 Iustin Pop
342 a8083063 Iustin Pop
    <refsect2>
343 bdfec6fd Guido Trotter
      <title>Retrocompatibility</title>
344 bdfec6fd Guido Trotter
345 bdfec6fd Guido Trotter
      <para>
346 bdfec6fd Guido Trotter
        Ganeti 2.1 is compatible with both api version 10, and 15.
347 bdfec6fd Guido Trotter
        In api version 10 the <filename>variants.list</filename>
348 bdfec6fd Guido Trotter
        file is ignored and no OS_VARIANT environment variable is
349 bdfec6fd Guido Trotter
        passed.
350 bdfec6fd Guido Trotter
      </para>
351 bdfec6fd Guido Trotter
    </refsect2>
352 bdfec6fd Guido Trotter
353 bdfec6fd Guido Trotter
    <refsect2>
354 a8083063 Iustin Pop
      <title>Common behaviour</title>
355 a8083063 Iustin Pop
356 216842d7 Iustin Pop
      <para>All the scripts should display an usage message when
357 216842d7 Iustin Pop
      called with a wrong number of arguments or when the first
358 216842d7 Iustin Pop
      argument is <option>-h</option> or
359 216842d7 Iustin Pop
      <option>--help</option>.</para>
360 a8083063 Iustin Pop
361 a8083063 Iustin Pop
    </refsect2>
362 a8083063 Iustin Pop
363 386b57af Iustin Pop
    <refsect2>
364 386b57af Iustin Pop
      <title>Upgrading from old versions</title>
365 386b57af Iustin Pop
      <refsect3>
366 bdfec6fd Guido Trotter
367 bdfec6fd Guido Trotter
        <title>Version 10 to 15</title>
368 bdfec6fd Guido Trotter
369 bdfec6fd Guido Trotter
        <para>
370 bdfec6fd Guido Trotter
          The <filename>variants.list</filename> file has been
371 bdfec6fd Guido Trotter
          added, so OSes should support at least one variant,
372 bdfec6fd Guido Trotter
          declaring it in that file and must be prepared to parse
373 bdfec6fd Guido Trotter
          the OS_VARIANT environment variable. OSes are free to
374 bdfec6fd Guido Trotter
          support more variants than just the declared ones.
375 bdfec6fd Guido Trotter
        </para>
376 bdfec6fd Guido Trotter
377 bdfec6fd Guido Trotter
      </refsect3>
378 bdfec6fd Guido Trotter
379 bdfec6fd Guido Trotter
      <refsect3>
380 bdfec6fd Guido Trotter
381 216842d7 Iustin Pop
        <title>Version 5 to 10</title>
382 216842d7 Iustin Pop
383 216842d7 Iustin Pop
        <para>
384 216842d7 Iustin Pop
          The method os passing data has changed from command line
385 216842d7 Iustin Pop
          options to environment variables, so scripts should be
386 216842d7 Iustin Pop
          modified to use these. For an example of how this can be
387 216842d7 Iustin Pop
          done in a way compatible with both versions, feel free to
388 216842d7 Iustin Pop
          look at the debootstrap instance's
389 216842d7 Iustin Pop
          <filename>common.sh</filename> auxiliary script.
390 216842d7 Iustin Pop
        </para>
391 216842d7 Iustin Pop
392 216842d7 Iustin Pop
        <para>
393 216842d7 Iustin Pop
          Also, instances can have now a variable number of disks, not
394 216842d7 Iustin Pop
          only two, and a variable number of NICs (instead of fixed
395 216842d7 Iustin Pop
          one), so the scripts should deal with this. The biggest
396 216842d7 Iustin Pop
          change is in the import/export, which are called once per
397 216842d7 Iustin Pop
          disk, instead of once per instance.
398 216842d7 Iustin Pop
        </para>
399 216842d7 Iustin Pop
400 216842d7 Iustin Pop
      </refsect3>
401 216842d7 Iustin Pop
402 216842d7 Iustin Pop
      <refsect3>
403 386b57af Iustin Pop
        <title>Version 4 to 5</title>
404 386b57af Iustin Pop
        <para>
405 386b57af Iustin Pop
          The <filename>rename</filename> script has been added. If
406 386b57af Iustin Pop
          you don't want to do any changes on the instances after a
407 386b57af Iustin Pop
          rename, you can migrate the OS definition to version 5 by
408 386b57af Iustin Pop
          creating the <filename>rename</filename> script simply as:
409 386b57af Iustin Pop
          <screen>
410 386b57af Iustin Pop
#!/bin/sh
411 386b57af Iustin Pop
412 386b57af Iustin Pop
exit 0
413 386b57af Iustin Pop
          </screen>
414 386b57af Iustin Pop
        </para>
415 386b57af Iustin Pop
416 386b57af Iustin Pop
        <para>Note that the script must be executable.</para>
417 386b57af Iustin Pop
      </refsect3>
418 386b57af Iustin Pop
    </refsect2>
419 386b57af Iustin Pop
420 a8083063 Iustin Pop
    <!--
421 a8083063 Iustin Pop
    <refsect2>
422 a8083063 Iustin Pop
423 a8083063 Iustin Pop
      <title>Export/import format</title>
424 a8083063 Iustin Pop
425 386b57af Iustin Pop
      <para>
426 386b57af Iustin Pop
        It is up to the export and import scripts to define the format
427 386b57af Iustin Pop
        they use. It is only required for these two to work
428 386b57af Iustin Pop
        together. It is not recommended that
429 386b57af Iustin Pop
      </para>
430 a8083063 Iustin Pop
431 a8083063 Iustin Pop
    </refsect2>
432 a8083063 Iustin Pop
    -->
433 a8083063 Iustin Pop
434 a8083063 Iustin Pop
  </refsect1>
435 a8083063 Iustin Pop
436 a8083063 Iustin Pop
  &footer;
437 a8083063 Iustin Pop
438 a8083063 Iustin Pop
</refentry>
439 a8083063 Iustin Pop
440 a8083063 Iustin Pop
<!-- Keep this comment at the end of the file
441 a8083063 Iustin Pop
Local variables:
442 a8083063 Iustin Pop
mode: sgml
443 a8083063 Iustin Pop
sgml-omittag:t
444 a8083063 Iustin Pop
sgml-shorttag:t
445 a8083063 Iustin Pop
sgml-minimize-attributes:nil
446 a8083063 Iustin Pop
sgml-always-quote-attributes:t
447 a8083063 Iustin Pop
sgml-indent-step:2
448 a8083063 Iustin Pop
sgml-indent-data:t
449 a8083063 Iustin Pop
sgml-parent-document:nil
450 a8083063 Iustin Pop
sgml-default-dtd-file:nil
451 a8083063 Iustin Pop
sgml-exposed-tags:nil
452 a8083063 Iustin Pop
sgml-local-catalogs:nil
453 a8083063 Iustin Pop
sgml-local-ecat-files:nil
454 a8083063 Iustin Pop
End:
455 a8083063 Iustin Pop
-->