]>
Commit | Line | Data |
---|---|---|
20effc67 TL |
1 | ========== |
2 | Cuttlefish | |
3 | ========== | |
4 | ||
5 | Cuttlefish is the 3rd stable release of Ceph. It is named after a type | |
6 | of cephalopod (order Sepiida) characterized by a unique internal shell, the | |
7 | cuttlebone, which is used for control of buoyancy. | |
8 | ||
11fdf7f2 TL |
9 | v0.61.9 "Cuttlefish" |
10 | ==================== | |
11 | ||
12 | This point release resolves several low to medium-impact bugs across | |
13 | the code base, and fixes a performance problem (CPU utilization) with | |
14 | radosgw. We recommend that all production cuttlefish users upgrade. | |
15 | ||
16 | Notable Changes | |
17 | --------------- | |
18 | ||
19 | * ceph, ceph-authtool: fix help (Danny Al-Gaaf) | |
20 | * ceph-disk: partprobe after creating journal partition | |
21 | * ceph-disk: specific fs type when mounting (Alfredo Deza) | |
22 | * ceph-fuse: fix bug when compiled against old versions | |
23 | * ceph-fuse: fix use-after-free in caching code (Yan, Zheng) | |
24 | * ceph-fuse: misc caching bugs | |
25 | * ceph.spec: remove incorrect mod_fcgi dependency (Gary Lowell) | |
26 | * crush: fix name caching | |
27 | * librbd: fix bug when unpausing cluster (Josh Durgin) | |
28 | * mds: fix LAZYIO lock hang | |
29 | * mds: fix bug in file size recovery (after client crash) | |
30 | * mon: fix paxos recovery corner case | |
31 | * osd: fix exponential backoff for slow request warnings (Loic Dachary) | |
32 | * osd: fix readdir_r usage | |
33 | * osd: fix startup for long-stopped OSDs | |
34 | * rgw: avoid std::list::size() to avoid wasting CPU cycles (Yehuda Sadeh) | |
35 | * rgw: drain pending requests during write (fixes data safety issue) (Yehuda Sadeh) | |
36 | * rgw: fix authenticated users group ACL check (Yehuda Sadeh) | |
37 | * rgw: fix bug in POST (Yehuda Sadeh) | |
38 | * rgw: fix sysvinit script 'status' command, return value (Danny Al-Gaaf) | |
39 | * rgw: reduce default log level (Yehuda Sadeh) | |
40 | ||
41 | For more detailed information, see :download:`the complete changelog <../changelog/v0.61.9.txt>`. | |
42 | ||
43 | v0.61.8 "Cuttlefish" | |
44 | ==================== | |
45 | ||
46 | This release includes a number of important issues, including rare | |
47 | race conditions in the OSD, a few monitor bugs, and fixes for RBD | |
48 | flush behavior. We recommend that production users upgrade at their | |
49 | convenience. | |
50 | ||
51 | Notable Changes | |
52 | --------------- | |
53 | ||
54 | * librados: fix async aio completion wakeup | |
55 | * librados: fix aio completion locking | |
56 | * librados: fix rare deadlock during shutdown | |
57 | * osd: fix race when queueing recovery operations | |
58 | * osd: fix possible race during recovery | |
59 | * osd: optionally preload rados classes on startup (disabled by default) | |
60 | * osd: fix journal replay corner condition | |
61 | * osd: limit size of peering work queue batch (to speed up peering) | |
62 | * mon: fix paxos recovery corner case | |
63 | * mon: fix rare hang when monmap updates during an election | |
64 | * mon: make 'osd pool mksnap ...' avoid exposing uncommitted state | |
65 | * mon: make 'osd pool rmsnap ...' not racy, avoid exposing uncommitted state | |
66 | * mon: fix bug during mon cluster expansion | |
67 | * rgw: fix crash during multi delete operation | |
68 | * msgr: fix race conditions during osd network reinitialization | |
69 | * ceph-disk: apply mount options when remounting | |
70 | ||
71 | For more detailed information, see :download:`the complete changelog <../changelog/v0.61.8.txt>`. | |
72 | ||
73 | ||
74 | v0.61.7 "Cuttlefish" | |
75 | ==================== | |
76 | ||
77 | This release fixes another regression preventing monitors to start after | |
78 | undergoing certain upgrade sequences, as well as some corner cases with | |
79 | Paxos and support for unusual device names in ceph-disk/ceph-deploy. | |
80 | ||
81 | Notable Changes | |
82 | --------------- | |
83 | ||
84 | * mon: fix regression in latest full osdmap retrieval | |
85 | * mon: fix a long-standing bug in a paxos corner case | |
86 | * ceph-disk: improved support for unusual device names (e.g., /dev/cciss/c0d0) | |
87 | ||
88 | For more detailed information, see :download:`the complete changelog <../changelog/v0.61.7.txt>`. | |
89 | ||
90 | ||
91 | v0.61.6 "Cuttlefish" | |
92 | ==================== | |
93 | ||
94 | This release fixes a regression in v0.61.5 that could prevent monitors | |
95 | from restarting. This affects any cluster that was upgraded from a | |
96 | previous version of Ceph (and not freshly created with v0.61.5). | |
97 | ||
98 | All users are strongly recommended to upgrade. | |
99 | ||
100 | Notable Changes | |
101 | --------------- | |
102 | ||
103 | * mon: record latest full osdmap | |
104 | * mon: work around previous bug in which latest full osdmap is not recorded | |
105 | * mon: avoid scrub while updating | |
106 | ||
107 | For more detailed information, see :download:`the complete changelog <../changelog/v0.61.6.txt>`. | |
108 | ||
109 | ||
110 | v0.61.5 "Cuttlefish" | |
111 | ==================== | |
112 | ||
113 | This release most improves stability of the monitor and fixes a few | |
114 | bugs with the ceph-disk utility (used by ceph-deploy). We recommend | |
115 | that all v0.61.x users upgrade. | |
116 | ||
117 | Upgrading | |
118 | --------- | |
119 | ||
120 | * This release fixes a 32-bit vs 64-bit arithmetic bug with the | |
121 | feature bits. An unfortunate consequence of the fix is that 0.61.4 | |
122 | (or earlier) ceph-mon daemons can't form a quorum with 0.61.5 (or | |
123 | later) monitors. To avoid the possibility of service disruption, we | |
124 | recommend you upgrade all monitors at once. | |
125 | ||
126 | Notable Changes | |
127 | --------------- | |
128 | ||
129 | * mon: misc sync improvements (faster, more reliable, better tuning) | |
130 | * mon: enable leveldb cache by default (big performance improvement) | |
131 | * mon: new scrub feature (primarily for diagnostic, testing purposes) | |
132 | * mon: fix occasional leveldb assertion on startup | |
133 | * mon: prevent reads until initial state is committed | |
134 | * mon: improved logic for trimming old osdmaps | |
135 | * mon: fix pick_addresses bug when expanding mon cluster | |
136 | * mon: several small paxos fixes, improvements | |
137 | * mon: fix bug osdmap trim behavior | |
138 | * osd: fix several bugs with PG stat reporting | |
139 | * osd: limit number of maps shared with peers (which could cause domino failures) | |
140 | * rgw: fix radosgw-admin buckets list (for all buckets) | |
141 | * mds: fix occasional client failure to reconnect | |
142 | * mds: fix bad list traversal after unlink | |
143 | * mds: fix underwater dentry cleanup (occasional crash after mds restart) | |
144 | * libcephfs, ceph-fuse: fix occasional hangs on umount | |
145 | * libcephfs, ceph-fuse: fix old bug with O_LAZY vs O_NOATIME confusion | |
146 | * ceph-disk: more robust journal device detection on RHEL/CentOS | |
147 | * ceph-disk: better, simpler locking | |
148 | * ceph-disk: do not inadvertantely mount over existing osd mounts | |
149 | * ceph-disk: better handling for unusual device names | |
150 | * sysvinit, upstart: handle symlinks in /var/lib/ceph/* | |
151 | ||
152 | For more detailed information, see :download:`the complete changelog <../changelog/v0.61.5.txt>`. | |
153 | ||
154 | ||
155 | v0.61.4 "Cuttlefish" | |
156 | ==================== | |
157 | ||
158 | This release resolves a possible data corruption on power-cycle when | |
159 | using XFS, a few outstanding problems with monitor sync, several | |
160 | problems with ceph-disk and ceph-deploy operation, and a problem with | |
161 | OSD memory usage during scrub. | |
162 | ||
163 | Upgrading | |
164 | --------- | |
165 | ||
166 | * No issues. | |
167 | ||
168 | Notable Changes | |
169 | --------------- | |
170 | ||
171 | * mon: fix daemon exit behavior when error is encountered on startup | |
172 | * mon: more robust sync behavior | |
173 | * osd: do not use sync_file_range(2), posix_fadvise(...DONTNEED) (can cause data corruption on power loss on XFS) | |
174 | * osd: avoid unnecessary log rewrite (improves peering speed) | |
175 | * osd: fix scrub efficiency bug (problematic on old clusters) | |
176 | * rgw: fix listing objects that start with underscore | |
177 | * rgw: fix deep URI resource, CORS bugs | |
178 | * librados python binding: fix truncate on 32-bit architectures | |
179 | * ceph-disk: fix udev rules | |
180 | * rpm: install sysvinit script on package install | |
181 | * ceph-disk: fix OSD start on machine reboot on Debian wheezy | |
182 | * ceph-disk: activate OSD when journal device appears second | |
183 | * ceph-disk: fix various bugs on RHEL/CentOS 6.3 | |
184 | * ceph-disk: add 'zap' command | |
185 | * ceph-disk: add '[un]suppress-activate' command for preparing spare disks | |
186 | * upstart: start on runlevel [2345] (instead of after the first network interface starts) | |
187 | * ceph-fuse, libcephfs: handle mds session reset during session open | |
188 | * ceph-fuse, libcephfs: fix two capability revocation bugs | |
189 | * ceph-fuse: fix thread creation on startup | |
190 | * all daemons: create /var/run/ceph directory on startup if missing | |
191 | ||
192 | For more detailed information, see :download:`the complete changelog <../changelog/v0.61.4.txt>`. | |
193 | ||
194 | ||
195 | v0.61.3 "Cuttlefish" | |
196 | ==================== | |
197 | ||
198 | This release resolves a number of problems with the monitors and leveldb that users have | |
199 | been seeing. Please upgrade. | |
200 | ||
201 | Upgrading | |
202 | --------- | |
203 | ||
204 | * There is one known problem with mon upgrades from bobtail. If the | |
205 | ceph-mon conversion on startup is aborted or fails for some reason, we | |
206 | do not correctly error out, but instead continue with (in certain cases) | |
207 | odd results. Please be careful if you have to restart the mons during | |
208 | the upgrade. A 0.61.4 release with a fix will be out shortly. | |
209 | ||
210 | * In the meantime, for current cuttlefish users, v0.61.3 is safe to use. | |
211 | ||
212 | ||
213 | Notable Changes | |
214 | --------------- | |
215 | ||
216 | * mon: paxos state trimming fix (resolves runaway disk usage) | |
217 | * mon: finer-grained compaction on trim | |
218 | * mon: discard messages from disconnected clients (lowers load) | |
219 | * mon: leveldb compaction and other stats available via admin socket | |
220 | * mon: async compaction (lower overhead) | |
221 | * mon: fix bug incorrectly marking osds down with insufficient failure reports | |
222 | * osd: fixed small bug in pg request map | |
223 | * osd: avoid rewriting pg info on every osdmap | |
224 | * osd: avoid internal heartbeta timeouts when scrubbing very large objects | |
225 | * osd: fix narrow race with journal replay | |
226 | * mon: fixed narrow pg split race | |
227 | * rgw: fix leaked space when copying object | |
228 | * rgw: fix iteration over large/untrimmed usage logs | |
229 | * rgw: fix locking issue with ops log socket | |
230 | * rgw: require matching version of librados | |
231 | * librbd: make image creation defaults configurable (e.g., create format 2 images via qemu-img) | |
232 | * fix units in 'ceph df' output | |
233 | * debian: fix prerm/postinst hooks to start/stop daemons appropriately | |
234 | * upstart: allow uppercase daemons names (and thus hostnames) | |
235 | * sysvinit: fix enumeration of local daemons by type | |
236 | * sysvinit: fix osd weight calcuation when using -a | |
237 | * fix build on unsigned char platforms (e.g., arm) | |
238 | ||
239 | For more detailed information, see :download:`the complete changelog <../changelog/v0.61.3.txt>`. | |
240 | ||
241 | ||
242 | v0.61.2 "Cuttlefish" | |
243 | ==================== | |
244 | ||
245 | This release disables a monitor debug log that consumes disk space and | |
246 | fixes a bug when upgrade some monitors from bobtail to cuttlefish. | |
247 | ||
248 | Notable Changes | |
249 | --------------- | |
250 | ||
251 | * mon: fix conversion of stores with duplicated GV values | |
252 | * mon: disable 'mon debug dump transactions' by default | |
253 | ||
254 | For more detailed information, see :download:`the complete changelog <../changelog/v0.61.2.txt>`. | |
255 | ||
256 | ||
257 | v0.61.1 "Cuttlefish" | |
258 | ==================== | |
259 | ||
260 | This release fixes a problem when upgrading a bobtail cluster that had | |
261 | snapshots to cuttlefish. | |
262 | ||
263 | Notable Changes | |
264 | --------------- | |
265 | ||
266 | * osd: handle upgrade when legacy snap collections are present; repair from previous failed restart | |
267 | * ceph-create-keys: fix race with ceph-mon startup (which broke 'ceph-deploy gatherkeys ...') | |
268 | * ceph-create-keys: gracefully handle bad response from ceph-osd | |
269 | * sysvinit: do not assume default osd_data when automatically weighting OSD | |
270 | * osd: avoid crash from ill-behaved classes using getomapvals | |
271 | * debian: fix squeeze dependency | |
272 | * mon: debug options to log or dump leveldb transactions | |
273 | ||
274 | For more detailed information, see :download:`the complete changelog <../changelog/v0.61.1.txt>`. | |
275 | ||
276 | v0.61 "Cuttlefish" | |
277 | ================== | |
278 | ||
279 | Upgrading from v0.60 | |
280 | -------------------- | |
281 | ||
282 | * The ceph-deploy tool is now the preferred method of provisioning | |
283 | new clusters. For existing clusters created via mkcephfs that | |
284 | would like to transition to the new tool, there is a migration | |
285 | path, documented at `Transitioning to ceph-deploy`_. | |
286 | ||
287 | ||
288 | * The sysvinit script (/etc/init.d/ceph) will now verify (and, if | |
289 | necessary, update) the OSD's position in the CRUSH map on startup. | |
290 | (The upstart script has always worked this way.) By default, this | |
291 | ensures that the OSD is under a 'host' with a name that matches the | |
292 | hostname (``hostname -s``). Legacy clusters create with mkcephfs do | |
293 | this by default, so this should not cause any problems, but legacy | |
294 | clusters with customized CRUSH maps with an alternate structure | |
295 | should set ``osd crush update on start = false``. | |
296 | ||
297 | * radosgw-admin now uses the term zone instead of cluster to describe | |
298 | each instance of the radosgw data store (and corresponding | |
299 | collection of radosgw daemons). The usage for the radosgw-admin | |
300 | command and the 'rgw zone root pool' config options have changed | |
301 | accordingly. | |
302 | ||
303 | * rbd progress indicators now go to standard error instead of standard | |
304 | out. (You can disable progress with --no-progress.) | |
305 | ||
306 | * The 'rbd resize ...' command now requires the --allow-shrink option | |
307 | when resizing to a smaller size. Expanding images to a larger size | |
308 | is unchanged. | |
309 | ||
310 | * Please review the changes going back to 0.56.4 if you are upgrading | |
311 | all the way from bobtail. | |
312 | ||
313 | * The old 'ceph stop_cluster' command has been removed. | |
314 | ||
315 | * The sysvinit script now uses the ceph.conf file on the remote host | |
316 | when starting remote daemons via the '-a' option. Note that if '-a' | |
317 | is used in conjunction with '-c path', the path must also be present | |
318 | on the remote host (it is not copied to a temporary file, as it was | |
319 | previously). | |
320 | ||
321 | ||
322 | Upgrading from v0.56.4 "Bobtail" | |
323 | -------------------------------- | |
324 | ||
325 | Please see `Upgrading from Bobtail to Cuttlefish`_ for details. | |
326 | ||
327 | .. _Upgrading from Bobtail to Cuttlefish: ../install/upgrading-ceph/#upgrading-from-bobtail-to-cuttlefish | |
328 | ||
329 | * The ceph-deploy tool is now the preferred method of provisioning | |
330 | new clusters. For existing clusters created via mkcephfs that | |
331 | would like to transition to the new tool, there is a migration | |
332 | path, documented at `Transitioning to ceph-deploy`_. | |
333 | ||
334 | .. _Transitioning to ceph-deploy: ../rados/deployment/ceph-deploy-transition | |
335 | ||
336 | * The sysvinit script (/etc/init.d/ceph) will now verify (and, if | |
337 | necessary, update) the OSD's position in the CRUSH map on startup. | |
338 | (The upstart script has always worked this way.) By default, this | |
339 | ensures that the OSD is under a 'host' with a name that matches the | |
340 | hostname (``hostname -s``). Legacy clusters create with mkcephfs do | |
341 | this by default, so this should not cause any problems, but legacy | |
342 | clusters with customized CRUSH maps with an alternate structure | |
343 | should set ``osd crush update on start = false``. | |
344 | ||
345 | * radosgw-admin now uses the term zone instead of cluster to describe | |
346 | each instance of the radosgw data store (and corresponding | |
347 | collection of radosgw daemons). The usage for the radosgw-admin | |
348 | command and the 'rgw zone root pool' config options have changed | |
349 | accordingly. | |
350 | ||
351 | * rbd progress indicators now go to standard error instead of standard | |
352 | out. (You can disable progress with --no-progress.) | |
353 | ||
354 | * The 'rbd resize ...' command now requires the --allow-shrink option | |
355 | when resizing to a smaller size. Expanding images to a larger size | |
356 | is unchanged. | |
357 | ||
358 | * Please review the changes going back to 0.56.4 if you are upgrading | |
359 | all the way from bobtail. | |
360 | ||
361 | * The old 'ceph stop_cluster' command has been removed. | |
362 | ||
363 | * The sysvinit script now uses the ceph.conf file on the remote host | |
364 | when starting remote daemons via the '-a' option. Note that if '-a' | |
365 | is used in conjunction with '-c path', the path must also be present | |
366 | on the remote host (it is not copied to a temporary file, as it was | |
367 | previously). | |
368 | ||
369 | * The monitor is using a completely new storage strategy and | |
370 | intra-cluster protocol. This means that cuttlefish and bobtail | |
371 | monitors do not talk to each other. When you upgrade each one, it | |
372 | will convert its local data store to the new format. Once you | |
373 | upgrade a majority, the quorum will be formed using the new protocol | |
374 | and the old monitors will be blocked out until they too get | |
375 | upgraded. For this reason, we recommend not running a mixed-version | |
376 | cluster for very long. | |
377 | ||
378 | * ceph-mon now requires the creation of its data directory prior to | |
379 | --mkfs, similarly to what happens on ceph-osd. This directory is no | |
380 | longer automatically created, and custom scripts should be adjusted to | |
381 | reflect just that. | |
382 | ||
383 | * The monitor now enforces that MDS names be unique. If you have | |
384 | multiple daemons start with with the same id (e.g., ``mds.a``) the | |
385 | second one will implicitly mark the first as failed. This makes | |
386 | things less confusing and makes a daemon restart faster (we no | |
387 | longer wait for the stopped daemon to time out) but existing | |
388 | multi-mds configurations may need to be adjusted accordingly to give | |
389 | daemons unique names. | |
390 | ||
391 | * The 'ceph osd pool delete <poolname>' and 'rados rmpool <poolname>' | |
392 | now have safety interlocks with loud warnings that make you confirm | |
393 | pool removal. Any scripts currently rely on these functions zapping | |
394 | data without confirmation need to be adjusted accordingly. | |
395 | ||
396 | ||
397 | Notable Changes from v0.60 | |
398 | -------------------------- | |
399 | ||
400 | * rbd: incremental backups | |
401 | * rbd: only set STRIPINGV2 feature if striping parameters are incompatible with old versions | |
402 | * rbd: require --allow-shrink for resizing images down | |
403 | * librbd: many bug fixes | |
404 | * rgw: management REST API | |
405 | * rgw: fix object corruption on COPY to self | |
406 | * rgw: new sysvinit script for rpm-based systems | |
407 | * rgw: allow buckets with '_' | |
408 | * rgw: CORS support | |
409 | * mon: many fixes | |
410 | * mon: improved trimming behavior | |
411 | * mon: fix data conversion/upgrade problem (from bobtail) | |
412 | * mon: ability to tune leveldb | |
413 | * mon: config-keys service to store arbitrary data on monitor | |
414 | * mon: 'osd crush add|link|unlink|add-bucket ...' commands | |
415 | * mon: trigger leveldb compaction on trim | |
416 | * osd: per-rados pool quotas (objects, bytes) | |
417 | * osd: tool to export, import, and delete PGs from an individual OSD data store | |
418 | * osd: notify mon on clean shutdown to avoid IO stall | |
419 | * osd: improved detection of corrupted journals | |
420 | * osd: ability to tune leveldb | |
421 | * osd: improve client request throttling | |
422 | * osd, librados: fixes to the LIST_SNAPS operation | |
423 | * osd: improvements to scrub error repair | |
424 | * osd: better prevention of wedging OSDs with ENOSPC | |
425 | * osd: many small fixes | |
426 | * mds: fix xattr handling on root inode | |
427 | * mds: fixed bugs in journal replay | |
428 | * mds: many fixes | |
429 | * librados: clean up snapshot constant definitions | |
430 | * libcephfs: calls to query CRUSH topology (used by Hadoop) | |
431 | * ceph-fuse, libcephfs: misc fixes to mds session management | |
432 | * ceph-fuse: disabled cache invalidation (again) due to potential deadlock with kernel | |
433 | * sysvinit: try to start all daemons despite early failures | |
434 | * ceph-disk: new 'list' command | |
435 | * ceph-disk: hotplug fixes for RHEL/CentOS | |
436 | * ceph-disk: fix creation of OSD data partitions on >2TB disks | |
437 | * osd: fix udev rules for RHEL/CentOS systems | |
438 | * fix daemon logging during initial startup | |
439 | ||
440 | Notable changes from v0.56 "Bobtail" | |
441 | ------------------------------------ | |
442 | * always use installed system leveldb (Gary Lowell) | |
443 | * auth: ability to require new cephx signatures on messages (still off by default) | |
444 | * buffer unit testing (Loic Dachary) | |
445 | * ceph tool: some CLI interface cleanups | |
446 | * ceph-disk: improve multicluster support, error handling (Sage Weil) | |
447 | * ceph-disk: support for dm-crypt (Alexandre Marangone) | |
448 | * ceph-disk: support for sysvinit, directories or partitions (not full disks) | |
449 | * ceph-disk: fix mkfs args on old distros (Alexandre Marangone) | |
450 | * ceph-disk: fix creation of OSD data partitions on >2TB disks | |
451 | * ceph-disk: hotplug fixes for RHEL/CentOS | |
452 | * ceph-disk: new 'list' command | |
453 | * ceph-fuse, libcephfs: misc fixes to mds session management | |
454 | * ceph-fuse: disabled cache invalidation (again) due to potential deadlock with kernel | |
455 | * ceph-fuse: enable kernel cache invalidation (Sam Lang) | |
456 | * ceph-fuse: fix statfs(2) reporting | |
457 | * ceph-fuse: session handling cleanup, bug fixes (Sage Weil) | |
458 | * crush: ability to create, remove rules via CLI | |
459 | * crush: update weights for all instances of an item, not just the first (Sage Weil) | |
460 | * fix daemon logging during initial startup | |
461 | * fixed log rotation (Gary Lowell) | |
462 | * init-ceph, mkcephfs: close a few security holes with -a (Sage Weil) | |
463 | * libcephfs: calls to query CRUSH topology (used by Hadoop) | |
464 | * libcephfs: many fixes, cleanups with the Java bindings | |
465 | * libcephfs: new topo API requests for Hadoop (Noah Watkins) | |
466 | * librados: clean up snapshot constant definitions | |
467 | * librados: fix linger bugs (Josh Durgin) | |
468 | * librbd: fixed flatten deadlock (Josh Durgin) | |
469 | * librbd: fixed some locking issues with flatten (Josh Durgin) | |
470 | * librbd: many bug fixes | |
471 | * librbd: optionally wait for flush before enabling writeback (Josh Durgin) | |
472 | * many many cleanups (Danny Al-Gaaf) | |
473 | * mds, ceph-fuse: fix bugs with replayed requests after MDS restart (Sage Weil) | |
474 | * mds, ceph-fuse: manage layouts via xattrs | |
475 | * mds: allow xattrs on root | |
476 | * mds: fast failover between MDSs (enforce unique mds names) | |
477 | * mds: fix xattr handling on root inode | |
478 | * mds: fixed bugs in journal replay | |
479 | * mds: improve session cleanup (Sage Weil) | |
480 | * mds: many fixes (Yan Zheng) | |
481 | * mds: misc bug fixes with clustered MDSs and failure recovery | |
482 | * mds: misc bug fixes with readdir | |
483 | * mds: new encoding for all data types (to allow forward/backward compatibility) (Greg Farnum) | |
484 | * mds: store and update backpointers/traces on directory, file objects (Sam Lang) | |
485 | * mon: 'osd crush add|link|unlink|add-bucket ...' commands | |
486 | * mon: ability to tune leveldb | |
487 | * mon: approximate recovery, IO workload stats | |
488 | * mon: avoid marking entire CRUSH subtrees out (e.g., if an entire rack goes offline) | |
489 | * mon: config-keys service to store arbitrary data on monitor | |
490 | * mon: easy adjustment of crush tunables via 'ceph osd crush tunables ...' | |
491 | * mon: easy creation of crush rules vai 'ceph osd rule ...' | |
492 | * mon: fix data conversion/upgrade problem (from bobtail) | |
493 | * mon: improved trimming behavior | |
494 | * mon: many fixes | |
495 | * mon: new 'ceph df [detail]' command | |
496 | * mon: new checks for identifying and reporting clock drift | |
497 | * mon: rearchitected to utilize single instance of paxos and a key/value store (Joao Luis) | |
498 | * mon: safety check for pool deletion | |
499 | * mon: shut down safely if disk approaches full (Joao Luis) | |
500 | * mon: trigger leveldb compaction on trim | |
501 | * msgr: fix comparison of IPv6 addresses (fixes monitor bringup via ceph-deploy, chef) | |
502 | * msgr: fixed race in connection reset | |
503 | * msgr: optionally tune TCP buffer size to avoid throughput collapse (Jim Schutt) | |
504 | * much code cleanup and optimization (Danny Al-Gaaf) | |
505 | * osd, librados: ability to list watchers (David Zafman) | |
506 | * osd, librados: fixes to the LIST_SNAPS operation | |
507 | * osd, librados: new listsnaps command (David Zafman) | |
508 | * osd: a few journaling bug fixes | |
509 | * osd: ability to tune leveldb | |
510 | * osd: add 'noscrub', 'nodeepscrub' osdmap flags (David Zafman) | |
511 | * osd: better prevention of wedging OSDs with ENOSPC | |
512 | * osd: ceph-filestore-dump tool for debugging | |
513 | * osd: connection handling bug fixes | |
514 | * osd: deep-scrub omap keys/values | |
515 | * osd: default to libaio for the journal (some performance boost) | |
516 | * osd: fix hang in 'journal aio = true' mode (Sage Weil) | |
517 | * osd: fix pg log trimming (avoids memory bloat on degraded clusters) | |
518 | * osd: fix udev rules for RHEL/CentOS systems | |
519 | * osd: fixed bug in journal checksums (Sam Just) | |
520 | * osd: improved client request throttling | |
521 | * osd: improved handling when disk fills up (David Zafman) | |
522 | * osd: improved journal corruption detection (Sam Just) | |
523 | * osd: improved detection of corrupted journals | |
524 | * osd: improvements to scrub error repair | |
525 | * osd: make tracking of object snapshot metadata more efficient (Sam Just) | |
526 | * osd: many small fixes | |
527 | * osd: misc fixes to PG split (Sam Just) | |
528 | * osd: move pg info, log into leveldb (== better performance) (David Zafman) | |
529 | * osd: notify mon on clean shutdown to avoid IO stall | |
530 | * osd: per-rados pool quotas (objects, bytes) | |
531 | * osd: refactored watch/notify infrastructure (fixes protocol, removes many bugs) (Sam Just) | |
532 | * osd: support for improved hashing of PGs across OSDs via HASHPSPOOL pool flag and feature | |
533 | * osd: tool to export, import, and delete PGs from an individual OSD data store | |
534 | * osd: trim log more aggressively, avoid appearance of leak memory | |
535 | * osd: validate snap collections on startup | |
536 | * osd: verify snap collections on startup (Sam Just) | |
537 | * radosgw: ACL grants in headers (Caleb Miles) | |
538 | * radosgw: ability to listen to fastcgi via a port (Guilhem Lettron) | |
539 | * radosgw: fix object copy onto self (Yehuda Sadeh) | |
540 | * radosgw: misc fixes | |
541 | * rbd-fuse: new tool, package | |
542 | * rbd: avoid FIEMAP when importing from file (it can be buggy) | |
543 | * rbd: incremental backups | |
544 | * rbd: only set STRIPINGV2 feature if striping parameters are incompatible with old versions | |
545 | * rbd: require --allow-shrink for resizing images down | |
546 | * rbd: udevadm settle on map/unmap to avoid various races (Dan Mick) | |
547 | * rbd: wait for udev to settle in strategic places (avoid spurious errors, failures) | |
548 | * rgw: CORS support | |
549 | * rgw: allow buckets with '_' | |
550 | * rgw: fix Content-Length on 32-bit machines (Jan Harkes) | |
551 | * rgw: fix log rotation | |
552 | * rgw: fix object corruption on COPY to self | |
553 | * rgw: fixed >4MB range requests (Jan Harkes) | |
554 | * rgw: new sysvinit script for rpm-based systems | |
555 | * rpm/deb: do not remove /var/lib/ceph on purge (v0.59 was the only release to do so) | |
556 | * sysvinit: try to start all daemons despite early failures | |
557 | * upstart: automatically set osd weight based on df (Guilhem Lettron) | |
558 | * use less memory for logging by default | |
559 | ||
560 | ||
561 | v0.60 | |
562 | ===== | |
563 | ||
564 | Upgrading | |
565 | --------- | |
566 | ||
567 | * Please note that the recently added librados 'list_snaps' function | |
568 | call is in a state of flux and is changing slightly in v0.61. You | |
569 | are advised not to make use of it in v0.59 or v0.60. | |
570 | ||
571 | Notable Changes | |
572 | --------------- | |
573 | ||
574 | * osd: make tracking of object snapshot metadata more efficient (Sam Just) | |
575 | * osd: misc fixes to PG split (Sam Just) | |
576 | * osd: improve journal corruption detection (Sam Just) | |
577 | * osd: improve handling when disk fills up (David Zafman) | |
578 | * osd: add 'noscrub', 'nodeepscrub' osdmap flags (David Zafman) | |
579 | * osd: fix hang in 'journal aio = true' mode (Sage Weil) | |
580 | * ceph-disk-prepare: fix mkfs args on old distros (Alexandre Marangone) | |
581 | * ceph-disk-activate: improve multicluster support, error handling (Sage Weil) | |
582 | * librbd: optionally wait for flush before enabling writeback (Josh Durgin) | |
583 | * crush: update weights for all instances of an item, not just the first (Sage Weil) | |
584 | * mon: shut down safely if disk approaches full (Joao Luis) | |
585 | * rgw: fix Content-Length on 32-bit machines (Jan Harkes) | |
586 | * mds: store and update backpointers/traces on directory, file objects (Sam Lang) | |
587 | * mds: improve session cleanup (Sage Weil) | |
588 | * mds, ceph-fuse: fix bugs with replayed requests after MDS restart (Sage Weil) | |
589 | * ceph-fuse: enable kernel cache invalidation (Sam Lang) | |
590 | * libcephfs: new topo API requests for Hadoop (Noah Watkins) | |
591 | * ceph-fuse: session handling cleanup, bug fixes (Sage Weil) | |
592 | * much code cleanup and optimization (Danny Al-Gaaf) | |
593 | * use less memory for logging by default | |
594 | * upstart: automatically set osd weight based on df (Guilhem Lettron) | |
595 | * init-ceph, mkcephfs: close a few security holes with -a (Sage Weil) | |
596 | * rpm/deb: do not remove /var/lib/ceph on purge (v0.59 was the only release to do so) | |
597 | ||
598 | ||
599 | v0.59 | |
600 | ===== | |
601 | ||
602 | Upgrading | |
603 | --------- | |
604 | ||
605 | * The monitor is using a completely new storage strategy and | |
606 | intra-cluster protocol. This means that v0.59 and pre-v0.59 | |
607 | monitors do not talk to each other. When you upgrade each one, it | |
608 | will convert its local data store to the new format. Once you | |
609 | upgrade a majority, the quorum will be formed using the new protocol | |
610 | and the old monitors will be blocked out until they too get | |
611 | upgraded. For this reason, we recommend not running a mixed-version | |
612 | cluster for very long. | |
613 | ||
614 | * ceph-mon now requires the creation of its data directory prior to | |
615 | --mkfs, similarly to what happens on ceph-osd. This directory is no | |
616 | longer automatically created, and custom scripts should be adjusted to | |
617 | reflect just that. | |
618 | ||
619 | ||
620 | Notable Changes | |
621 | --------------- | |
622 | ||
623 | * mon: rearchitected to utilize single instance of paxos and a key/value store (Joao Luis) | |
624 | * mon: new 'ceph df [detail]' command | |
625 | * osd: support for improved hashing of PGs across OSDs via HASHPSPOOL pool flag and feature | |
626 | * osd: refactored watch/notify infrastructure (fixes protocol, removes many bugs) (Sam Just) | |
627 | * osd, librados: ability to list watchers (David Zafman) | |
628 | * osd, librados: new listsnaps command (David Zafman) | |
629 | * osd: trim log more aggressively, avoid appearance of leak memory | |
630 | * osd: misc split fixes | |
631 | * osd: a few journaling bug fixes | |
632 | * osd: connection handling bug fixes | |
633 | * rbd: avoid FIEMAP when importing from file (it can be buggy) | |
634 | * librados: fix linger bugs (Josh Durgin) | |
635 | * librbd: fixed flatten deadlock (Josh Durgin) | |
636 | * rgw: fixed >4MB range requests (Jan Harkes) | |
637 | * rgw: fix log rotation | |
638 | * mds: allow xattrs on root | |
639 | * ceph-fuse: fix statfs(2) reporting | |
640 | * msgr: optionally tune TCP buffer size to avoid throughput collapse (Jim Schutt) | |
641 | * consume less memory for logging by default | |
642 | * always use system leveldb (Gary Lowell) | |
643 | ||
644 | ||
645 | ||
646 | v0.58 | |
647 | ===== | |
648 | ||
649 | Upgrading | |
650 | --------- | |
651 | ||
652 | * The monitor now enforces that MDS names be unique. If you have | |
653 | multiple daemons start with with the same id (e.g., ``mds.a``) the | |
654 | second one will implicitly mark the first as failed. This makes | |
655 | things less confusing and makes a daemon restart faster (we no | |
656 | longer wait for the stopped daemon to time out) but existing | |
657 | multi-mds configurations may need to be adjusted accordingly to give | |
658 | daemons unique names. | |
659 | ||
660 | Notable Changes | |
661 | --------------- | |
662 | ||
663 | * librbd: fixed some locking issues with flatten (Josh Durgin) | |
664 | * rbd: udevadm settle on map/unmap to avoid various races (Dan Mick) | |
665 | * osd: move pg info, log into leveldb (== better performance) (David Zafman) | |
666 | * osd: fix pg log trimming (avoids memory bloat on degraded clusters) | |
667 | * osd: fixed bug in journal checksums (Sam Just) | |
668 | * osd: verify snap collections on startup (Sam Just) | |
669 | * ceph-disk-prepare/activate: support for dm-crypt (Alexandre Marangone) | |
670 | * ceph-disk-prepare/activate: support for sysvinit, directories or partitions (not full disks) | |
671 | * msgr: fixed race in connection reset | |
672 | * msgr: fix comparison of IPv6 addresses (fixes monitor bringup via ceph-deploy, chef) | |
673 | * radosgw: fix object copy onto self (Yehuda Sadeh) | |
674 | * radosgw: ACL grants in headers (Caleb Miles) | |
675 | * radosgw: ability to listen to fastcgi via a port (Guilhem Lettron) | |
676 | * mds: new encoding for all data types (to allow forward/backward compatibility) (Greg Farnum) | |
677 | * mds: fast failover between MDSs (enforce unique mds names) | |
678 | * crush: ability to create, remove rules via CLI | |
679 | * many many cleanups (Danny Al-Gaaf) | |
680 | * buffer unit testing (Loic Dachary) | |
681 | * fixed log rotation (Gary Lowell) | |
682 | ||
683 | v0.57 | |
684 | ===== | |
685 | ||
686 | This development release has a lot of additional functionality | |
687 | accumulated over the last couple months. Most of the bug fixes (with | |
688 | the notable exception of the MDS related work) has already been | |
689 | backported to v0.56.x, and is not mentioned here. | |
690 | ||
691 | Upgrading | |
692 | --------- | |
693 | ||
694 | * The 'ceph osd pool delete <poolname>' and 'rados rmpool <poolname>' | |
695 | now have safety interlocks with loud warnings that make you confirm | |
696 | pool removal. Any scripts currently rely on these functions zapping | |
697 | data without confirmation need to be adjusted accordingly. | |
698 | ||
699 | Notable Changes | |
700 | --------------- | |
701 | ||
702 | * osd: default to libaio for the journal (some performance boost) | |
703 | * osd: validate snap collections on startup | |
704 | * osd: ceph-filestore-dump tool for debugging | |
705 | * osd: deep-scrub omap keys/values | |
706 | * ceph tool: some CLI interface cleanups | |
707 | * mon: easy adjustment of crush tunables via 'ceph osd crush tunables ...' | |
708 | * mon: easy creation of crush rules vai 'ceph osd rule ...' | |
709 | * mon: approximate recovery, IO workload stats | |
710 | * mon: avoid marking entire CRUSH subtrees out (e.g., if an entire rack goes offline) | |
711 | * mon: safety check for pool deletion | |
712 | * mon: new checks for identifying and reporting clock drift | |
713 | * radosgw: misc fixes | |
714 | * rbd: wait for udev to settle in strategic places (avoid spurious errors, failures) | |
715 | * rbd-fuse: new tool, package | |
716 | * mds, ceph-fuse: manage layouts via xattrs | |
717 | * mds: misc bug fixes with clustered MDSs and failure recovery | |
718 | * mds: misc bug fixes with readdir | |
719 | * libcephfs: many fixes, cleanups with the Java bindings | |
720 | * auth: ability to require new cephx signatures on messages (still off by default) |