Statistics
| Branch: | Tag: | Revision:

root / NEWS @ 5d831182

History | View | Annotate | Download (36.4 kB)

1 61b5e342 Michael Hanselmann
News
2 61b5e342 Michael Hanselmann
====
3 920a91bf Michael Hanselmann
4 ab221ddf Michael Hanselmann
Version 2.2.0
5 ab221ddf Michael Hanselmann
-------------
6 ab221ddf Michael Hanselmann
7 e0897adf Michael Hanselmann
- Added tool (``move-instance``) and infrastructure to move instances
8 e0897adf Michael Hanselmann
  between separate clusters (see :doc:`separate documentation
9 e0897adf Michael Hanselmann
  <move-instance>` and :doc:`design document <design-2.2>`)
10 e0897adf Michael Hanselmann
- Added per-request RPC timeout
11 ab221ddf Michael Hanselmann
- RAPI now requires a Content-Type header for requests with a body (e.g.
12 ab221ddf Michael Hanselmann
  ``PUT`` or ``POST``) which must be set to ``application/json`` (see
13 ab221ddf Michael Hanselmann
  RFC2616 (HTTP/1.1), section 7.2.1)
14 e0897adf Michael Hanselmann
- ``ganeti-watcher`` attempts to restart ``ganeti-rapi`` if RAPI is not
15 e0897adf Michael Hanselmann
  reachable
16 e0897adf Michael Hanselmann
- Implemented initial support for running Ganeti daemons as separate
17 e0897adf Michael Hanselmann
  users, see configure-time flags ``--with-user-prefix`` and
18 e0897adf Michael Hanselmann
  ``--with-group-prefix`` (only ``ganeti-rapi`` is supported at this
19 e0897adf Michael Hanselmann
  time)
20 e0897adf Michael Hanselmann
- Instances can be removed after export (``gnt-backup export
21 e0897adf Michael Hanselmann
  --remove-instance``)
22 e0897adf Michael Hanselmann
- Self-signed certificates generated by Ganeti now use a 2048 bit RSA
23 e0897adf Michael Hanselmann
  key (instead of 1024 bit)
24 e0897adf Michael Hanselmann
- Added new cluster configuration file for cluster domain secret
25 e0897adf Michael Hanselmann
- Import/export now use SSL instead of SSH
26 e0897adf Michael Hanselmann
- Added support for showing estimated time when exporting an instance,
27 e0897adf Michael Hanselmann
  see the ``ganeti-os-interface(7)`` manpage and look for
28 e0897adf Michael Hanselmann
  ``EXP_SIZE_FD``
29 ab221ddf Michael Hanselmann
30 920a91bf Michael Hanselmann
31 14d91053 Guido Trotter
Version 2.1.3
32 14d91053 Guido Trotter
-------------
33 14d91053 Guido Trotter
34 7cf722ea Guido Trotter
*(Released Thu, 3 Jun 2010)*
35 14d91053 Guido Trotter
36 14d91053 Guido Trotter
A medium sized development cycle. Some new features, and some
37 14d91053 Guido Trotter
fixes/small improvements/cleanups.
38 14d91053 Guido Trotter
39 14d91053 Guido Trotter
Significant features
40 14d91053 Guido Trotter
~~~~~~~~~~~~~~~~~~~~
41 14d91053 Guido Trotter
42 14d91053 Guido Trotter
The node deamon now tries to mlock itself into memory, unless the
43 14d91053 Guido Trotter
``--no-mlock`` flag is passed. It also doesn't fail if it can't write
44 14d91053 Guido Trotter
its logs, and falls back to console logging. This allows emergency
45 14d91053 Guido Trotter
features such as ``gnt-node powercycle`` to work even in the event of a
46 14d91053 Guido Trotter
broken node disk (tested offlining the disk hosting the node's
47 722702e3 Guido Trotter
filesystem and dropping its memory caches; don't try this at home)
48 14d91053 Guido Trotter
49 14d91053 Guido Trotter
KVM: add vhost-net acceleration support. It can be tested with a new
50 14d91053 Guido Trotter
enough version of the kernel and of qemu-kvm.
51 14d91053 Guido Trotter
52 14d91053 Guido Trotter
KVM: Add instance chrooting feature. If you use privilege dropping for
53 14d91053 Guido Trotter
your VMs you can also now force them to chroot to an empty directory,
54 14d91053 Guido Trotter
before starting the emulated guest.
55 14d91053 Guido Trotter
56 14d91053 Guido Trotter
KVM: Add maximum migration bandwith and maximum downtime tweaking
57 14d91053 Guido Trotter
support (requires a new-enough version of qemu-kvm).
58 14d91053 Guido Trotter
59 14d91053 Guido Trotter
Cluster verify will now warn if the master node doesn't have the master
60 14d91053 Guido Trotter
ip configured on it.
61 14d91053 Guido Trotter
62 14d91053 Guido Trotter
Add a new (incompatible) instance creation request format to RAPI which
63 14d91053 Guido Trotter
supports all parameters (previously only a subset was supported, and it
64 14d91053 Guido Trotter
wasn't possible to extend the old format to accomodate all the new
65 14d91053 Guido Trotter
features. The old format is still supported, and a client can check for
66 14d91053 Guido Trotter
this feature, before using it, by checking for its presence in the
67 14d91053 Guido Trotter
``features`` RAPI resource.
68 14d91053 Guido Trotter
69 14d91053 Guido Trotter
Now with ancient latin support. Try it passing the ``--roman`` option to
70 722702e3 Guido Trotter
``gnt-instance info``, ``gnt-cluster info`` or ``gnt-node list``
71 722702e3 Guido Trotter
(requires the python-roman module to be installed, in order to work).
72 14d91053 Guido Trotter
73 14d91053 Guido Trotter
Other changes
74 14d91053 Guido Trotter
~~~~~~~~~~~~~
75 14d91053 Guido Trotter
76 14d91053 Guido Trotter
As usual many internal code refactorings, documentation updates, and
77 14d91053 Guido Trotter
such. Among others:
78 14d91053 Guido Trotter
79 14d91053 Guido Trotter
  - Lots of improvements and cleanups to the experimental Remote API
80 14d91053 Guido Trotter
    (RAPI) client library.
81 14d91053 Guido Trotter
  - A new unit test suite for the core daemon libraries.
82 14d91053 Guido Trotter
  - A fix to creating missing directories makes sure the umask is not
83 14d91053 Guido Trotter
    applied anymore. This enforces the same directory permissions
84 14d91053 Guido Trotter
    everywhere.
85 14d91053 Guido Trotter
  - Better handling terminating daemons with ctrl+c (used when running
86 14d91053 Guido Trotter
    them in debugging mode).
87 14d91053 Guido Trotter
  - Fix a race condition in live migrating a KVM instance, when stat()
88 14d91053 Guido Trotter
    on the old proc status file returned EINVAL, which is an unexpected
89 14d91053 Guido Trotter
    value.
90 1de45c78 Guido Trotter
  - Fixed manpage checking with newer man and utf-8 charachters. But now
91 1de45c78 Guido Trotter
    you need the en_US.UTF-8 locale enabled to build Ganeti from git.
92 14d91053 Guido Trotter
93 14d91053 Guido Trotter
94 23f983f4 Guido Trotter
Version 2.1.2.1
95 23f983f4 Guido Trotter
---------------
96 23f983f4 Guido Trotter
97 23f983f4 Guido Trotter
*(Released Fri, 7 May 2010)*
98 23f983f4 Guido Trotter
99 23f983f4 Guido Trotter
Fix a bug which prevented untagged KVM instances from starting.
100 23f983f4 Guido Trotter
101 507fd05a Guido Trotter
102 ba538816 Iustin Pop
Version 2.1.2
103 ba538816 Iustin Pop
-------------
104 ba538816 Iustin Pop
105 ace6cbe8 Iustin Pop
*(Released Fri, 7 May 2010)*
106 ba538816 Iustin Pop
107 ba538816 Iustin Pop
Another release with a long development cycle, during which many
108 ba538816 Iustin Pop
different features were added.
109 ba538816 Iustin Pop
110 ba538816 Iustin Pop
Significant features
111 ba538816 Iustin Pop
~~~~~~~~~~~~~~~~~~~~
112 ba538816 Iustin Pop
113 ba538816 Iustin Pop
The KVM hypervisor now can run the individual instances as non-root, to
114 ba538816 Iustin Pop
reduce the impact of a VM being hijacked due to bugs in the
115 ba538816 Iustin Pop
hypervisor. It is possible to run all instances as a single (non-root)
116 ba538816 Iustin Pop
user, to manually specify a user for each instance, or to dynamically
117 ba538816 Iustin Pop
allocate a user out of a cluster-wide pool to each instance, with the
118 ba538816 Iustin Pop
guarantee that no two instances will run under the same user ID on any
119 ba538816 Iustin Pop
given node.
120 ba538816 Iustin Pop
121 ba538816 Iustin Pop
An experimental RAPI client library, that can be used standalone
122 ba538816 Iustin Pop
(without the other Ganeti libraries), is provided in the source tree as
123 ba538816 Iustin Pop
``lib/rapi/client.py``. Note this client might change its interface in
124 ba538816 Iustin Pop
the future, as we iterate on its capabilities.
125 ba538816 Iustin Pop
126 ba538816 Iustin Pop
A new command, ``gnt-cluster renew-crypto`` has been added to easily
127 ba538816 Iustin Pop
replace the cluster's certificates and crypto keys. This might help in
128 ba538816 Iustin Pop
case they have been compromised, or have simply expired.
129 ba538816 Iustin Pop
130 ba538816 Iustin Pop
A new disk option for instance creation has been added that allows one
131 ba538816 Iustin Pop
to "adopt" currently existing logical volumes, with data
132 ba538816 Iustin Pop
preservation. This should allow easier migration to Ganeti from
133 ba538816 Iustin Pop
unmanaged (or managed via other software) instances.
134 ba538816 Iustin Pop
135 ba538816 Iustin Pop
Another disk improvement is the possibility to convert between redundant
136 ba538816 Iustin Pop
(DRBD) and plain (LVM) disk configuration for an instance. This should
137 ba538816 Iustin Pop
allow better scalability (starting with one node and growing the
138 ba538816 Iustin Pop
cluster, or shrinking a two-node cluster to one node).
139 ba538816 Iustin Pop
140 ba538816 Iustin Pop
A new feature that could help with automated node failovers has been
141 ba538816 Iustin Pop
implemented: if a node sees itself as offline (by querying the master
142 ba538816 Iustin Pop
candidates), it will try to shutdown (hard) all instances and any active
143 ba538816 Iustin Pop
DRBD devices. This reduces the risk of duplicate instances if an
144 ba538816 Iustin Pop
external script automatically failovers the instances on such nodes. To
145 ba538816 Iustin Pop
enable this, the cluster parameter ``maintain_node_health`` should be
146 ba538816 Iustin Pop
enabled; in the future this option (per the name) will enable other
147 ba538816 Iustin Pop
automatic maintenance features.
148 ba538816 Iustin Pop
149 ba538816 Iustin Pop
Instance export/import now will reuse the original instance
150 ba538816 Iustin Pop
specifications for all parameters; that means exporting an instance,
151 ba538816 Iustin Pop
deleting it and the importing it back should give an almost identical
152 ba538816 Iustin Pop
instance. Note that the default import behaviour has changed from
153 ba538816 Iustin Pop
before, where it created only one NIC; now it recreates the original
154 ba538816 Iustin Pop
number of NICs.
155 ba538816 Iustin Pop
156 ba538816 Iustin Pop
Cluster verify has added a few new checks: SSL certificates validity,
157 ba538816 Iustin Pop
/etc/hosts consistency across the cluster, etc.
158 ba538816 Iustin Pop
159 ba538816 Iustin Pop
Other changes
160 ba538816 Iustin Pop
~~~~~~~~~~~~~
161 ba538816 Iustin Pop
162 ba538816 Iustin Pop
As usual, many internal changes were done, documentation fixes,
163 ba538816 Iustin Pop
etc. Among others:
164 ba538816 Iustin Pop
165 ba538816 Iustin Pop
- Fixed cluster initialization with disabled cluster storage (regression
166 ba538816 Iustin Pop
  introduced in 2.1.1)
167 ba538816 Iustin Pop
- File-based storage supports growing the disks
168 ba538816 Iustin Pop
- Fixed behaviour of node role changes
169 ba538816 Iustin Pop
- Fixed cluster verify for some corner cases, plus a general rewrite of
170 ba538816 Iustin Pop
  cluster verify to allow future extension with more checks
171 ba538816 Iustin Pop
- Fixed log spamming by watcher and node daemon (regression introduced
172 ba538816 Iustin Pop
  in 2.1.1)
173 ba538816 Iustin Pop
- Fixed possible validation issues when changing the list of enabled
174 ba538816 Iustin Pop
  hypervisors
175 ba538816 Iustin Pop
- Fixed cleanup of /etc/hosts during node removal
176 ba538816 Iustin Pop
- Fixed RAPI response for invalid methods
177 ba538816 Iustin Pop
- Fixed bug with hashed passwords in ``ganeti-rapi`` daemon
178 ba538816 Iustin Pop
- Multiple small improvements to the KVM hypervisor (VNC usage, booting
179 ba538816 Iustin Pop
  from ide disks, etc.)
180 ba538816 Iustin Pop
- Allow OS changes without re-installation (to record a changed OS
181 ba538816 Iustin Pop
  outside of Ganeti, or to allow OS renames)
182 ba538816 Iustin Pop
- Allow instance creation without OS installation (useful for example if
183 ba538816 Iustin Pop
  the OS will be installed manually, or restored from a backup not in
184 ba538816 Iustin Pop
  Ganeti format)
185 ba538816 Iustin Pop
- Implemented option to make cluster ``copyfile`` use the replication
186 ba538816 Iustin Pop
  network
187 ba538816 Iustin Pop
- Added list of enabled hypervisors to ssconf (possibly useful for
188 ba538816 Iustin Pop
  external scripts)
189 ba538816 Iustin Pop
- Added a new tool (``tools/cfgupgrade12``) that allows upgrading from
190 ba538816 Iustin Pop
  1.2 clusters
191 ba538816 Iustin Pop
- A partial form of node re-IP is possible via node readd, which now
192 ba538816 Iustin Pop
  allows changed node primary IP
193 ba538816 Iustin Pop
- Command line utilities now show an informational message if the job is
194 ba538816 Iustin Pop
  waiting for a lock
195 ba538816 Iustin Pop
- The logs of the master daemon now show the PID/UID/GID of the
196 ba538816 Iustin Pop
  connected client
197 ba538816 Iustin Pop
198 ba538816 Iustin Pop
199 c655522d Iustin Pop
Version 2.1.1
200 c655522d Iustin Pop
-------------
201 c655522d Iustin Pop
202 bdc93557 Iustin Pop
*(Released Fri, 12 Mar 2010)*
203 bdc93557 Iustin Pop
204 c655522d Iustin Pop
During the 2.1.0 long release candidate cycle, a lot of improvements and
205 c655522d Iustin Pop
changes have accumulated with were released later as 2.1.1.
206 c655522d Iustin Pop
207 c655522d Iustin Pop
Major changes
208 c655522d Iustin Pop
~~~~~~~~~~~~~
209 c655522d Iustin Pop
210 c655522d Iustin Pop
The node evacuate command (``gnt-node evacuate``) was significantly
211 c655522d Iustin Pop
rewritten, and as such the IAllocator protocol was changed - a new
212 c655522d Iustin Pop
request type has been added. This unfortunate change during a stable
213 c655522d Iustin Pop
series is designed to improve performance of node evacuations; on
214 c655522d Iustin Pop
clusters with more than about five nodes and which are well-balanced,
215 c655522d Iustin Pop
evacuation should proceed in parallel for all instances of the node
216 c655522d Iustin Pop
being evacuated. As such, any existing IAllocator scripts need to be
217 c655522d Iustin Pop
updated, otherwise the above command will fail due to the unknown
218 c655522d Iustin Pop
request. The provided "dumb" allocator has not been updated; but the
219 c655522d Iustin Pop
ganeti-htools package supports the new protocol since version 0.2.4.
220 c655522d Iustin Pop
221 c655522d Iustin Pop
Another important change is increased validation of node and instance
222 c655522d Iustin Pop
names. This might create problems in special cases, if invalid host
223 c655522d Iustin Pop
names are being used.
224 c655522d Iustin Pop
225 c655522d Iustin Pop
Also, a new layer of hypervisor parameters has been added, that sits at
226 c655522d Iustin Pop
OS level between the cluster defaults and the instance ones. This allows
227 c655522d Iustin Pop
customisation of virtualization parameters depending on the installed
228 c655522d Iustin Pop
OS. For example instances with OS 'X' may have a different KVM kernel
229 c655522d Iustin Pop
(or any other parameter) than the cluster defaults. This is intended to
230 c655522d Iustin Pop
help managing a multiple OSes on the same cluster, without manual
231 c655522d Iustin Pop
modification of each instance's parameters.
232 c655522d Iustin Pop
233 c655522d Iustin Pop
A tool for merging clusters, ``cluster-merge``, has been added in the
234 c655522d Iustin Pop
tools sub-directory.
235 c655522d Iustin Pop
236 c655522d Iustin Pop
Bug fixes
237 c655522d Iustin Pop
~~~~~~~~~
238 c655522d Iustin Pop
239 c655522d Iustin Pop
- Improved the int/float conversions that should make the code more
240 c655522d Iustin Pop
  robust in face of errors from the node daemons
241 c655522d Iustin Pop
- Fixed the remove node code in case of internal configuration errors
242 c655522d Iustin Pop
- Fixed the node daemon behaviour in face of inconsistent queue
243 c655522d Iustin Pop
  directory (e.g. read-only file-system where we can't open the files
244 c655522d Iustin Pop
  read-write, etc.)
245 c655522d Iustin Pop
- Fixed the behaviour of gnt-node modify for master candidate demotion;
246 c655522d Iustin Pop
  now it either aborts cleanly or, if given the new โ€œauto_promoteโ€
247 c655522d Iustin Pop
  parameter, will automatically promote other nodes as needed
248 c655522d Iustin Pop
- Fixed compatibility with (unreleased yet) Python 2.6.5 that would
249 c655522d Iustin Pop
  completely prevent Ganeti from working
250 c655522d Iustin Pop
- Fixed bug for instance export when not all disks were successfully
251 c655522d Iustin Pop
  exported
252 c655522d Iustin Pop
- Fixed behaviour of node add when the new node is slow in starting up
253 c655522d Iustin Pop
  the node daemon
254 c655522d Iustin Pop
- Fixed handling of signals in the LUXI client, which should improve
255 c655522d Iustin Pop
  behaviour of command-line scripts
256 c655522d Iustin Pop
- Added checks for invalid node/instance names in the configuration (now
257 c655522d Iustin Pop
  flagged during cluster verify)
258 c655522d Iustin Pop
- Fixed watcher behaviour for disk activation errors
259 c655522d Iustin Pop
- Fixed two potentially endless loops in http library, which led to the
260 c655522d Iustin Pop
  RAPI daemon hanging and consuming 100% CPU in some cases
261 c655522d Iustin Pop
- Fixed bug in RAPI daemon related to hashed passwords
262 c655522d Iustin Pop
- Fixed bug for unintended qemu-level bridging of multi-NIC KVM
263 c655522d Iustin Pop
  instances
264 c655522d Iustin Pop
- Enhanced compatibility with non-Debian OSes, but not using absolute
265 c655522d Iustin Pop
  path in some commands and allowing customisation of the ssh
266 c655522d Iustin Pop
  configuration directory
267 c655522d Iustin Pop
- Fixed possible future issue with new Python versions by abiding to the
268 c655522d Iustin Pop
  proper use of ``__slots__`` attribute on classes
269 c655522d Iustin Pop
- Added checks that should prevent directory traversal attacks
270 c655522d Iustin Pop
- Many documentation fixes based on feedback from users
271 c655522d Iustin Pop
272 c655522d Iustin Pop
New features
273 c655522d Iustin Pop
~~~~~~~~~~~~
274 c655522d Iustin Pop
275 c655522d Iustin Pop
- Added an โ€œearly_releaseโ€ more for instance replace disks and node
276 c655522d Iustin Pop
  evacuate, where we release locks earlier and thus allow higher
277 c655522d Iustin Pop
  parallelism within the cluster
278 c655522d Iustin Pop
- Added watcher hooks, intended to allow the watcher to restart other
279 c655522d Iustin Pop
  daemons (e.g. from the ganeti-nbma project), but they can be used of
280 c655522d Iustin Pop
  course for any other purpose
281 c655522d Iustin Pop
- Added a compile-time disable for DRBD barriers, to increase
282 c655522d Iustin Pop
  performance if the administrator trusts the power supply or the
283 c655522d Iustin Pop
  storage system to not lose writes
284 c655522d Iustin Pop
- Added the option of using syslog for logging instead of, or in
285 c655522d Iustin Pop
  addition to, Ganeti's own log files
286 c655522d Iustin Pop
- Removed boot restriction for paravirtual NICs for KVM, recent versions
287 c655522d Iustin Pop
  can indeed boot from a paravirtual NIC
288 c655522d Iustin Pop
- Added a generic debug level for many operations; while this is not
289 c655522d Iustin Pop
  used widely yet, it allows one to pass the debug value all the way to
290 c655522d Iustin Pop
  the OS scripts
291 c655522d Iustin Pop
- Enhanced the hooks environment for instance moves (failovers,
292 c655522d Iustin Pop
  migrations) where the primary/secondary nodes changed during the
293 c655522d Iustin Pop
  operation, by adding {NEW,OLD}_{PRIMARY,SECONDARY} vars
294 c655522d Iustin Pop
- Enhanced data validations for many user-supplied values; one important
295 c655522d Iustin Pop
  item is the restrictions imposed on instance and node names, which
296 c655522d Iustin Pop
  might reject some (invalid) host names
297 c655522d Iustin Pop
- Add a configure-time option to disable file-based storage, if it's not
298 c655522d Iustin Pop
  needed; this allows greater security separation between the master
299 c655522d Iustin Pop
  node and the other nodes from the point of view of the inter-node RPC
300 c655522d Iustin Pop
  protocol
301 c655522d Iustin Pop
- Added user notification in interactive tools if job is waiting in the
302 c655522d Iustin Pop
  job queue or trying to acquire locks
303 c655522d Iustin Pop
- Added log messages when a job is waiting for locks
304 c655522d Iustin Pop
- Added filtering by node tags in instance operations which admit
305 c655522d Iustin Pop
  multiple instances (start, stop, reboot, reinstall)
306 c655522d Iustin Pop
- Added a new tool for cluster mergers, ``cluster-merge``
307 c655522d Iustin Pop
- Parameters from command line which are of the form ``a=b,c=d`` can now
308 c655522d Iustin Pop
  use backslash escapes to pass in values which contain commas,
309 c655522d Iustin Pop
  e.g. ``a=b\\c,d=e`` where the 'a' parameter would get the value
310 c655522d Iustin Pop
  ``b,c``
311 c655522d Iustin Pop
- For KVM, the instance name is the first parameter passed to KVM, so
312 c655522d Iustin Pop
  that it's more visible in the process list
313 c655522d Iustin Pop
314 c655522d Iustin Pop
315 920a91bf Michael Hanselmann
Version 2.1.0
316 920a91bf Michael Hanselmann
-------------
317 920a91bf Michael Hanselmann
318 bdc93557 Iustin Pop
*(Released Tue, 2 Mar 2010)*
319 bdc93557 Iustin Pop
320 920a91bf Michael Hanselmann
Ganeti 2.1 brings many improvements with it. Major changes:
321 920a91bf Michael Hanselmann
322 920a91bf Michael Hanselmann
- Added infrastructure to ease automated disk repairs
323 920a91bf Michael Hanselmann
- Added new daemon to export configuration data in a cheaper way than
324 920a91bf Michael Hanselmann
  using the remote API
325 920a91bf Michael Hanselmann
- Instance NICs can now be routed instead of being associated with a
326 920a91bf Michael Hanselmann
  networking bridge
327 920a91bf Michael Hanselmann
- Improved job locking logic to reduce impact of jobs acquiring multiple
328 920a91bf Michael Hanselmann
  locks waiting for other long-running jobs
329 920a91bf Michael Hanselmann
330 bfe61b0b Iustin Pop
In-depth implementation details can be found in the Ganeti 2.1 design
331 920a91bf Michael Hanselmann
document.
332 920a91bf Michael Hanselmann
333 920a91bf Michael Hanselmann
Details
334 920a91bf Michael Hanselmann
~~~~~~~
335 920a91bf Michael Hanselmann
336 920a91bf Michael Hanselmann
- Added chroot hypervisor
337 920a91bf Michael Hanselmann
- Added more options to xen-hvm hypervisor (``kernel_path`` and
338 920a91bf Michael Hanselmann
  ``device_model``)
339 920a91bf Michael Hanselmann
- Added more options to xen-pvm hypervisor (``use_bootloader``,
340 920a91bf Michael Hanselmann
  ``bootloader_path`` and ``bootloader_args``)
341 bfe61b0b Iustin Pop
- Added the ``use_localtime`` option for the xen-hvm and kvm
342 bfe61b0b Iustin Pop
  hypervisors, and the default value for this has changed to false (in
343 bfe61b0b Iustin Pop
  2.0 xen-hvm always enabled it)
344 920a91bf Michael Hanselmann
- Added luxi call to submit multiple jobs in one go
345 bfe61b0b Iustin Pop
- Added cluster initialization option to not modify ``/etc/hosts``
346 920a91bf Michael Hanselmann
  file on nodes
347 920a91bf Michael Hanselmann
- Added network interface parameters
348 920a91bf Michael Hanselmann
- Added dry run mode to some LUs
349 920a91bf Michael Hanselmann
- Added RAPI resources:
350 920a91bf Michael Hanselmann
351 920a91bf Michael Hanselmann
  - ``/2/instances/[instance_name]/info``
352 920a91bf Michael Hanselmann
  - ``/2/instances/[instance_name]/replace-disks``
353 920a91bf Michael Hanselmann
  - ``/2/nodes/[node_name]/evacuate``
354 920a91bf Michael Hanselmann
  - ``/2/nodes/[node_name]/migrate``
355 920a91bf Michael Hanselmann
  - ``/2/nodes/[node_name]/role``
356 920a91bf Michael Hanselmann
  - ``/2/nodes/[node_name]/storage``
357 920a91bf Michael Hanselmann
  - ``/2/nodes/[node_name]/storage/modify``
358 920a91bf Michael Hanselmann
  - ``/2/nodes/[node_name]/storage/repair``
359 920a91bf Michael Hanselmann
360 920a91bf Michael Hanselmann
- Added OpCodes to evacuate or migrate all instances on a node
361 9b94905f Iustin Pop
- Added new command to list storage elements on nodes (``gnt-node
362 9b94905f Iustin Pop
  list-storage``) and modify them (``gnt-node modify-storage``)
363 920a91bf Michael Hanselmann
- Added new ssconf files with master candidate IP address
364 920a91bf Michael Hanselmann
  (``ssconf_master_candidates_ips``), node primary IP address
365 920a91bf Michael Hanselmann
  (``ssconf_node_primary_ips``) and node secondary IP address
366 920a91bf Michael Hanselmann
  (``ssconf_node_secondary_ips``)
367 920a91bf Michael Hanselmann
- Added ``ganeti-confd`` and a client library to query the Ganeti
368 920a91bf Michael Hanselmann
  configuration via UDP
369 920a91bf Michael Hanselmann
- Added ability to run hooks after cluster initialization and before
370 920a91bf Michael Hanselmann
  cluster destruction
371 920a91bf Michael Hanselmann
- Added automatic mode for disk replace (``gnt-instance replace-disks
372 920a91bf Michael Hanselmann
  --auto``)
373 cc291012 Iustin Pop
- Added ``gnt-instance recreate-disks`` to re-create (empty) disks
374 cc291012 Iustin Pop
  after catastrophic data-loss
375 9b94905f Iustin Pop
- Added ``gnt-node repair-storage`` command to repair damaged LVM volume
376 920a91bf Michael Hanselmann
  groups
377 920a91bf Michael Hanselmann
- Added ``gnt-instance move`` command to move instances
378 920a91bf Michael Hanselmann
- Added ``gnt-cluster watcher`` command to control watcher
379 920a91bf Michael Hanselmann
- Added ``gnt-node powercycle`` command to powercycle nodes
380 920a91bf Michael Hanselmann
- Added new job status field ``lock_status``
381 920a91bf Michael Hanselmann
- Added parseable error codes to cluster verification (``gnt-cluster
382 920a91bf Michael Hanselmann
  verify --error-codes``) and made output less verbose (use
383 920a91bf Michael Hanselmann
  ``--verbose`` to restore previous behaviour)
384 cc291012 Iustin Pop
- Added UUIDs to the main config entities (cluster, nodes, instances)
385 920a91bf Michael Hanselmann
- Added support for OS variants
386 936f3c59 Michael Hanselmann
- Added support for hashed passwords in the Ganeti remote API users file
387 936f3c59 Michael Hanselmann
  (``rapi_users``)
388 936f3c59 Michael Hanselmann
- Added option to specify maximum timeout on instance shutdown
389 936f3c59 Michael Hanselmann
- Added ``--no-ssh-init`` option to ``gnt-cluster init``
390 f154a7a3 Michael Hanselmann
- Added new helper script to start and stop Ganeti daemons
391 f154a7a3 Michael Hanselmann
  (``daemon-util``), with the intent to reduce the work necessary to
392 f154a7a3 Michael Hanselmann
  adjust Ganeti for non-Debian distributions and to start/stop daemons
393 f154a7a3 Michael Hanselmann
  from one place
394 920a91bf Michael Hanselmann
- Added more unittests
395 920a91bf Michael Hanselmann
- Fixed critical bug in ganeti-masterd startup
396 bfe61b0b Iustin Pop
- Removed the configure-time ``kvm-migration-port`` parameter, this is
397 bfe61b0b Iustin Pop
  now customisable at the cluster level for both the KVM and Xen
398 bfe61b0b Iustin Pop
  hypervisors using the new ``migration_port`` parameter
399 920a91bf Michael Hanselmann
- Pass ``INSTANCE_REINSTALL`` variable to OS installation script when
400 920a91bf Michael Hanselmann
  reinstalling an instance
401 3e5af833 Michael Hanselmann
- Allowed ``@`` in tag names
402 936f3c59 Michael Hanselmann
- Migrated to Sphinx (http://sphinx.pocoo.org/) for documentation
403 920a91bf Michael Hanselmann
- Many documentation updates
404 920a91bf Michael Hanselmann
- Distribute hypervisor files on ``gnt-cluster redist-conf``
405 920a91bf Michael Hanselmann
- ``gnt-instance reinstall`` can now reinstall multiple instances
406 920a91bf Michael Hanselmann
- Updated many command line parameters
407 920a91bf Michael Hanselmann
- Introduced new OS API version 15
408 920a91bf Michael Hanselmann
- No longer support a default hypervisor
409 920a91bf Michael Hanselmann
- Treat virtual LVs as inexistent
410 920a91bf Michael Hanselmann
- Improved job locking logic to reduce lock contention
411 920a91bf Michael Hanselmann
- Match instance and node names case insensitively
412 920a91bf Michael Hanselmann
- Reimplemented bash completion script to be more complete
413 920a91bf Michael Hanselmann
- Improved burnin
414 920a91bf Michael Hanselmann
415 920a91bf Michael Hanselmann
416 e8cd4796 Iustin Pop
Version 2.0.6
417 7b8f3fcd Michael Hanselmann
-------------
418 7b8f3fcd Michael Hanselmann
419 bdc93557 Iustin Pop
*(Released Thu, 4 Feb 2010)*
420 bdc93557 Iustin Pop
421 7b8f3fcd Michael Hanselmann
- Fix cleaner behaviour on nodes not in a cluster (Debian bug 568105)
422 7b8f3fcd Michael Hanselmann
- Fix a string formatting bug
423 7b8f3fcd Michael Hanselmann
- Improve safety of the code in some error paths
424 7b8f3fcd Michael Hanselmann
- Improve data validation in the master of values returned from nodes
425 7b8f3fcd Michael Hanselmann
426 e8cd4796 Iustin Pop
427 e5823b7e Iustin Pop
Version 2.0.5
428 5c0433d6 Iustin Pop
-------------
429 5c0433d6 Iustin Pop
430 bdc93557 Iustin Pop
*(Released Thu, 17 Dec 2009)*
431 bdc93557 Iustin Pop
432 5c0433d6 Iustin Pop
- Fix security issue due to missing validation of iallocator names; this
433 5c0433d6 Iustin Pop
  allows local and remote execution of arbitrary executables
434 5c0433d6 Iustin Pop
- Fix failure of gnt-node list during instance removal
435 5c0433d6 Iustin Pop
- Ship the RAPI documentation in the archive
436 5c0433d6 Iustin Pop
437 e5823b7e Iustin Pop
438 7579eb06 Iustin Pop
Version 2.0.4
439 c8872a0b Iustin Pop
-------------
440 c8872a0b Iustin Pop
441 bdc93557 Iustin Pop
*(Released Wed, 30 Sep 2009)*
442 bdc93557 Iustin Pop
443 c8872a0b Iustin Pop
- Fixed many wrong messages
444 c8872a0b Iustin Pop
- Fixed a few bugs related to the locking library
445 c8872a0b Iustin Pop
- Fixed MAC checking at instance creation time
446 c8872a0b Iustin Pop
- Fixed a DRBD parsing bug related to gaps in /proc/drbd
447 c8872a0b Iustin Pop
- Fixed a few issues related to signal handling in both daemons and
448 c8872a0b Iustin Pop
  scripts
449 c8872a0b Iustin Pop
- Fixed the example startup script provided
450 c8872a0b Iustin Pop
- Fixed insserv dependencies in the example startup script (patch from
451 c8872a0b Iustin Pop
  Debian)
452 c8872a0b Iustin Pop
- Fixed handling of drained nodes in the iallocator framework
453 c8872a0b Iustin Pop
- Fixed handling of KERNEL_PATH parameter for xen-hvm (Debian bug
454 c8872a0b Iustin Pop
  #528618)
455 c8872a0b Iustin Pop
- Fixed error related to invalid job IDs in job polling
456 c8872a0b Iustin Pop
- Fixed job/opcode persistence on unclean master shutdown
457 c8872a0b Iustin Pop
- Fixed handling of partial job processing after unclean master
458 c8872a0b Iustin Pop
  shutdown
459 c8872a0b Iustin Pop
- Fixed error reporting from LUs, previously all errors were converted
460 c8872a0b Iustin Pop
  into execution errors
461 c8872a0b Iustin Pop
- Fixed error reporting from burnin
462 c8872a0b Iustin Pop
- Decreased significantly the memory usage of the job queue
463 c8872a0b Iustin Pop
- Optimised slightly multi-job submission
464 c8872a0b Iustin Pop
- Optimised slightly opcode loading
465 c8872a0b Iustin Pop
- Backported the multi-job submit framework from the development
466 c8872a0b Iustin Pop
  branch; multi-instance start and stop should be faster
467 c8872a0b Iustin Pop
- Added script to clean archived jobs after 21 days; this will reduce
468 c8872a0b Iustin Pop
  the size of the queue directory
469 c8872a0b Iustin Pop
- Added some extra checks in disk size tracking
470 c8872a0b Iustin Pop
- Added an example ethers hook script
471 c8872a0b Iustin Pop
- Added a cluster parameter that prevents Ganeti from modifying of
472 c8872a0b Iustin Pop
  /etc/hosts
473 c8872a0b Iustin Pop
- Added more node information to RAPI responses
474 aa287e8c Michael Hanselmann
- Added a ``gnt-job watch`` command that allows following the ouput of a
475 c8872a0b Iustin Pop
  job
476 c8872a0b Iustin Pop
- Added a bind-address option to ganeti-rapi
477 c8872a0b Iustin Pop
- Added more checks to the configuration verify
478 c8872a0b Iustin Pop
- Enhanced the burnin script such that some operations can be retried
479 c8872a0b Iustin Pop
  automatically
480 c8872a0b Iustin Pop
- Converted instance reinstall to multi-instance model
481 61b5e342 Michael Hanselmann
482 aa287e8c Michael Hanselmann
483 9d725d41 Iustin Pop
Version 2.0.3
484 61b5e342 Michael Hanselmann
-------------
485 61b5e342 Michael Hanselmann
486 bdc93557 Iustin Pop
*(Released Fri, 7 Aug 2009)*
487 bdc93557 Iustin Pop
488 61b5e342 Michael Hanselmann
- Added ``--ignore-size`` to the ``gnt-instance activate-disks`` command
489 61b5e342 Michael Hanselmann
  to allow using the pre-2.0.2 behaviour in activation, if any existing
490 61b5e342 Michael Hanselmann
  instances have mismatched disk sizes in the configuration
491 7faf5110 Michael Hanselmann
- Added ``gnt-cluster repair-disk-sizes`` command to check and update
492 7faf5110 Michael Hanselmann
  any configuration mismatches for disk sizes
493 61b5e342 Michael Hanselmann
- Added ``gnt-master cluste-failover --no-voting`` to allow master
494 61b5e342 Michael Hanselmann
  failover to work on two-node clusters
495 aa287e8c Michael Hanselmann
- Fixed the ``--net`` option of ``gnt-backup import``, which was
496 aa287e8c Michael Hanselmann
  unusable
497 61b5e342 Michael Hanselmann
- Fixed detection of OS script errors in ``gnt-backup export``
498 61b5e342 Michael Hanselmann
- Fixed exit code of ``gnt-backup export``
499 61b5e342 Michael Hanselmann
500 9d725d41 Iustin Pop
501 550a995a Iustin Pop
Version 2.0.2
502 61b5e342 Michael Hanselmann
-------------
503 61b5e342 Michael Hanselmann
504 bdc93557 Iustin Pop
*(Released Fri, 17 Jul 2009)*
505 bdc93557 Iustin Pop
506 61b5e342 Michael Hanselmann
- Added experimental support for stripped logical volumes; this should
507 61b5e342 Michael Hanselmann
  enhance performance but comes with a higher complexity in the block
508 61b5e342 Michael Hanselmann
  device handling; stripping is only enabled when passing
509 61b5e342 Michael Hanselmann
  ``--with-lvm-stripecount=N`` to ``configure``, but codepaths are
510 61b5e342 Michael Hanselmann
  affected even in the non-stripped mode
511 61b5e342 Michael Hanselmann
- Improved resiliency against transient failures at the end of DRBD
512 61b5e342 Michael Hanselmann
  resyncs, and in general of DRBD resync checks
513 61b5e342 Michael Hanselmann
- Fixed a couple of issues with exports and snapshot errors
514 61b5e342 Michael Hanselmann
- Fixed a couple of issues in instance listing
515 61b5e342 Michael Hanselmann
- Added display of the disk size in ``gnt-instance info``
516 61b5e342 Michael Hanselmann
- Fixed checking for valid OSes in instance creation
517 aa287e8c Michael Hanselmann
- Fixed handling of the "vcpus" parameter in instance listing and in
518 61b5e342 Michael Hanselmann
  general of invalid parameters
519 61b5e342 Michael Hanselmann
- Fixed http server library, and thus RAPI, to handle invalid
520 61b5e342 Michael Hanselmann
  username/password combinations correctly; this means that now they
521 61b5e342 Michael Hanselmann
  report unauthorized for queries too, not only for modifications,
522 61b5e342 Michael Hanselmann
  allowing earlier detect of configuration problems
523 aa287e8c Michael Hanselmann
- Added a new "role" node list field, equivalent to the master/master
524 61b5e342 Michael Hanselmann
  candidate/drained/offline flags combinations
525 61b5e342 Michael Hanselmann
- Fixed cluster modify and changes of candidate pool size
526 61b5e342 Michael Hanselmann
- Fixed cluster verify error messages for wrong files on regular nodes
527 61b5e342 Michael Hanselmann
- Fixed a couple of issues with node demotion from master candidate role
528 61b5e342 Michael Hanselmann
- Fixed node readd issues
529 61b5e342 Michael Hanselmann
- Added non-interactive mode for ``ganeti-masterd --no-voting`` startup
530 aa287e8c Michael Hanselmann
- Added a new ``--no-voting`` option for masterfailover to fix failover
531 aa287e8c Michael Hanselmann
  on two-nodes clusters when the former master node is unreachable
532 61b5e342 Michael Hanselmann
- Added instance reinstall over RAPI
533 61b5e342 Michael Hanselmann
534 550a995a Iustin Pop
535 0dea942c Iustin Pop
Version 2.0.1
536 61b5e342 Michael Hanselmann
-------------
537 61b5e342 Michael Hanselmann
538 bdc93557 Iustin Pop
*(Released Tue, 16 Jun 2009)*
539 bdc93557 Iustin Pop
540 61b5e342 Michael Hanselmann
- added ``-H``/``-B`` startup parameters to ``gnt-instance``, which will
541 61b5e342 Michael Hanselmann
  allow re-adding the start in single-user option (regression from 1.2)
542 61b5e342 Michael Hanselmann
- the watcher writes the instance status to a file, to allow monitoring
543 61b5e342 Michael Hanselmann
  to report the instance status (from the master) based on cached
544 61b5e342 Michael Hanselmann
  results of the watcher's queries; while this can get stale if the
545 61b5e342 Michael Hanselmann
  watcher is being locked due to other work on the cluster, this is
546 61b5e342 Michael Hanselmann
  still an improvement
547 61b5e342 Michael Hanselmann
- the watcher now also restarts the node daemon and the rapi daemon if
548 61b5e342 Michael Hanselmann
  they died
549 61b5e342 Michael Hanselmann
- fixed the watcher to handle full and drained queue cases
550 7faf5110 Michael Hanselmann
- hooks export more instance data in the environment, which helps if
551 7faf5110 Michael Hanselmann
  hook scripts need to take action based on the instance's properties
552 7faf5110 Michael Hanselmann
  (no longer need to query back into ganeti)
553 61b5e342 Michael Hanselmann
- instance failovers when the instance is stopped do not check for free
554 61b5e342 Michael Hanselmann
  RAM, so that failing over a stopped instance is possible in low memory
555 61b5e342 Michael Hanselmann
  situations
556 61b5e342 Michael Hanselmann
- rapi uses queries for tags instead of jobs (for less job traffic), and
557 61b5e342 Michael Hanselmann
  for cluster tags it won't talk to masterd at all but read them from
558 61b5e342 Michael Hanselmann
  ssconf
559 61b5e342 Michael Hanselmann
- a couple of error handling fixes in RAPI
560 61b5e342 Michael Hanselmann
- drbd handling: improved the error handling of inconsistent disks after
561 61b5e342 Michael Hanselmann
  resync to reduce the frequency of "there are some degraded disks for
562 61b5e342 Michael Hanselmann
  this instance" messages
563 61b5e342 Michael Hanselmann
- fixed a bug in live migration when DRBD doesn't want to reconnect (the
564 61b5e342 Michael Hanselmann
  error handling path called a wrong function name)
565 61b5e342 Michael Hanselmann
566 0dea942c Iustin Pop
567 7a8994d4 Iustin Pop
Version 2.0.0 final
568 61b5e342 Michael Hanselmann
-------------------
569 61b5e342 Michael Hanselmann
570 bdc93557 Iustin Pop
*(Released Wed, 27 May 2009)*
571 bdc93557 Iustin Pop
572 61b5e342 Michael Hanselmann
- no changes from rc5
573 61b5e342 Michael Hanselmann
574 7a8994d4 Iustin Pop
575 b926bd98 Iustin Pop
Version 2.0 release candidate 5
576 61b5e342 Michael Hanselmann
-------------------------------
577 61b5e342 Michael Hanselmann
578 bdc93557 Iustin Pop
*(Released Wed, 20 May 2009)*
579 bdc93557 Iustin Pop
580 61b5e342 Michael Hanselmann
- fix a couple of bugs (validation, argument checks)
581 61b5e342 Michael Hanselmann
- fix ``gnt-cluster getmaster`` on non-master nodes (regression)
582 61b5e342 Michael Hanselmann
- some small improvements to RAPI and IAllocator
583 61b5e342 Michael Hanselmann
- make watcher automatically start the master daemon if down
584 61b5e342 Michael Hanselmann
585 b926bd98 Iustin Pop
586 d1908b41 Iustin Pop
Version 2.0 release candidate 4
587 61b5e342 Michael Hanselmann
-------------------------------
588 61b5e342 Michael Hanselmann
589 bdc93557 Iustin Pop
*(Released Mon, 27 Apr 2009)*
590 bdc93557 Iustin Pop
591 61b5e342 Michael Hanselmann
- change the OS list to not require locks; this helps with big clusters
592 61b5e342 Michael Hanselmann
- fix ``gnt-cluster verify`` and ``gnt-cluster verify-disks`` when the
593 61b5e342 Michael Hanselmann
  volume group is broken
594 61b5e342 Michael Hanselmann
- ``gnt-instance info``, without any arguments, doesn't run for all
595 61b5e342 Michael Hanselmann
  instances anymore; either pass ``--all`` or pass the desired
596 61b5e342 Michael Hanselmann
  instances; this helps against mistakes on big clusters where listing
597 61b5e342 Michael Hanselmann
  the information for all instances takes a long time
598 61b5e342 Michael Hanselmann
- miscellaneous doc and man pages fixes
599 61b5e342 Michael Hanselmann
600 d1908b41 Iustin Pop
601 5bbefdec Iustin Pop
Version 2.0 release candidate 3
602 61b5e342 Michael Hanselmann
-------------------------------
603 61b5e342 Michael Hanselmann
604 bdc93557 Iustin Pop
*(Released Wed, 8 Apr 2009)*
605 bdc93557 Iustin Pop
606 61b5e342 Michael Hanselmann
- Change the internal locking model of some ``gnt-node`` commands, in
607 61b5e342 Michael Hanselmann
  order to reduce contention (and blocking of master daemon) when
608 61b5e342 Michael Hanselmann
  batching many creation/reinstall jobs
609 61b5e342 Michael Hanselmann
- Fixes to Xen soft reboot
610 61b5e342 Michael Hanselmann
- No longer build documentation at build time, instead distribute it in
611 61b5e342 Michael Hanselmann
  the archive, in order to reduce the need for the whole docbook/rst
612 61b5e342 Michael Hanselmann
  toolchains
613 61b5e342 Michael Hanselmann
614 5bbefdec Iustin Pop
615 f06d91f2 Iustin Pop
Version 2.0 release candidate 2
616 61b5e342 Michael Hanselmann
-------------------------------
617 61b5e342 Michael Hanselmann
618 bdc93557 Iustin Pop
*(Released Fri, 27 Mar 2009)*
619 bdc93557 Iustin Pop
620 61b5e342 Michael Hanselmann
- Now the cfgupgrade scripts works and can upgrade 1.2.7 clusters to 2.0
621 61b5e342 Michael Hanselmann
- Fix watcher startup sequence, improves the behaviour of busy clusters
622 61b5e342 Michael Hanselmann
- Some other fixes in ``gnt-cluster verify``, ``gnt-instance
623 61b5e342 Michael Hanselmann
  replace-disks``, ``gnt-instance add``, ``gnt-cluster queue``, KVM VNC
624 61b5e342 Michael Hanselmann
  bind address and other places
625 61b5e342 Michael Hanselmann
- Some documentation fixes and updates
626 61b5e342 Michael Hanselmann
627 f06d91f2 Iustin Pop
628 a2370b24 Iustin Pop
Version 2.0 release candidate 1
629 61b5e342 Michael Hanselmann
-------------------------------
630 61b5e342 Michael Hanselmann
631 bdc93557 Iustin Pop
*(Released Mon, 2 Mar 2009)*
632 bdc93557 Iustin Pop
633 61b5e342 Michael Hanselmann
- More documentation updates, now all docs should be more-or-less
634 61b5e342 Michael Hanselmann
  up-to-date
635 61b5e342 Michael Hanselmann
- A couple of small fixes (mixed hypervisor clusters, offline nodes,
636 61b5e342 Michael Hanselmann
  etc.)
637 61b5e342 Michael Hanselmann
- Added a customizable HV_KERNEL_ARGS hypervisor parameter (for Xen PVM
638 61b5e342 Michael Hanselmann
  and KVM)
639 61b5e342 Michael Hanselmann
- Fix an issue related to $libdir/run/ganeti and cluster creation
640 61b5e342 Michael Hanselmann
641 a2370b24 Iustin Pop
642 2fb85b64 Iustin Pop
Version 2.0 beta 2
643 61b5e342 Michael Hanselmann
------------------
644 61b5e342 Michael Hanselmann
645 bdc93557 Iustin Pop
*(Released Thu, 19 Feb 2009)*
646 bdc93557 Iustin Pop
647 61b5e342 Michael Hanselmann
- Xen PVM and KVM have switched the default value for the instance root
648 61b5e342 Michael Hanselmann
  disk to the first partition on the first drive, instead of the whole
649 61b5e342 Michael Hanselmann
  drive; this means that the OS installation scripts must be changed
650 61b5e342 Michael Hanselmann
  accordingly
651 61b5e342 Michael Hanselmann
- Man pages have been updated
652 61b5e342 Michael Hanselmann
- RAPI has been switched by default to HTTPS, and the exported functions
653 61b5e342 Michael Hanselmann
  should all work correctly
654 61b5e342 Michael Hanselmann
- RAPI v1 has been removed
655 61b5e342 Michael Hanselmann
- Many improvements to the KVM hypervisor
656 61b5e342 Michael Hanselmann
- Block device errors are now better reported
657 61b5e342 Michael Hanselmann
- Many other bugfixes and small improvements
658 61b5e342 Michael Hanselmann
659 2fb85b64 Iustin Pop
660 10f31783 Iustin Pop
Version 2.0 beta 1
661 61b5e342 Michael Hanselmann
------------------
662 61b5e342 Michael Hanselmann
663 bdc93557 Iustin Pop
*(Released Mon, 26 Jan 2009)*
664 bdc93557 Iustin Pop
665 61b5e342 Michael Hanselmann
- Version 2 is a general rewrite of the code and therefore the
666 61b5e342 Michael Hanselmann
  differences are too many to list, see the design document for 2.0 in
667 61b5e342 Michael Hanselmann
  the ``doc/`` subdirectory for more details
668 61b5e342 Michael Hanselmann
- In this beta version there is not yet a migration path from 1.2 (there
669 61b5e342 Michael Hanselmann
  will be one in the final 2.0 release)
670 61b5e342 Michael Hanselmann
- A few significant changes are:
671 61b5e342 Michael Hanselmann
672 61b5e342 Michael Hanselmann
  - all commands are executed by a daemon (``ganeti-masterd``) and the
673 61b5e342 Michael Hanselmann
    various ``gnt-*`` commands are just front-ends to it
674 7faf5110 Michael Hanselmann
  - all the commands are entered into, and executed from a job queue,
675 7faf5110 Michael Hanselmann
    see the ``gnt-job(8)`` manpage
676 7faf5110 Michael Hanselmann
  - the RAPI daemon supports read-write operations, secured by basic
677 7faf5110 Michael Hanselmann
    HTTP authentication on top of HTTPS
678 61b5e342 Michael Hanselmann
  - DRBD version 0.7 support has been removed, DRBD 8 is the only
679 61b5e342 Michael Hanselmann
    supported version (when migrating from Ganeti 1.2 to 2.0, you need
680 61b5e342 Michael Hanselmann
    to migrate to DRBD 8 first while still running Ganeti 1.2)
681 61b5e342 Michael Hanselmann
  - DRBD devices are using statically allocated minor numbers, which
682 61b5e342 Michael Hanselmann
    will be assigned to existing instances during the migration process
683 61b5e342 Michael Hanselmann
  - there is support for both Xen PVM and Xen HVM instances running on
684 61b5e342 Michael Hanselmann
    the same cluster
685 61b5e342 Michael Hanselmann
  - KVM virtualization is supported too
686 61b5e342 Michael Hanselmann
  - file-based storage has been implemented, which means that it is
687 61b5e342 Michael Hanselmann
    possible to run the cluster without LVM and DRBD storage, for
688 61b5e342 Michael Hanselmann
    example using a shared filesystem exported from shared storage (and
689 61b5e342 Michael Hanselmann
    still have live migration)
690 61b5e342 Michael Hanselmann
691 10f31783 Iustin Pop
692 10f31783 Iustin Pop
Version 1.2.7
693 61b5e342 Michael Hanselmann
-------------
694 61b5e342 Michael Hanselmann
695 bdc93557 Iustin Pop
*(Released Tue, 13 Jan 2009)*
696 bdc93557 Iustin Pop
697 61b5e342 Michael Hanselmann
- Change the default reboot type in ``gnt-instance reboot`` to "hard"
698 61b5e342 Michael Hanselmann
- Reuse the old instance mac address by default on instance import, if
699 61b5e342 Michael Hanselmann
  the instance name is the same.
700 7faf5110 Michael Hanselmann
- Handle situations in which the node info rpc returns incomplete
701 7faf5110 Michael Hanselmann
  results (issue 46)
702 61b5e342 Michael Hanselmann
- Add checks for tcp/udp ports collisions in ``gnt-cluster verify``
703 61b5e342 Michael Hanselmann
- Improved version of batcher:
704 61b5e342 Michael Hanselmann
705 61b5e342 Michael Hanselmann
  - state file support
706 61b5e342 Michael Hanselmann
  - instance mac address support
707 61b5e342 Michael Hanselmann
  - support for HVM clusters/instances
708 61b5e342 Michael Hanselmann
709 61b5e342 Michael Hanselmann
- Add an option to show the number of cpu sockets and nodes in
710 61b5e342 Michael Hanselmann
  ``gnt-node list``
711 61b5e342 Michael Hanselmann
- Support OSes that handle more than one version of the OS api (but do
712 61b5e342 Michael Hanselmann
  not change the current API in any other way)
713 61b5e342 Michael Hanselmann
- Fix ``gnt-node migrate``
714 61b5e342 Michael Hanselmann
- ``gnt-debug`` man page
715 61b5e342 Michael Hanselmann
- Fixes various more typos and small issues
716 61b5e342 Michael Hanselmann
- Increase disk resync maximum speed to 60MB/s (from 30MB/s)
717 61b5e342 Michael Hanselmann
718 10f31783 Iustin Pop
719 10f31783 Iustin Pop
Version 1.2.6
720 61b5e342 Michael Hanselmann
-------------
721 61b5e342 Michael Hanselmann
722 bdc93557 Iustin Pop
*(Released Wed, 24 Sep 2008)*
723 bdc93557 Iustin Pop
724 61b5e342 Michael Hanselmann
- new ``--hvm-nic-type`` and ``--hvm-disk-type`` flags to control the
725 61b5e342 Michael Hanselmann
  type of disk exported to fully virtualized instances.
726 61b5e342 Michael Hanselmann
- provide access to the serial console of HVM instances
727 7faf5110 Michael Hanselmann
- instance auto_balance flag, set by default. If turned off it will
728 7faf5110 Michael Hanselmann
  avoid warnings on cluster verify if there is not enough memory to fail
729 7faf5110 Michael Hanselmann
  over an instance. in the future it will prevent automatically failing
730 7faf5110 Michael Hanselmann
  it over when we will support that.
731 61b5e342 Michael Hanselmann
- batcher tool for instance creation, see ``tools/README.batcher``
732 61b5e342 Michael Hanselmann
- ``gnt-instance reinstall --select-os`` to interactively select a new
733 61b5e342 Michael Hanselmann
  operating system when reinstalling an instance.
734 61b5e342 Michael Hanselmann
- when changing the memory amount on instance modify a check has been
735 61b5e342 Michael Hanselmann
  added that the instance will be able to start. also warnings are
736 61b5e342 Michael Hanselmann
  emitted if the instance will not be able to fail over, if auto_balance
737 61b5e342 Michael Hanselmann
  is true.
738 61b5e342 Michael Hanselmann
- documentation fixes
739 61b5e342 Michael Hanselmann
- sync fields between ``gnt-instance list/modify/add/import``
740 61b5e342 Michael Hanselmann
- fix a race condition in drbd when the sync speed was set after giving
741 61b5e342 Michael Hanselmann
  the device a remote peer.
742 61b5e342 Michael Hanselmann
743 10f31783 Iustin Pop
744 10f31783 Iustin Pop
Version 1.2.5
745 61b5e342 Michael Hanselmann
-------------
746 61b5e342 Michael Hanselmann
747 bdc93557 Iustin Pop
*(Released Tue, 22 Jul 2008)*
748 bdc93557 Iustin Pop
749 61b5e342 Michael Hanselmann
- note: the allowed size and number of tags per object were reduced
750 61b5e342 Michael Hanselmann
- fix a bug in ``gnt-cluster verify`` with inconsistent volume groups
751 61b5e342 Michael Hanselmann
- fixed twisted 8.x compatibility
752 61b5e342 Michael Hanselmann
- fixed ``gnt-instance replace-disks`` with iallocator
753 61b5e342 Michael Hanselmann
- add TCP keepalives on twisted connections to detect restarted nodes
754 61b5e342 Michael Hanselmann
- disk increase support, see ``gnt-instance grow-disk``
755 61b5e342 Michael Hanselmann
- implement bulk node/instance query for RAPI
756 61b5e342 Michael Hanselmann
- add tags in node/instance listing (optional)
757 61b5e342 Michael Hanselmann
- experimental migration (and live migration) support, read the man page
758 61b5e342 Michael Hanselmann
  for ``gnt-instance migrate``
759 61b5e342 Michael Hanselmann
- the ``ganeti-watcher`` logs are now timestamped, and the watcher also
760 61b5e342 Michael Hanselmann
  has some small improvements in handling its state file
761 61b5e342 Michael Hanselmann
762 10f31783 Iustin Pop
763 10f31783 Iustin Pop
Version 1.2.4
764 61b5e342 Michael Hanselmann
-------------
765 61b5e342 Michael Hanselmann
766 bdc93557 Iustin Pop
*(Released Fri, 13 Jun 2008)*
767 bdc93557 Iustin Pop
768 61b5e342 Michael Hanselmann
- Experimental readonly, REST-based remote API implementation;
769 61b5e342 Michael Hanselmann
  automatically started on master node, TCP port 5080, if enabled by
770 61b5e342 Michael Hanselmann
  ``--enable-rapi`` parameter to configure script.
771 61b5e342 Michael Hanselmann
- Instance allocator support. Add and import instance accept a
772 61b5e342 Michael Hanselmann
  ``--iallocator`` parameter, and call that instance allocator to decide
773 61b5e342 Michael Hanselmann
  which node to use for the instance. The iallocator document describes
774 61b5e342 Michael Hanselmann
  what's expected from an allocator script.
775 61b5e342 Michael Hanselmann
- ``gnt-cluster verify`` N+1 memory redundancy checks: Unless passed the
776 61b5e342 Michael Hanselmann
  ``--no-nplus1-mem`` option ``gnt-cluster verify`` now checks that if a
777 61b5e342 Michael Hanselmann
  node is lost there is still enough memory to fail over the instances
778 61b5e342 Michael Hanselmann
  that reside on it.
779 61b5e342 Michael Hanselmann
- ``gnt-cluster verify`` hooks: it is now possible to add post-hooks to
780 61b5e342 Michael Hanselmann
  ``gnt-cluster verify``, to check for site-specific compliance. All the
781 61b5e342 Michael Hanselmann
  hooks will run, and their output, if any, will be displayed. Any
782 61b5e342 Michael Hanselmann
  failing hook will make the verification return an error value.
783 61b5e342 Michael Hanselmann
- ``gnt-cluster verify`` now checks that its peers are reachable on the
784 61b5e342 Michael Hanselmann
  primary and secondary interfaces
785 61b5e342 Michael Hanselmann
- ``gnt-node add`` now supports the ``--readd`` option, to readd a node
786 61b5e342 Michael Hanselmann
  that is still declared as part of the cluster and has failed.
787 61b5e342 Michael Hanselmann
- ``gnt-* list`` commands now accept a new ``-o +field`` way of
788 61b5e342 Michael Hanselmann
  specifying output fields, that just adds the chosen fields to the
789 61b5e342 Michael Hanselmann
  default ones.
790 61b5e342 Michael Hanselmann
- ``gnt-backup`` now has a new ``remove`` command to delete an existing
791 61b5e342 Michael Hanselmann
  export from the filesystem.
792 61b5e342 Michael Hanselmann
- New per-instance parameters hvm_acpi, hvm_pae and hvm_cdrom_image_path
793 61b5e342 Michael Hanselmann
  have been added. Using them you can enable/disable acpi and pae
794 61b5e342 Michael Hanselmann
  support, and specify a path for a cd image to be exported to the
795 61b5e342 Michael Hanselmann
  instance. These parameters as the name suggest only work on HVM
796 61b5e342 Michael Hanselmann
  clusters.
797 61b5e342 Michael Hanselmann
- When upgrading an HVM cluster to Ganeti 1.2.4, the values for ACPI and
798 61b5e342 Michael Hanselmann
  PAE support will be set to the previously hardcoded values, but the
799 61b5e342 Michael Hanselmann
  (previously hardcoded) path to the CDROM ISO image will be unset and
800 61b5e342 Michael Hanselmann
  if required, needs to be set manually with ``gnt-instance modify``
801 61b5e342 Michael Hanselmann
  after the upgrade.
802 61b5e342 Michael Hanselmann
- The address to which an instance's VNC console is bound is now
803 61b5e342 Michael Hanselmann
  selectable per-instance, rather than being cluster wide. Of course
804 61b5e342 Michael Hanselmann
  this only applies to instances controlled via VNC, so currently just
805 61b5e342 Michael Hanselmann
  applies to HVM clusters.
806 61b5e342 Michael Hanselmann
807 10f31783 Iustin Pop
808 bae27f68 Iustin Pop
Version 1.2.3
809 61b5e342 Michael Hanselmann
-------------
810 61b5e342 Michael Hanselmann
811 bdc93557 Iustin Pop
*(Released Mon, 18 Feb 2008)*
812 bdc93557 Iustin Pop
813 61b5e342 Michael Hanselmann
- more tweaks to the disk activation code (especially helpful for DRBD)
814 61b5e342 Michael Hanselmann
- change the default ``gnt-instance list`` output format, now there is
815 61b5e342 Michael Hanselmann
  one combined status field (see the manpage for the exact values this
816 61b5e342 Michael Hanselmann
  field will have)
817 61b5e342 Michael Hanselmann
- some more fixes for the mac export to hooks change
818 61b5e342 Michael Hanselmann
- make Ganeti not break with DRBD 8.2.x (which changed the version
819 61b5e342 Michael Hanselmann
  format in ``/proc/drbd``) (issue 24)
820 61b5e342 Michael Hanselmann
- add an upgrade tool from "remote_raid1" disk template to "drbd" disk
821 61b5e342 Michael Hanselmann
  template, allowing migration from DRBD0.7+MD to DRBD8
822 61b5e342 Michael Hanselmann
823 bae27f68 Iustin Pop
824 e709baee Iustin Pop
Version 1.2.2
825 61b5e342 Michael Hanselmann
-------------
826 61b5e342 Michael Hanselmann
827 bdc93557 Iustin Pop
*(Released Wed, 30 Jan 2008)*
828 bdc93557 Iustin Pop
829 61b5e342 Michael Hanselmann
- fix ``gnt-instance modify`` breakage introduced in 1.2.1 with the HVM
830 61b5e342 Michael Hanselmann
  support (issue 23)
831 61b5e342 Michael Hanselmann
- add command aliases infrastructure and a few aliases
832 61b5e342 Michael Hanselmann
- allow listing of VCPUs in the ``gnt-instance list`` and improve the
833 61b5e342 Michael Hanselmann
  man pages and the ``--help`` option of ``gnt-node
834 61b5e342 Michael Hanselmann
  list``/``gnt-instance list``
835 61b5e342 Michael Hanselmann
- fix ``gnt-backup list`` with down nodes (issue 21)
836 61b5e342 Michael Hanselmann
- change the tools location (move from $pkgdatadir to $pkglibdir/tools)
837 61b5e342 Michael Hanselmann
- fix the dist archive and add a check for including svn/git files in
838 61b5e342 Michael Hanselmann
  the future
839 61b5e342 Michael Hanselmann
- some developer-related changes: improve the burnin and the QA suite,
840 61b5e342 Michael Hanselmann
  add an upload script for testing during development
841 61b5e342 Michael Hanselmann
842 e709baee Iustin Pop
843 31b9055c Iustin Pop
Version 1.2.1
844 61b5e342 Michael Hanselmann
-------------
845 61b5e342 Michael Hanselmann
846 bdc93557 Iustin Pop
*(Released Wed, 16 Jan 2008)*
847 bdc93557 Iustin Pop
848 61b5e342 Michael Hanselmann
- experimental HVM support, read the install document, section
849 61b5e342 Michael Hanselmann
  "Initializing the cluster"
850 61b5e342 Michael Hanselmann
- allow for the PVM hypervisor per-instance kernel and initrd paths
851 61b5e342 Michael Hanselmann
- add a new command ``gnt-cluster verify-disks`` which uses a new
852 61b5e342 Michael Hanselmann
  algorithm to improve the reconnection of the DRBD pairs if the device
853 61b5e342 Michael Hanselmann
  on the secondary node has gone away
854 61b5e342 Michael Hanselmann
- make logical volume code auto-activate LVs at disk activation time
855 61b5e342 Michael Hanselmann
- slightly improve the speed of activating disks
856 61b5e342 Michael Hanselmann
- allow specification of the MAC address at instance creation time, and
857 61b5e342 Michael Hanselmann
  changing it later via ``gnt-instance modify``
858 61b5e342 Michael Hanselmann
- fix handling of external commands that generate lots of output on
859 61b5e342 Michael Hanselmann
  stderr
860 61b5e342 Michael Hanselmann
- update documentation with regard to minimum version of DRBD8 supported
861 61b5e342 Michael Hanselmann
862 31b9055c Iustin Pop
863 ce628bb4 Iustin Pop
Version 1.2.0
864 61b5e342 Michael Hanselmann
-------------
865 61b5e342 Michael Hanselmann
866 bdc93557 Iustin Pop
*(Released Tue, 4 Dec 2007)*
867 bdc93557 Iustin Pop
868 7faf5110 Michael Hanselmann
- Log the ``xm create`` output to the node daemon log on failure (to
869 7faf5110 Michael Hanselmann
  help diagnosing the error)
870 61b5e342 Michael Hanselmann
- In debug mode, log all external commands output if failed to the logs
871 61b5e342 Michael Hanselmann
- Change parsing of lvm commands to ignore stderr
872 61b5e342 Michael Hanselmann
873 ce628bb4 Iustin Pop
874 3d492b09 Iustin Pop
Version 1.2b3
875 61b5e342 Michael Hanselmann
-------------
876 61b5e342 Michael Hanselmann
877 bdc93557 Iustin Pop
*(Released Wed, 28 Nov 2007)*
878 bdc93557 Iustin Pop
879 61b5e342 Michael Hanselmann
- Another round of updates to the DRBD 8 code to deal with more failures
880 61b5e342 Michael Hanselmann
  in the replace secondary node operation
881 61b5e342 Michael Hanselmann
- Some more logging of failures in disk operations (lvm, drbd)
882 61b5e342 Michael Hanselmann
- A few documentation updates
883 61b5e342 Michael Hanselmann
- QA updates
884 61b5e342 Michael Hanselmann
885 3d492b09 Iustin Pop
886 6c4811dc Iustin Pop
Version 1.2b2
887 61b5e342 Michael Hanselmann
-------------
888 61b5e342 Michael Hanselmann
889 bdc93557 Iustin Pop
*(Released Tue, 13 Nov 2007)*
890 bdc93557 Iustin Pop
891 61b5e342 Michael Hanselmann
- Change configuration file format from Python's Pickle to JSON.
892 61b5e342 Michael Hanselmann
  Upgrading is possible using the cfgupgrade utility.
893 61b5e342 Michael Hanselmann
- Add support for DRBD 8.0 (new disk template ``drbd``) which allows for
894 61b5e342 Michael Hanselmann
  faster replace disks and is more stable (DRBD 8 has many improvements
895 61b5e342 Michael Hanselmann
  compared to DRBD 0.7)
896 61b5e342 Michael Hanselmann
- Added command line tags support (see man pages for ``gnt-instance``,
897 61b5e342 Michael Hanselmann
  ``gnt-node``, ``gnt-cluster``)
898 61b5e342 Michael Hanselmann
- Added instance rename support
899 61b5e342 Michael Hanselmann
- Added multi-instance startup/shutdown
900 61b5e342 Michael Hanselmann
- Added cluster rename support
901 61b5e342 Michael Hanselmann
- Added ``gnt-node evacuate`` to simplify some node operations
902 61b5e342 Michael Hanselmann
- Added instance reboot operation that can speedup reboot as compared to
903 61b5e342 Michael Hanselmann
  stop and start
904 61b5e342 Michael Hanselmann
- Soften the requirement that hostnames are in FQDN format
905 61b5e342 Michael Hanselmann
- The ``ganeti-watcher`` now activates drbd pairs after secondary node
906 61b5e342 Michael Hanselmann
  reboots
907 61b5e342 Michael Hanselmann
- Removed dependency on debian's patched fping that uses the
908 61b5e342 Michael Hanselmann
  non-standard ``-S`` option
909 7faf5110 Michael Hanselmann
- Now the OS definitions are searched for in multiple, configurable
910 7faf5110 Michael Hanselmann
  paths (easier for distros to package)
911 61b5e342 Michael Hanselmann
- Some changes to the hooks infrastructure (especially the new
912 61b5e342 Michael Hanselmann
  post-configuration update hook)
913 61b5e342 Michael Hanselmann
- Other small bugfixes
914 558fd122 Michael Hanselmann
915 558fd122 Michael Hanselmann
.. vim: set textwidth=72 :
916 9b94905f Iustin Pop
.. Local Variables:
917 9b94905f Iustin Pop
.. mode: rst
918 9b94905f Iustin Pop
.. fill-column: 72
919 9b94905f Iustin Pop
.. End: