Statistics
| Branch: | Tag: | Revision:

root / UPGRADE @ af8492ff

History | View | Annotate | Download (12.4 kB)

1 35dd762d Michael Hanselmann
Upgrade notes
2 35dd762d Michael Hanselmann
=============
3 35dd762d Michael Hanselmann
4 e1ff0de1 Iustin Pop
.. highlight:: shell-example
5 35dd762d Michael Hanselmann
6 35dd762d Michael Hanselmann
This document details the steps needed to upgrade a cluster to newer versions
7 35dd762d Michael Hanselmann
of Ganeti.
8 35dd762d Michael Hanselmann
9 35dd762d Michael Hanselmann
As a general rule the node daemons need to be restarted after each software
10 35dd762d Michael Hanselmann
upgrade; if using the provided example init.d script, this means running the
11 35dd762d Michael Hanselmann
following command on all nodes::
12 35dd762d Michael Hanselmann
13 e1ff0de1 Iustin Pop
    $ /etc/init.d/ganeti restart
14 35dd762d Michael Hanselmann
15 98ef4a7b Klaus Aehlig
2.11 and above
16 98ef4a7b Klaus Aehlig
--------------
17 98ef4a7b Klaus Aehlig
18 98ef4a7b Klaus Aehlig
Starting from 2.10 onwards, Ganeti has support for parallely installed versions
19 98ef4a7b Klaus Aehlig
and automated upgrades. The default configuration for 2.11 and higher already is
20 98ef4a7b Klaus Aehlig
to install as a parallel version without changing the running version. If both
21 98ef4a7b Klaus Aehlig
versions, the installed one and the one to upgrade to, are 2.10 or higher, the
22 98ef4a7b Klaus Aehlig
actual switch of the live version can be carried out by the following command
23 98ef4a7b Klaus Aehlig
on the master node.::
24 98ef4a7b Klaus Aehlig
25 98ef4a7b Klaus Aehlig
   $ gnt-cluster upgrade --to 2.11
26 98ef4a7b Klaus Aehlig
27 98ef4a7b Klaus Aehlig
This will carry out the steps described below in the section on upgrades from
28 98ef4a7b Klaus Aehlig
2.1 and above. Downgrades to the previous minor version can be done in the same
29 98ef4a7b Klaus Aehlig
way, specifiying the smaller version on the ``--to`` argument.
30 98ef4a7b Klaus Aehlig
31 35dd762d Michael Hanselmann
32 d5104ca4 Helga Velroyen
2.11
33 d5104ca4 Helga Velroyen
----
34 d5104ca4 Helga Velroyen
35 d5104ca4 Helga Velroyen
When upgrading to 2.11, first apply the instructions of ``2.11 and
36 d5104ca4 Helga Velroyen
above``. 2.11 comes with the new feature of enhanced RPC security
37 d5104ca4 Helga Velroyen
through client certificates. This features needs to be enabled after the
38 d5104ca4 Helga Velroyen
upgrade by::
39 d5104ca4 Helga Velroyen
40 d5104ca4 Helga Velroyen
   $ gnt-cluster renew-crypto --new-node-certificates
41 d5104ca4 Helga Velroyen
42 d5104ca4 Helga Velroyen
Note that new node certificates are generated automatically without
43 d5104ca4 Helga Velroyen
warning when upgrading with ``gnt-cluster upgrade``.
44 d5104ca4 Helga Velroyen
45 d5104ca4 Helga Velroyen
46 35dd762d Michael Hanselmann
2.1 and above
47 35dd762d Michael Hanselmann
-------------
48 35dd762d Michael Hanselmann
49 35dd762d Michael Hanselmann
Starting with Ganeti 2.0, upgrades between revisions (e.g. 2.1.0 to 2.1.1)
50 35dd762d Michael Hanselmann
should not need manual intervention. As a safety measure, minor releases (e.g.
51 35dd762d Michael Hanselmann
2.1.3 to 2.2.0) require the ``cfgupgrade`` command for changing the
52 35dd762d Michael Hanselmann
configuration version. Below you find the steps necessary to upgrade between
53 35dd762d Michael Hanselmann
minor releases.
54 35dd762d Michael Hanselmann
55 35dd762d Michael Hanselmann
To run commands on all nodes, the `distributed shell (dsh)
56 35dd762d Michael Hanselmann
<http://www.netfort.gr.jp/~dancer/software/dsh.html.en>`_ can be used, e.g.
57 35dd762d Michael Hanselmann
``dsh -M -F 8 -f /var/lib/ganeti/ssconf_online_nodes gnt-cluster --version``.
58 35dd762d Michael Hanselmann
59 35dd762d Michael Hanselmann
#. Ensure no jobs are running (master node only)::
60 35dd762d Michael Hanselmann
61 e1ff0de1 Iustin Pop
    $ gnt-job list
62 35dd762d Michael Hanselmann
63 6c28c480 Bernardo Dal Seno
#. Pause the watcher for an hour (master node only)::
64 6c28c480 Bernardo Dal Seno
65 6c28c480 Bernardo Dal Seno
    $ gnt-cluster watcher pause 1h
66 6c28c480 Bernardo Dal Seno
67 35dd762d Michael Hanselmann
#. Stop all daemons on all nodes::
68 35dd762d Michael Hanselmann
69 e1ff0de1 Iustin Pop
    $ /etc/init.d/ganeti stop
70 35dd762d Michael Hanselmann
71 35dd762d Michael Hanselmann
#. Backup old configuration (master node only)::
72 35dd762d Michael Hanselmann
73 e1ff0de1 Iustin Pop
    $ tar czf /var/lib/ganeti-$(date +\%FT\%T).tar.gz -C /var/lib ganeti
74 35dd762d Michael Hanselmann
75 35dd762d Michael Hanselmann
#. Install new Ganeti version on all nodes
76 35dd762d Michael Hanselmann
#. Run cfgupgrade on the master node::
77 35dd762d Michael Hanselmann
78 e1ff0de1 Iustin Pop
    $ /usr/lib/ganeti/tools/cfgupgrade --verbose --dry-run
79 e1ff0de1 Iustin Pop
    $ /usr/lib/ganeti/tools/cfgupgrade --verbose
80 35dd762d Michael Hanselmann
81 35dd762d Michael Hanselmann
   (``cfgupgrade`` supports a number of parameters, run it with
82 35dd762d Michael Hanselmann
   ``--help`` for more information)
83 35dd762d Michael Hanselmann
84 fe05a931 Michele Tartara
#. Upgrade the directory permissions on all nodes::
85 fe05a931 Michele Tartara
86 fe05a931 Michele Tartara
    $ /usr/lib/ganeti/ensure-dirs --full-run
87 fe05a931 Michele Tartara
88 91cdc18f Michele Tartara
#. Create the (missing) required users and make users part of the required
89 3449551d Michele Tartara
   groups on all nodes::
90 91cdc18f Michele Tartara
91 91cdc18f Michele Tartara
    $ /usr/lib/ganeti/tools/users-setup
92 91cdc18f Michele Tartara
93 1ce2f51f Klaus Aehlig
   This will ask for confirmation. To execute directly, add the ``--yes-do-it``
94 1ce2f51f Klaus Aehlig
   option.
95 1ce2f51f Klaus Aehlig
96 35dd762d Michael Hanselmann
#. Restart daemons on all nodes::
97 35dd762d Michael Hanselmann
98 e1ff0de1 Iustin Pop
    $ /etc/init.d/ganeti restart
99 35dd762d Michael Hanselmann
100 35dd762d Michael Hanselmann
#. Re-distribute configuration (master node only)::
101 91fb0d18 Bernardo Dal Seno
102 91fb0d18 Bernardo Dal Seno
    $ gnt-cluster redist-conf
103 91fb0d18 Bernardo Dal Seno
104 e43f849c Guido Trotter
#. If you use file storage, check that the ``/etc/ganeti/file-storage-paths``
105 c7ec6a25 Michele Tartara
   is correct on all nodes. For security reasons it's not copied
106 c7ec6a25 Michele Tartara
   automatically, but it can be copied manually via::
107 e43f849c Guido Trotter
108 e43f849c Guido Trotter
   $ gnt-cluster copyfile /etc/ganeti/file-storage-paths
109 e43f849c Guido Trotter
110 91fb0d18 Bernardo Dal Seno
#. Restart daemons again on all nodes::
111 91fb0d18 Bernardo Dal Seno
112 91fb0d18 Bernardo Dal Seno
    $ /etc/init.d/ganeti restart
113 91fb0d18 Bernardo Dal Seno
114 91fb0d18 Bernardo Dal Seno
#. Enable the watcher again (master node only)::
115 91fb0d18 Bernardo Dal Seno
116 91fb0d18 Bernardo Dal Seno
    $ gnt-cluster watcher continue
117 91fb0d18 Bernardo Dal Seno
118 91fb0d18 Bernardo Dal Seno
#. Verify cluster (master node only)::
119 91fb0d18 Bernardo Dal Seno
120 91fb0d18 Bernardo Dal Seno
    $ gnt-cluster verify
121 91fb0d18 Bernardo Dal Seno
122 91fb0d18 Bernardo Dal Seno
Reverting an upgrade
123 91fb0d18 Bernardo Dal Seno
~~~~~~~~~~~~~~~~~~~~
124 91fb0d18 Bernardo Dal Seno
125 91fb0d18 Bernardo Dal Seno
For going back between revisions (e.g. 2.1.1 to 2.1.0) no manual
126 91fb0d18 Bernardo Dal Seno
intervention is required, as for upgrades.
127 91fb0d18 Bernardo Dal Seno
128 91fb0d18 Bernardo Dal Seno
Starting from version 2.8, ``cfgupgrade`` supports ``--downgrade``
129 91fb0d18 Bernardo Dal Seno
option to bring the configuration back to the previous stable version.
130 91fb0d18 Bernardo Dal Seno
This is useful if you upgrade Ganeti and after some time you run into
131 91fb0d18 Bernardo Dal Seno
problems with the new version. You can downgrade the configuration
132 91fb0d18 Bernardo Dal Seno
without losing the changes made since the upgrade. Any feature not
133 91fb0d18 Bernardo Dal Seno
supported by the old version will be removed from the configuration, of
134 91fb0d18 Bernardo Dal Seno
course, but you get a warning about it. If there is any new feature and
135 91fb0d18 Bernardo Dal Seno
you haven't changed from its default value, you don't have to worry
136 91fb0d18 Bernardo Dal Seno
about it, as it will get the same value whenever you'll upgrade again.
137 91fb0d18 Bernardo Dal Seno
138 df89787b Klaus Aehlig
Automatic downgrades
139 df89787b Klaus Aehlig
....................
140 df89787b Klaus Aehlig
141 df89787b Klaus Aehlig
From version 2.11 onwards, downgrades can be done by using the
142 df89787b Klaus Aehlig
``gnt-cluster upgrade`` command.::
143 df89787b Klaus Aehlig
144 df89787b Klaus Aehlig
  gnt-cluster upgrade --to 2.10
145 df89787b Klaus Aehlig
146 df89787b Klaus Aehlig
Manual downgrades
147 df89787b Klaus Aehlig
.................
148 df89787b Klaus Aehlig
149 91fb0d18 Bernardo Dal Seno
The procedure is similar to upgrading, but please notice that you have to
150 91fb0d18 Bernardo Dal Seno
revert the configuration **before** installing the old version.
151 91fb0d18 Bernardo Dal Seno
152 91fb0d18 Bernardo Dal Seno
#. Ensure no jobs are running (master node only)::
153 91fb0d18 Bernardo Dal Seno
154 91fb0d18 Bernardo Dal Seno
    $ gnt-job list
155 91fb0d18 Bernardo Dal Seno
156 91fb0d18 Bernardo Dal Seno
#. Pause the watcher for an hour (master node only)::
157 91fb0d18 Bernardo Dal Seno
158 91fb0d18 Bernardo Dal Seno
    $ gnt-cluster watcher pause 1h
159 91fb0d18 Bernardo Dal Seno
160 91fb0d18 Bernardo Dal Seno
#. Stop all daemons on all nodes::
161 91fb0d18 Bernardo Dal Seno
162 91fb0d18 Bernardo Dal Seno
    $ /etc/init.d/ganeti stop
163 91fb0d18 Bernardo Dal Seno
164 91fb0d18 Bernardo Dal Seno
#. Backup old configuration (master node only)::
165 91fb0d18 Bernardo Dal Seno
166 91fb0d18 Bernardo Dal Seno
    $ tar czf /var/lib/ganeti-$(date +\%FT\%T).tar.gz -C /var/lib ganeti
167 91fb0d18 Bernardo Dal Seno
168 91fb0d18 Bernardo Dal Seno
#. Run cfgupgrade on the master node::
169 91fb0d18 Bernardo Dal Seno
170 91fb0d18 Bernardo Dal Seno
    $ /usr/lib/ganeti/tools/cfgupgrade --verbose --downgrade --dry-run
171 91fb0d18 Bernardo Dal Seno
    $ /usr/lib/ganeti/tools/cfgupgrade --verbose --downgrade
172 91fb0d18 Bernardo Dal Seno
173 91fb0d18 Bernardo Dal Seno
   You may want to copy all the messages about features that have been
174 91fb0d18 Bernardo Dal Seno
   removed during the downgrade, in case you want to restore them when
175 91fb0d18 Bernardo Dal Seno
   upgrading again.
176 91fb0d18 Bernardo Dal Seno
177 91fb0d18 Bernardo Dal Seno
#. Install the old Ganeti version on all nodes
178 f3c7b51c Michele Tartara
179 f3c7b51c Michele Tartara
   NB: in Ganeti 2.8, the ``cmdlib.py`` file was split into a series of files
180 f3c7b51c Michele Tartara
   contained in the ``cmdlib`` directory. If Ganeti is installed from sources
181 f3c7b51c Michele Tartara
   and not from a package, while downgrading Ganeti to a pre-2.8
182 f3c7b51c Michele Tartara
   version it is important to remember to remove the ``cmdlib`` directory
183 f3c7b51c Michele Tartara
   from the directory containing the Ganeti python files (which usually is
184 f3c7b51c Michele Tartara
   ``${PREFIX}/lib/python${VERSION}/dist-packages/ganeti``).
185 f3c7b51c Michele Tartara
   A simpler upgrade/downgrade procedure will be made available in future
186 f3c7b51c Michele Tartara
   versions of Ganeti.
187 f3c7b51c Michele Tartara
188 91fb0d18 Bernardo Dal Seno
#. Restart daemons on all nodes::
189 91fb0d18 Bernardo Dal Seno
190 91fb0d18 Bernardo Dal Seno
    $ /etc/init.d/ganeti restart
191 91fb0d18 Bernardo Dal Seno
192 91fb0d18 Bernardo Dal Seno
#. Re-distribute configuration (master node only)::
193 35dd762d Michael Hanselmann
194 e1ff0de1 Iustin Pop
    $ gnt-cluster redist-conf
195 35dd762d Michael Hanselmann
196 35dd762d Michael Hanselmann
#. Restart daemons again on all nodes::
197 35dd762d Michael Hanselmann
198 e1ff0de1 Iustin Pop
    $ /etc/init.d/ganeti restart
199 35dd762d Michael Hanselmann
200 6c28c480 Bernardo Dal Seno
#. Enable the watcher again (master node only)::
201 6c28c480 Bernardo Dal Seno
202 6c28c480 Bernardo Dal Seno
    $ gnt-cluster watcher continue
203 6c28c480 Bernardo Dal Seno
204 35dd762d Michael Hanselmann
#. Verify cluster (master node only)::
205 35dd762d Michael Hanselmann
206 e1ff0de1 Iustin Pop
    $ gnt-cluster verify
207 35dd762d Michael Hanselmann
208 b18409cf Klaus Aehlig
Specific tasks for 2.11 to 2.10 downgrade
209 b18409cf Klaus Aehlig
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
210 b18409cf Klaus Aehlig
211 b18409cf Klaus Aehlig
After running ``cfgupgrade``, the ``client.pem`` and
212 b18409cf Klaus Aehlig
``ssconf_master_candidates_certs`` files need to be removed
213 b18409cf Klaus Aehlig
from Ganeti's data directory on all nodes. While this step is
214 b18409cf Klaus Aehlig
not necessary for 2.10 to run cleanly, leaving them will cause
215 b18409cf Klaus Aehlig
problems when upgrading again after the downgrade.
216 35dd762d Michael Hanselmann
217 35dd762d Michael Hanselmann
2.0 releases
218 35dd762d Michael Hanselmann
------------
219 35dd762d Michael Hanselmann
220 35dd762d Michael Hanselmann
2.0.3 to 2.0.4
221 35dd762d Michael Hanselmann
~~~~~~~~~~~~~~
222 35dd762d Michael Hanselmann
223 35dd762d Michael Hanselmann
No changes needed except restarting the daemon; but rollback to 2.0.3 might
224 35dd762d Michael Hanselmann
require configuration editing.
225 35dd762d Michael Hanselmann
226 35dd762d Michael Hanselmann
If you're using Xen-HVM instances, please double-check the network
227 35dd762d Michael Hanselmann
configuration (``nic_type`` parameter) as the defaults might have changed:
228 35dd762d Michael Hanselmann
2.0.4 adds any missing configuration items and depending on the version of the
229 35dd762d Michael Hanselmann
software the cluster has been installed with, some new keys might have been
230 35dd762d Michael Hanselmann
added.
231 35dd762d Michael Hanselmann
232 35dd762d Michael Hanselmann
2.0.1 to 2.0.2/2.0.3
233 35dd762d Michael Hanselmann
~~~~~~~~~~~~~~~~~~~~
234 35dd762d Michael Hanselmann
235 35dd762d Michael Hanselmann
Between 2.0.1 and 2.0.2 there have been some changes in the handling of block
236 35dd762d Michael Hanselmann
devices, which can cause some issues. 2.0.3 was then released which adds two
237 35dd762d Michael Hanselmann
new options/commands to fix this issue.
238 35dd762d Michael Hanselmann
239 35dd762d Michael Hanselmann
If you use DRBD-type instances and see problems in instance start or
240 35dd762d Michael Hanselmann
activate-disks with messages from DRBD about "lower device too small" or
241 35dd762d Michael Hanselmann
similar, it is recoomended to:
242 35dd762d Michael Hanselmann
243 35dd762d Michael Hanselmann
#. Run ``gnt-instance activate-disks --ignore-size $instance`` for each
244 35dd762d Michael Hanselmann
   of the affected instances
245 35dd762d Michael Hanselmann
#. Then run ``gnt-cluster repair-disk-sizes`` which will check that
246 35dd762d Michael Hanselmann
   instances have the correct disk sizes
247 35dd762d Michael Hanselmann
248 35dd762d Michael Hanselmann
1.2 to 2.0
249 35dd762d Michael Hanselmann
----------
250 35dd762d Michael Hanselmann
251 35dd762d Michael Hanselmann
Prerequisites:
252 35dd762d Michael Hanselmann
253 35dd762d Michael Hanselmann
- Ganeti 1.2.7 is currently installed
254 35dd762d Michael Hanselmann
- All instances have been migrated from DRBD 0.7 to DRBD 8.x (i.e. no
255 35dd762d Michael Hanselmann
  ``remote_raid1`` disk template)
256 35dd762d Michael Hanselmann
- Upgrade to Ganeti 2.0.0~rc2 or later (~rc1 and earlier don't have the needed
257 35dd762d Michael Hanselmann
  upgrade tool)
258 35dd762d Michael Hanselmann
259 35dd762d Michael Hanselmann
In the below steps, replace :file:`/var/lib` with ``$libdir`` if Ganeti was not
260 35dd762d Michael Hanselmann
installed with this prefix (e.g. :file:`/usr/local/var`). Same for
261 35dd762d Michael Hanselmann
:file:`/usr/lib`.
262 35dd762d Michael Hanselmann
263 35dd762d Michael Hanselmann
Execution (all steps are required in the order given):
264 35dd762d Michael Hanselmann
265 35dd762d Michael Hanselmann
#. Make a backup of the current configuration, for safety::
266 35dd762d Michael Hanselmann
267 e1ff0de1 Iustin Pop
    $ cp -a /var/lib/ganeti /var/lib/ganeti-1.2.backup
268 35dd762d Michael Hanselmann
269 35dd762d Michael Hanselmann
#. Stop all instances::
270 35dd762d Michael Hanselmann
271 e1ff0de1 Iustin Pop
    $ gnt-instance stop --all
272 35dd762d Michael Hanselmann
273 35dd762d Michael Hanselmann
#. Make sure no DRBD device are in use, the following command should show no
274 35dd762d Michael Hanselmann
   active minors::
275 35dd762d Michael Hanselmann
276 e1ff0de1 Iustin Pop
    $ gnt-cluster command grep cs: /proc/drbd | grep -v cs:Unconf
277 35dd762d Michael Hanselmann
278 35dd762d Michael Hanselmann
#. Stop the node daemons and rapi daemon on all nodes (note: should be logged
279 35dd762d Michael Hanselmann
   in not via the cluster name, but the master node name, as the command below
280 35dd762d Michael Hanselmann
   will remove the cluster ip from the master node)::
281 35dd762d Michael Hanselmann
282 e1ff0de1 Iustin Pop
    $ gnt-cluster command /etc/init.d/ganeti stop
283 35dd762d Michael Hanselmann
284 35dd762d Michael Hanselmann
#. Install the new software on all nodes, either from packaging (if available)
285 35dd762d Michael Hanselmann
   or from sources; the master daemon will not start but give error messages
286 35dd762d Michael Hanselmann
   about wrong configuration file, which is normal
287 35dd762d Michael Hanselmann
#. Upgrade the configuration file::
288 35dd762d Michael Hanselmann
289 e1ff0de1 Iustin Pop
    $ /usr/lib/ganeti/tools/cfgupgrade12 -v --dry-run
290 e1ff0de1 Iustin Pop
    $ /usr/lib/ganeti/tools/cfgupgrade12 -v
291 35dd762d Michael Hanselmann
292 35dd762d Michael Hanselmann
#. Make sure ``ganeti-noded`` is running on all nodes (and start it if
293 35dd762d Michael Hanselmann
   not)
294 35dd762d Michael Hanselmann
#. Start the master daemon::
295 35dd762d Michael Hanselmann
296 e1ff0de1 Iustin Pop
    $ ganeti-masterd
297 35dd762d Michael Hanselmann
298 35dd762d Michael Hanselmann
#. Check that a simple node-list works::
299 35dd762d Michael Hanselmann
300 e1ff0de1 Iustin Pop
    $ gnt-node list
301 35dd762d Michael Hanselmann
302 35dd762d Michael Hanselmann
#. Redistribute updated configuration to all nodes::
303 35dd762d Michael Hanselmann
304 e1ff0de1 Iustin Pop
    $ gnt-cluster redist-conf
305 e1ff0de1 Iustin Pop
    $ gnt-cluster copyfile /var/lib/ganeti/known_hosts
306 35dd762d Michael Hanselmann
307 35dd762d Michael Hanselmann
#. Optional: if needed, install RAPI-specific certificates under
308 35dd762d Michael Hanselmann
   :file:`/var/lib/ganeti/rapi.pem` and run::
309 35dd762d Michael Hanselmann
310 e1ff0de1 Iustin Pop
    $ gnt-cluster copyfile /var/lib/ganeti/rapi.pem
311 35dd762d Michael Hanselmann
312 35dd762d Michael Hanselmann
#. Run a cluster verify, this should show no problems::
313 35dd762d Michael Hanselmann
314 e1ff0de1 Iustin Pop
    $ gnt-cluster verify
315 35dd762d Michael Hanselmann
316 35dd762d Michael Hanselmann
#. Remove some obsolete files::
317 35dd762d Michael Hanselmann
318 e1ff0de1 Iustin Pop
    $ gnt-cluster command rm /var/lib/ganeti/ssconf_node_pass
319 e1ff0de1 Iustin Pop
    $ gnt-cluster command rm /var/lib/ganeti/ssconf_hypervisor
320 35dd762d Michael Hanselmann
321 35dd762d Michael Hanselmann
#. Update the xen pvm (if this was a pvm cluster) setting for 1.2
322 35dd762d Michael Hanselmann
   compatibility::
323 35dd762d Michael Hanselmann
324 e1ff0de1 Iustin Pop
    $ gnt-cluster modify -H xen-pvm:root_path=/dev/sda
325 35dd762d Michael Hanselmann
326 35dd762d Michael Hanselmann
#. Depending on your setup, you might also want to reset the initrd parameter::
327 35dd762d Michael Hanselmann
328 e1ff0de1 Iustin Pop
    $ gnt-cluster modify -H xen-pvm:initrd_path=/boot/initrd-2.6-xenU
329 35dd762d Michael Hanselmann
330 35dd762d Michael Hanselmann
#. Reset the instance autobalance setting to default::
331 35dd762d Michael Hanselmann
332 e1ff0de1 Iustin Pop
    $ for i in $(gnt-instance list -o name --no-headers); do \
333 e1ff0de1 Iustin Pop
       gnt-instance modify -B auto_balance=default $i; \
334 e1ff0de1 Iustin Pop
      done
335 35dd762d Michael Hanselmann
336 35dd762d Michael Hanselmann
#. Optional: start the RAPI demon::
337 35dd762d Michael Hanselmann
338 e1ff0de1 Iustin Pop
    $ ganeti-rapi
339 35dd762d Michael Hanselmann
340 35dd762d Michael Hanselmann
#. Restart instances::
341 35dd762d Michael Hanselmann
342 e1ff0de1 Iustin Pop
    $ gnt-instance start --force-multiple --all
343 35dd762d Michael Hanselmann
344 35dd762d Michael Hanselmann
At this point, ``gnt-cluster verify`` should show no errors and the migration
345 35dd762d Michael Hanselmann
is complete.
346 35dd762d Michael Hanselmann
347 35dd762d Michael Hanselmann
1.2 releases
348 35dd762d Michael Hanselmann
------------
349 35dd762d Michael Hanselmann
350 35dd762d Michael Hanselmann
1.2.4 to any other higher 1.2 version
351 35dd762d Michael Hanselmann
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
352 35dd762d Michael Hanselmann
353 35dd762d Michael Hanselmann
No changes needed. Rollback will usually require manual edit of the
354 35dd762d Michael Hanselmann
configuration file.
355 35dd762d Michael Hanselmann
356 35dd762d Michael Hanselmann
1.2.3 to 1.2.4
357 35dd762d Michael Hanselmann
~~~~~~~~~~~~~~
358 35dd762d Michael Hanselmann
359 35dd762d Michael Hanselmann
No changes needed. Note that going back from 1.2.4 to 1.2.3 will require manual
360 35dd762d Michael Hanselmann
edit of the configuration file (since we added some HVM-related new
361 35dd762d Michael Hanselmann
attributes).
362 35dd762d Michael Hanselmann
363 35dd762d Michael Hanselmann
1.2.2 to 1.2.3
364 35dd762d Michael Hanselmann
~~~~~~~~~~~~~~
365 35dd762d Michael Hanselmann
366 35dd762d Michael Hanselmann
No changes needed. Note that the drbd7-to-8 upgrade tool does a disk format
367 35dd762d Michael Hanselmann
change for the DRBD metadata, so in theory this might be **risky**. It is
368 35dd762d Michael Hanselmann
advised to have (good) backups before doing the upgrade.
369 35dd762d Michael Hanselmann
370 35dd762d Michael Hanselmann
1.2.1 to 1.2.2
371 35dd762d Michael Hanselmann
~~~~~~~~~~~~~~
372 35dd762d Michael Hanselmann
373 35dd762d Michael Hanselmann
No changes needed.
374 35dd762d Michael Hanselmann
375 35dd762d Michael Hanselmann
1.2.0 to 1.2.1
376 35dd762d Michael Hanselmann
~~~~~~~~~~~~~~
377 35dd762d Michael Hanselmann
378 35dd762d Michael Hanselmann
No changes needed. Only some bugfixes and new additions that don't affect
379 35dd762d Michael Hanselmann
existing clusters.
380 35dd762d Michael Hanselmann
381 35dd762d Michael Hanselmann
1.2.0 beta 3 to 1.2.0
382 35dd762d Michael Hanselmann
~~~~~~~~~~~~~~~~~~~~~
383 35dd762d Michael Hanselmann
384 35dd762d Michael Hanselmann
No changes needed.
385 35dd762d Michael Hanselmann
386 35dd762d Michael Hanselmann
1.2.0 beta 2 to beta 3
387 35dd762d Michael Hanselmann
~~~~~~~~~~~~~~~~~~~~~~
388 35dd762d Michael Hanselmann
389 35dd762d Michael Hanselmann
No changes needed. A new version of the debian-etch-instance OS (0.3) has been
390 35dd762d Michael Hanselmann
released, but upgrading it is not required.
391 35dd762d Michael Hanselmann
392 35dd762d Michael Hanselmann
1.2.0 beta 1 to beta 2
393 35dd762d Michael Hanselmann
~~~~~~~~~~~~~~~~~~~~~~
394 35dd762d Michael Hanselmann
395 35dd762d Michael Hanselmann
Beta 2 switched the config file format to JSON. Steps to upgrade:
396 35dd762d Michael Hanselmann
397 35dd762d Michael Hanselmann
#. Stop the daemons (``/etc/init.d/ganeti stop``) on all nodes
398 35dd762d Michael Hanselmann
#. Disable the cron job (default is :file:`/etc/cron.d/ganeti`)
399 35dd762d Michael Hanselmann
#. Install the new version
400 35dd762d Michael Hanselmann
#. Make a backup copy of the config file
401 35dd762d Michael Hanselmann
#. Upgrade the config file using the following command::
402 35dd762d Michael Hanselmann
403 e1ff0de1 Iustin Pop
    $ /usr/share/ganeti/cfgupgrade --verbose /var/lib/ganeti/config.data
404 35dd762d Michael Hanselmann
405 35dd762d Michael Hanselmann
#. Start the daemons and run ``gnt-cluster info``, ``gnt-node list`` and
406 35dd762d Michael Hanselmann
   ``gnt-instance list`` to check if the upgrade process finished successfully
407 35dd762d Michael Hanselmann
408 35dd762d Michael Hanselmann
The OS definition also need to be upgraded. There is a new version of the
409 35dd762d Michael Hanselmann
debian-etch-instance OS (0.2) that goes along with beta 2.
410 9ff4f2c0 Michael Hanselmann
411 9ff4f2c0 Michael Hanselmann
.. vim: set textwidth=72 :
412 9ff4f2c0 Michael Hanselmann
.. Local Variables:
413 9ff4f2c0 Michael Hanselmann
.. mode: rst
414 9ff4f2c0 Michael Hanselmann
.. fill-column: 72
415 9ff4f2c0 Michael Hanselmann
.. End: