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 | --> |