From e6918187568dbd01842d8d1d2c808ce16a894239 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 21 Apr 2024 13:54:28 +0200 Subject: Adding upstream version 18.2.2. Signed-off-by: Daniel Baumann --- doc/releases/cuttlefish.rst | 720 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 720 insertions(+) create mode 100644 doc/releases/cuttlefish.rst (limited to 'doc/releases/cuttlefish.rst') diff --git a/doc/releases/cuttlefish.rst b/doc/releases/cuttlefish.rst new file mode 100644 index 000000000..a7ebaa3d8 --- /dev/null +++ b/doc/releases/cuttlefish.rst @@ -0,0 +1,720 @@ +========== +Cuttlefish +========== + +Cuttlefish is the 3rd stable release of Ceph. It is named after a type +of cephalopod (order Sepiida) characterized by a unique internal shell, the +cuttlebone, which is used for control of buoyancy. + +v0.61.9 "Cuttlefish" +==================== + +This point release resolves several low to medium-impact bugs across +the code base, and fixes a performance problem (CPU utilization) with +radosgw. We recommend that all production cuttlefish users upgrade. + +Notable Changes +--------------- + +* ceph, ceph-authtool: fix help (Danny Al-Gaaf) +* ceph-disk: partprobe after creating journal partition +* ceph-disk: specific fs type when mounting (Alfredo Deza) +* ceph-fuse: fix bug when compiled against old versions +* ceph-fuse: fix use-after-free in caching code (Yan, Zheng) +* ceph-fuse: misc caching bugs +* ceph.spec: remove incorrect mod_fcgi dependency (Gary Lowell) +* crush: fix name caching +* librbd: fix bug when unpausing cluster (Josh Durgin) +* mds: fix LAZYIO lock hang +* mds: fix bug in file size recovery (after client crash) +* mon: fix paxos recovery corner case +* osd: fix exponential backoff for slow request warnings (Loic Dachary) +* osd: fix readdir_r usage +* osd: fix startup for long-stopped OSDs +* rgw: avoid std::list::size() to avoid wasting CPU cycles (Yehuda Sadeh) +* rgw: drain pending requests during write (fixes data safety issue) (Yehuda Sadeh) +* rgw: fix authenticated users group ACL check (Yehuda Sadeh) +* rgw: fix bug in POST (Yehuda Sadeh) +* rgw: fix sysvinit script 'status' command, return value (Danny Al-Gaaf) +* rgw: reduce default log level (Yehuda Sadeh) + +For more detailed information, see :download:`the complete changelog <../changelog/v0.61.9.txt>`. + +v0.61.8 "Cuttlefish" +==================== + +This release includes a number of important issues, including rare +race conditions in the OSD, a few monitor bugs, and fixes for RBD +flush behavior. We recommend that production users upgrade at their +convenience. + +Notable Changes +--------------- + +* librados: fix async aio completion wakeup +* librados: fix aio completion locking +* librados: fix rare deadlock during shutdown +* osd: fix race when queueing recovery operations +* osd: fix possible race during recovery +* osd: optionally preload rados classes on startup (disabled by default) +* osd: fix journal replay corner condition +* osd: limit size of peering work queue batch (to speed up peering) +* mon: fix paxos recovery corner case +* mon: fix rare hang when monmap updates during an election +* mon: make 'osd pool mksnap ...' avoid exposing uncommitted state +* mon: make 'osd pool rmsnap ...' not racy, avoid exposing uncommitted state +* mon: fix bug during mon cluster expansion +* rgw: fix crash during multi delete operation +* msgr: fix race conditions during osd network reinitialization +* ceph-disk: apply mount options when remounting + +For more detailed information, see :download:`the complete changelog <../changelog/v0.61.8.txt>`. + + +v0.61.7 "Cuttlefish" +==================== + +This release fixes another regression preventing monitors to start after +undergoing certain upgrade sequences, as well as some corner cases with +Paxos and support for unusual device names in ceph-disk/ceph-deploy. + +Notable Changes +--------------- + +* mon: fix regression in latest full osdmap retrieval +* mon: fix a long-standing bug in a paxos corner case +* ceph-disk: improved support for unusual device names (e.g., /dev/cciss/c0d0) + +For more detailed information, see :download:`the complete changelog <../changelog/v0.61.7.txt>`. + + +v0.61.6 "Cuttlefish" +==================== + +This release fixes a regression in v0.61.5 that could prevent monitors +from restarting. This affects any cluster that was upgraded from a +previous version of Ceph (and not freshly created with v0.61.5). + +All users are strongly recommended to upgrade. + +Notable Changes +--------------- + +* mon: record latest full osdmap +* mon: work around previous bug in which latest full osdmap is not recorded +* mon: avoid scrub while updating + +For more detailed information, see :download:`the complete changelog <../changelog/v0.61.6.txt>`. + + +v0.61.5 "Cuttlefish" +==================== + +This release most improves stability of the monitor and fixes a few +bugs with the ceph-disk utility (used by ceph-deploy). We recommend +that all v0.61.x users upgrade. + +Upgrading +--------- + +* This release fixes a 32-bit vs 64-bit arithmetic bug with the + feature bits. An unfortunate consequence of the fix is that 0.61.4 + (or earlier) ceph-mon daemons can't form a quorum with 0.61.5 (or + later) monitors. To avoid the possibility of service disruption, we + recommend you upgrade all monitors at once. + +Notable Changes +--------------- + +* mon: misc sync improvements (faster, more reliable, better tuning) +* mon: enable leveldb cache by default (big performance improvement) +* mon: new scrub feature (primarily for diagnostic, testing purposes) +* mon: fix occasional leveldb assertion on startup +* mon: prevent reads until initial state is committed +* mon: improved logic for trimming old osdmaps +* mon: fix pick_addresses bug when expanding mon cluster +* mon: several small paxos fixes, improvements +* mon: fix bug osdmap trim behavior +* osd: fix several bugs with PG stat reporting +* osd: limit number of maps shared with peers (which could cause domino failures) +* rgw: fix radosgw-admin buckets list (for all buckets) +* mds: fix occasional client failure to reconnect +* mds: fix bad list traversal after unlink +* mds: fix underwater dentry cleanup (occasional crash after mds restart) +* libcephfs, ceph-fuse: fix occasional hangs on umount +* libcephfs, ceph-fuse: fix old bug with O_LAZY vs O_NOATIME confusion +* ceph-disk: more robust journal device detection on RHEL/CentOS +* ceph-disk: better, simpler locking +* ceph-disk: do not inadvertantely mount over existing osd mounts +* ceph-disk: better handling for unusual device names +* sysvinit, upstart: handle symlinks in /var/lib/ceph/* + +For more detailed information, see :download:`the complete changelog <../changelog/v0.61.5.txt>`. + + +v0.61.4 "Cuttlefish" +==================== + +This release resolves a possible data corruption on power-cycle when +using XFS, a few outstanding problems with monitor sync, several +problems with ceph-disk and ceph-deploy operation, and a problem with +OSD memory usage during scrub. + +Upgrading +--------- + +* No issues. + +Notable Changes +--------------- + +* mon: fix daemon exit behavior when error is encountered on startup +* mon: more robust sync behavior +* osd: do not use sync_file_range(2), posix_fadvise(...DONTNEED) (can cause data corruption on power loss on XFS) +* osd: avoid unnecessary log rewrite (improves peering speed) +* osd: fix scrub efficiency bug (problematic on old clusters) +* rgw: fix listing objects that start with underscore +* rgw: fix deep URI resource, CORS bugs +* librados python binding: fix truncate on 32-bit architectures +* ceph-disk: fix udev rules +* rpm: install sysvinit script on package install +* ceph-disk: fix OSD start on machine reboot on Debian wheezy +* ceph-disk: activate OSD when journal device appears second +* ceph-disk: fix various bugs on RHEL/CentOS 6.3 +* ceph-disk: add 'zap' command +* ceph-disk: add '[un]suppress-activate' command for preparing spare disks +* upstart: start on runlevel [2345] (instead of after the first network interface starts) +* ceph-fuse, libcephfs: handle mds session reset during session open +* ceph-fuse, libcephfs: fix two capability revocation bugs +* ceph-fuse: fix thread creation on startup +* all daemons: create /var/run/ceph directory on startup if missing + +For more detailed information, see :download:`the complete changelog <../changelog/v0.61.4.txt>`. + + +v0.61.3 "Cuttlefish" +==================== + +This release resolves a number of problems with the monitors and leveldb that users have +been seeing. Please upgrade. + +Upgrading +--------- + +* There is one known problem with mon upgrades from bobtail. If the + ceph-mon conversion on startup is aborted or fails for some reason, we + do not correctly error out, but instead continue with (in certain cases) + odd results. Please be careful if you have to restart the mons during + the upgrade. A 0.61.4 release with a fix will be out shortly. + +* In the meantime, for current cuttlefish users, v0.61.3 is safe to use. + + +Notable Changes +--------------- + +* mon: paxos state trimming fix (resolves runaway disk usage) +* mon: finer-grained compaction on trim +* mon: discard messages from disconnected clients (lowers load) +* mon: leveldb compaction and other stats available via admin socket +* mon: async compaction (lower overhead) +* mon: fix bug incorrectly marking osds down with insufficient failure reports +* osd: fixed small bug in pg request map +* osd: avoid rewriting pg info on every osdmap +* osd: avoid internal heartbeta timeouts when scrubbing very large objects +* osd: fix narrow race with journal replay +* mon: fixed narrow pg split race +* rgw: fix leaked space when copying object +* rgw: fix iteration over large/untrimmed usage logs +* rgw: fix locking issue with ops log socket +* rgw: require matching version of librados +* librbd: make image creation defaults configurable (e.g., create format 2 images via qemu-img) +* fix units in 'ceph df' output +* debian: fix prerm/postinst hooks to start/stop daemons appropriately +* upstart: allow uppercase daemons names (and thus hostnames) +* sysvinit: fix enumeration of local daemons by type +* sysvinit: fix osd weight calcuation when using -a +* fix build on unsigned char platforms (e.g., arm) + +For more detailed information, see :download:`the complete changelog <../changelog/v0.61.3.txt>`. + + +v0.61.2 "Cuttlefish" +==================== + +This release disables a monitor debug log that consumes disk space and +fixes a bug when upgrade some monitors from bobtail to cuttlefish. + +Notable Changes +--------------- + +* mon: fix conversion of stores with duplicated GV values +* mon: disable 'mon debug dump transactions' by default + +For more detailed information, see :download:`the complete changelog <../changelog/v0.61.2.txt>`. + + +v0.61.1 "Cuttlefish" +==================== + +This release fixes a problem when upgrading a bobtail cluster that had +snapshots to cuttlefish. + +Notable Changes +--------------- + +* osd: handle upgrade when legacy snap collections are present; repair from previous failed restart +* ceph-create-keys: fix race with ceph-mon startup (which broke 'ceph-deploy gatherkeys ...') +* ceph-create-keys: gracefully handle bad response from ceph-osd +* sysvinit: do not assume default osd_data when automatically weighting OSD +* osd: avoid crash from ill-behaved classes using getomapvals +* debian: fix squeeze dependency +* mon: debug options to log or dump leveldb transactions + +For more detailed information, see :download:`the complete changelog <../changelog/v0.61.1.txt>`. + +v0.61 "Cuttlefish" +================== + +Upgrading from v0.60 +-------------------- + +* The ceph-deploy tool is now the preferred method of provisioning + new clusters. For existing clusters created via mkcephfs that + would like to transition to the new tool, there is a migration + path, documented at `Transitioning to ceph-deploy`_. + + +* The sysvinit script (/etc/init.d/ceph) will now verify (and, if + necessary, update) the OSD's position in the CRUSH map on startup. + (The upstart script has always worked this way.) By default, this + ensures that the OSD is under a 'host' with a name that matches the + hostname (``hostname -s``). Legacy clusters create with mkcephfs do + this by default, so this should not cause any problems, but legacy + clusters with customized CRUSH maps with an alternate structure + should set ``osd crush update on start = false``. + +* radosgw-admin now uses the term zone instead of cluster to describe + each instance of the radosgw data store (and corresponding + collection of radosgw daemons). The usage for the radosgw-admin + command and the 'rgw zone root pool' config options have changed + accordingly. + +* rbd progress indicators now go to standard error instead of standard + out. (You can disable progress with --no-progress.) + +* The 'rbd resize ...' command now requires the --allow-shrink option + when resizing to a smaller size. Expanding images to a larger size + is unchanged. + +* Please review the changes going back to 0.56.4 if you are upgrading + all the way from bobtail. + +* The old 'ceph stop_cluster' command has been removed. + +* The sysvinit script now uses the ceph.conf file on the remote host + when starting remote daemons via the '-a' option. Note that if '-a' + is used in conjunction with '-c path', the path must also be present + on the remote host (it is not copied to a temporary file, as it was + previously). + + +Upgrading from v0.56.4 "Bobtail" +-------------------------------- + +Please see `Upgrading from Bobtail to Cuttlefish`_ for details. + +.. _Upgrading from Bobtail to Cuttlefish: ../install/upgrading-ceph/#upgrading-from-bobtail-to-cuttlefish + +* The ceph-deploy tool is now the preferred method of provisioning + new clusters. For existing clusters created via mkcephfs that + would like to transition to the new tool, there is a migration + path, documented at `Transitioning to ceph-deploy`_. + +.. _Transitioning to ceph-deploy: ../rados/deployment/ceph-deploy-transition + +* The sysvinit script (/etc/init.d/ceph) will now verify (and, if + necessary, update) the OSD's position in the CRUSH map on startup. + (The upstart script has always worked this way.) By default, this + ensures that the OSD is under a 'host' with a name that matches the + hostname (``hostname -s``). Legacy clusters create with mkcephfs do + this by default, so this should not cause any problems, but legacy + clusters with customized CRUSH maps with an alternate structure + should set ``osd crush update on start = false``. + +* radosgw-admin now uses the term zone instead of cluster to describe + each instance of the radosgw data store (and corresponding + collection of radosgw daemons). The usage for the radosgw-admin + command and the 'rgw zone root pool' config options have changed + accordingly. + +* rbd progress indicators now go to standard error instead of standard + out. (You can disable progress with --no-progress.) + +* The 'rbd resize ...' command now requires the --allow-shrink option + when resizing to a smaller size. Expanding images to a larger size + is unchanged. + +* Please review the changes going back to 0.56.4 if you are upgrading + all the way from bobtail. + +* The old 'ceph stop_cluster' command has been removed. + +* The sysvinit script now uses the ceph.conf file on the remote host + when starting remote daemons via the '-a' option. Note that if '-a' + is used in conjunction with '-c path', the path must also be present + on the remote host (it is not copied to a temporary file, as it was + previously). + +* The monitor is using a completely new storage strategy and + intra-cluster protocol. This means that cuttlefish and bobtail + monitors do not talk to each other. When you upgrade each one, it + will convert its local data store to the new format. Once you + upgrade a majority, the quorum will be formed using the new protocol + and the old monitors will be blocked out until they too get + upgraded. For this reason, we recommend not running a mixed-version + cluster for very long. + +* ceph-mon now requires the creation of its data directory prior to + --mkfs, similarly to what happens on ceph-osd. This directory is no + longer automatically created, and custom scripts should be adjusted to + reflect just that. + +* The monitor now enforces that MDS names be unique. If you have + multiple daemons start with the same id (e.g., ``mds.a``) the + second one will implicitly mark the first as failed. This makes + things less confusing and makes a daemon restart faster (we no + longer wait for the stopped daemon to time out) but existing + multi-mds configurations may need to be adjusted accordingly to give + daemons unique names. + +* The 'ceph osd pool delete ' and 'rados rmpool ' + now have safety interlocks with loud warnings that make you confirm + pool removal. Any scripts currently rely on these functions zapping + data without confirmation need to be adjusted accordingly. + + +Notable Changes from v0.60 +-------------------------- + +* rbd: incremental backups +* rbd: only set STRIPINGV2 feature if striping parameters are incompatible with old versions +* rbd: require --allow-shrink for resizing images down +* librbd: many bug fixes +* rgw: management REST API +* rgw: fix object corruption on COPY to self +* rgw: new sysvinit script for rpm-based systems +* rgw: allow buckets with '_' +* rgw: CORS support +* mon: many fixes +* mon: improved trimming behavior +* mon: fix data conversion/upgrade problem (from bobtail) +* mon: ability to tune leveldb +* mon: config-keys service to store arbitrary data on monitor +* mon: 'osd crush add|link|unlink|add-bucket ...' commands +* mon: trigger leveldb compaction on trim +* osd: per-rados pool quotas (objects, bytes) +* osd: tool to export, import, and delete PGs from an individual OSD data store +* osd: notify mon on clean shutdown to avoid IO stall +* osd: improved detection of corrupted journals +* osd: ability to tune leveldb +* osd: improve client request throttling +* osd, librados: fixes to the LIST_SNAPS operation +* osd: improvements to scrub error repair +* osd: better prevention of wedging OSDs with ENOSPC +* osd: many small fixes +* mds: fix xattr handling on root inode +* mds: fixed bugs in journal replay +* mds: many fixes +* librados: clean up snapshot constant definitions +* libcephfs: calls to query CRUSH topology (used by Hadoop) +* ceph-fuse, libcephfs: misc fixes to mds session management +* ceph-fuse: disabled cache invalidation (again) due to potential deadlock with kernel +* sysvinit: try to start all daemons despite early failures +* ceph-disk: new 'list' command +* ceph-disk: hotplug fixes for RHEL/CentOS +* ceph-disk: fix creation of OSD data partitions on >2TB disks +* osd: fix udev rules for RHEL/CentOS systems +* fix daemon logging during initial startup + +Notable changes from v0.56 "Bobtail" +------------------------------------ +* always use installed system leveldb (Gary Lowell) +* auth: ability to require new cephx signatures on messages (still off by default) +* buffer unit testing (Loic Dachary) +* ceph tool: some CLI interface cleanups +* ceph-disk: improve multicluster support, error handling (Sage Weil) +* ceph-disk: support for dm-crypt (Alexandre Marangone) +* ceph-disk: support for sysvinit, directories or partitions (not full disks) +* ceph-disk: fix mkfs args on old distros (Alexandre Marangone) +* ceph-disk: fix creation of OSD data partitions on >2TB disks +* ceph-disk: hotplug fixes for RHEL/CentOS +* ceph-disk: new 'list' command +* ceph-fuse, libcephfs: misc fixes to mds session management +* ceph-fuse: disabled cache invalidation (again) due to potential deadlock with kernel +* ceph-fuse: enable kernel cache invalidation (Sam Lang) +* ceph-fuse: fix statfs(2) reporting +* ceph-fuse: session handling cleanup, bug fixes (Sage Weil) +* crush: ability to create, remove rules via CLI +* crush: update weights for all instances of an item, not just the first (Sage Weil) +* fix daemon logging during initial startup +* fixed log rotation (Gary Lowell) +* init-ceph, mkcephfs: close a few security holes with -a (Sage Weil) +* libcephfs: calls to query CRUSH topology (used by Hadoop) +* libcephfs: many fixes, cleanups with the Java bindings +* libcephfs: new topo API requests for Hadoop (Noah Watkins) +* librados: clean up snapshot constant definitions +* librados: fix linger bugs (Josh Durgin) +* librbd: fixed flatten deadlock (Josh Durgin) +* librbd: fixed some locking issues with flatten (Josh Durgin) +* librbd: many bug fixes +* librbd: optionally wait for flush before enabling writeback (Josh Durgin) +* many many cleanups (Danny Al-Gaaf) +* mds, ceph-fuse: fix bugs with replayed requests after MDS restart (Sage Weil) +* mds, ceph-fuse: manage layouts via xattrs +* mds: allow xattrs on root +* mds: fast failover between MDSs (enforce unique mds names) +* mds: fix xattr handling on root inode +* mds: fixed bugs in journal replay +* mds: improve session cleanup (Sage Weil) +* mds: many fixes (Yan Zheng) +* mds: misc bug fixes with clustered MDSs and failure recovery +* mds: misc bug fixes with readdir +* mds: new encoding for all data types (to allow forward/backward compatibility) (Greg Farnum) +* mds: store and update backpointers/traces on directory, file objects (Sam Lang) +* mon: 'osd crush add|link|unlink|add-bucket ...' commands +* mon: ability to tune leveldb +* mon: approximate recovery, IO workload stats +* mon: avoid marking entire CRUSH subtrees out (e.g., if an entire rack goes offline) +* mon: config-keys service to store arbitrary data on monitor +* mon: easy adjustment of crush tunables via 'ceph osd crush tunables ...' +* mon: easy creation of crush rules vai 'ceph osd rule ...' +* mon: fix data conversion/upgrade problem (from bobtail) +* mon: improved trimming behavior +* mon: many fixes +* mon: new 'ceph df [detail]' command +* mon: new checks for identifying and reporting clock drift +* mon: rearchitected to utilize single instance of paxos and a key/value store (Joao Luis) +* mon: safety check for pool deletion +* mon: shut down safely if disk approaches full (Joao Luis) +* mon: trigger leveldb compaction on trim +* msgr: fix comparison of IPv6 addresses (fixes monitor bringup via ceph-deploy, chef) +* msgr: fixed race in connection reset +* msgr: optionally tune TCP buffer size to avoid throughput collapse (Jim Schutt) +* much code cleanup and optimization (Danny Al-Gaaf) +* osd, librados: ability to list watchers (David Zafman) +* osd, librados: fixes to the LIST_SNAPS operation +* osd, librados: new listsnaps command (David Zafman) +* osd: a few journaling bug fixes +* osd: ability to tune leveldb +* osd: add 'noscrub', 'nodeepscrub' osdmap flags (David Zafman) +* osd: better prevention of wedging OSDs with ENOSPC +* osd: ceph-filestore-dump tool for debugging +* osd: connection handling bug fixes +* osd: deep-scrub omap keys/values +* osd: default to libaio for the journal (some performance boost) +* osd: fix hang in 'journal aio = true' mode (Sage Weil) +* osd: fix pg log trimming (avoids memory bloat on degraded clusters) +* osd: fix udev rules for RHEL/CentOS systems +* osd: fixed bug in journal checksums (Sam Just) +* osd: improved client request throttling +* osd: improved handling when disk fills up (David Zafman) +* osd: improved journal corruption detection (Sam Just) +* osd: improved detection of corrupted journals +* osd: improvements to scrub error repair +* osd: make tracking of object snapshot metadata more efficient (Sam Just) +* osd: many small fixes +* osd: misc fixes to PG split (Sam Just) +* osd: move pg info, log into leveldb (== better performance) (David Zafman) +* osd: notify mon on clean shutdown to avoid IO stall +* osd: per-rados pool quotas (objects, bytes) +* osd: refactored watch/notify infrastructure (fixes protocol, removes many bugs) (Sam Just) +* osd: support for improved hashing of PGs across OSDs via HASHPSPOOL pool flag and feature +* osd: tool to export, import, and delete PGs from an individual OSD data store +* osd: trim log more aggressively, avoid appearance of leak memory +* osd: validate snap collections on startup +* osd: verify snap collections on startup (Sam Just) +* radosgw: ACL grants in headers (Caleb Miles) +* radosgw: ability to listen to fastcgi via a port (Guilhem Lettron) +* radosgw: fix object copy onto self (Yehuda Sadeh) +* radosgw: misc fixes +* rbd-fuse: new tool, package +* rbd: avoid FIEMAP when importing from file (it can be buggy) +* rbd: incremental backups +* rbd: only set STRIPINGV2 feature if striping parameters are incompatible with old versions +* rbd: require --allow-shrink for resizing images down +* rbd: udevadm settle on map/unmap to avoid various races (Dan Mick) +* rbd: wait for udev to settle in strategic places (avoid spurious errors, failures) +* rgw: CORS support +* rgw: allow buckets with '_' +* rgw: fix Content-Length on 32-bit machines (Jan Harkes) +* rgw: fix log rotation +* rgw: fix object corruption on COPY to self +* rgw: fixed >4MB range requests (Jan Harkes) +* rgw: new sysvinit script for rpm-based systems +* rpm/deb: do not remove /var/lib/ceph on purge (v0.59 was the only release to do so) +* sysvinit: try to start all daemons despite early failures +* upstart: automatically set osd weight based on df (Guilhem Lettron) +* use less memory for logging by default + + +v0.60 +===== + +Upgrading +--------- + +* Please note that the recently added librados 'list_snaps' function + call is in a state of flux and is changing slightly in v0.61. You + are advised not to make use of it in v0.59 or v0.60. + +Notable Changes +--------------- + +* osd: make tracking of object snapshot metadata more efficient (Sam Just) +* osd: misc fixes to PG split (Sam Just) +* osd: improve journal corruption detection (Sam Just) +* osd: improve handling when disk fills up (David Zafman) +* osd: add 'noscrub', 'nodeepscrub' osdmap flags (David Zafman) +* osd: fix hang in 'journal aio = true' mode (Sage Weil) +* ceph-disk-prepare: fix mkfs args on old distros (Alexandre Marangone) +* ceph-disk-activate: improve multicluster support, error handling (Sage Weil) +* librbd: optionally wait for flush before enabling writeback (Josh Durgin) +* crush: update weights for all instances of an item, not just the first (Sage Weil) +* mon: shut down safely if disk approaches full (Joao Luis) +* rgw: fix Content-Length on 32-bit machines (Jan Harkes) +* mds: store and update backpointers/traces on directory, file objects (Sam Lang) +* mds: improve session cleanup (Sage Weil) +* mds, ceph-fuse: fix bugs with replayed requests after MDS restart (Sage Weil) +* ceph-fuse: enable kernel cache invalidation (Sam Lang) +* libcephfs: new topo API requests for Hadoop (Noah Watkins) +* ceph-fuse: session handling cleanup, bug fixes (Sage Weil) +* much code cleanup and optimization (Danny Al-Gaaf) +* use less memory for logging by default +* upstart: automatically set osd weight based on df (Guilhem Lettron) +* init-ceph, mkcephfs: close a few security holes with -a (Sage Weil) +* rpm/deb: do not remove /var/lib/ceph on purge (v0.59 was the only release to do so) + + +v0.59 +===== + +Upgrading +--------- + +* The monitor is using a completely new storage strategy and + intra-cluster protocol. This means that v0.59 and pre-v0.59 + monitors do not talk to each other. When you upgrade each one, it + will convert its local data store to the new format. Once you + upgrade a majority, the quorum will be formed using the new protocol + and the old monitors will be blocked out until they too get + upgraded. For this reason, we recommend not running a mixed-version + cluster for very long. + +* ceph-mon now requires the creation of its data directory prior to + --mkfs, similarly to what happens on ceph-osd. This directory is no + longer automatically created, and custom scripts should be adjusted to + reflect just that. + + +Notable Changes +--------------- + + * mon: rearchitected to utilize single instance of paxos and a key/value store (Joao Luis) + * mon: new 'ceph df [detail]' command + * osd: support for improved hashing of PGs across OSDs via HASHPSPOOL pool flag and feature + * osd: refactored watch/notify infrastructure (fixes protocol, removes many bugs) (Sam Just) + * osd, librados: ability to list watchers (David Zafman) + * osd, librados: new listsnaps command (David Zafman) + * osd: trim log more aggressively, avoid appearance of leak memory + * osd: misc split fixes + * osd: a few journaling bug fixes + * osd: connection handling bug fixes + * rbd: avoid FIEMAP when importing from file (it can be buggy) + * librados: fix linger bugs (Josh Durgin) + * librbd: fixed flatten deadlock (Josh Durgin) + * rgw: fixed >4MB range requests (Jan Harkes) + * rgw: fix log rotation + * mds: allow xattrs on root + * ceph-fuse: fix statfs(2) reporting + * msgr: optionally tune TCP buffer size to avoid throughput collapse (Jim Schutt) + * consume less memory for logging by default + * always use system leveldb (Gary Lowell) + + + +v0.58 +===== + +Upgrading +--------- + +* The monitor now enforces that MDS names be unique. If you have + multiple daemons start with the same id (e.g., ``mds.a``) the + second one will implicitly mark the first as failed. This makes + things less confusing and makes a daemon restart faster (we no + longer wait for the stopped daemon to time out) but existing + multi-mds configurations may need to be adjusted accordingly to give + daemons unique names. + +Notable Changes +--------------- + + * librbd: fixed some locking issues with flatten (Josh Durgin) + * rbd: udevadm settle on map/unmap to avoid various races (Dan Mick) + * osd: move pg info, log into leveldb (== better performance) (David Zafman) + * osd: fix pg log trimming (avoids memory bloat on degraded clusters) + * osd: fixed bug in journal checksums (Sam Just) + * osd: verify snap collections on startup (Sam Just) + * ceph-disk-prepare/activate: support for dm-crypt (Alexandre Marangone) + * ceph-disk-prepare/activate: support for sysvinit, directories or partitions (not full disks) + * msgr: fixed race in connection reset + * msgr: fix comparison of IPv6 addresses (fixes monitor bringup via ceph-deploy, chef) + * radosgw: fix object copy onto self (Yehuda Sadeh) + * radosgw: ACL grants in headers (Caleb Miles) + * radosgw: ability to listen to fastcgi via a port (Guilhem Lettron) + * mds: new encoding for all data types (to allow forward/backward compatibility) (Greg Farnum) + * mds: fast failover between MDSs (enforce unique mds names) + * crush: ability to create, remove rules via CLI + * many many cleanups (Danny Al-Gaaf) + * buffer unit testing (Loic Dachary) + * fixed log rotation (Gary Lowell) + +v0.57 +===== + +This development release has a lot of additional functionality +accumulated over the last couple months. Most of the bug fixes (with +the notable exception of the MDS related work) has already been +backported to v0.56.x, and is not mentioned here. + +Upgrading +--------- + +* The 'ceph osd pool delete ' and 'rados rmpool ' + now have safety interlocks with loud warnings that make you confirm + pool removal. Any scripts currently rely on these functions zapping + data without confirmation need to be adjusted accordingly. + +Notable Changes +--------------- + +* osd: default to libaio for the journal (some performance boost) +* osd: validate snap collections on startup +* osd: ceph-filestore-dump tool for debugging +* osd: deep-scrub omap keys/values +* ceph tool: some CLI interface cleanups +* mon: easy adjustment of crush tunables via 'ceph osd crush tunables ...' +* mon: easy creation of crush rules vai 'ceph osd rule ...' +* mon: approximate recovery, IO workload stats +* mon: avoid marking entire CRUSH subtrees out (e.g., if an entire rack goes offline) +* mon: safety check for pool deletion +* mon: new checks for identifying and reporting clock drift +* radosgw: misc fixes +* rbd: wait for udev to settle in strategic places (avoid spurious errors, failures) +* rbd-fuse: new tool, package +* mds, ceph-fuse: manage layouts via xattrs +* mds: misc bug fixes with clustered MDSs and failure recovery +* mds: misc bug fixes with readdir +* libcephfs: many fixes, cleanups with the Java bindings +* auth: ability to require new cephx signatures on messages (still off by default) -- cgit v1.2.3