Statistics
| Branch: | Tag: | Revision:

root / NEWS @ b92a2f3e

History | View | Annotate | Download (60.3 kB)

1 61b5e342 Michael Hanselmann
News
2 61b5e342 Michael Hanselmann
====
3 920a91bf Michael Hanselmann
4 1bbf0c40 Iustin Pop
Version 2.4.2
5 1bbf0c40 Iustin Pop
-------------
6 1bbf0c40 Iustin Pop
7 1bbf0c40 Iustin Pop
*(unreleased)*
8 1bbf0c40 Iustin Pop
9 1bbf0c40 Iustin Pop
Many bug-fixes and a few new small features:
10 1bbf0c40 Iustin Pop
11 1bbf0c40 Iustin Pop
- Fixed a bug related to log opening failures
12 1bbf0c40 Iustin Pop
- Fixed a bug in instance listing with orphan instances
13 1bbf0c40 Iustin Pop
- Fixed a bug which prevented resetting the cluster-level node parameter
14 1bbf0c40 Iustin Pop
  ``oob_program`` to the default
15 1bbf0c40 Iustin Pop
- Many fixes related to the ``cluster-merge`` tool
16 1bbf0c40 Iustin Pop
- Fixed a race condition in the lock monitor, which caused failures
17 1bbf0c40 Iustin Pop
  during (at least) creation of many instances in parallel
18 1bbf0c40 Iustin Pop
- Improved output for gnt-job info
19 1bbf0c40 Iustin Pop
- Removed the quiet flag on some ssh calls which prevented debugging
20 1bbf0c40 Iustin Pop
  failures
21 1bbf0c40 Iustin Pop
- Improved the N+1 failure messages in cluster verify by actually
22 1bbf0c40 Iustin Pop
  showing the memory values (needed and available)
23 1bbf0c40 Iustin Pop
- Increased lock attempt timeouts so that when executing long operations
24 1bbf0c40 Iustin Pop
  (e.g. DRBD replace-disks) other jobs do not enter 'blocking acquire'
25 1bbf0c40 Iustin Pop
  too early and thus prevent the use of the 'fair' mechanism
26 1bbf0c40 Iustin Pop
- Changed instance query data (``gnt-instance info``) to not acquire
27 1bbf0c40 Iustin Pop
  locks unless needed, thus allowing its use on locked instance if only
28 1bbf0c40 Iustin Pop
  static information is asked for
29 1bbf0c40 Iustin Pop
- Improved behaviour with filesystems that do not support rename on an
30 1bbf0c40 Iustin Pop
  opened file
31 1bbf0c40 Iustin Pop
- Fixed the behaviour of ``prealloc_wipe_disks`` cluster parameter which
32 1bbf0c40 Iustin Pop
  kept locks on all nodes during the wipe, which is unneeded
33 1bbf0c40 Iustin Pop
- Fixed ``gnt-watcher`` handling of errors during hooks execution
34 1bbf0c40 Iustin Pop
- Fixed bug in ``prealloc_wipe_disks`` with small disk sizes (less than
35 1bbf0c40 Iustin Pop
  10GiB) which caused the wipe to fail right at the end in some cases
36 1bbf0c40 Iustin Pop
- Fixed master IP activation when doing master failover with no-voting
37 1bbf0c40 Iustin Pop
- Fixed bug in ``gnt-node add --readd`` which allowed the re-adding of
38 1bbf0c40 Iustin Pop
  the master node itself
39 1bbf0c40 Iustin Pop
- Fixed potential data-loss in under disk full conditions, where Ganeti
40 1bbf0c40 Iustin Pop
  wouldn't check correctly the return code and would consider
41 1bbf0c40 Iustin Pop
  partially-written files 'correct'
42 1bbf0c40 Iustin Pop
- Fixed bug related to multiple VGs and DRBD disk replacing
43 1bbf0c40 Iustin Pop
- Added new disk parameter ``metavg`` that allows placement of the meta
44 1bbf0c40 Iustin Pop
  device for DRBD in a different volume group
45 1bbf0c40 Iustin Pop
- Fixed error handling in the node daemon when the system libc doesn't
46 1bbf0c40 Iustin Pop
  have major number 6 (i.e. if ``libc.so.6`` is not the actual libc)
47 1bbf0c40 Iustin Pop
- Fixed lock release during replace-disks, which kept cluster-wide locks
48 1bbf0c40 Iustin Pop
  when doing disk replaces with an iallocator script
49 1bbf0c40 Iustin Pop
- Added check for missing bridges in cluster verify
50 1bbf0c40 Iustin Pop
- Handle EPIPE errors while writing to the terminal better, so that
51 1bbf0c40 Iustin Pop
  piping the output to e.g. ``less`` doesn't cause a backtrace
52 1bbf0c40 Iustin Pop
- Fixed rare case where a ^C during Luxi calls could have been
53 1bbf0c40 Iustin Pop
  interpreted as server errors, instead of simply terminating
54 1bbf0c40 Iustin Pop
- Fixed a race condition in LUGroupAssignNodes (``gnt-group
55 1bbf0c40 Iustin Pop
  assign-nodes``)
56 1bbf0c40 Iustin Pop
- Added a few more parameters to the KVM hypervisor, allowing a second
57 1bbf0c40 Iustin Pop
  CDROM, custom disk type for CDROMs and a floppy image
58 1bbf0c40 Iustin Pop
- Removed redundant message in instance rename when the name is given
59 1bbf0c40 Iustin Pop
  already as a FQDN
60 1bbf0c40 Iustin Pop
- Added option to ``gnt-instance recreate-disks`` to allow creating the
61 1bbf0c40 Iustin Pop
  disks on new nodes, allowing recreation when the original instance
62 1bbf0c40 Iustin Pop
  nodes are completely gone
63 1bbf0c40 Iustin Pop
- Added option when converting disk templates to DRBD to skip waiting
64 1bbf0c40 Iustin Pop
  for the resync, in order to make the instance available sooner
65 1bbf0c40 Iustin Pop
- Added two new variables to the OS scripts environment (containing the
66 1bbf0c40 Iustin Pop
  instance's nodes)
67 1bbf0c40 Iustin Pop
- Made the root_path and optional parameter for the xen-pvm hypervisor,
68 1bbf0c40 Iustin Pop
  to allow use of ``pvgrub`` as bootloader
69 b92a2f3e Iustin Pop
- Changed the instance memory modifications to only check out-of-memory
70 b92a2f3e Iustin Pop
  conditions on memory increases, and turned the secondary node warnings
71 b92a2f3e Iustin Pop
  into errors (they can still be overridden via ``--force``)
72 1bbf0c40 Iustin Pop
73 1bbf0c40 Iustin Pop
And as usual, various improvements to the error messages, documentation
74 1bbf0c40 Iustin Pop
and man pages.
75 1bbf0c40 Iustin Pop
76 c199dbae Iustin Pop
Version 2.4.1
77 c199dbae Iustin Pop
-------------
78 c199dbae Iustin Pop
79 c199dbae Iustin Pop
*(Released Wed, 09 Mar 2011)*
80 c199dbae Iustin Pop
81 c199dbae Iustin Pop
Emergency bug-fix release. ``tools/cfgupgrade`` was broken and overwrote
82 c199dbae Iustin Pop
the RAPI users file if run twice (even with ``-dry-run``).
83 c199dbae Iustin Pop
84 c199dbae Iustin Pop
The release fixes that bug (nothing else changed).
85 c199dbae Iustin Pop
86 c199dbae Iustin Pop
87 20203756 Iustin Pop
Version 2.4.0
88 20203756 Iustin Pop
-------------
89 20203756 Iustin Pop
90 20203756 Iustin Pop
*(Released Mon, 07 Mar 2011)*
91 20203756 Iustin Pop
92 20203756 Iustin Pop
Final 2.4.0 release. Just a few small fixes:
93 20203756 Iustin Pop
94 20203756 Iustin Pop
- Fixed RAPI node evacuate
95 20203756 Iustin Pop
- Fixed the kvm-ifup script
96 20203756 Iustin Pop
- Fixed internal error handling for special job cases
97 20203756 Iustin Pop
- Updated man page to specify the escaping feature for options
98 20203756 Iustin Pop
99 20203756 Iustin Pop
100 94b697b0 Iustin Pop
Version 2.4.0 rc3
101 94b697b0 Iustin Pop
-----------------
102 94b697b0 Iustin Pop
103 94b697b0 Iustin Pop
*(Released Mon, 28 Feb 2011)*
104 94b697b0 Iustin Pop
105 94b697b0 Iustin Pop
A critical fix for the ``prealloc_wipe_disks`` feature: it is possible
106 94b697b0 Iustin Pop
that this feature wiped the disks of the wrong instance, leading to loss
107 94b697b0 Iustin Pop
of data.
108 94b697b0 Iustin Pop
109 94b697b0 Iustin Pop
Other changes:
110 94b697b0 Iustin Pop
111 df3df936 Michael Hanselmann
- Fixed title of query field containing instance name
112 df3df936 Michael Hanselmann
- Expanded the glossary in the documentation
113 df3df936 Michael Hanselmann
- Fixed one unittest (internal issue)
114 94b697b0 Iustin Pop
115 94b697b0 Iustin Pop
116 e41a1c0c Iustin Pop
Version 2.4.0 rc2
117 e41a1c0c Iustin Pop
-----------------
118 e41a1c0c Iustin Pop
119 e41a1c0c Iustin Pop
*(Released Mon, 21 Feb 2011)*
120 e41a1c0c Iustin Pop
121 e41a1c0c Iustin Pop
A number of bug fixes plus just a couple functionality changes.
122 e41a1c0c Iustin Pop
123 e41a1c0c Iustin Pop
On the user-visible side, the ``gnt-* list`` command output has changed
124 df3df936 Michael Hanselmann
with respect to "special" field states. The current rc1 style of display
125 df3df936 Michael Hanselmann
can be re-enabled by passing a new ``--verbose`` (``-v``) flag, but in
126 df3df936 Michael Hanselmann
the default output mode special fields states are displayed as follows:
127 e41a1c0c Iustin Pop
128 df3df936 Michael Hanselmann
- Offline resource: ``*``
129 df3df936 Michael Hanselmann
- Unavailable/not applicable: ``-``
130 df3df936 Michael Hanselmann
- Data missing (RPC failure): ``?``
131 df3df936 Michael Hanselmann
- Unknown field: ``??``
132 e41a1c0c Iustin Pop
133 e41a1c0c Iustin Pop
Another user-visible change is the addition of ``--force-join`` to
134 e41a1c0c Iustin Pop
``gnt-node add``.
135 e41a1c0c Iustin Pop
136 e41a1c0c Iustin Pop
As for bug fixes:
137 e41a1c0c Iustin Pop
138 e41a1c0c Iustin Pop
- ``tools/cluster-merge`` has seen many fixes and is now enabled again
139 df3df936 Michael Hanselmann
- Fixed regression in RAPI/instance reinstall where all parameters were
140 e41a1c0c Iustin Pop
  required (instead of optional)
141 df3df936 Michael Hanselmann
- Fixed ``gnt-cluster repair-disk-sizes``, was broken since Ganeti 2.2
142 df3df936 Michael Hanselmann
- Fixed iallocator usage (offline nodes were not considered offline)
143 df3df936 Michael Hanselmann
- Fixed ``gnt-node list`` with respect to non-vm_capable nodes
144 df3df936 Michael Hanselmann
- Fixed hypervisor and OS parameter validation with respect to
145 e41a1c0c Iustin Pop
  non-vm_capable nodes
146 df3df936 Michael Hanselmann
- Fixed ``gnt-cluster verify`` with respect to offline nodes (mostly
147 e41a1c0c Iustin Pop
  cosmetic)
148 df3df936 Michael Hanselmann
- Fixed ``tools/listrunner`` with respect to agent-based usage
149 e41a1c0c Iustin Pop
150 e41a1c0c Iustin Pop
151 ec31a18f Iustin Pop
Version 2.4.0 rc1
152 ec31a18f Iustin Pop
-----------------
153 ec31a18f Iustin Pop
154 ec31a18f Iustin Pop
*(Released Fri,  4 Feb 2011)*
155 ec31a18f Iustin Pop
156 ec31a18f Iustin Pop
Many changes and fixes since the beta1 release. While there were some
157 ec31a18f Iustin Pop
internal changes, the code has been mostly stabilised for the RC
158 ec31a18f Iustin Pop
release.
159 ec31a18f Iustin Pop
160 ec31a18f Iustin Pop
Note: the dumb allocator was removed in this release, as it was not kept
161 ec31a18f Iustin Pop
up-to-date with the IAllocator protocol changes. It is recommended to
162 ec31a18f Iustin Pop
use the ``hail`` command from the ganeti-htools package.
163 ec31a18f Iustin Pop
164 ec31a18f Iustin Pop
Note: the 2.4 and up versions of Ganeti are not compatible with the
165 ec31a18f Iustin Pop
0.2.x branch of ganeti-htools. You need to upgrade to
166 ec31a18f Iustin Pop
ganeti-htools-0.3.0 (or later).
167 ec31a18f Iustin Pop
168 ec31a18f Iustin Pop
Regressions fixed from 2.3
169 ec31a18f Iustin Pop
~~~~~~~~~~~~~~~~~~~~~~~~~~
170 ec31a18f Iustin Pop
171 ec31a18f Iustin Pop
- Fixed the ``gnt-cluster verify-disks`` command
172 ec31a18f Iustin Pop
- Made ``gnt-cluster verify-disks`` work in parallel (as opposed to
173 ec31a18f Iustin Pop
  serially on nodes)
174 ec31a18f Iustin Pop
- Fixed disk adoption breakage
175 ec31a18f Iustin Pop
- Fixed wrong headers in instance listing for field aliases
176 ec31a18f Iustin Pop
177 ec31a18f Iustin Pop
Other bugs fixed
178 ec31a18f Iustin Pop
~~~~~~~~~~~~~~~~
179 ec31a18f Iustin Pop
180 ec31a18f Iustin Pop
- Fixed corner case in KVM handling of NICs
181 ec31a18f Iustin Pop
- Fixed many cases of wrong handling of non-vm_capable nodes
182 ec31a18f Iustin Pop
- Fixed a bug where a missing instance symlink was not possible to
183 ec31a18f Iustin Pop
  recreate with any ``gnt-*`` command (now ``gnt-instance
184 ec31a18f Iustin Pop
  activate-disks`` does it)
185 ec31a18f Iustin Pop
- Fixed the volume group name as reported by ``gnt-cluster
186 ec31a18f Iustin Pop
  verify-disks``
187 ec31a18f Iustin Pop
- Increased timeouts for the import-export code, hopefully leading to
188 ec31a18f Iustin Pop
  fewer aborts due network or instance timeouts
189 ec31a18f Iustin Pop
- Fixed bug in ``gnt-node list-storage``
190 ec31a18f Iustin Pop
- Fixed bug where not all daemons were started on cluster
191 ec31a18f Iustin Pop
  initialisation, but only at the first watcher run
192 ec31a18f Iustin Pop
- Fixed many bugs in the OOB implementation
193 ec31a18f Iustin Pop
- Fixed watcher behaviour in presence of instances with offline
194 ec31a18f Iustin Pop
  secondaries
195 ec31a18f Iustin Pop
- Fixed instance list output for instances running on the wrong node
196 ec31a18f Iustin Pop
- a few fixes to the cluster-merge tool, but it still cannot merge
197 ec31a18f Iustin Pop
  multi-node groups (currently it is not recommended to use this tool)
198 ec31a18f Iustin Pop
199 ec31a18f Iustin Pop
200 ec31a18f Iustin Pop
Improvements
201 ec31a18f Iustin Pop
~~~~~~~~~~~~
202 ec31a18f Iustin Pop
203 ec31a18f Iustin Pop
- Improved network configuration for the KVM hypervisor
204 ec31a18f Iustin Pop
- Added e1000 as a supported NIC for Xen-HVM
205 ec31a18f Iustin Pop
- Improved the lvmstrap tool to also be able to use partitions, as
206 ec31a18f Iustin Pop
  opposed to full disks
207 ec31a18f Iustin Pop
- Improved speed of disk wiping (the cluster parameter
208 ec31a18f Iustin Pop
  ``prealloc_wipe_disks``, so that it has a low impact on the total time
209 ec31a18f Iustin Pop
  of instance creations
210 ec31a18f Iustin Pop
- Added documentation for the OS parameters
211 ec31a18f Iustin Pop
- Changed ``gnt-instance deactivate-disks`` so that it can work if the
212 ec31a18f Iustin Pop
  hypervisor is not responding
213 ec31a18f Iustin Pop
- Added display of blacklisted and hidden OS information in
214 ec31a18f Iustin Pop
  ``gnt-cluster info``
215 ec31a18f Iustin Pop
- Extended ``gnt-cluster verify`` to also validate hypervisor, backend,
216 ec31a18f Iustin Pop
  NIC and node parameters, which might create problems with currently
217 ec31a18f Iustin Pop
  invalid (but undetected) configuration files, but prevents validation
218 ec31a18f Iustin Pop
  failures when unrelated parameters are modified
219 ec31a18f Iustin Pop
- Changed cluster initialisation to wait for the master daemon to become
220 ec31a18f Iustin Pop
  available
221 ec31a18f Iustin Pop
- Expanded the RAPI interface:
222 ec31a18f Iustin Pop
223 ec31a18f Iustin Pop
  - Added config redistribution resource
224 ec31a18f Iustin Pop
  - Added activation/deactivation of instance disks
225 ec31a18f Iustin Pop
  - Added export of console information
226 ec31a18f Iustin Pop
227 ec31a18f Iustin Pop
- Implemented log file reopening on SIGHUP, which allows using
228 ec31a18f Iustin Pop
  logrotate(8) for the Ganeti log files
229 ec31a18f Iustin Pop
- Added a basic OOB helper script as an example
230 ec31a18f Iustin Pop
231 ec31a18f Iustin Pop
232 3daa24ea Michael Hanselmann
Version 2.4.0 beta1
233 3daa24ea Michael Hanselmann
-------------------
234 fdd9ac5b Michael Hanselmann
235 a91f69c4 Michael Hanselmann
*(Released Fri, 14 Jan 2011)*
236 fdd9ac5b Michael Hanselmann
237 3daa24ea Michael Hanselmann
User-visible
238 3daa24ea Michael Hanselmann
~~~~~~~~~~~~
239 3daa24ea Michael Hanselmann
240 3daa24ea Michael Hanselmann
- Fixed timezone issues when formatting timestamps
241 3daa24ea Michael Hanselmann
- Added support for node groups, available via ``gnt-group`` and other
242 3daa24ea Michael Hanselmann
  commands
243 3daa24ea Michael Hanselmann
- Added out-of-band framework and management, see :doc:`design
244 3daa24ea Michael Hanselmann
  document <design-oob>`
245 3daa24ea Michael Hanselmann
- Removed support for roman numbers from ``gnt-node list`` and
246 3daa24ea Michael Hanselmann
  ``gnt-instance list``.
247 3daa24ea Michael Hanselmann
- Allowed modification of master network interface via ``gnt-cluster
248 3daa24ea Michael Hanselmann
  modify --master-netdev``
249 3daa24ea Michael Hanselmann
- Accept offline secondaries while shutting down instance disks
250 3daa24ea Michael Hanselmann
- Added ``blockdev_prefix`` parameter to Xen PVM and HVM hypervisors
251 3daa24ea Michael Hanselmann
- Added support for multiple LVM volume groups
252 3daa24ea Michael Hanselmann
- Avoid sorting nodes for ``gnt-node list`` if specific nodes are
253 3daa24ea Michael Hanselmann
  requested
254 3daa24ea Michael Hanselmann
- Added commands to list available fields:
255 3daa24ea Michael Hanselmann
256 3daa24ea Michael Hanselmann
  - ``gnt-node list-fields``
257 3daa24ea Michael Hanselmann
  - ``gnt-group list-fields``
258 3daa24ea Michael Hanselmann
  - ``gnt-instance list-fields``
259 3daa24ea Michael Hanselmann
260 3daa24ea Michael Hanselmann
- Updated documentation and man pages
261 3daa24ea Michael Hanselmann
262 3daa24ea Michael Hanselmann
Integration
263 3daa24ea Michael Hanselmann
~~~~~~~~~~~
264 3daa24ea Michael Hanselmann
265 fdd9ac5b Michael Hanselmann
- Moved ``rapi_users`` file into separate directory, now named
266 df3df936 Michael Hanselmann
  ``.../ganeti/rapi/users``, ``cfgupgrade`` moves the file and creates a
267 3daa24ea Michael Hanselmann
  symlink
268 3daa24ea Michael Hanselmann
- Added new tool for running commands on many machines,
269 3daa24ea Michael Hanselmann
  ``tools/ganeti-listrunner``
270 cc0dec7b Iustin Pop
- Implemented more verbose result in ``OpInstanceConsole`` opcode, also
271 3daa24ea Michael Hanselmann
  improving the ``gnt-instance console`` output
272 3daa24ea Michael Hanselmann
- Allowed customisation of disk index separator at ``configure`` time
273 3daa24ea Michael Hanselmann
- Export node group allocation policy to :doc:`iallocator <iallocator>`
274 3daa24ea Michael Hanselmann
- Added support for non-partitioned md disks in ``lvmstrap``
275 3daa24ea Michael Hanselmann
- Added script to gracefully power off KVM instances
276 3daa24ea Michael Hanselmann
- Split ``utils`` module into smaller parts
277 d7a08491 Michael Hanselmann
- Changed query operations to return more detailed information, e.g.
278 d7a08491 Michael Hanselmann
  whether an information is unavailable due to an offline node. To use
279 d7a08491 Michael Hanselmann
  this new functionality, the LUXI call ``Query`` must be used. Field
280 d7a08491 Michael Hanselmann
  information is now stored by the master daemon and can be retrieved
281 3daa24ea Michael Hanselmann
  using ``QueryFields``. Instances, nodes and groups can also be queried
282 3daa24ea Michael Hanselmann
  using the new opcodes ``OpQuery`` and ``OpQueryFields`` (not yet
283 3daa24ea Michael Hanselmann
  exposed via RAPI). The following commands make use of this
284 3daa24ea Michael Hanselmann
  infrastructure change:
285 3daa24ea Michael Hanselmann
286 3daa24ea Michael Hanselmann
  - ``gnt-group list``
287 3daa24ea Michael Hanselmann
  - ``gnt-group list-fields``
288 3daa24ea Michael Hanselmann
  - ``gnt-node list``
289 3daa24ea Michael Hanselmann
  - ``gnt-node list-fields``
290 3daa24ea Michael Hanselmann
  - ``gnt-instance list``
291 3daa24ea Michael Hanselmann
  - ``gnt-instance list-fields``
292 3daa24ea Michael Hanselmann
  - ``gnt-debug locks``
293 3daa24ea Michael Hanselmann
294 3daa24ea Michael Hanselmann
Remote API
295 3daa24ea Michael Hanselmann
~~~~~~~~~~
296 3daa24ea Michael Hanselmann
297 3daa24ea Michael Hanselmann
- New RAPI resources (see :doc:`rapi`):
298 3daa24ea Michael Hanselmann
299 3daa24ea Michael Hanselmann
  - ``/2/modify``
300 3daa24ea Michael Hanselmann
  - ``/2/groups``
301 3daa24ea Michael Hanselmann
  - ``/2/groups/[group_name]``
302 3daa24ea Michael Hanselmann
  - ``/2/groups/[group_name]/assign-nodes``
303 3daa24ea Michael Hanselmann
  - ``/2/groups/[group_name]/modify``
304 3daa24ea Michael Hanselmann
  - ``/2/groups/[group_name]/rename``
305 3daa24ea Michael Hanselmann
  - ``/2/instances/[instance_name]/disk/[disk_index]/grow``
306 3daa24ea Michael Hanselmann
307 3daa24ea Michael Hanselmann
- RAPI changes:
308 3daa24ea Michael Hanselmann
309 3daa24ea Michael Hanselmann
  - Implemented ``no_install`` for instance creation
310 3daa24ea Michael Hanselmann
  - Implemented OS parameters for instance reinstallation, allowing
311 3daa24ea Michael Hanselmann
    use of special settings on reinstallation (e.g. for preserving data)
312 3daa24ea Michael Hanselmann
313 3daa24ea Michael Hanselmann
Misc
314 3daa24ea Michael Hanselmann
~~~~
315 3daa24ea Michael Hanselmann
316 3daa24ea Michael Hanselmann
- Added IPv6 support in import/export
317 3daa24ea Michael Hanselmann
- Pause DRBD synchronization while wiping disks on instance creation
318 3daa24ea Michael Hanselmann
- Updated unittests and QA scripts
319 3daa24ea Michael Hanselmann
- Improved network parameters passed to KVM
320 3daa24ea Michael Hanselmann
- Converted man pages from docbook to reStructuredText
321 fdd9ac5b Michael Hanselmann
322 fdd9ac5b Michael Hanselmann
323 bb2dc35a Michael Hanselmann
Version 2.3.1
324 bb2dc35a Michael Hanselmann
-------------
325 bb2dc35a Michael Hanselmann
326 bb2dc35a Michael Hanselmann
*(Released Mon, 20 Dec 2010)*
327 bb2dc35a Michael Hanselmann
328 bb2dc35a Michael Hanselmann
Released version 2.3.1~rc1 without any changes.
329 bb2dc35a Michael Hanselmann
330 bb2dc35a Michael Hanselmann
331 563d5e72 Michael Hanselmann
Version 2.3.1 rc1
332 563d5e72 Michael Hanselmann
-----------------
333 563d5e72 Michael Hanselmann
334 563d5e72 Michael Hanselmann
*(Released Wed, 1 Dec 2010)*
335 563d5e72 Michael Hanselmann
336 563d5e72 Michael Hanselmann
- impexpd: Disable OpenSSL compression in socat if possible (backport
337 563d5e72 Michael Hanselmann
  from master, commit e90739d625b, see :doc:`installation guide
338 563d5e72 Michael Hanselmann
  <install-quick>` for details)
339 563d5e72 Michael Hanselmann
- Changed unittest coverage report to exclude test scripts
340 563d5e72 Michael Hanselmann
- Added script to check version format
341 563d5e72 Michael Hanselmann
342 563d5e72 Michael Hanselmann
343 7c324b88 Michael Hanselmann
Version 2.3.0
344 7c324b88 Michael Hanselmann
-------------
345 7c324b88 Michael Hanselmann
346 7c324b88 Michael Hanselmann
*(Released Wed, 1 Dec 2010)*
347 7c324b88 Michael Hanselmann
348 7c324b88 Michael Hanselmann
Released version 2.3.0~rc1 without any changes.
349 7c324b88 Michael Hanselmann
350 7c324b88 Michael Hanselmann
351 ca6c2dcd Iustin Pop
Version 2.3.0 rc1
352 ca6c2dcd Iustin Pop
-----------------
353 ca6c2dcd Iustin Pop
354 ca6c2dcd Iustin Pop
*(Released Fri, 19 Nov 2010)*
355 ca6c2dcd Iustin Pop
356 ca6c2dcd Iustin Pop
A number of bugfixes and documentation updates:
357 ca6c2dcd Iustin Pop
358 ca6c2dcd Iustin Pop
- Update ganeti-os-interface documentation
359 ca6c2dcd Iustin Pop
- Fixed a bug related to duplicate MACs or similar items which should be
360 ca6c2dcd Iustin Pop
  unique
361 ca6c2dcd Iustin Pop
- Fix breakage in OS state modify
362 ca6c2dcd Iustin Pop
- Reinstall instance: disallow offline secondaries (fixes bug related to
363 ca6c2dcd Iustin Pop
  OS changing but reinstall failing)
364 ca6c2dcd Iustin Pop
- plus all the other fixes between 2.2.1 and 2.2.2
365 ca6c2dcd Iustin Pop
366 ca6c2dcd Iustin Pop
367 261297a9 Michael Hanselmann
Version 2.3.0 rc0
368 261297a9 Michael Hanselmann
-----------------
369 960d0825 Renรฉ Nussbaumer
370 a8ee6e94 Michael Hanselmann
*(Released Tue, 2 Nov 2010)*
371 960d0825 Renรฉ Nussbaumer
372 515d87eb Michael Hanselmann
- Fixed clearing of the default iallocator using ``gnt-cluster modify``
373 515d87eb Michael Hanselmann
- Fixed master failover race with watcher
374 515d87eb Michael Hanselmann
- Fixed a bug in ``gnt-node modify`` which could lead to an inconsistent
375 515d87eb Michael Hanselmann
  configuration
376 515d87eb Michael Hanselmann
- Accept previously stopped instance for export with instance removal
377 515d87eb Michael Hanselmann
- Simplify and extend the environment variables for instance OS scripts
378 515d87eb Michael Hanselmann
- Added new node flags, ``master_capable`` and ``vm_capable``
379 515d87eb Michael Hanselmann
- Added optional instance disk wiping prior during allocation. This is a
380 515d87eb Michael Hanselmann
  cluster-wide option and can be set/modified using
381 515d87eb Michael Hanselmann
  ``gnt-cluster {init,modify} --prealloc-wipe-disks``.
382 515d87eb Michael Hanselmann
- Added IPv6 support, see :doc:`design document <design-2.3>` and
383 515d87eb Michael Hanselmann
  :doc:`install-quick`
384 515d87eb Michael Hanselmann
- Added a new watcher option (``--ignore-pause``)
385 515d87eb Michael Hanselmann
- Added option to ignore offline node on instance start/stop
386 515d87eb Michael Hanselmann
  (``--ignore-offline``)
387 515d87eb Michael Hanselmann
- Allow overriding OS parameters with ``gnt-instance reinstall``
388 a8ee6e94 Michael Hanselmann
- Added ability to change node's secondary IP address using ``gnt-node
389 a8ee6e94 Michael Hanselmann
  modify``
390 515d87eb Michael Hanselmann
- Implemented privilege separation for all daemons except
391 515d87eb Michael Hanselmann
  ``ganeti-noded``, see ``configure`` options
392 515d87eb Michael Hanselmann
- Complain if an instance's disk is marked faulty in ``gnt-cluster
393 515d87eb Michael Hanselmann
  verify``
394 515d87eb Michael Hanselmann
- Implemented job priorities (see ``ganeti(7)`` manpage)
395 515d87eb Michael Hanselmann
- Ignore failures while shutting down instances during failover from
396 515d87eb Michael Hanselmann
  offline node
397 515d87eb Michael Hanselmann
- Exit daemon's bootstrap process only once daemon is ready
398 f2af0bec Iustin Pop
- Export more information via ``LUInstanceQuery``/remote API
399 515d87eb Michael Hanselmann
- Improved documentation, QA and unittests
400 515d87eb Michael Hanselmann
- RAPI daemon now watches ``rapi_users`` all the time and doesn't need a
401 515d87eb Michael Hanselmann
  restart if the file was created or changed
402 515d87eb Michael Hanselmann
- Added LUXI protocol version sent with each request and response,
403 515d87eb Michael Hanselmann
  allowing detection of server/client mismatches
404 261297a9 Michael Hanselmann
- Moved the Python scripts among gnt-* and ganeti-* into modules
405 515d87eb Michael Hanselmann
- Moved all code related to setting up SSH to an external script,
406 515d87eb Michael Hanselmann
  ``setup-ssh``
407 515d87eb Michael Hanselmann
- Infrastructure changes for node group support in future versions
408 515d87eb Michael Hanselmann
409 960d0825 Renรฉ Nussbaumer
410 2596526d Iustin Pop
Version 2.2.2
411 2596526d Iustin Pop
-------------
412 2596526d Iustin Pop
413 2596526d Iustin Pop
*(Released Fri, 19 Nov 2010)*
414 2596526d Iustin Pop
415 2596526d Iustin Pop
A few small bugs fixed, and some improvements to the build system:
416 2596526d Iustin Pop
417 2596526d Iustin Pop
- Fix documentation regarding conversion to drbd
418 2596526d Iustin Pop
- Fix validation of parameters in cluster modify (``gnt-cluster modify
419 2596526d Iustin Pop
  -B``)
420 2596526d Iustin Pop
- Fix error handling in node modify with multiple changes
421 2596526d Iustin Pop
- Allow remote imports without checked names
422 2596526d Iustin Pop
423 2596526d Iustin Pop
424 dcb95afb Michael Hanselmann
Version 2.2.1
425 dcb95afb Michael Hanselmann
-------------
426 dcb95afb Michael Hanselmann
427 dcb95afb Michael Hanselmann
*(Released Tue, 19 Oct 2010)*
428 dcb95afb Michael Hanselmann
429 dcb95afb Michael Hanselmann
- Disable SSL session ID cache in RPC client
430 dcb95afb Michael Hanselmann
431 dcb95afb Michael Hanselmann
432 24440be4 Iustin Pop
Version 2.2.1 rc1
433 24440be4 Iustin Pop
-----------------
434 24440be4 Iustin Pop
435 24440be4 Iustin Pop
*(Released Thu, 14 Oct 2010)*
436 24440be4 Iustin Pop
437 24440be4 Iustin Pop
- Fix interaction between Curl/GnuTLS and the Python's HTTP server
438 24440be4 Iustin Pop
  (thanks Apollon Oikonomopoulos!), finally allowing the use of Curl
439 24440be4 Iustin Pop
  with GnuTLS
440 24440be4 Iustin Pop
- Fix problems with interaction between Curl and Python's HTTP server,
441 24440be4 Iustin Pop
  resulting in increased speed in many RPC calls
442 24440be4 Iustin Pop
- Improve our release script to prevent breakage with older aclocal and
443 24440be4 Iustin Pop
  Python 2.6
444 24440be4 Iustin Pop
445 dcb95afb Michael Hanselmann
446 fad3096a Michael Hanselmann
Version 2.2.1 rc0
447 fad3096a Michael Hanselmann
-----------------
448 fad3096a Michael Hanselmann
449 fad3096a Michael Hanselmann
*(Released Thu, 7 Oct 2010)*
450 fad3096a Michael Hanselmann
451 df3df936 Michael Hanselmann
- Fixed issue 125, replace hardcoded "xenvg" in ``gnt-cluster`` with
452 fad3096a Michael Hanselmann
  value retrieved from master
453 fad3096a Michael Hanselmann
- Added support for blacklisted or hidden OS definitions
454 fad3096a Michael Hanselmann
- Added simple lock monitor (accessible via (``gnt-debug locks``)
455 fad3096a Michael Hanselmann
- Added support for -mem-path in KVM hypervisor abstraction layer
456 fad3096a Michael Hanselmann
- Allow overriding instance parameters in tool for inter-cluster
457 fad3096a Michael Hanselmann
  instance moves (``tools/move-instance``)
458 fad3096a Michael Hanselmann
- Improved opcode summaries (e.g. in ``gnt-job list``)
459 fad3096a Michael Hanselmann
- Improve consistency of OS listing by sorting it
460 fad3096a Michael Hanselmann
- Documentation updates
461 fad3096a Michael Hanselmann
462 fad3096a Michael Hanselmann
463 bf21f985 Guido Trotter
Version 2.2.0.1
464 bf21f985 Guido Trotter
---------------
465 bf21f985 Guido Trotter
466 bf21f985 Guido Trotter
*(Released Fri, 8 Oct 2010)*
467 bf21f985 Guido Trotter
468 bf21f985 Guido Trotter
- Rebuild with a newer autotools version, to fix python 2.6 compatibility
469 bf21f985 Guido Trotter
470 bf21f985 Guido Trotter
471 83e90c39 Michael Hanselmann
Version 2.2.0
472 83e90c39 Michael Hanselmann
-------------
473 83e90c39 Michael Hanselmann
474 83e90c39 Michael Hanselmann
*(Released Mon, 4 Oct 2010)*
475 83e90c39 Michael Hanselmann
476 83e90c39 Michael Hanselmann
- Fixed regression in ``gnt-instance rename``
477 83e90c39 Michael Hanselmann
478 83e90c39 Michael Hanselmann
479 28b5de4d Michael Hanselmann
Version 2.2.0 rc2
480 28b5de4d Michael Hanselmann
-----------------
481 28b5de4d Michael Hanselmann
482 f64de30f Michael Hanselmann
*(Released Wed, 22 Sep 2010)*
483 28b5de4d Michael Hanselmann
484 28b5de4d Michael Hanselmann
- Fixed OS_VARIANT variable for OS scripts
485 28b5de4d Michael Hanselmann
- Fixed cluster tag operations via RAPI
486 28b5de4d Michael Hanselmann
- Made ``setup-ssh`` exit with non-zero code if an error occurred
487 28b5de4d Michael Hanselmann
- Disabled RAPI CA checks in watcher
488 28b5de4d Michael Hanselmann
489 28b5de4d Michael Hanselmann
490 0849f36b Michael Hanselmann
Version 2.2.0 rc1
491 0849f36b Michael Hanselmann
-----------------
492 0849f36b Michael Hanselmann
493 0849f36b Michael Hanselmann
*(Released Mon, 23 Aug 2010)*
494 0849f36b Michael Hanselmann
495 0849f36b Michael Hanselmann
- Support DRBD versions of the format "a.b.c.d"
496 0849f36b Michael Hanselmann
- Updated manpages
497 0849f36b Michael Hanselmann
- Re-introduce support for usage from multiple threads in RAPI client
498 0849f36b Michael Hanselmann
- Instance renames and modify via RAPI
499 0849f36b Michael Hanselmann
- Work around race condition between processing and archival in job
500 0849f36b Michael Hanselmann
  queue
501 0849f36b Michael Hanselmann
- Mark opcodes following failed one as failed, too
502 0849f36b Michael Hanselmann
- Job field ``lock_status`` was removed due to difficulties making it
503 0849f36b Michael Hanselmann
  work with the changed job queue in Ganeti 2.2; a better way to monitor
504 0849f36b Michael Hanselmann
  locks is expected for a later 2.2.x release
505 0849f36b Michael Hanselmann
- Fixed dry-run behaviour with many commands
506 0849f36b Michael Hanselmann
- Support ``ssh-agent`` again when adding nodes
507 0849f36b Michael Hanselmann
- Many additional bugfixes
508 0849f36b Michael Hanselmann
509 0849f36b Michael Hanselmann
510 529a8d17 Iustin Pop
Version 2.2.0 rc0
511 529a8d17 Iustin Pop
-----------------
512 529a8d17 Iustin Pop
513 41c44dcf Iustin Pop
*(Released Fri, 30 Jul 2010)*
514 529a8d17 Iustin Pop
515 529a8d17 Iustin Pop
Important change: the internal RPC mechanism between Ganeti nodes has
516 529a8d17 Iustin Pop
changed from using a home-grown http library (based on the Python base
517 529a8d17 Iustin Pop
libraries) to use the PycURL library. This requires that PycURL is
518 529a8d17 Iustin Pop
installed on nodes. Please note that on Debian/Ubuntu, PycURL is linked
519 529a8d17 Iustin Pop
against GnuTLS by default. cURL's support for GnuTLS had known issues
520 529a8d17 Iustin Pop
before cURL 7.21.0 and we recommend using the latest cURL release or
521 529a8d17 Iustin Pop
linking against OpenSSL. Most other distributions already link PycURL
522 529a8d17 Iustin Pop
and cURL against OpenSSL. The command::
523 529a8d17 Iustin Pop
524 529a8d17 Iustin Pop
  python -c 'import pycurl; print pycurl.version'
525 529a8d17 Iustin Pop
526 529a8d17 Iustin Pop
can be used to determine the libraries PycURL and cURL are linked
527 529a8d17 Iustin Pop
against.
528 529a8d17 Iustin Pop
529 529a8d17 Iustin Pop
Other significant changes:
530 529a8d17 Iustin Pop
531 529a8d17 Iustin Pop
- Rewrote much of the internals of the job queue, in order to achieve
532 529a8d17 Iustin Pop
  better parallelism; this decouples job query operations from the job
533 529a8d17 Iustin Pop
  processing, and it should allow much nicer behaviour of the master
534 529a8d17 Iustin Pop
  daemon under load, and it also has uncovered some long-standing bugs
535 529a8d17 Iustin Pop
  related to the job serialisation (now fixed)
536 529a8d17 Iustin Pop
- Added a default iallocator setting to the cluster parameters,
537 529a8d17 Iustin Pop
  eliminating the need to always pass nodes or an iallocator for
538 529a8d17 Iustin Pop
  operations that require selection of new node(s)
539 529a8d17 Iustin Pop
- Added experimental support for the LXC virtualization method
540 529a8d17 Iustin Pop
- Added support for OS parameters, which allows the installation of
541 529a8d17 Iustin Pop
  instances to pass parameter to OS scripts in order to customise the
542 529a8d17 Iustin Pop
  instance
543 529a8d17 Iustin Pop
- Added a hypervisor parameter controlling the migration type (live or
544 529a8d17 Iustin Pop
  non-live), since hypervisors have various levels of reliability; this
545 529a8d17 Iustin Pop
  has renamed the 'live' parameter to 'mode'
546 529a8d17 Iustin Pop
- Added a cluster parameter ``reserved_lvs`` that denotes reserved
547 529a8d17 Iustin Pop
  logical volumes, meaning that cluster verify will ignore them and not
548 529a8d17 Iustin Pop
  flag their presence as errors
549 529a8d17 Iustin Pop
- The watcher will now reset the error count for failed instances after
550 529a8d17 Iustin Pop
  8 hours, thus allowing self-healing if the problem that caused the
551 529a8d17 Iustin Pop
  instances to be down/fail to start has cleared in the meantime
552 529a8d17 Iustin Pop
- Added a cluster parameter ``drbd_usermode_helper`` that makes Ganeti
553 529a8d17 Iustin Pop
  check for, and warn, if the drbd module parameter ``usermode_helper``
554 529a8d17 Iustin Pop
  is not consistent with the cluster-wide setting; this is needed to
555 529a8d17 Iustin Pop
  make diagnose easier of failed drbd creations
556 529a8d17 Iustin Pop
- Started adding base IPv6 support, but this is not yet
557 529a8d17 Iustin Pop
  enabled/available for use
558 529a8d17 Iustin Pop
- Rename operations (cluster, instance) will now return the new name,
559 529a8d17 Iustin Pop
  which is especially useful if a short name was passed in
560 529a8d17 Iustin Pop
- Added support for instance migration in RAPI
561 529a8d17 Iustin Pop
- Added a tool to pre-configure nodes for the SSH setup, before joining
562 529a8d17 Iustin Pop
  them to the cluster; this will allow in the future a simplified model
563 529a8d17 Iustin Pop
  for node joining (but not yet fully enabled in 2.2); this needs the
564 529a8d17 Iustin Pop
  paramiko python library
565 529a8d17 Iustin Pop
- Fixed handling of name-resolving errors
566 529a8d17 Iustin Pop
- Fixed consistency of job results on the error path
567 529a8d17 Iustin Pop
- Fixed master-failover race condition when executed multiple times in
568 529a8d17 Iustin Pop
  sequence
569 529a8d17 Iustin Pop
- Fixed many bugs related to the job queue (mostly introduced during the
570 529a8d17 Iustin Pop
  2.2 development cycle, so not all are impacting 2.1)
571 529a8d17 Iustin Pop
- Fixed instance migration with missing disk symlinks
572 529a8d17 Iustin Pop
- Fixed handling of unknown jobs in ``gnt-job archive``
573 529a8d17 Iustin Pop
- And many other small fixes/improvements
574 529a8d17 Iustin Pop
575 529a8d17 Iustin Pop
Internal changes:
576 529a8d17 Iustin Pop
577 529a8d17 Iustin Pop
- Enhanced both the unittest and the QA coverage
578 529a8d17 Iustin Pop
- Switched the opcode validation to a generic model, and extended the
579 529a8d17 Iustin Pop
  validation to all opcode parameters
580 529a8d17 Iustin Pop
- Changed more parts of the code that write shell scripts to use the
581 529a8d17 Iustin Pop
  same class for this
582 529a8d17 Iustin Pop
- Switched the master daemon to use the asyncore library for the Luxi
583 529a8d17 Iustin Pop
  server endpoint
584 529a8d17 Iustin Pop
585 529a8d17 Iustin Pop
586 a0a470fa Michael Hanselmann
Version 2.2.0 beta 0
587 a0a470fa Michael Hanselmann
--------------------
588 a0a470fa Michael Hanselmann
589 a0a470fa Michael Hanselmann
*(Released Thu, 17 Jun 2010)*
590 ab221ddf Michael Hanselmann
591 e0897adf Michael Hanselmann
- Added tool (``move-instance``) and infrastructure to move instances
592 e0897adf Michael Hanselmann
  between separate clusters (see :doc:`separate documentation
593 e0897adf Michael Hanselmann
  <move-instance>` and :doc:`design document <design-2.2>`)
594 e0897adf Michael Hanselmann
- Added per-request RPC timeout
595 ab221ddf Michael Hanselmann
- RAPI now requires a Content-Type header for requests with a body (e.g.
596 ab221ddf Michael Hanselmann
  ``PUT`` or ``POST``) which must be set to ``application/json`` (see
597 a4978169 Michael Hanselmann
  :rfc:`2616` (HTTP/1.1), section 7.2.1)
598 e0897adf Michael Hanselmann
- ``ganeti-watcher`` attempts to restart ``ganeti-rapi`` if RAPI is not
599 e0897adf Michael Hanselmann
  reachable
600 e0897adf Michael Hanselmann
- Implemented initial support for running Ganeti daemons as separate
601 e0897adf Michael Hanselmann
  users, see configure-time flags ``--with-user-prefix`` and
602 e0897adf Michael Hanselmann
  ``--with-group-prefix`` (only ``ganeti-rapi`` is supported at this
603 e0897adf Michael Hanselmann
  time)
604 e0897adf Michael Hanselmann
- Instances can be removed after export (``gnt-backup export
605 e0897adf Michael Hanselmann
  --remove-instance``)
606 e0897adf Michael Hanselmann
- Self-signed certificates generated by Ganeti now use a 2048 bit RSA
607 e0897adf Michael Hanselmann
  key (instead of 1024 bit)
608 e0897adf Michael Hanselmann
- Added new cluster configuration file for cluster domain secret
609 e0897adf Michael Hanselmann
- Import/export now use SSL instead of SSH
610 e0897adf Michael Hanselmann
- Added support for showing estimated time when exporting an instance,
611 e0897adf Michael Hanselmann
  see the ``ganeti-os-interface(7)`` manpage and look for
612 e0897adf Michael Hanselmann
  ``EXP_SIZE_FD``
613 ab221ddf Michael Hanselmann
614 2596526d Iustin Pop
615 2596526d Iustin Pop
Version 2.1.8
616 2596526d Iustin Pop
-------------
617 2596526d Iustin Pop
618 2596526d Iustin Pop
*(Released Tue, 16 Nov 2010)*
619 2596526d Iustin Pop
620 2596526d Iustin Pop
Some more bugfixes. Unless critical bugs occur, this will be the last
621 2596526d Iustin Pop
2.1 release:
622 2596526d Iustin Pop
623 2596526d Iustin Pop
- Fix case of MAC special-values
624 2596526d Iustin Pop
- Fix mac checker regex
625 df3df936 Michael Hanselmann
- backend: Fix typo causing "out of range" error
626 2596526d Iustin Pop
- Add missing --units in gnt-instance list man page
627 2596526d Iustin Pop
628 2596526d Iustin Pop
629 6845d276 Guido Trotter
Version 2.1.7
630 6845d276 Guido Trotter
-------------
631 6845d276 Guido Trotter
632 6845d276 Guido Trotter
*(Released Tue, 24 Aug 2010)*
633 6845d276 Guido Trotter
634 6845d276 Guido Trotter
Bugfixes only:
635 6845d276 Guido Trotter
  - Don't ignore secondary node silently on non-mirrored disk templates
636 6845d276 Guido Trotter
    (issue 113)
637 6845d276 Guido Trotter
  - Fix --master-netdev arg name in gnt-cluster(8) (issue 114)
638 6845d276 Guido Trotter
  - Fix usb_mouse parameter breaking with vnc_console (issue 109)
639 6845d276 Guido Trotter
  - Properly document the usb_mouse parameter
640 6845d276 Guido Trotter
  - Fix path in ganeti-rapi(8) (issue 116)
641 6845d276 Guido Trotter
  - Adjust error message when the ganeti user's .ssh directory is
642 6845d276 Guido Trotter
    missing
643 6845d276 Guido Trotter
  - Add same-node-check when changing the disk template to drbd
644 6845d276 Guido Trotter
645 920a91bf Michael Hanselmann
646 ae828011 Guido Trotter
Version 2.1.6
647 ae828011 Guido Trotter
-------------
648 ae828011 Guido Trotter
649 ae828011 Guido Trotter
*(Released Fri, 16 Jul 2010)*
650 ae828011 Guido Trotter
651 ae828011 Guido Trotter
Bugfixes only:
652 ae828011 Guido Trotter
  - Add an option to only select some reboot types during qa/burnin.
653 ae828011 Guido Trotter
    (on some hypervisors consequent reboots are not supported)
654 ae828011 Guido Trotter
  - Fix infrequent race condition in master failover. Sometimes the old
655 ae828011 Guido Trotter
    master ip address would be still detected as up for a short time
656 ae828011 Guido Trotter
    after it was removed, causing failover to fail.
657 ae828011 Guido Trotter
  - Decrease mlockall warnings when the ctypes module is missing. On
658 ae828011 Guido Trotter
    Python 2.4 we support running even if no ctypes module is installed,
659 ae828011 Guido Trotter
    but we were too verbose about this issue.
660 ae828011 Guido Trotter
  - Fix building on old distributions, on which man doesn't have a
661 ae828011 Guido Trotter
    --warnings option.
662 ae828011 Guido Trotter
  - Fix RAPI not to ignore the MAC address on instance creation
663 ae828011 Guido Trotter
  - Implement the old instance creation format in the RAPI client.
664 ae828011 Guido Trotter
665 ae828011 Guido Trotter
666 71cba20b Guido Trotter
Version 2.1.5
667 71cba20b Guido Trotter
-------------
668 71cba20b Guido Trotter
669 1d4c743d Guido Trotter
*(Released Thu, 01 Jul 2010)*
670 71cba20b Guido Trotter
671 71cba20b Guido Trotter
A small bugfix release:
672 71cba20b Guido Trotter
  - Fix disk adoption: broken by strict --disk option checking in 2.1.4
673 71cba20b Guido Trotter
  - Fix batch-create: broken in the whole 2.1 series due to a lookup on
674 71cba20b Guido Trotter
    a non-existing option
675 71cba20b Guido Trotter
  - Fix instance create: the --force-variant option was ignored
676 1d4c743d Guido Trotter
  - Improve pylint 0.21 compatibility and warnings with Python 2.6
677 1d4c743d Guido Trotter
  - Fix modify node storage with non-FQDN arguments
678 1d4c743d Guido Trotter
  - Fix RAPI client to authenticate under Python 2.6 when used
679 1d4c743d Guido Trotter
    for more than 5 requests needing authentication
680 1d4c743d Guido Trotter
  - Fix gnt-instance modify -t (storage) giving a wrong error message
681 1d4c743d Guido Trotter
    when converting a non-shutdown drbd instance to plain
682 71cba20b Guido Trotter
683 801b6a33 Guido Trotter
684 c1a25b88 Guido Trotter
Version 2.1.4
685 c1a25b88 Guido Trotter
-------------
686 c1a25b88 Guido Trotter
687 3ef56ab6 Guido Trotter
*(Released Fri, 18 Jun 2010)*
688 c1a25b88 Guido Trotter
689 c1a25b88 Guido Trotter
A small bugfix release:
690 c1a25b88 Guido Trotter
691 c1a25b88 Guido Trotter
  - Fix live migration of KVM instances started with older Ganeti
692 c1a25b88 Guido Trotter
    versions which had fewer hypervisor parameters
693 c1a25b88 Guido Trotter
  - Fix gnt-instance grow-disk on down instances
694 c1a25b88 Guido Trotter
  - Fix an error-reporting bug during instance migration
695 c1a25b88 Guido Trotter
  - Better checking of the ``--net`` and ``--disk`` values, to avoid
696 c1a25b88 Guido Trotter
    silently ignoring broken ones
697 c1a25b88 Guido Trotter
  - Fix an RPC error reporting bug affecting, for example, RAPI client
698 c1a25b88 Guido Trotter
    users
699 c1a25b88 Guido Trotter
  - Fix bug triggered by different API version os-es on different nodes
700 c1a25b88 Guido Trotter
  - Fix a bug in instance startup with custom hvparams: OS level
701 c1a25b88 Guido Trotter
    parameters would fail to be applied.
702 3ef56ab6 Guido Trotter
  - Fix the RAPI client under Python 2.6 (but more work is needed to
703 3ef56ab6 Guido Trotter
    make it work completely well with OpenSSL)
704 3ef56ab6 Guido Trotter
  - Fix handling of errors when resolving names from DNS
705 c1a25b88 Guido Trotter
706 626f4e45 Guido Trotter
707 14d91053 Guido Trotter
Version 2.1.3
708 14d91053 Guido Trotter
-------------
709 14d91053 Guido Trotter
710 7cf722ea Guido Trotter
*(Released Thu, 3 Jun 2010)*
711 14d91053 Guido Trotter
712 14d91053 Guido Trotter
A medium sized development cycle. Some new features, and some
713 14d91053 Guido Trotter
fixes/small improvements/cleanups.
714 14d91053 Guido Trotter
715 14d91053 Guido Trotter
Significant features
716 14d91053 Guido Trotter
~~~~~~~~~~~~~~~~~~~~
717 14d91053 Guido Trotter
718 14d91053 Guido Trotter
The node deamon now tries to mlock itself into memory, unless the
719 14d91053 Guido Trotter
``--no-mlock`` flag is passed. It also doesn't fail if it can't write
720 14d91053 Guido Trotter
its logs, and falls back to console logging. This allows emergency
721 14d91053 Guido Trotter
features such as ``gnt-node powercycle`` to work even in the event of a
722 14d91053 Guido Trotter
broken node disk (tested offlining the disk hosting the node's
723 722702e3 Guido Trotter
filesystem and dropping its memory caches; don't try this at home)
724 14d91053 Guido Trotter
725 14d91053 Guido Trotter
KVM: add vhost-net acceleration support. It can be tested with a new
726 14d91053 Guido Trotter
enough version of the kernel and of qemu-kvm.
727 14d91053 Guido Trotter
728 14d91053 Guido Trotter
KVM: Add instance chrooting feature. If you use privilege dropping for
729 14d91053 Guido Trotter
your VMs you can also now force them to chroot to an empty directory,
730 14d91053 Guido Trotter
before starting the emulated guest.
731 14d91053 Guido Trotter
732 14d91053 Guido Trotter
KVM: Add maximum migration bandwith and maximum downtime tweaking
733 14d91053 Guido Trotter
support (requires a new-enough version of qemu-kvm).
734 14d91053 Guido Trotter
735 14d91053 Guido Trotter
Cluster verify will now warn if the master node doesn't have the master
736 14d91053 Guido Trotter
ip configured on it.
737 14d91053 Guido Trotter
738 14d91053 Guido Trotter
Add a new (incompatible) instance creation request format to RAPI which
739 14d91053 Guido Trotter
supports all parameters (previously only a subset was supported, and it
740 14d91053 Guido Trotter
wasn't possible to extend the old format to accomodate all the new
741 14d91053 Guido Trotter
features. The old format is still supported, and a client can check for
742 14d91053 Guido Trotter
this feature, before using it, by checking for its presence in the
743 14d91053 Guido Trotter
``features`` RAPI resource.
744 14d91053 Guido Trotter
745 14d91053 Guido Trotter
Now with ancient latin support. Try it passing the ``--roman`` option to
746 722702e3 Guido Trotter
``gnt-instance info``, ``gnt-cluster info`` or ``gnt-node list``
747 722702e3 Guido Trotter
(requires the python-roman module to be installed, in order to work).
748 14d91053 Guido Trotter
749 14d91053 Guido Trotter
Other changes
750 14d91053 Guido Trotter
~~~~~~~~~~~~~
751 14d91053 Guido Trotter
752 14d91053 Guido Trotter
As usual many internal code refactorings, documentation updates, and
753 14d91053 Guido Trotter
such. Among others:
754 14d91053 Guido Trotter
755 14d91053 Guido Trotter
  - Lots of improvements and cleanups to the experimental Remote API
756 14d91053 Guido Trotter
    (RAPI) client library.
757 14d91053 Guido Trotter
  - A new unit test suite for the core daemon libraries.
758 14d91053 Guido Trotter
  - A fix to creating missing directories makes sure the umask is not
759 14d91053 Guido Trotter
    applied anymore. This enforces the same directory permissions
760 14d91053 Guido Trotter
    everywhere.
761 14d91053 Guido Trotter
  - Better handling terminating daemons with ctrl+c (used when running
762 14d91053 Guido Trotter
    them in debugging mode).
763 14d91053 Guido Trotter
  - Fix a race condition in live migrating a KVM instance, when stat()
764 14d91053 Guido Trotter
    on the old proc status file returned EINVAL, which is an unexpected
765 14d91053 Guido Trotter
    value.
766 1de45c78 Guido Trotter
  - Fixed manpage checking with newer man and utf-8 charachters. But now
767 1de45c78 Guido Trotter
    you need the en_US.UTF-8 locale enabled to build Ganeti from git.
768 14d91053 Guido Trotter
769 14d91053 Guido Trotter
770 23f983f4 Guido Trotter
Version 2.1.2.1
771 23f983f4 Guido Trotter
---------------
772 23f983f4 Guido Trotter
773 23f983f4 Guido Trotter
*(Released Fri, 7 May 2010)*
774 23f983f4 Guido Trotter
775 23f983f4 Guido Trotter
Fix a bug which prevented untagged KVM instances from starting.
776 23f983f4 Guido Trotter
777 507fd05a Guido Trotter
778 ba538816 Iustin Pop
Version 2.1.2
779 ba538816 Iustin Pop
-------------
780 ba538816 Iustin Pop
781 ace6cbe8 Iustin Pop
*(Released Fri, 7 May 2010)*
782 ba538816 Iustin Pop
783 ba538816 Iustin Pop
Another release with a long development cycle, during which many
784 ba538816 Iustin Pop
different features were added.
785 ba538816 Iustin Pop
786 ba538816 Iustin Pop
Significant features
787 ba538816 Iustin Pop
~~~~~~~~~~~~~~~~~~~~
788 ba538816 Iustin Pop
789 ba538816 Iustin Pop
The KVM hypervisor now can run the individual instances as non-root, to
790 ba538816 Iustin Pop
reduce the impact of a VM being hijacked due to bugs in the
791 ba538816 Iustin Pop
hypervisor. It is possible to run all instances as a single (non-root)
792 ba538816 Iustin Pop
user, to manually specify a user for each instance, or to dynamically
793 ba538816 Iustin Pop
allocate a user out of a cluster-wide pool to each instance, with the
794 ba538816 Iustin Pop
guarantee that no two instances will run under the same user ID on any
795 ba538816 Iustin Pop
given node.
796 ba538816 Iustin Pop
797 ba538816 Iustin Pop
An experimental RAPI client library, that can be used standalone
798 ba538816 Iustin Pop
(without the other Ganeti libraries), is provided in the source tree as
799 ba538816 Iustin Pop
``lib/rapi/client.py``. Note this client might change its interface in
800 ba538816 Iustin Pop
the future, as we iterate on its capabilities.
801 ba538816 Iustin Pop
802 ba538816 Iustin Pop
A new command, ``gnt-cluster renew-crypto`` has been added to easily
803 ba538816 Iustin Pop
replace the cluster's certificates and crypto keys. This might help in
804 ba538816 Iustin Pop
case they have been compromised, or have simply expired.
805 ba538816 Iustin Pop
806 ba538816 Iustin Pop
A new disk option for instance creation has been added that allows one
807 ba538816 Iustin Pop
to "adopt" currently existing logical volumes, with data
808 ba538816 Iustin Pop
preservation. This should allow easier migration to Ganeti from
809 ba538816 Iustin Pop
unmanaged (or managed via other software) instances.
810 ba538816 Iustin Pop
811 ba538816 Iustin Pop
Another disk improvement is the possibility to convert between redundant
812 ba538816 Iustin Pop
(DRBD) and plain (LVM) disk configuration for an instance. This should
813 ba538816 Iustin Pop
allow better scalability (starting with one node and growing the
814 ba538816 Iustin Pop
cluster, or shrinking a two-node cluster to one node).
815 ba538816 Iustin Pop
816 ba538816 Iustin Pop
A new feature that could help with automated node failovers has been
817 ba538816 Iustin Pop
implemented: if a node sees itself as offline (by querying the master
818 ba538816 Iustin Pop
candidates), it will try to shutdown (hard) all instances and any active
819 ba538816 Iustin Pop
DRBD devices. This reduces the risk of duplicate instances if an
820 ba538816 Iustin Pop
external script automatically failovers the instances on such nodes. To
821 ba538816 Iustin Pop
enable this, the cluster parameter ``maintain_node_health`` should be
822 ba538816 Iustin Pop
enabled; in the future this option (per the name) will enable other
823 ba538816 Iustin Pop
automatic maintenance features.
824 ba538816 Iustin Pop
825 ba538816 Iustin Pop
Instance export/import now will reuse the original instance
826 ba538816 Iustin Pop
specifications for all parameters; that means exporting an instance,
827 ba538816 Iustin Pop
deleting it and the importing it back should give an almost identical
828 ba538816 Iustin Pop
instance. Note that the default import behaviour has changed from
829 ba538816 Iustin Pop
before, where it created only one NIC; now it recreates the original
830 ba538816 Iustin Pop
number of NICs.
831 ba538816 Iustin Pop
832 ba538816 Iustin Pop
Cluster verify has added a few new checks: SSL certificates validity,
833 ba538816 Iustin Pop
/etc/hosts consistency across the cluster, etc.
834 ba538816 Iustin Pop
835 ba538816 Iustin Pop
Other changes
836 ba538816 Iustin Pop
~~~~~~~~~~~~~
837 ba538816 Iustin Pop
838 ba538816 Iustin Pop
As usual, many internal changes were done, documentation fixes,
839 ba538816 Iustin Pop
etc. Among others:
840 ba538816 Iustin Pop
841 ba538816 Iustin Pop
- Fixed cluster initialization with disabled cluster storage (regression
842 ba538816 Iustin Pop
  introduced in 2.1.1)
843 ba538816 Iustin Pop
- File-based storage supports growing the disks
844 ba538816 Iustin Pop
- Fixed behaviour of node role changes
845 ba538816 Iustin Pop
- Fixed cluster verify for some corner cases, plus a general rewrite of
846 ba538816 Iustin Pop
  cluster verify to allow future extension with more checks
847 ba538816 Iustin Pop
- Fixed log spamming by watcher and node daemon (regression introduced
848 ba538816 Iustin Pop
  in 2.1.1)
849 ba538816 Iustin Pop
- Fixed possible validation issues when changing the list of enabled
850 ba538816 Iustin Pop
  hypervisors
851 ba538816 Iustin Pop
- Fixed cleanup of /etc/hosts during node removal
852 ba538816 Iustin Pop
- Fixed RAPI response for invalid methods
853 ba538816 Iustin Pop
- Fixed bug with hashed passwords in ``ganeti-rapi`` daemon
854 ba538816 Iustin Pop
- Multiple small improvements to the KVM hypervisor (VNC usage, booting
855 ba538816 Iustin Pop
  from ide disks, etc.)
856 ba538816 Iustin Pop
- Allow OS changes without re-installation (to record a changed OS
857 ba538816 Iustin Pop
  outside of Ganeti, or to allow OS renames)
858 ba538816 Iustin Pop
- Allow instance creation without OS installation (useful for example if
859 ba538816 Iustin Pop
  the OS will be installed manually, or restored from a backup not in
860 ba538816 Iustin Pop
  Ganeti format)
861 ba538816 Iustin Pop
- Implemented option to make cluster ``copyfile`` use the replication
862 ba538816 Iustin Pop
  network
863 ba538816 Iustin Pop
- Added list of enabled hypervisors to ssconf (possibly useful for
864 ba538816 Iustin Pop
  external scripts)
865 ba538816 Iustin Pop
- Added a new tool (``tools/cfgupgrade12``) that allows upgrading from
866 ba538816 Iustin Pop
  1.2 clusters
867 ba538816 Iustin Pop
- A partial form of node re-IP is possible via node readd, which now
868 ba538816 Iustin Pop
  allows changed node primary IP
869 ba538816 Iustin Pop
- Command line utilities now show an informational message if the job is
870 ba538816 Iustin Pop
  waiting for a lock
871 ba538816 Iustin Pop
- The logs of the master daemon now show the PID/UID/GID of the
872 ba538816 Iustin Pop
  connected client
873 ba538816 Iustin Pop
874 ba538816 Iustin Pop
875 c655522d Iustin Pop
Version 2.1.1
876 c655522d Iustin Pop
-------------
877 c655522d Iustin Pop
878 bdc93557 Iustin Pop
*(Released Fri, 12 Mar 2010)*
879 bdc93557 Iustin Pop
880 c655522d Iustin Pop
During the 2.1.0 long release candidate cycle, a lot of improvements and
881 c655522d Iustin Pop
changes have accumulated with were released later as 2.1.1.
882 c655522d Iustin Pop
883 c655522d Iustin Pop
Major changes
884 c655522d Iustin Pop
~~~~~~~~~~~~~
885 c655522d Iustin Pop
886 c655522d Iustin Pop
The node evacuate command (``gnt-node evacuate``) was significantly
887 c655522d Iustin Pop
rewritten, and as such the IAllocator protocol was changed - a new
888 c655522d Iustin Pop
request type has been added. This unfortunate change during a stable
889 c655522d Iustin Pop
series is designed to improve performance of node evacuations; on
890 c655522d Iustin Pop
clusters with more than about five nodes and which are well-balanced,
891 c655522d Iustin Pop
evacuation should proceed in parallel for all instances of the node
892 c655522d Iustin Pop
being evacuated. As such, any existing IAllocator scripts need to be
893 c655522d Iustin Pop
updated, otherwise the above command will fail due to the unknown
894 c655522d Iustin Pop
request. The provided "dumb" allocator has not been updated; but the
895 c655522d Iustin Pop
ganeti-htools package supports the new protocol since version 0.2.4.
896 c655522d Iustin Pop
897 c655522d Iustin Pop
Another important change is increased validation of node and instance
898 c655522d Iustin Pop
names. This might create problems in special cases, if invalid host
899 c655522d Iustin Pop
names are being used.
900 c655522d Iustin Pop
901 c655522d Iustin Pop
Also, a new layer of hypervisor parameters has been added, that sits at
902 c655522d Iustin Pop
OS level between the cluster defaults and the instance ones. This allows
903 c655522d Iustin Pop
customisation of virtualization parameters depending on the installed
904 c655522d Iustin Pop
OS. For example instances with OS 'X' may have a different KVM kernel
905 c655522d Iustin Pop
(or any other parameter) than the cluster defaults. This is intended to
906 c655522d Iustin Pop
help managing a multiple OSes on the same cluster, without manual
907 c655522d Iustin Pop
modification of each instance's parameters.
908 c655522d Iustin Pop
909 c655522d Iustin Pop
A tool for merging clusters, ``cluster-merge``, has been added in the
910 c655522d Iustin Pop
tools sub-directory.
911 c655522d Iustin Pop
912 c655522d Iustin Pop
Bug fixes
913 c655522d Iustin Pop
~~~~~~~~~
914 c655522d Iustin Pop
915 c655522d Iustin Pop
- Improved the int/float conversions that should make the code more
916 c655522d Iustin Pop
  robust in face of errors from the node daemons
917 c655522d Iustin Pop
- Fixed the remove node code in case of internal configuration errors
918 c655522d Iustin Pop
- Fixed the node daemon behaviour in face of inconsistent queue
919 c655522d Iustin Pop
  directory (e.g. read-only file-system where we can't open the files
920 c655522d Iustin Pop
  read-write, etc.)
921 c655522d Iustin Pop
- Fixed the behaviour of gnt-node modify for master candidate demotion;
922 df3df936 Michael Hanselmann
  now it either aborts cleanly or, if given the new "auto_promote"
923 c655522d Iustin Pop
  parameter, will automatically promote other nodes as needed
924 c655522d Iustin Pop
- Fixed compatibility with (unreleased yet) Python 2.6.5 that would
925 c655522d Iustin Pop
  completely prevent Ganeti from working
926 c655522d Iustin Pop
- Fixed bug for instance export when not all disks were successfully
927 c655522d Iustin Pop
  exported
928 c655522d Iustin Pop
- Fixed behaviour of node add when the new node is slow in starting up
929 c655522d Iustin Pop
  the node daemon
930 c655522d Iustin Pop
- Fixed handling of signals in the LUXI client, which should improve
931 c655522d Iustin Pop
  behaviour of command-line scripts
932 c655522d Iustin Pop
- Added checks for invalid node/instance names in the configuration (now
933 c655522d Iustin Pop
  flagged during cluster verify)
934 c655522d Iustin Pop
- Fixed watcher behaviour for disk activation errors
935 c655522d Iustin Pop
- Fixed two potentially endless loops in http library, which led to the
936 c655522d Iustin Pop
  RAPI daemon hanging and consuming 100% CPU in some cases
937 c655522d Iustin Pop
- Fixed bug in RAPI daemon related to hashed passwords
938 c655522d Iustin Pop
- Fixed bug for unintended qemu-level bridging of multi-NIC KVM
939 c655522d Iustin Pop
  instances
940 c655522d Iustin Pop
- Enhanced compatibility with non-Debian OSes, but not using absolute
941 c655522d Iustin Pop
  path in some commands and allowing customisation of the ssh
942 c655522d Iustin Pop
  configuration directory
943 c655522d Iustin Pop
- Fixed possible future issue with new Python versions by abiding to the
944 c655522d Iustin Pop
  proper use of ``__slots__`` attribute on classes
945 c655522d Iustin Pop
- Added checks that should prevent directory traversal attacks
946 c655522d Iustin Pop
- Many documentation fixes based on feedback from users
947 c655522d Iustin Pop
948 c655522d Iustin Pop
New features
949 c655522d Iustin Pop
~~~~~~~~~~~~
950 c655522d Iustin Pop
951 df3df936 Michael Hanselmann
- Added an "early_release" more for instance replace disks and node
952 c655522d Iustin Pop
  evacuate, where we release locks earlier and thus allow higher
953 c655522d Iustin Pop
  parallelism within the cluster
954 c655522d Iustin Pop
- Added watcher hooks, intended to allow the watcher to restart other
955 c655522d Iustin Pop
  daemons (e.g. from the ganeti-nbma project), but they can be used of
956 c655522d Iustin Pop
  course for any other purpose
957 c655522d Iustin Pop
- Added a compile-time disable for DRBD barriers, to increase
958 c655522d Iustin Pop
  performance if the administrator trusts the power supply or the
959 c655522d Iustin Pop
  storage system to not lose writes
960 c655522d Iustin Pop
- Added the option of using syslog for logging instead of, or in
961 c655522d Iustin Pop
  addition to, Ganeti's own log files
962 c655522d Iustin Pop
- Removed boot restriction for paravirtual NICs for KVM, recent versions
963 c655522d Iustin Pop
  can indeed boot from a paravirtual NIC
964 c655522d Iustin Pop
- Added a generic debug level for many operations; while this is not
965 c655522d Iustin Pop
  used widely yet, it allows one to pass the debug value all the way to
966 c655522d Iustin Pop
  the OS scripts
967 c655522d Iustin Pop
- Enhanced the hooks environment for instance moves (failovers,
968 c655522d Iustin Pop
  migrations) where the primary/secondary nodes changed during the
969 c655522d Iustin Pop
  operation, by adding {NEW,OLD}_{PRIMARY,SECONDARY} vars
970 c655522d Iustin Pop
- Enhanced data validations for many user-supplied values; one important
971 c655522d Iustin Pop
  item is the restrictions imposed on instance and node names, which
972 c655522d Iustin Pop
  might reject some (invalid) host names
973 c655522d Iustin Pop
- Add a configure-time option to disable file-based storage, if it's not
974 c655522d Iustin Pop
  needed; this allows greater security separation between the master
975 c655522d Iustin Pop
  node and the other nodes from the point of view of the inter-node RPC
976 c655522d Iustin Pop
  protocol
977 c655522d Iustin Pop
- Added user notification in interactive tools if job is waiting in the
978 c655522d Iustin Pop
  job queue or trying to acquire locks
979 c655522d Iustin Pop
- Added log messages when a job is waiting for locks
980 c655522d Iustin Pop
- Added filtering by node tags in instance operations which admit
981 c655522d Iustin Pop
  multiple instances (start, stop, reboot, reinstall)
982 c655522d Iustin Pop
- Added a new tool for cluster mergers, ``cluster-merge``
983 c655522d Iustin Pop
- Parameters from command line which are of the form ``a=b,c=d`` can now
984 c655522d Iustin Pop
  use backslash escapes to pass in values which contain commas,
985 c655522d Iustin Pop
  e.g. ``a=b\\c,d=e`` where the 'a' parameter would get the value
986 c655522d Iustin Pop
  ``b,c``
987 c655522d Iustin Pop
- For KVM, the instance name is the first parameter passed to KVM, so
988 c655522d Iustin Pop
  that it's more visible in the process list
989 c655522d Iustin Pop
990 c655522d Iustin Pop
991 920a91bf Michael Hanselmann
Version 2.1.0
992 920a91bf Michael Hanselmann
-------------
993 920a91bf Michael Hanselmann
994 bdc93557 Iustin Pop
*(Released Tue, 2 Mar 2010)*
995 bdc93557 Iustin Pop
996 920a91bf Michael Hanselmann
Ganeti 2.1 brings many improvements with it. Major changes:
997 920a91bf Michael Hanselmann
998 920a91bf Michael Hanselmann
- Added infrastructure to ease automated disk repairs
999 920a91bf Michael Hanselmann
- Added new daemon to export configuration data in a cheaper way than
1000 920a91bf Michael Hanselmann
  using the remote API
1001 920a91bf Michael Hanselmann
- Instance NICs can now be routed instead of being associated with a
1002 920a91bf Michael Hanselmann
  networking bridge
1003 920a91bf Michael Hanselmann
- Improved job locking logic to reduce impact of jobs acquiring multiple
1004 920a91bf Michael Hanselmann
  locks waiting for other long-running jobs
1005 920a91bf Michael Hanselmann
1006 bfe61b0b Iustin Pop
In-depth implementation details can be found in the Ganeti 2.1 design
1007 920a91bf Michael Hanselmann
document.
1008 920a91bf Michael Hanselmann
1009 920a91bf Michael Hanselmann
Details
1010 920a91bf Michael Hanselmann
~~~~~~~
1011 920a91bf Michael Hanselmann
1012 920a91bf Michael Hanselmann
- Added chroot hypervisor
1013 920a91bf Michael Hanselmann
- Added more options to xen-hvm hypervisor (``kernel_path`` and
1014 920a91bf Michael Hanselmann
  ``device_model``)
1015 920a91bf Michael Hanselmann
- Added more options to xen-pvm hypervisor (``use_bootloader``,
1016 920a91bf Michael Hanselmann
  ``bootloader_path`` and ``bootloader_args``)
1017 bfe61b0b Iustin Pop
- Added the ``use_localtime`` option for the xen-hvm and kvm
1018 bfe61b0b Iustin Pop
  hypervisors, and the default value for this has changed to false (in
1019 bfe61b0b Iustin Pop
  2.0 xen-hvm always enabled it)
1020 920a91bf Michael Hanselmann
- Added luxi call to submit multiple jobs in one go
1021 bfe61b0b Iustin Pop
- Added cluster initialization option to not modify ``/etc/hosts``
1022 920a91bf Michael Hanselmann
  file on nodes
1023 920a91bf Michael Hanselmann
- Added network interface parameters
1024 920a91bf Michael Hanselmann
- Added dry run mode to some LUs
1025 920a91bf Michael Hanselmann
- Added RAPI resources:
1026 920a91bf Michael Hanselmann
1027 920a91bf Michael Hanselmann
  - ``/2/instances/[instance_name]/info``
1028 920a91bf Michael Hanselmann
  - ``/2/instances/[instance_name]/replace-disks``
1029 920a91bf Michael Hanselmann
  - ``/2/nodes/[node_name]/evacuate``
1030 920a91bf Michael Hanselmann
  - ``/2/nodes/[node_name]/migrate``
1031 920a91bf Michael Hanselmann
  - ``/2/nodes/[node_name]/role``
1032 920a91bf Michael Hanselmann
  - ``/2/nodes/[node_name]/storage``
1033 920a91bf Michael Hanselmann
  - ``/2/nodes/[node_name]/storage/modify``
1034 920a91bf Michael Hanselmann
  - ``/2/nodes/[node_name]/storage/repair``
1035 920a91bf Michael Hanselmann
1036 920a91bf Michael Hanselmann
- Added OpCodes to evacuate or migrate all instances on a node
1037 9b94905f Iustin Pop
- Added new command to list storage elements on nodes (``gnt-node
1038 9b94905f Iustin Pop
  list-storage``) and modify them (``gnt-node modify-storage``)
1039 920a91bf Michael Hanselmann
- Added new ssconf files with master candidate IP address
1040 920a91bf Michael Hanselmann
  (``ssconf_master_candidates_ips``), node primary IP address
1041 920a91bf Michael Hanselmann
  (``ssconf_node_primary_ips``) and node secondary IP address
1042 920a91bf Michael Hanselmann
  (``ssconf_node_secondary_ips``)
1043 920a91bf Michael Hanselmann
- Added ``ganeti-confd`` and a client library to query the Ganeti
1044 920a91bf Michael Hanselmann
  configuration via UDP
1045 920a91bf Michael Hanselmann
- Added ability to run hooks after cluster initialization and before
1046 920a91bf Michael Hanselmann
  cluster destruction
1047 920a91bf Michael Hanselmann
- Added automatic mode for disk replace (``gnt-instance replace-disks
1048 920a91bf Michael Hanselmann
  --auto``)
1049 cc291012 Iustin Pop
- Added ``gnt-instance recreate-disks`` to re-create (empty) disks
1050 cc291012 Iustin Pop
  after catastrophic data-loss
1051 9b94905f Iustin Pop
- Added ``gnt-node repair-storage`` command to repair damaged LVM volume
1052 920a91bf Michael Hanselmann
  groups
1053 920a91bf Michael Hanselmann
- Added ``gnt-instance move`` command to move instances
1054 920a91bf Michael Hanselmann
- Added ``gnt-cluster watcher`` command to control watcher
1055 920a91bf Michael Hanselmann
- Added ``gnt-node powercycle`` command to powercycle nodes
1056 920a91bf Michael Hanselmann
- Added new job status field ``lock_status``
1057 920a91bf Michael Hanselmann
- Added parseable error codes to cluster verification (``gnt-cluster
1058 920a91bf Michael Hanselmann
  verify --error-codes``) and made output less verbose (use
1059 920a91bf Michael Hanselmann
  ``--verbose`` to restore previous behaviour)
1060 cc291012 Iustin Pop
- Added UUIDs to the main config entities (cluster, nodes, instances)
1061 920a91bf Michael Hanselmann
- Added support for OS variants
1062 936f3c59 Michael Hanselmann
- Added support for hashed passwords in the Ganeti remote API users file
1063 936f3c59 Michael Hanselmann
  (``rapi_users``)
1064 936f3c59 Michael Hanselmann
- Added option to specify maximum timeout on instance shutdown
1065 936f3c59 Michael Hanselmann
- Added ``--no-ssh-init`` option to ``gnt-cluster init``
1066 f154a7a3 Michael Hanselmann
- Added new helper script to start and stop Ganeti daemons
1067 f154a7a3 Michael Hanselmann
  (``daemon-util``), with the intent to reduce the work necessary to
1068 f154a7a3 Michael Hanselmann
  adjust Ganeti for non-Debian distributions and to start/stop daemons
1069 f154a7a3 Michael Hanselmann
  from one place
1070 920a91bf Michael Hanselmann
- Added more unittests
1071 920a91bf Michael Hanselmann
- Fixed critical bug in ganeti-masterd startup
1072 bfe61b0b Iustin Pop
- Removed the configure-time ``kvm-migration-port`` parameter, this is
1073 bfe61b0b Iustin Pop
  now customisable at the cluster level for both the KVM and Xen
1074 bfe61b0b Iustin Pop
  hypervisors using the new ``migration_port`` parameter
1075 920a91bf Michael Hanselmann
- Pass ``INSTANCE_REINSTALL`` variable to OS installation script when
1076 920a91bf Michael Hanselmann
  reinstalling an instance
1077 3e5af833 Michael Hanselmann
- Allowed ``@`` in tag names
1078 936f3c59 Michael Hanselmann
- Migrated to Sphinx (http://sphinx.pocoo.org/) for documentation
1079 920a91bf Michael Hanselmann
- Many documentation updates
1080 920a91bf Michael Hanselmann
- Distribute hypervisor files on ``gnt-cluster redist-conf``
1081 920a91bf Michael Hanselmann
- ``gnt-instance reinstall`` can now reinstall multiple instances
1082 920a91bf Michael Hanselmann
- Updated many command line parameters
1083 920a91bf Michael Hanselmann
- Introduced new OS API version 15
1084 920a91bf Michael Hanselmann
- No longer support a default hypervisor
1085 920a91bf Michael Hanselmann
- Treat virtual LVs as inexistent
1086 920a91bf Michael Hanselmann
- Improved job locking logic to reduce lock contention
1087 920a91bf Michael Hanselmann
- Match instance and node names case insensitively
1088 920a91bf Michael Hanselmann
- Reimplemented bash completion script to be more complete
1089 920a91bf Michael Hanselmann
- Improved burnin
1090 920a91bf Michael Hanselmann
1091 920a91bf Michael Hanselmann
1092 e8cd4796 Iustin Pop
Version 2.0.6
1093 7b8f3fcd Michael Hanselmann
-------------
1094 7b8f3fcd Michael Hanselmann
1095 bdc93557 Iustin Pop
*(Released Thu, 4 Feb 2010)*
1096 bdc93557 Iustin Pop
1097 7b8f3fcd Michael Hanselmann
- Fix cleaner behaviour on nodes not in a cluster (Debian bug 568105)
1098 7b8f3fcd Michael Hanselmann
- Fix a string formatting bug
1099 7b8f3fcd Michael Hanselmann
- Improve safety of the code in some error paths
1100 7b8f3fcd Michael Hanselmann
- Improve data validation in the master of values returned from nodes
1101 7b8f3fcd Michael Hanselmann
1102 e8cd4796 Iustin Pop
1103 e5823b7e Iustin Pop
Version 2.0.5
1104 5c0433d6 Iustin Pop
-------------
1105 5c0433d6 Iustin Pop
1106 bdc93557 Iustin Pop
*(Released Thu, 17 Dec 2009)*
1107 bdc93557 Iustin Pop
1108 5c0433d6 Iustin Pop
- Fix security issue due to missing validation of iallocator names; this
1109 5c0433d6 Iustin Pop
  allows local and remote execution of arbitrary executables
1110 5c0433d6 Iustin Pop
- Fix failure of gnt-node list during instance removal
1111 5c0433d6 Iustin Pop
- Ship the RAPI documentation in the archive
1112 5c0433d6 Iustin Pop
1113 e5823b7e Iustin Pop
1114 7579eb06 Iustin Pop
Version 2.0.4
1115 c8872a0b Iustin Pop
-------------
1116 c8872a0b Iustin Pop
1117 bdc93557 Iustin Pop
*(Released Wed, 30 Sep 2009)*
1118 bdc93557 Iustin Pop
1119 c8872a0b Iustin Pop
- Fixed many wrong messages
1120 c8872a0b Iustin Pop
- Fixed a few bugs related to the locking library
1121 c8872a0b Iustin Pop
- Fixed MAC checking at instance creation time
1122 c8872a0b Iustin Pop
- Fixed a DRBD parsing bug related to gaps in /proc/drbd
1123 c8872a0b Iustin Pop
- Fixed a few issues related to signal handling in both daemons and
1124 c8872a0b Iustin Pop
  scripts
1125 c8872a0b Iustin Pop
- Fixed the example startup script provided
1126 c8872a0b Iustin Pop
- Fixed insserv dependencies in the example startup script (patch from
1127 c8872a0b Iustin Pop
  Debian)
1128 c8872a0b Iustin Pop
- Fixed handling of drained nodes in the iallocator framework
1129 c8872a0b Iustin Pop
- Fixed handling of KERNEL_PATH parameter for xen-hvm (Debian bug
1130 c8872a0b Iustin Pop
  #528618)
1131 c8872a0b Iustin Pop
- Fixed error related to invalid job IDs in job polling
1132 c8872a0b Iustin Pop
- Fixed job/opcode persistence on unclean master shutdown
1133 c8872a0b Iustin Pop
- Fixed handling of partial job processing after unclean master
1134 c8872a0b Iustin Pop
  shutdown
1135 c8872a0b Iustin Pop
- Fixed error reporting from LUs, previously all errors were converted
1136 c8872a0b Iustin Pop
  into execution errors
1137 c8872a0b Iustin Pop
- Fixed error reporting from burnin
1138 c8872a0b Iustin Pop
- Decreased significantly the memory usage of the job queue
1139 c8872a0b Iustin Pop
- Optimised slightly multi-job submission
1140 c8872a0b Iustin Pop
- Optimised slightly opcode loading
1141 c8872a0b Iustin Pop
- Backported the multi-job submit framework from the development
1142 c8872a0b Iustin Pop
  branch; multi-instance start and stop should be faster
1143 c8872a0b Iustin Pop
- Added script to clean archived jobs after 21 days; this will reduce
1144 c8872a0b Iustin Pop
  the size of the queue directory
1145 c8872a0b Iustin Pop
- Added some extra checks in disk size tracking
1146 c8872a0b Iustin Pop
- Added an example ethers hook script
1147 c8872a0b Iustin Pop
- Added a cluster parameter that prevents Ganeti from modifying of
1148 c8872a0b Iustin Pop
  /etc/hosts
1149 c8872a0b Iustin Pop
- Added more node information to RAPI responses
1150 aa287e8c Michael Hanselmann
- Added a ``gnt-job watch`` command that allows following the ouput of a
1151 c8872a0b Iustin Pop
  job
1152 c8872a0b Iustin Pop
- Added a bind-address option to ganeti-rapi
1153 c8872a0b Iustin Pop
- Added more checks to the configuration verify
1154 c8872a0b Iustin Pop
- Enhanced the burnin script such that some operations can be retried
1155 c8872a0b Iustin Pop
  automatically
1156 c8872a0b Iustin Pop
- Converted instance reinstall to multi-instance model
1157 61b5e342 Michael Hanselmann
1158 aa287e8c Michael Hanselmann
1159 9d725d41 Iustin Pop
Version 2.0.3
1160 61b5e342 Michael Hanselmann
-------------
1161 61b5e342 Michael Hanselmann
1162 bdc93557 Iustin Pop
*(Released Fri, 7 Aug 2009)*
1163 bdc93557 Iustin Pop
1164 61b5e342 Michael Hanselmann
- Added ``--ignore-size`` to the ``gnt-instance activate-disks`` command
1165 61b5e342 Michael Hanselmann
  to allow using the pre-2.0.2 behaviour in activation, if any existing
1166 61b5e342 Michael Hanselmann
  instances have mismatched disk sizes in the configuration
1167 7faf5110 Michael Hanselmann
- Added ``gnt-cluster repair-disk-sizes`` command to check and update
1168 7faf5110 Michael Hanselmann
  any configuration mismatches for disk sizes
1169 61b5e342 Michael Hanselmann
- Added ``gnt-master cluste-failover --no-voting`` to allow master
1170 61b5e342 Michael Hanselmann
  failover to work on two-node clusters
1171 aa287e8c Michael Hanselmann
- Fixed the ``--net`` option of ``gnt-backup import``, which was
1172 aa287e8c Michael Hanselmann
  unusable
1173 61b5e342 Michael Hanselmann
- Fixed detection of OS script errors in ``gnt-backup export``
1174 61b5e342 Michael Hanselmann
- Fixed exit code of ``gnt-backup export``
1175 61b5e342 Michael Hanselmann
1176 9d725d41 Iustin Pop
1177 550a995a Iustin Pop
Version 2.0.2
1178 61b5e342 Michael Hanselmann
-------------
1179 61b5e342 Michael Hanselmann
1180 bdc93557 Iustin Pop
*(Released Fri, 17 Jul 2009)*
1181 bdc93557 Iustin Pop
1182 61b5e342 Michael Hanselmann
- Added experimental support for stripped logical volumes; this should
1183 61b5e342 Michael Hanselmann
  enhance performance but comes with a higher complexity in the block
1184 61b5e342 Michael Hanselmann
  device handling; stripping is only enabled when passing
1185 61b5e342 Michael Hanselmann
  ``--with-lvm-stripecount=N`` to ``configure``, but codepaths are
1186 61b5e342 Michael Hanselmann
  affected even in the non-stripped mode
1187 61b5e342 Michael Hanselmann
- Improved resiliency against transient failures at the end of DRBD
1188 61b5e342 Michael Hanselmann
  resyncs, and in general of DRBD resync checks
1189 61b5e342 Michael Hanselmann
- Fixed a couple of issues with exports and snapshot errors
1190 61b5e342 Michael Hanselmann
- Fixed a couple of issues in instance listing
1191 61b5e342 Michael Hanselmann
- Added display of the disk size in ``gnt-instance info``
1192 61b5e342 Michael Hanselmann
- Fixed checking for valid OSes in instance creation
1193 aa287e8c Michael Hanselmann
- Fixed handling of the "vcpus" parameter in instance listing and in
1194 61b5e342 Michael Hanselmann
  general of invalid parameters
1195 61b5e342 Michael Hanselmann
- Fixed http server library, and thus RAPI, to handle invalid
1196 61b5e342 Michael Hanselmann
  username/password combinations correctly; this means that now they
1197 61b5e342 Michael Hanselmann
  report unauthorized for queries too, not only for modifications,
1198 61b5e342 Michael Hanselmann
  allowing earlier detect of configuration problems
1199 aa287e8c Michael Hanselmann
- Added a new "role" node list field, equivalent to the master/master
1200 61b5e342 Michael Hanselmann
  candidate/drained/offline flags combinations
1201 61b5e342 Michael Hanselmann
- Fixed cluster modify and changes of candidate pool size
1202 61b5e342 Michael Hanselmann
- Fixed cluster verify error messages for wrong files on regular nodes
1203 61b5e342 Michael Hanselmann
- Fixed a couple of issues with node demotion from master candidate role
1204 61b5e342 Michael Hanselmann
- Fixed node readd issues
1205 61b5e342 Michael Hanselmann
- Added non-interactive mode for ``ganeti-masterd --no-voting`` startup
1206 aa287e8c Michael Hanselmann
- Added a new ``--no-voting`` option for masterfailover to fix failover
1207 aa287e8c Michael Hanselmann
  on two-nodes clusters when the former master node is unreachable
1208 61b5e342 Michael Hanselmann
- Added instance reinstall over RAPI
1209 61b5e342 Michael Hanselmann
1210 550a995a Iustin Pop
1211 0dea942c Iustin Pop
Version 2.0.1
1212 61b5e342 Michael Hanselmann
-------------
1213 61b5e342 Michael Hanselmann
1214 bdc93557 Iustin Pop
*(Released Tue, 16 Jun 2009)*
1215 bdc93557 Iustin Pop
1216 61b5e342 Michael Hanselmann
- added ``-H``/``-B`` startup parameters to ``gnt-instance``, which will
1217 61b5e342 Michael Hanselmann
  allow re-adding the start in single-user option (regression from 1.2)
1218 61b5e342 Michael Hanselmann
- the watcher writes the instance status to a file, to allow monitoring
1219 61b5e342 Michael Hanselmann
  to report the instance status (from the master) based on cached
1220 61b5e342 Michael Hanselmann
  results of the watcher's queries; while this can get stale if the
1221 61b5e342 Michael Hanselmann
  watcher is being locked due to other work on the cluster, this is
1222 61b5e342 Michael Hanselmann
  still an improvement
1223 61b5e342 Michael Hanselmann
- the watcher now also restarts the node daemon and the rapi daemon if
1224 61b5e342 Michael Hanselmann
  they died
1225 61b5e342 Michael Hanselmann
- fixed the watcher to handle full and drained queue cases
1226 7faf5110 Michael Hanselmann
- hooks export more instance data in the environment, which helps if
1227 7faf5110 Michael Hanselmann
  hook scripts need to take action based on the instance's properties
1228 7faf5110 Michael Hanselmann
  (no longer need to query back into ganeti)
1229 61b5e342 Michael Hanselmann
- instance failovers when the instance is stopped do not check for free
1230 61b5e342 Michael Hanselmann
  RAM, so that failing over a stopped instance is possible in low memory
1231 61b5e342 Michael Hanselmann
  situations
1232 61b5e342 Michael Hanselmann
- rapi uses queries for tags instead of jobs (for less job traffic), and
1233 61b5e342 Michael Hanselmann
  for cluster tags it won't talk to masterd at all but read them from
1234 61b5e342 Michael Hanselmann
  ssconf
1235 61b5e342 Michael Hanselmann
- a couple of error handling fixes in RAPI
1236 61b5e342 Michael Hanselmann
- drbd handling: improved the error handling of inconsistent disks after
1237 61b5e342 Michael Hanselmann
  resync to reduce the frequency of "there are some degraded disks for
1238 61b5e342 Michael Hanselmann
  this instance" messages
1239 61b5e342 Michael Hanselmann
- fixed a bug in live migration when DRBD doesn't want to reconnect (the
1240 61b5e342 Michael Hanselmann
  error handling path called a wrong function name)
1241 61b5e342 Michael Hanselmann
1242 0dea942c Iustin Pop
1243 7a8994d4 Iustin Pop
Version 2.0.0 final
1244 61b5e342 Michael Hanselmann
-------------------
1245 61b5e342 Michael Hanselmann
1246 bdc93557 Iustin Pop
*(Released Wed, 27 May 2009)*
1247 bdc93557 Iustin Pop
1248 61b5e342 Michael Hanselmann
- no changes from rc5
1249 61b5e342 Michael Hanselmann
1250 7a8994d4 Iustin Pop
1251 b926bd98 Iustin Pop
Version 2.0 release candidate 5
1252 61b5e342 Michael Hanselmann
-------------------------------
1253 61b5e342 Michael Hanselmann
1254 bdc93557 Iustin Pop
*(Released Wed, 20 May 2009)*
1255 bdc93557 Iustin Pop
1256 61b5e342 Michael Hanselmann
- fix a couple of bugs (validation, argument checks)
1257 61b5e342 Michael Hanselmann
- fix ``gnt-cluster getmaster`` on non-master nodes (regression)
1258 61b5e342 Michael Hanselmann
- some small improvements to RAPI and IAllocator
1259 61b5e342 Michael Hanselmann
- make watcher automatically start the master daemon if down
1260 61b5e342 Michael Hanselmann
1261 b926bd98 Iustin Pop
1262 d1908b41 Iustin Pop
Version 2.0 release candidate 4
1263 61b5e342 Michael Hanselmann
-------------------------------
1264 61b5e342 Michael Hanselmann
1265 bdc93557 Iustin Pop
*(Released Mon, 27 Apr 2009)*
1266 bdc93557 Iustin Pop
1267 61b5e342 Michael Hanselmann
- change the OS list to not require locks; this helps with big clusters
1268 61b5e342 Michael Hanselmann
- fix ``gnt-cluster verify`` and ``gnt-cluster verify-disks`` when the
1269 61b5e342 Michael Hanselmann
  volume group is broken
1270 61b5e342 Michael Hanselmann
- ``gnt-instance info``, without any arguments, doesn't run for all
1271 61b5e342 Michael Hanselmann
  instances anymore; either pass ``--all`` or pass the desired
1272 61b5e342 Michael Hanselmann
  instances; this helps against mistakes on big clusters where listing
1273 61b5e342 Michael Hanselmann
  the information for all instances takes a long time
1274 61b5e342 Michael Hanselmann
- miscellaneous doc and man pages fixes
1275 61b5e342 Michael Hanselmann
1276 d1908b41 Iustin Pop
1277 5bbefdec Iustin Pop
Version 2.0 release candidate 3
1278 61b5e342 Michael Hanselmann
-------------------------------
1279 61b5e342 Michael Hanselmann
1280 bdc93557 Iustin Pop
*(Released Wed, 8 Apr 2009)*
1281 bdc93557 Iustin Pop
1282 61b5e342 Michael Hanselmann
- Change the internal locking model of some ``gnt-node`` commands, in
1283 61b5e342 Michael Hanselmann
  order to reduce contention (and blocking of master daemon) when
1284 61b5e342 Michael Hanselmann
  batching many creation/reinstall jobs
1285 61b5e342 Michael Hanselmann
- Fixes to Xen soft reboot
1286 61b5e342 Michael Hanselmann
- No longer build documentation at build time, instead distribute it in
1287 61b5e342 Michael Hanselmann
  the archive, in order to reduce the need for the whole docbook/rst
1288 61b5e342 Michael Hanselmann
  toolchains
1289 61b5e342 Michael Hanselmann
1290 5bbefdec Iustin Pop
1291 f06d91f2 Iustin Pop
Version 2.0 release candidate 2
1292 61b5e342 Michael Hanselmann
-------------------------------
1293 61b5e342 Michael Hanselmann
1294 bdc93557 Iustin Pop
*(Released Fri, 27 Mar 2009)*
1295 bdc93557 Iustin Pop
1296 61b5e342 Michael Hanselmann
- Now the cfgupgrade scripts works and can upgrade 1.2.7 clusters to 2.0
1297 61b5e342 Michael Hanselmann
- Fix watcher startup sequence, improves the behaviour of busy clusters
1298 61b5e342 Michael Hanselmann
- Some other fixes in ``gnt-cluster verify``, ``gnt-instance
1299 61b5e342 Michael Hanselmann
  replace-disks``, ``gnt-instance add``, ``gnt-cluster queue``, KVM VNC
1300 61b5e342 Michael Hanselmann
  bind address and other places
1301 61b5e342 Michael Hanselmann
- Some documentation fixes and updates
1302 61b5e342 Michael Hanselmann
1303 f06d91f2 Iustin Pop
1304 a2370b24 Iustin Pop
Version 2.0 release candidate 1
1305 61b5e342 Michael Hanselmann
-------------------------------
1306 61b5e342 Michael Hanselmann
1307 bdc93557 Iustin Pop
*(Released Mon, 2 Mar 2009)*
1308 bdc93557 Iustin Pop
1309 61b5e342 Michael Hanselmann
- More documentation updates, now all docs should be more-or-less
1310 61b5e342 Michael Hanselmann
  up-to-date
1311 61b5e342 Michael Hanselmann
- A couple of small fixes (mixed hypervisor clusters, offline nodes,
1312 61b5e342 Michael Hanselmann
  etc.)
1313 61b5e342 Michael Hanselmann
- Added a customizable HV_KERNEL_ARGS hypervisor parameter (for Xen PVM
1314 61b5e342 Michael Hanselmann
  and KVM)
1315 61b5e342 Michael Hanselmann
- Fix an issue related to $libdir/run/ganeti and cluster creation
1316 61b5e342 Michael Hanselmann
1317 a2370b24 Iustin Pop
1318 2fb85b64 Iustin Pop
Version 2.0 beta 2
1319 61b5e342 Michael Hanselmann
------------------
1320 61b5e342 Michael Hanselmann
1321 bdc93557 Iustin Pop
*(Released Thu, 19 Feb 2009)*
1322 bdc93557 Iustin Pop
1323 61b5e342 Michael Hanselmann
- Xen PVM and KVM have switched the default value for the instance root
1324 61b5e342 Michael Hanselmann
  disk to the first partition on the first drive, instead of the whole
1325 61b5e342 Michael Hanselmann
  drive; this means that the OS installation scripts must be changed
1326 61b5e342 Michael Hanselmann
  accordingly
1327 61b5e342 Michael Hanselmann
- Man pages have been updated
1328 61b5e342 Michael Hanselmann
- RAPI has been switched by default to HTTPS, and the exported functions
1329 61b5e342 Michael Hanselmann
  should all work correctly
1330 61b5e342 Michael Hanselmann
- RAPI v1 has been removed
1331 61b5e342 Michael Hanselmann
- Many improvements to the KVM hypervisor
1332 61b5e342 Michael Hanselmann
- Block device errors are now better reported
1333 61b5e342 Michael Hanselmann
- Many other bugfixes and small improvements
1334 61b5e342 Michael Hanselmann
1335 2fb85b64 Iustin Pop
1336 10f31783 Iustin Pop
Version 2.0 beta 1
1337 61b5e342 Michael Hanselmann
------------------
1338 61b5e342 Michael Hanselmann
1339 bdc93557 Iustin Pop
*(Released Mon, 26 Jan 2009)*
1340 bdc93557 Iustin Pop
1341 61b5e342 Michael Hanselmann
- Version 2 is a general rewrite of the code and therefore the
1342 61b5e342 Michael Hanselmann
  differences are too many to list, see the design document for 2.0 in
1343 61b5e342 Michael Hanselmann
  the ``doc/`` subdirectory for more details
1344 61b5e342 Michael Hanselmann
- In this beta version there is not yet a migration path from 1.2 (there
1345 61b5e342 Michael Hanselmann
  will be one in the final 2.0 release)
1346 61b5e342 Michael Hanselmann
- A few significant changes are:
1347 61b5e342 Michael Hanselmann
1348 61b5e342 Michael Hanselmann
  - all commands are executed by a daemon (``ganeti-masterd``) and the
1349 61b5e342 Michael Hanselmann
    various ``gnt-*`` commands are just front-ends to it
1350 7faf5110 Michael Hanselmann
  - all the commands are entered into, and executed from a job queue,
1351 7faf5110 Michael Hanselmann
    see the ``gnt-job(8)`` manpage
1352 7faf5110 Michael Hanselmann
  - the RAPI daemon supports read-write operations, secured by basic
1353 7faf5110 Michael Hanselmann
    HTTP authentication on top of HTTPS
1354 61b5e342 Michael Hanselmann
  - DRBD version 0.7 support has been removed, DRBD 8 is the only
1355 61b5e342 Michael Hanselmann
    supported version (when migrating from Ganeti 1.2 to 2.0, you need
1356 61b5e342 Michael Hanselmann
    to migrate to DRBD 8 first while still running Ganeti 1.2)
1357 61b5e342 Michael Hanselmann
  - DRBD devices are using statically allocated minor numbers, which
1358 61b5e342 Michael Hanselmann
    will be assigned to existing instances during the migration process
1359 61b5e342 Michael Hanselmann
  - there is support for both Xen PVM and Xen HVM instances running on
1360 61b5e342 Michael Hanselmann
    the same cluster
1361 61b5e342 Michael Hanselmann
  - KVM virtualization is supported too
1362 61b5e342 Michael Hanselmann
  - file-based storage has been implemented, which means that it is
1363 61b5e342 Michael Hanselmann
    possible to run the cluster without LVM and DRBD storage, for
1364 61b5e342 Michael Hanselmann
    example using a shared filesystem exported from shared storage (and
1365 61b5e342 Michael Hanselmann
    still have live migration)
1366 61b5e342 Michael Hanselmann
1367 10f31783 Iustin Pop
1368 10f31783 Iustin Pop
Version 1.2.7
1369 61b5e342 Michael Hanselmann
-------------
1370 61b5e342 Michael Hanselmann
1371 bdc93557 Iustin Pop
*(Released Tue, 13 Jan 2009)*
1372 bdc93557 Iustin Pop
1373 61b5e342 Michael Hanselmann
- Change the default reboot type in ``gnt-instance reboot`` to "hard"
1374 61b5e342 Michael Hanselmann
- Reuse the old instance mac address by default on instance import, if
1375 61b5e342 Michael Hanselmann
  the instance name is the same.
1376 7faf5110 Michael Hanselmann
- Handle situations in which the node info rpc returns incomplete
1377 7faf5110 Michael Hanselmann
  results (issue 46)
1378 61b5e342 Michael Hanselmann
- Add checks for tcp/udp ports collisions in ``gnt-cluster verify``
1379 61b5e342 Michael Hanselmann
- Improved version of batcher:
1380 61b5e342 Michael Hanselmann
1381 61b5e342 Michael Hanselmann
  - state file support
1382 61b5e342 Michael Hanselmann
  - instance mac address support
1383 61b5e342 Michael Hanselmann
  - support for HVM clusters/instances
1384 61b5e342 Michael Hanselmann
1385 61b5e342 Michael Hanselmann
- Add an option to show the number of cpu sockets and nodes in
1386 61b5e342 Michael Hanselmann
  ``gnt-node list``
1387 61b5e342 Michael Hanselmann
- Support OSes that handle more than one version of the OS api (but do
1388 61b5e342 Michael Hanselmann
  not change the current API in any other way)
1389 61b5e342 Michael Hanselmann
- Fix ``gnt-node migrate``
1390 61b5e342 Michael Hanselmann
- ``gnt-debug`` man page
1391 61b5e342 Michael Hanselmann
- Fixes various more typos and small issues
1392 61b5e342 Michael Hanselmann
- Increase disk resync maximum speed to 60MB/s (from 30MB/s)
1393 61b5e342 Michael Hanselmann
1394 10f31783 Iustin Pop
1395 10f31783 Iustin Pop
Version 1.2.6
1396 61b5e342 Michael Hanselmann
-------------
1397 61b5e342 Michael Hanselmann
1398 bdc93557 Iustin Pop
*(Released Wed, 24 Sep 2008)*
1399 bdc93557 Iustin Pop
1400 61b5e342 Michael Hanselmann
- new ``--hvm-nic-type`` and ``--hvm-disk-type`` flags to control the
1401 61b5e342 Michael Hanselmann
  type of disk exported to fully virtualized instances.
1402 61b5e342 Michael Hanselmann
- provide access to the serial console of HVM instances
1403 7faf5110 Michael Hanselmann
- instance auto_balance flag, set by default. If turned off it will
1404 7faf5110 Michael Hanselmann
  avoid warnings on cluster verify if there is not enough memory to fail
1405 7faf5110 Michael Hanselmann
  over an instance. in the future it will prevent automatically failing
1406 7faf5110 Michael Hanselmann
  it over when we will support that.
1407 61b5e342 Michael Hanselmann
- batcher tool for instance creation, see ``tools/README.batcher``
1408 61b5e342 Michael Hanselmann
- ``gnt-instance reinstall --select-os`` to interactively select a new
1409 61b5e342 Michael Hanselmann
  operating system when reinstalling an instance.
1410 61b5e342 Michael Hanselmann
- when changing the memory amount on instance modify a check has been
1411 61b5e342 Michael Hanselmann
  added that the instance will be able to start. also warnings are
1412 61b5e342 Michael Hanselmann
  emitted if the instance will not be able to fail over, if auto_balance
1413 61b5e342 Michael Hanselmann
  is true.
1414 61b5e342 Michael Hanselmann
- documentation fixes
1415 61b5e342 Michael Hanselmann
- sync fields between ``gnt-instance list/modify/add/import``
1416 61b5e342 Michael Hanselmann
- fix a race condition in drbd when the sync speed was set after giving
1417 61b5e342 Michael Hanselmann
  the device a remote peer.
1418 61b5e342 Michael Hanselmann
1419 10f31783 Iustin Pop
1420 10f31783 Iustin Pop
Version 1.2.5
1421 61b5e342 Michael Hanselmann
-------------
1422 61b5e342 Michael Hanselmann
1423 bdc93557 Iustin Pop
*(Released Tue, 22 Jul 2008)*
1424 bdc93557 Iustin Pop
1425 61b5e342 Michael Hanselmann
- note: the allowed size and number of tags per object were reduced
1426 61b5e342 Michael Hanselmann
- fix a bug in ``gnt-cluster verify`` with inconsistent volume groups
1427 61b5e342 Michael Hanselmann
- fixed twisted 8.x compatibility
1428 61b5e342 Michael Hanselmann
- fixed ``gnt-instance replace-disks`` with iallocator
1429 61b5e342 Michael Hanselmann
- add TCP keepalives on twisted connections to detect restarted nodes
1430 61b5e342 Michael Hanselmann
- disk increase support, see ``gnt-instance grow-disk``
1431 61b5e342 Michael Hanselmann
- implement bulk node/instance query for RAPI
1432 61b5e342 Michael Hanselmann
- add tags in node/instance listing (optional)
1433 61b5e342 Michael Hanselmann
- experimental migration (and live migration) support, read the man page
1434 61b5e342 Michael Hanselmann
  for ``gnt-instance migrate``
1435 61b5e342 Michael Hanselmann
- the ``ganeti-watcher`` logs are now timestamped, and the watcher also
1436 61b5e342 Michael Hanselmann
  has some small improvements in handling its state file
1437 61b5e342 Michael Hanselmann
1438 10f31783 Iustin Pop
1439 10f31783 Iustin Pop
Version 1.2.4
1440 61b5e342 Michael Hanselmann
-------------
1441 61b5e342 Michael Hanselmann
1442 bdc93557 Iustin Pop
*(Released Fri, 13 Jun 2008)*
1443 bdc93557 Iustin Pop
1444 61b5e342 Michael Hanselmann
- Experimental readonly, REST-based remote API implementation;
1445 61b5e342 Michael Hanselmann
  automatically started on master node, TCP port 5080, if enabled by
1446 61b5e342 Michael Hanselmann
  ``--enable-rapi`` parameter to configure script.
1447 61b5e342 Michael Hanselmann
- Instance allocator support. Add and import instance accept a
1448 61b5e342 Michael Hanselmann
  ``--iallocator`` parameter, and call that instance allocator to decide
1449 61b5e342 Michael Hanselmann
  which node to use for the instance. The iallocator document describes
1450 61b5e342 Michael Hanselmann
  what's expected from an allocator script.
1451 61b5e342 Michael Hanselmann
- ``gnt-cluster verify`` N+1 memory redundancy checks: Unless passed the
1452 61b5e342 Michael Hanselmann
  ``--no-nplus1-mem`` option ``gnt-cluster verify`` now checks that if a
1453 61b5e342 Michael Hanselmann
  node is lost there is still enough memory to fail over the instances
1454 61b5e342 Michael Hanselmann
  that reside on it.
1455 61b5e342 Michael Hanselmann
- ``gnt-cluster verify`` hooks: it is now possible to add post-hooks to
1456 61b5e342 Michael Hanselmann
  ``gnt-cluster verify``, to check for site-specific compliance. All the
1457 61b5e342 Michael Hanselmann
  hooks will run, and their output, if any, will be displayed. Any
1458 61b5e342 Michael Hanselmann
  failing hook will make the verification return an error value.
1459 61b5e342 Michael Hanselmann
- ``gnt-cluster verify`` now checks that its peers are reachable on the
1460 61b5e342 Michael Hanselmann
  primary and secondary interfaces
1461 61b5e342 Michael Hanselmann
- ``gnt-node add`` now supports the ``--readd`` option, to readd a node
1462 61b5e342 Michael Hanselmann
  that is still declared as part of the cluster and has failed.
1463 61b5e342 Michael Hanselmann
- ``gnt-* list`` commands now accept a new ``-o +field`` way of
1464 61b5e342 Michael Hanselmann
  specifying output fields, that just adds the chosen fields to the
1465 61b5e342 Michael Hanselmann
  default ones.
1466 61b5e342 Michael Hanselmann
- ``gnt-backup`` now has a new ``remove`` command to delete an existing
1467 61b5e342 Michael Hanselmann
  export from the filesystem.
1468 61b5e342 Michael Hanselmann
- New per-instance parameters hvm_acpi, hvm_pae and hvm_cdrom_image_path
1469 61b5e342 Michael Hanselmann
  have been added. Using them you can enable/disable acpi and pae
1470 61b5e342 Michael Hanselmann
  support, and specify a path for a cd image to be exported to the
1471 61b5e342 Michael Hanselmann
  instance. These parameters as the name suggest only work on HVM
1472 61b5e342 Michael Hanselmann
  clusters.
1473 61b5e342 Michael Hanselmann
- When upgrading an HVM cluster to Ganeti 1.2.4, the values for ACPI and
1474 61b5e342 Michael Hanselmann
  PAE support will be set to the previously hardcoded values, but the
1475 61b5e342 Michael Hanselmann
  (previously hardcoded) path to the CDROM ISO image will be unset and
1476 61b5e342 Michael Hanselmann
  if required, needs to be set manually with ``gnt-instance modify``
1477 61b5e342 Michael Hanselmann
  after the upgrade.
1478 61b5e342 Michael Hanselmann
- The address to which an instance's VNC console is bound is now
1479 61b5e342 Michael Hanselmann
  selectable per-instance, rather than being cluster wide. Of course
1480 61b5e342 Michael Hanselmann
  this only applies to instances controlled via VNC, so currently just
1481 61b5e342 Michael Hanselmann
  applies to HVM clusters.
1482 61b5e342 Michael Hanselmann
1483 10f31783 Iustin Pop
1484 bae27f68 Iustin Pop
Version 1.2.3
1485 61b5e342 Michael Hanselmann
-------------
1486 61b5e342 Michael Hanselmann
1487 bdc93557 Iustin Pop
*(Released Mon, 18 Feb 2008)*
1488 bdc93557 Iustin Pop
1489 61b5e342 Michael Hanselmann
- more tweaks to the disk activation code (especially helpful for DRBD)
1490 61b5e342 Michael Hanselmann
- change the default ``gnt-instance list`` output format, now there is
1491 61b5e342 Michael Hanselmann
  one combined status field (see the manpage for the exact values this
1492 61b5e342 Michael Hanselmann
  field will have)
1493 61b5e342 Michael Hanselmann
- some more fixes for the mac export to hooks change
1494 61b5e342 Michael Hanselmann
- make Ganeti not break with DRBD 8.2.x (which changed the version
1495 61b5e342 Michael Hanselmann
  format in ``/proc/drbd``) (issue 24)
1496 61b5e342 Michael Hanselmann
- add an upgrade tool from "remote_raid1" disk template to "drbd" disk
1497 61b5e342 Michael Hanselmann
  template, allowing migration from DRBD0.7+MD to DRBD8
1498 61b5e342 Michael Hanselmann
1499 bae27f68 Iustin Pop
1500 e709baee Iustin Pop
Version 1.2.2
1501 61b5e342 Michael Hanselmann
-------------
1502 61b5e342 Michael Hanselmann
1503 bdc93557 Iustin Pop
*(Released Wed, 30 Jan 2008)*
1504 bdc93557 Iustin Pop
1505 61b5e342 Michael Hanselmann
- fix ``gnt-instance modify`` breakage introduced in 1.2.1 with the HVM
1506 61b5e342 Michael Hanselmann
  support (issue 23)
1507 61b5e342 Michael Hanselmann
- add command aliases infrastructure and a few aliases
1508 61b5e342 Michael Hanselmann
- allow listing of VCPUs in the ``gnt-instance list`` and improve the
1509 61b5e342 Michael Hanselmann
  man pages and the ``--help`` option of ``gnt-node
1510 61b5e342 Michael Hanselmann
  list``/``gnt-instance list``
1511 61b5e342 Michael Hanselmann
- fix ``gnt-backup list`` with down nodes (issue 21)
1512 61b5e342 Michael Hanselmann
- change the tools location (move from $pkgdatadir to $pkglibdir/tools)
1513 61b5e342 Michael Hanselmann
- fix the dist archive and add a check for including svn/git files in
1514 61b5e342 Michael Hanselmann
  the future
1515 61b5e342 Michael Hanselmann
- some developer-related changes: improve the burnin and the QA suite,
1516 61b5e342 Michael Hanselmann
  add an upload script for testing during development
1517 61b5e342 Michael Hanselmann
1518 e709baee Iustin Pop
1519 31b9055c Iustin Pop
Version 1.2.1
1520 61b5e342 Michael Hanselmann
-------------
1521 61b5e342 Michael Hanselmann
1522 bdc93557 Iustin Pop
*(Released Wed, 16 Jan 2008)*
1523 bdc93557 Iustin Pop
1524 61b5e342 Michael Hanselmann
- experimental HVM support, read the install document, section
1525 61b5e342 Michael Hanselmann
  "Initializing the cluster"
1526 61b5e342 Michael Hanselmann
- allow for the PVM hypervisor per-instance kernel and initrd paths
1527 61b5e342 Michael Hanselmann
- add a new command ``gnt-cluster verify-disks`` which uses a new
1528 61b5e342 Michael Hanselmann
  algorithm to improve the reconnection of the DRBD pairs if the device
1529 61b5e342 Michael Hanselmann
  on the secondary node has gone away
1530 61b5e342 Michael Hanselmann
- make logical volume code auto-activate LVs at disk activation time
1531 61b5e342 Michael Hanselmann
- slightly improve the speed of activating disks
1532 61b5e342 Michael Hanselmann
- allow specification of the MAC address at instance creation time, and
1533 61b5e342 Michael Hanselmann
  changing it later via ``gnt-instance modify``
1534 61b5e342 Michael Hanselmann
- fix handling of external commands that generate lots of output on
1535 61b5e342 Michael Hanselmann
  stderr
1536 61b5e342 Michael Hanselmann
- update documentation with regard to minimum version of DRBD8 supported
1537 61b5e342 Michael Hanselmann
1538 31b9055c Iustin Pop
1539 ce628bb4 Iustin Pop
Version 1.2.0
1540 61b5e342 Michael Hanselmann
-------------
1541 61b5e342 Michael Hanselmann
1542 bdc93557 Iustin Pop
*(Released Tue, 4 Dec 2007)*
1543 bdc93557 Iustin Pop
1544 7faf5110 Michael Hanselmann
- Log the ``xm create`` output to the node daemon log on failure (to
1545 7faf5110 Michael Hanselmann
  help diagnosing the error)
1546 61b5e342 Michael Hanselmann
- In debug mode, log all external commands output if failed to the logs
1547 61b5e342 Michael Hanselmann
- Change parsing of lvm commands to ignore stderr
1548 61b5e342 Michael Hanselmann
1549 ce628bb4 Iustin Pop
1550 3d492b09 Iustin Pop
Version 1.2b3
1551 61b5e342 Michael Hanselmann
-------------
1552 61b5e342 Michael Hanselmann
1553 bdc93557 Iustin Pop
*(Released Wed, 28 Nov 2007)*
1554 bdc93557 Iustin Pop
1555 61b5e342 Michael Hanselmann
- Another round of updates to the DRBD 8 code to deal with more failures
1556 61b5e342 Michael Hanselmann
  in the replace secondary node operation
1557 61b5e342 Michael Hanselmann
- Some more logging of failures in disk operations (lvm, drbd)
1558 61b5e342 Michael Hanselmann
- A few documentation updates
1559 61b5e342 Michael Hanselmann
- QA updates
1560 61b5e342 Michael Hanselmann
1561 3d492b09 Iustin Pop
1562 6c4811dc Iustin Pop
Version 1.2b2
1563 61b5e342 Michael Hanselmann
-------------
1564 61b5e342 Michael Hanselmann
1565 bdc93557 Iustin Pop
*(Released Tue, 13 Nov 2007)*
1566 bdc93557 Iustin Pop
1567 61b5e342 Michael Hanselmann
- Change configuration file format from Python's Pickle to JSON.
1568 61b5e342 Michael Hanselmann
  Upgrading is possible using the cfgupgrade utility.
1569 61b5e342 Michael Hanselmann
- Add support for DRBD 8.0 (new disk template ``drbd``) which allows for
1570 61b5e342 Michael Hanselmann
  faster replace disks and is more stable (DRBD 8 has many improvements
1571 61b5e342 Michael Hanselmann
  compared to DRBD 0.7)
1572 61b5e342 Michael Hanselmann
- Added command line tags support (see man pages for ``gnt-instance``,
1573 61b5e342 Michael Hanselmann
  ``gnt-node``, ``gnt-cluster``)
1574 61b5e342 Michael Hanselmann
- Added instance rename support
1575 61b5e342 Michael Hanselmann
- Added multi-instance startup/shutdown
1576 61b5e342 Michael Hanselmann
- Added cluster rename support
1577 61b5e342 Michael Hanselmann
- Added ``gnt-node evacuate`` to simplify some node operations
1578 61b5e342 Michael Hanselmann
- Added instance reboot operation that can speedup reboot as compared to
1579 61b5e342 Michael Hanselmann
  stop and start
1580 61b5e342 Michael Hanselmann
- Soften the requirement that hostnames are in FQDN format
1581 61b5e342 Michael Hanselmann
- The ``ganeti-watcher`` now activates drbd pairs after secondary node
1582 61b5e342 Michael Hanselmann
  reboots
1583 61b5e342 Michael Hanselmann
- Removed dependency on debian's patched fping that uses the
1584 61b5e342 Michael Hanselmann
  non-standard ``-S`` option
1585 7faf5110 Michael Hanselmann
- Now the OS definitions are searched for in multiple, configurable
1586 7faf5110 Michael Hanselmann
  paths (easier for distros to package)
1587 61b5e342 Michael Hanselmann
- Some changes to the hooks infrastructure (especially the new
1588 61b5e342 Michael Hanselmann
  post-configuration update hook)
1589 61b5e342 Michael Hanselmann
- Other small bugfixes
1590 558fd122 Michael Hanselmann
1591 515d87eb Michael Hanselmann
.. vim: set textwidth=72 syntax=rst :
1592 9b94905f Iustin Pop
.. Local Variables:
1593 9b94905f Iustin Pop
.. mode: rst
1594 9b94905f Iustin Pop
.. fill-column: 72
1595 9b94905f Iustin Pop
.. End: