v0.61 “Cuttlefish” released

sage

Spring has arrived (at least for some of us), and a new stable release of Ceph is ready.  Thank you to everyone who has contributed to this release!

Bigger ticket items since v0.56.x “Bobtail”:

  • ceph-deploy: our new deployment tool to replace ‘mkcephfs’
  • robust RHEL/CentOS support
  • ceph-disk: many improvements to support hot-plugging devices via chef and ceph-deploy
  • ceph-disk: dm-crypt support for OSD disks
  • ceph-disk: ‘list’ command to see available (and used) disks
  • rbd: incremental backups
  • rbd-fuse: access RBD images via fuse
  • librbd: autodetection of VM flush support to allow safe enablement of the writeback cache
  • osd: improved small write, snap trimming, and overall performance
  • osd: PG splitting
  • osd: per-pool quotas (object and byte)
  • osd: tool for importing, exporting, removing PGs from OSD data store
  • osd: improved clean-shutdown behavior
  • osd: noscrub, nodeepscrub options
  • osd: more robust scrubbing, repair, ENOSPC handling
  • osd: improved memory usage, log trimming
  • osd: improved journal corruption detection
  • ceph: new ‘df’ command
  • mon: new storage backend (leveldb)
  • mon: config-keys service
  • mon, crush: new commands to manage CRUSH entirely via CLI
  • mon: avoid marking entire subtrees (e.g., racks) out automatically
  • rgw: REST API for user management
  • rgw: CORS support
  • rgw: misc API fixes
  • rgw: ability to listen to fastcgi on a port
  • sysvinit, upstart: improved support for standardized data locations
  • mds: backpointers on all data and metadata objects
  • mds: faster fail-over
  • mds: many many bug fixes
  • ceph-fuse: many stability improvements

Notable changes since 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: 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

There are a few things to keep in mind when upgrading from Bobtail, specifically with the monitor daemons.  Please see the upgrade guide and/or the complete release notes.  In short: upgrade all of your monitors (more or less) at once.

Cuttlefish is the first Ceph release on our new three-month stable release cycle.  We are very pleased to have pulled everything together on schedule (well, only a week later than planned).  The next stable release, which will be code-named Dumpling, is slated for three months from now (beginning of August).

You can download v0.61 Cuttlefish from the usual locations: