Merge remote branch 'origin/master' into mogu
[ganeti-local] / NEWS
1 News
2 ====
3 Version 2.0.4
4 -------------
5
6 - Fixed many wrong messages
7 - Fixed a few bugs related to the locking library
8 - Fixed MAC checking at instance creation time
9 - Fixed a DRBD parsing bug related to gaps in /proc/drbd
10 - Fixed a few issues related to signal handling in both daemons and
11   scripts
12 - Fixed the example startup script provided
13 - Fixed insserv dependencies in the example startup script (patch from
14   Debian)
15 - Fixed handling of drained nodes in the iallocator framework
16 - Fixed handling of KERNEL_PATH parameter for xen-hvm (Debian bug
17   #528618)
18 - Fixed error related to invalid job IDs in job polling
19 - Fixed job/opcode persistence on unclean master shutdown
20 - Fixed handling of partial job processing after unclean master
21   shutdown
22 - Fixed error reporting from LUs, previously all errors were converted
23   into execution errors
24 - Fixed error reporting from burnin
25 - Decreased significantly the memory usage of the job queue
26 - Optimised slightly multi-job submission
27 - Optimised slightly opcode loading
28 - Backported the multi-job submit framework from the development
29   branch; multi-instance start and stop should be faster
30 - Added script to clean archived jobs after 21 days; this will reduce
31   the size of the queue directory
32 - Added some extra checks in disk size tracking
33 - Added an example ethers hook script
34 - Added a cluster parameter that prevents Ganeti from modifying of
35   /etc/hosts
36 - Added more node information to RAPI responses
37 - Added a “gnt-job watch” command that allows following the ouput of a
38   job
39 - Added a bind-address option to ganeti-rapi
40 - Added more checks to the configuration verify
41 - Enhanced the burnin script such that some operations can be retried
42   automatically
43 - Converted instance reinstall to multi-instance model
44
45 Version 2.0.3
46 -------------
47
48 - Added ``--ignore-size`` to the ``gnt-instance activate-disks`` command
49   to allow using the pre-2.0.2 behaviour in activation, if any existing
50   instances have mismatched disk sizes in the configuration
51 - Added ``gnt-cluster repair-disk-sizes`` command to check and update
52   any configuration mismatches for disk sizes
53 - Added ``gnt-master cluste-failover --no-voting`` to allow master
54   failover to work on two-node clusters
55 - Fixed the ‘--net’ option of ``gnt-backup import``, which was unusable
56 - Fixed detection of OS script errors in ``gnt-backup export``
57 - Fixed exit code of ``gnt-backup export``
58
59
60 Version 2.0.2
61 -------------
62
63 - Added experimental support for stripped logical volumes; this should
64   enhance performance but comes with a higher complexity in the block
65   device handling; stripping is only enabled when passing
66   ``--with-lvm-stripecount=N`` to ``configure``, but codepaths are
67   affected even in the non-stripped mode
68 - Improved resiliency against transient failures at the end of DRBD
69   resyncs, and in general of DRBD resync checks
70 - Fixed a couple of issues with exports and snapshot errors
71 - Fixed a couple of issues in instance listing
72 - Added display of the disk size in ``gnt-instance info``
73 - Fixed checking for valid OSes in instance creation
74 - Fixed handling of the ‘vcpus’ parameter in instance listing and in
75   general of invalid parameters
76 - Fixed http server library, and thus RAPI, to handle invalid
77   username/password combinations correctly; this means that now they
78   report unauthorized for queries too, not only for modifications,
79   allowing earlier detect of configuration problems
80 - Added a new ‘role’ node list field, equivalent to the master/master
81   candidate/drained/offline flags combinations
82 - Fixed cluster modify and changes of candidate pool size
83 - Fixed cluster verify error messages for wrong files on regular nodes
84 - Fixed a couple of issues with node demotion from master candidate role
85 - Fixed node readd issues
86 - Added non-interactive mode for ``ganeti-masterd --no-voting`` startup
87 - Added a new ‘--no-voting’ option for masterfailover to fix failover on
88   two-nodes clusters when the former master node is unreachable
89 - Added instance reinstall over RAPI
90
91
92 Version 2.0.1
93 -------------
94
95 - added ``-H``/``-B`` startup parameters to ``gnt-instance``, which will
96   allow re-adding the start in single-user option (regression from 1.2)
97 - the watcher writes the instance status to a file, to allow monitoring
98   to report the instance status (from the master) based on cached
99   results of the watcher's queries; while this can get stale if the
100   watcher is being locked due to other work on the cluster, this is
101   still an improvement
102 - the watcher now also restarts the node daemon and the rapi daemon if
103   they died
104 - fixed the watcher to handle full and drained queue cases
105 - hooks export more instance data in the environment, which helps if
106   hook scripts need to take action based on the instance's properties
107   (no longer need to query back into ganeti)
108 - instance failovers when the instance is stopped do not check for free
109   RAM, so that failing over a stopped instance is possible in low memory
110   situations
111 - rapi uses queries for tags instead of jobs (for less job traffic), and
112   for cluster tags it won't talk to masterd at all but read them from
113   ssconf
114 - a couple of error handling fixes in RAPI
115 - drbd handling: improved the error handling of inconsistent disks after
116   resync to reduce the frequency of "there are some degraded disks for
117   this instance" messages
118 - fixed a bug in live migration when DRBD doesn't want to reconnect (the
119   error handling path called a wrong function name)
120
121
122 Version 2.0.0 final
123 -------------------
124
125 - no changes from rc5
126
127
128 Version 2.0 release candidate 5
129 -------------------------------
130
131 - fix a couple of bugs (validation, argument checks)
132 - fix ``gnt-cluster getmaster`` on non-master nodes (regression)
133 - some small improvements to RAPI and IAllocator
134 - make watcher automatically start the master daemon if down
135
136
137 Version 2.0 release candidate 4
138 -------------------------------
139
140 - change the OS list to not require locks; this helps with big clusters
141 - fix ``gnt-cluster verify`` and ``gnt-cluster verify-disks`` when the
142   volume group is broken
143 - ``gnt-instance info``, without any arguments, doesn't run for all
144   instances anymore; either pass ``--all`` or pass the desired
145   instances; this helps against mistakes on big clusters where listing
146   the information for all instances takes a long time
147 - miscellaneous doc and man pages fixes
148
149
150 Version 2.0 release candidate 3
151 -------------------------------
152
153 - Change the internal locking model of some ``gnt-node`` commands, in
154   order to reduce contention (and blocking of master daemon) when
155   batching many creation/reinstall jobs
156 - Fixes to Xen soft reboot
157 - No longer build documentation at build time, instead distribute it in
158   the archive, in order to reduce the need for the whole docbook/rst
159   toolchains
160
161
162 Version 2.0 release candidate 2
163 -------------------------------
164
165 - Now the cfgupgrade scripts works and can upgrade 1.2.7 clusters to 2.0
166 - Fix watcher startup sequence, improves the behaviour of busy clusters
167 - Some other fixes in ``gnt-cluster verify``, ``gnt-instance
168   replace-disks``, ``gnt-instance add``, ``gnt-cluster queue``, KVM VNC
169   bind address and other places
170 - Some documentation fixes and updates
171
172
173 Version 2.0 release candidate 1
174 -------------------------------
175
176 - More documentation updates, now all docs should be more-or-less
177   up-to-date
178 - A couple of small fixes (mixed hypervisor clusters, offline nodes,
179   etc.)
180 - Added a customizable HV_KERNEL_ARGS hypervisor parameter (for Xen PVM
181   and KVM)
182 - Fix an issue related to $libdir/run/ganeti and cluster creation
183
184
185 Version 2.0 beta 2
186 ------------------
187
188 - Xen PVM and KVM have switched the default value for the instance root
189   disk to the first partition on the first drive, instead of the whole
190   drive; this means that the OS installation scripts must be changed
191   accordingly
192 - Man pages have been updated
193 - RAPI has been switched by default to HTTPS, and the exported functions
194   should all work correctly
195 - RAPI v1 has been removed
196 - Many improvements to the KVM hypervisor
197 - Block device errors are now better reported
198 - Many other bugfixes and small improvements
199
200
201 Version 2.0 beta 1
202 ------------------
203
204 - Version 2 is a general rewrite of the code and therefore the
205   differences are too many to list, see the design document for 2.0 in
206   the ``doc/`` subdirectory for more details
207 - In this beta version there is not yet a migration path from 1.2 (there
208   will be one in the final 2.0 release)
209 - A few significant changes are:
210
211   - all commands are executed by a daemon (``ganeti-masterd``) and the
212     various ``gnt-*`` commands are just front-ends to it
213   - all the commands are entered into, and executed from a job queue,
214     see the ``gnt-job(8)`` manpage
215   - the RAPI daemon supports read-write operations, secured by basic
216     HTTP authentication on top of HTTPS
217   - DRBD version 0.7 support has been removed, DRBD 8 is the only
218     supported version (when migrating from Ganeti 1.2 to 2.0, you need
219     to migrate to DRBD 8 first while still running Ganeti 1.2)
220   - DRBD devices are using statically allocated minor numbers, which
221     will be assigned to existing instances during the migration process
222   - there is support for both Xen PVM and Xen HVM instances running on
223     the same cluster
224   - KVM virtualization is supported too
225   - file-based storage has been implemented, which means that it is
226     possible to run the cluster without LVM and DRBD storage, for
227     example using a shared filesystem exported from shared storage (and
228     still have live migration)
229
230
231 Version 1.2.7
232 -------------
233
234 - Change the default reboot type in ``gnt-instance reboot`` to "hard"
235 - Reuse the old instance mac address by default on instance import, if
236   the instance name is the same.
237 - Handle situations in which the node info rpc returns incomplete
238   results (issue 46)
239 - Add checks for tcp/udp ports collisions in ``gnt-cluster verify``
240 - Improved version of batcher:
241
242   - state file support
243   - instance mac address support
244   - support for HVM clusters/instances
245
246 - Add an option to show the number of cpu sockets and nodes in
247   ``gnt-node list``
248 - Support OSes that handle more than one version of the OS api (but do
249   not change the current API in any other way)
250 - Fix ``gnt-node migrate``
251 - ``gnt-debug`` man page
252 - Fixes various more typos and small issues
253 - Increase disk resync maximum speed to 60MB/s (from 30MB/s)
254
255
256 Version 1.2.6
257 -------------
258
259 - new ``--hvm-nic-type`` and ``--hvm-disk-type`` flags to control the
260   type of disk exported to fully virtualized instances.
261 - provide access to the serial console of HVM instances
262 - instance auto_balance flag, set by default. If turned off it will
263   avoid warnings on cluster verify if there is not enough memory to fail
264   over an instance. in the future it will prevent automatically failing
265   it over when we will support that.
266 - batcher tool for instance creation, see ``tools/README.batcher``
267 - ``gnt-instance reinstall --select-os`` to interactively select a new
268   operating system when reinstalling an instance.
269 - when changing the memory amount on instance modify a check has been
270   added that the instance will be able to start. also warnings are
271   emitted if the instance will not be able to fail over, if auto_balance
272   is true.
273 - documentation fixes
274 - sync fields between ``gnt-instance list/modify/add/import``
275 - fix a race condition in drbd when the sync speed was set after giving
276   the device a remote peer.
277
278
279 Version 1.2.5
280 -------------
281
282 - note: the allowed size and number of tags per object were reduced
283 - fix a bug in ``gnt-cluster verify`` with inconsistent volume groups
284 - fixed twisted 8.x compatibility
285 - fixed ``gnt-instance replace-disks`` with iallocator
286 - add TCP keepalives on twisted connections to detect restarted nodes
287 - disk increase support, see ``gnt-instance grow-disk``
288 - implement bulk node/instance query for RAPI
289 - add tags in node/instance listing (optional)
290 - experimental migration (and live migration) support, read the man page
291   for ``gnt-instance migrate``
292 - the ``ganeti-watcher`` logs are now timestamped, and the watcher also
293   has some small improvements in handling its state file
294
295
296 Version 1.2.4
297 -------------
298
299 - Experimental readonly, REST-based remote API implementation;
300   automatically started on master node, TCP port 5080, if enabled by
301   ``--enable-rapi`` parameter to configure script.
302 - Instance allocator support. Add and import instance accept a
303   ``--iallocator`` parameter, and call that instance allocator to decide
304   which node to use for the instance. The iallocator document describes
305   what's expected from an allocator script.
306 - ``gnt-cluster verify`` N+1 memory redundancy checks: Unless passed the
307   ``--no-nplus1-mem`` option ``gnt-cluster verify`` now checks that if a
308   node is lost there is still enough memory to fail over the instances
309   that reside on it.
310 - ``gnt-cluster verify`` hooks: it is now possible to add post-hooks to
311   ``gnt-cluster verify``, to check for site-specific compliance. All the
312   hooks will run, and their output, if any, will be displayed. Any
313   failing hook will make the verification return an error value.
314 - ``gnt-cluster verify`` now checks that its peers are reachable on the
315   primary and secondary interfaces
316 - ``gnt-node add`` now supports the ``--readd`` option, to readd a node
317   that is still declared as part of the cluster and has failed.
318 - ``gnt-* list`` commands now accept a new ``-o +field`` way of
319   specifying output fields, that just adds the chosen fields to the
320   default ones.
321 - ``gnt-backup`` now has a new ``remove`` command to delete an existing
322   export from the filesystem.
323 - New per-instance parameters hvm_acpi, hvm_pae and hvm_cdrom_image_path
324   have been added. Using them you can enable/disable acpi and pae
325   support, and specify a path for a cd image to be exported to the
326   instance. These parameters as the name suggest only work on HVM
327   clusters.
328 - When upgrading an HVM cluster to Ganeti 1.2.4, the values for ACPI and
329   PAE support will be set to the previously hardcoded values, but the
330   (previously hardcoded) path to the CDROM ISO image will be unset and
331   if required, needs to be set manually with ``gnt-instance modify``
332   after the upgrade.
333 - The address to which an instance's VNC console is bound is now
334   selectable per-instance, rather than being cluster wide. Of course
335   this only applies to instances controlled via VNC, so currently just
336   applies to HVM clusters.
337
338
339 Version 1.2.3
340 -------------
341
342 - more tweaks to the disk activation code (especially helpful for DRBD)
343 - change the default ``gnt-instance list`` output format, now there is
344   one combined status field (see the manpage for the exact values this
345   field will have)
346 - some more fixes for the mac export to hooks change
347 - make Ganeti not break with DRBD 8.2.x (which changed the version
348   format in ``/proc/drbd``) (issue 24)
349 - add an upgrade tool from "remote_raid1" disk template to "drbd" disk
350   template, allowing migration from DRBD0.7+MD to DRBD8
351
352
353 Version 1.2.2
354 -------------
355
356 - fix ``gnt-instance modify`` breakage introduced in 1.2.1 with the HVM
357   support (issue 23)
358 - add command aliases infrastructure and a few aliases
359 - allow listing of VCPUs in the ``gnt-instance list`` and improve the
360   man pages and the ``--help`` option of ``gnt-node
361   list``/``gnt-instance list``
362 - fix ``gnt-backup list`` with down nodes (issue 21)
363 - change the tools location (move from $pkgdatadir to $pkglibdir/tools)
364 - fix the dist archive and add a check for including svn/git files in
365   the future
366 - some developer-related changes: improve the burnin and the QA suite,
367   add an upload script for testing during development
368
369
370 Version 1.2.1
371 -------------
372
373 - experimental HVM support, read the install document, section
374   "Initializing the cluster"
375 - allow for the PVM hypervisor per-instance kernel and initrd paths
376 - add a new command ``gnt-cluster verify-disks`` which uses a new
377   algorithm to improve the reconnection of the DRBD pairs if the device
378   on the secondary node has gone away
379 - make logical volume code auto-activate LVs at disk activation time
380 - slightly improve the speed of activating disks
381 - allow specification of the MAC address at instance creation time, and
382   changing it later via ``gnt-instance modify``
383 - fix handling of external commands that generate lots of output on
384   stderr
385 - update documentation with regard to minimum version of DRBD8 supported
386
387
388 Version 1.2.0
389 -------------
390
391 - Log the ``xm create`` output to the node daemon log on failure (to
392   help diagnosing the error)
393 - In debug mode, log all external commands output if failed to the logs
394 - Change parsing of lvm commands to ignore stderr
395
396
397 Version 1.2b3
398 -------------
399
400 - Another round of updates to the DRBD 8 code to deal with more failures
401   in the replace secondary node operation
402 - Some more logging of failures in disk operations (lvm, drbd)
403 - A few documentation updates
404 - QA updates
405
406
407 Version 1.2b2
408 -------------
409
410 - Change configuration file format from Python's Pickle to JSON.
411   Upgrading is possible using the cfgupgrade utility.
412 - Add support for DRBD 8.0 (new disk template ``drbd``) which allows for
413   faster replace disks and is more stable (DRBD 8 has many improvements
414   compared to DRBD 0.7)
415 - Added command line tags support (see man pages for ``gnt-instance``,
416   ``gnt-node``, ``gnt-cluster``)
417 - Added instance rename support
418 - Added multi-instance startup/shutdown
419 - Added cluster rename support
420 - Added ``gnt-node evacuate`` to simplify some node operations
421 - Added instance reboot operation that can speedup reboot as compared to
422   stop and start
423 - Soften the requirement that hostnames are in FQDN format
424 - The ``ganeti-watcher`` now activates drbd pairs after secondary node
425   reboots
426 - Removed dependency on debian's patched fping that uses the
427   non-standard ``-S`` option
428 - Now the OS definitions are searched for in multiple, configurable
429   paths (easier for distros to package)
430 - Some changes to the hooks infrastructure (especially the new
431   post-configuration update hook)
432 - Other small bugfixes
433
434 .. vim: set textwidth=72 :