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