Statistics
| Branch: | Tag: | Revision:

root / NEWS @ f01738fc

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