[FFe] ceph 0.93 -> hammer release
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ceph (Ubuntu) |
Fix Released
|
High
|
James Page |
Bug Description
The Ceph blog details the features that have been delivered since 0.87 (http://
Upstream release notes/changelog:
Major features since Giant include:
* cephfs: journal scavenger repair tool (John Spray)
* crush: new and improved straw2 bucket type (Sage Weil, Christina
Anderson, Xiaoxi Chen)
* doc: improved guidance for CephFS early adopters (John Spray)
* librbd: add per-image object map for improved performance (Jason
Dillaman)
* librbd: copy-on-read (Min Chen, Li Wang, Yunchuan Wen, Cheng Cheng)
* librados: fadvise-style IO hints (Jianpeng Ma)
* mds: many many snapshot-related fixes (Yan, Zheng)
* mon: new 'ceph osd df' command (Mykola Golub)
* mon: new 'ceph pg ls ...' command (Xinxin Shu)
* osd: improved performance for high-performance backends
* osd: improved recovery behavior (Samuel Just)
* osd: improved cache tier behavior with reads (Zhiqiang Wang)
* rgw: S3-compatible bucket versioning support (Yehuda Sadeh)
* rgw: large bucket index sharding (Guang Yang, Yehuda Sadeh)
* RDMA "xio" messenger support (Matt Benjamin, Vu Pham)
Upgrading
---------
* No special restrictions when upgrading from firefly or giant
Notable Changes
---------------
* build: CMake support (Ali Maredia, Casey Bodley, Adam Emerson, Marcus
Watts, Matt Benjamin)
* ceph-disk: do not re-use partition if encryption is required (Loic
Dachary)
* ceph-disk: support LUKS for encrypted partitions (Andrew Bartlett, Loic
Dachary)
* ceph-fuse,
* ceph-fuse,
(#10912 Yan, Zheng)
* ceph-fuse: select kernel cache invalidation mechanism based on kernel
version (Greg Farnum)
* ceph-objectstor
* ceph-objectstor
Zafman)
* ceph: add 'ceph osd df [tree]' command (#10452 Mykola Golub)
* ceph: fix 'ceph tell ...' command validation (#10439 Joao Eduardo Luis)
* ceph: improve 'ceph osd tree' output (Mykola Golub)
* cephfs-
* common: add newline to flushed json output (Sage Weil)
* common: filtering for 'perf dump' (John Spray)
* common: fix Formatter factory breakage (#10547 Loic Dachary)
* common: make json-pretty output prettier (Sage Weil)
* crush: new and improved straw2 bucket type (Sage Weil, Christina
Anderson, Xiaoxi Chen)
* crush: update tries stats for indep rules (#10349 Loic Dachary)
* crush: use larger choose_tries value for erasure code rulesets (#10353
Loic Dachary)
* debian,rpm: move RBD udev rules to ceph-common (#10864 Ken Dreyer)
* debian: split python-ceph into python-
* doc: CephFS disaster recovery guidance (John Spray)
* doc: CephFS for early adopters (John Spray)
* doc: fix OpenStack Glance docs (#10478 Sebastien Han)
* doc: misc updates (#9793 #9922 #10204 #10203 Travis Rhoden, Hazem,
Ayari, Florian Coste, Andy Allan, Frank Yu, Baptiste Veuillez-Mainard,
Yuan Zhou, Armando Segnini, Robert Jansen, Tyler Brekke, Viktor Suprun)
* doc: replace cloudfiles with swiftclient Python Swift example (Tim
Freund)
* erasure-code: add mSHEC erasure code support (Takeshi Miyamae)
* erasure-code: improved docs (#10340 Loic Dachary)
* erasure-code: set max_size to 20 (#10363 Loic Dachary)
* libcephfs,
* librados: add blacklist_add convenience method (Jason Dillaman)
* librados: expose rados_{
Vandry)
* librados: fix pool name caching (#10458 Radoslaw Zarzynski)
* librados: fix resource leak, misc bugs (#10425 Radoslaw Zarzynski)
* librados: fix some watch/notify locking (Jason Dillaman, Josh Durgin)
* libradosstriper: fix write_full when ENOENT (#10758 Sebastien Ponce)
* librbd: CRC protection for RBD image map (Jason Dillaman)
* librbd: add per-image object map for improved performance (Jason
Dillaman)
* librbd: add support for an "object map" indicating which objects exist
(Jason Dillaman)
* librbd: adjust internal locking (Josh Durgin, Jason Dillaman)
* librbd: better handling of watch errors (Jason Dillaman)
* librbd: coordinate maint operations through lock owner (Jason Dillaman)
* librbd: copy-on-read (Min Chen, Li Wang, Yunchuan Wen, Cheng Cheng,
Jason Dillaman)
* librbd: enforce write ordering with a snapshot (Jason Dillaman)
* librbd: fadvise-style hints; add misc hints for certain operations
(Jianpeng Ma)
* librbd: fix coverity false-positives (Jason Dillaman)
* librbd: fix snap create races (Jason Dillaman)
* librbd: flush AIO operations asynchronously (#10714 Jason Dillaman)
* librbd: make async versions of long-running maint operations (Jason
Dillaman)
* librbd: mock tests (Jason Dillaman)
* librbd: optionally blacklist clients before breaking locks (#10761 Jason
Dillaman)
* librbd: prevent copyup during shrink (Jason Dillaman)
* mds: add cephfs-table-tool (John Spray)
* mds: avoid sending traceless replies in most cases (Yan, Zheng)
* mds: export dir asok command (John Spray)
* mds: fix stray/purge perfcounters (#10388 John Spray)
* mds: handle heartbeat_reset during shutdown (#10382 John Spray)
* mds: many many snapshot-related fixes (Yan, Zheng)
* mds: refactor, improve Session storage (John Spray)
* misc coverity fixes (Danny Al-Gaaf)
* mon: add noforward flag for some mon commands (Mykola Golub)
* mon: disallow empty pool names (#10555 Wido den Hollander)
* mon: do not deactivate last mds (#10862 John Spray)
* mon: drop old ceph_mon_
* mon: fix 'ceph pg dump_stuck degraded' (Xinxin Shu)
* mon: fix 'profile osd' use of config-key function on mon (#10844 Joao
Eduardo Luis)
* mon: fix compatset initalization during mkfs (Joao Eduardo Luis)
* mon: fix feature tracking during elections (Joao Eduardo Luis)
* mon: fix mds gid/rank/state parsing (John Spray)
* mon: ignore failure reports from before up_from (#10762 Dan van der
Ster, Sage Weil)
* mon: improved corrupt CRUSH map detection (Joao Eduardo Luis)
* mon: include pg_temp count in osdmap summary (Sage Weil)
* mon: log health summary to cluster log (#9440 Joao Eduardo Luis)
* mon: make 'mds fail' idempotent (John Spray)
* mon: make pg dump {sum,pgs,pgs_brief} work for format=plain (#5963 #6759
Mykola Golub)
* mon: new pool safety flags nodelete, nopgchange, nosizechange (#9792
Mykola Golub)
* mon: new, friendly 'ceph pg ls ...' command (Xinxin Shu)
* mon: prevent MDS transition from STOPPING (#10791 Greg Farnum)
* mon: propose all pending work in one transaction (Sage Weil)
* mon: remove pg_temps for nonexistent pools (Joao Eduardo Luis)
* mon: require mon_allow_
* mon: set globalid prealloc to larger value (Sage Weil)
* mon: skip zeroed osd stats in get_rule_avail (#10257 Joao Eduardo Luis)
* mon: validate min_size range (Jianpeng Ma)
* msgr: async: bind threads to CPU cores, improved poll (Haomai Wang)
* msgr: fix crc configuration (Mykola Golub)
* msgr: misc unit tests (Haomai Wang)
* msgr: xio: XioMessenger RDMA support (Casey Bodley, Vu Pham, Matt
Benjamin)
* osd, librados: fadvise-style librados hints (Jianpeng Ma)
* osd, librados: fix xattr_cmp_u64 (Dongmao Zhang)
* osd,mon: add 'norebalance' flag (Kefu Chai)
* osd,mon: specify OSD features explicitly in MOSDBoot (#10911 Sage Weil)
* osd: add option to prioritize heartbeat network traffic (Jian Wen)
* osd: add support for the SHEC erasure-code algorithm (****, Loic
Dachary)
* osd: allow recovery while below min_size (Samuel Just)
* osd: allow recovery with fewer than min_size OSDs (Samuel Just)
* osd: allow writes to degraded objects (Samuel Just)
* osd: allow writes to degraded objects (Samuel Just)
* osd: avoid publishing unchanged PG stats (Sage Weil)
* osd: cache recent ObjectContexts (Dong Yuan)
* osd: clear cache on interval change (Samuel Just)
* osd: do no proxy reads unless target OSDs are new (#10788 Sage Weil)
* osd: do not update digest on inconsistent object (#10524 Samuel Just)
* osd: don't record digests for snapdirs (#10536 Samuel Just)
* osd: fix OSDCap parser on old (el6) boost::spirit (#10757 Kefu Chai)
* osd: fix OSDCap parsing on el6 (#10757 Kefu Chai)
* osd: fix ObjectStore:
* osd: fix auth object selection during repair (#10524 Samuel Just)
* osd: fix bug in pending digest updates (#10840 Samuel Just)
* osd: fix cancel_
* osd: fix cleanup of interrupted pg deletion (#10617 Sage Weil)
* osd: fix journal wrapping bug (#10883 David Zafman)
* osd: fix leak in SnapTrimWQ (#10421 Kefu Chai)
* osd: fix memstore free space calculation (Xiaoxi Chen)
* osd: fix mixed-version peering issues (Samuel Just)
* osd: fix object digest update bug (#10840 Samuel Just)
* osd: fix ordering issue with new transaction encoding (#10534 Dong Yuan)
* osd: fix past_interval generation (#10427 #10430 David Zafman)
* osd: fix short read handling on push (#8121 David Zafman)
* osd: fix watch timeout cache state update (#10784 David Zafman)
* osd: force promotion of watch/notify ops (Zhiqiang Wang)
* osd: improve idempotency detection across cache promotion/demotion
(#8935 Sage Weil, Samuel Just)
* osd: include activating peers in blocked_by (#10477 Sage Weil)
* osd: jerasure and gf-complete updates from upstream (#10216 Loic
Dachary)
* osd: journal: check fsync/fdatasync result (Jianpeng Ma)
* osd: journal: fix hang on shutdown (#10474 David Zafman)
* osd: journal: fix header.
* osd: journal: initialize throttle (Ning Yao)
* osd: journal: misc bug fixes (#6003 David Zafman, Samuel Just)
* osd: misc cleanup (Xinze Chi, Yongyue Sun)
* osd: new 'activating' state between peering and active (Sage Weil)
* osd: preserve reqids for idempotency checks for promote/demote (Sage
Weil, Zhiqiang Wang, Samuel Just)
* osd: remove dead locking code (Xinxin Shu)
* osd: restrict scrub to certain times of day (Xinze Chi)
* osd: rocksdb: fix shutdown (Hoamai Wang)
* pybind: fix memory leak in librados bindings (Billy Olsen)
* qa: fix mds tests (#10539 John Spray)
* qa: ignore duplicates in rados ls (Josh Durgin)
* qa: improve hadoop tests (Noah Watkins)
* qa: reorg fs quota tests (Greg Farnum)
* rados: fix usage (Jianpeng Ma)
* radosgw-admin: add replicalog update command (Yehuda Sadeh)
* rbd-fuse: clean up on shutdown (Josh Durgin)
* rbd: add 'merge-diff' function (MingXin Liu, Yunchuan Wen, Li Wang)
* rbd: fix buffer handling on image import (#10590 Jason Dillaman)
* rbd: leave exclusive lockin goff by default (Jason Dillaman)
* rbd: update init-rbdmap to fix dup mount point (Karel Striegel)
* rbd: use IO hints for import, export, and bench operations (#10462 Jason
Dillaman)
* rbd_recover_tool: RBD image recovery tool (Min Chen)
* rgw: S3-style object versioning support (Yehuda Sadeh)
* rgw: check keystone auth for S3 POST requests (#10062 Abhishek
Lekshmanan)
* rgw: extend replica log API (purge-all) (Yehuda Sadeh)
* rgw: fail S3 POST if keystone not configured (#10688 Valery Tschopp,
Yehuda Sadeh)
* rgw: fix XML header on get ACL request (#10106 Yehuda Sadeh)
* rgw: fix bucket removal with data purge (Yehuda Sadeh)
* rgw: fix replica log indexing (#8251 Yehuda Sadeh)
* rgw: fix swift metadata header name (Dmytro Iurchenko)
* rgw: remove multipart entries from bucket index on abort (#10719 Yehuda
Sadeh)
* rgw: respond with 204 to POST on containers (#10667 Yuan Zhou)
* rgw: reuse fcgx connection struct (#10194 Yehuda Sadeh)
* rgw: support multiple host names (#7467 Yehuda Sadeh)
* rgw: swift: dump container's custom metadata (#10665 Ahmad Faheem,
Dmytro Iurchenko)
* rgw: swift: support Accept header for response format (#10746 Dmytro
Iurchenko)
* rgw: swift: support for X-Remove-
Iurchenko)
* rpm: move rgw logrotate to radosgw subpackage (Ken Dreyer)
* tests: centos-6 dockerfile (#10755 Loic Dachary)
* tests: unit tests for shared_cache (Dong Yuan)
* vstart.sh: work with cmake (Yehuda Sadeh)
Changed in ceph (Ubuntu): | |
importance: | Undecided → High |
assignee: | nobody → James Page (james-page) |
Changed in ceph (Ubuntu): | |
status: | Fix Released → New |
Proposed changes for vivid:
ceph (0.93-0ubuntu1) UNRELEASED; urgency=medium
* New upstream release candidate for Hammer stable release (LP: #1423601). ceph-common. install, librbd1. install: Move rbdnamer and
- d/*.symbols: Refresh inline with upstream, removing common code
symbols which don't form part of the public API.
- d/p/*: Refresh and drop patches as required.
* Resync with upstream packaging changes and enable new features:
- d/control,
associated udev rules into ceph-common package.
- d/control,python-*: Split out rbd, rados and cephfs bindings into
separate python packages, move some bits into ceph/ceph-common.
- d/control: Move python-flask dependency to ceph package, only required
for REST API.
- d/control: Use google-perftools on arm64.
- d/rules,control: Enable use of lttng for userspace tracing.
Things to note specifically for FFe
a) symbols have re-jigged and generally become more sane
b) the python bindings have been split into three packages for rbd, rados and cephfs (makes sense).