From 4ad8b90bb890522ea722c64b9ce6fe3740b463d8 Mon Sep 17 00:00:00 2001 From: Abhishek Lekshmanan Date: Mon, 12 Jun 2017 13:07:11 +0200 Subject: [PATCH] doc: release notes: notable change for 12.1.0 Adding the changelog from 12.0.3 to 9f259cb923e7474229bb2e5e54b59f3b7f068bc5 Signed-off-by: Abhishek Lekshmanan --- doc/release-notes.rst | 449 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 368 insertions(+), 81 deletions(-) diff --git a/doc/release-notes.rst b/doc/release-notes.rst index 022f7bcf11e..50688d90108 100644 --- a/doc/release-notes.rst +++ b/doc/release-notes.rst @@ -108,6 +108,374 @@ Major Changes from Kraken namespaces * RGW now supports dynamic bucket index sharding +Notable Changes +--------------- +* bluestore: ceph-disk: add --filestore argument, default to --bluestore (`pr#15437 `_, Loic Dachary, Sage Weil) +* bluestore,core: os/bluestore: fix warning (`pr#15435 `_, Sage Weil) +* bluestore,core: os/bluestore: improve mempool usage (`pr#15402 `_, Sage Weil) +* bluestore,core: os/bluestore: write "mkfs_done" into disk only if we pass fsck() tests (`pr#15238 `_, xie xingguo) +* bluestore,core: os: remove experimental status for BlueStore (`pr#15177 `_, Sage Weil) +* bluestore: os/bluestore/BlockDevice: support pmem device as bluestore backend (`pr#15102 `_, Jianpeng Ma) +* bluestore: os/bluestore: fix a typo about bleustore (`pr#15357 `_, Dongsheng Yang) +* bluestore: os/bluestore: fix BitMapAllocator assert on out-of-bound hint value (`pr#15289 `_, Igor Fedotov) +* bluestore: os/bluestore: fix buffers pinned by indefinitely deferred writes (`pr#15398 `_, Sage Weil) +* bluestore: os/bluestore: fix false assert in IOContext::aio_wake (`pr#15268 `_, Igor Fedotov) +* bluestore: os/bluestore: fix false asserts in Cache::trim_all() (`pr#15470 `_, xie xingguo) +* bluestore: os/bluestore: fix fsck deferred_replay (`pr#15295 `_, Sage Weil) +* bluestore: os/bluestore/KernelDevice: fix comments (`pr#15264 `_, xie xingguo) +* bluestore: os/bluestore/KernelDevice: helpful warning when aio limit exhausted (`pr#15116 `_, Sage Weil) +* bluestore,performance: os/bluestore: avoid overloading extents during reshard; atomic deferred_batch_ops (`pr#15502 `_, xie xingguo) +* bluestore,performance: os/bluestore: batch throttle (`pr#15284 `_, Jianpeng Ma) +* bluestore,performance: os/bluestore: keep statfs replica in RAM to avoid expensive KV retrieval (`pr#15309 `_, Igor Fedotov) +* bluestore,performance: os/bluestore/KernelDevice: fix sync write vs flush (`pr#15034 `_, Sage Weil) +* bluestore,performance: os/bluestore: move cache_trim into MempoolThread (`pr#15380 `_, xie xingguo) +* bluestore,performance: os/bluestore: put bluefs in the middle of the shared device (`pr#14873 `_, Sage Weil) +* bluestore,performance: os/bluestore: separate kv_sync_thread into two parts (`pr#14035 `_, Jianpeng Ma, Igor Fedotov, Sage Weil) +* bluestore,performance: os/bluestore: try to unshare blobs for EC overwrite workload (`pr#14239 `_, Sage Weil) +* build/ops: 12.0.3 (`pr#15600 `_, Jenkins Build Slave User) +* build/ops: build: move bash_completion.d/ceph to ceph-common (`pr#15148 `_, Leo Zhang) +* build/ops: build: remove ceph-disk-udev entirely (`pr#15259 `_, Leo Zhang) +* build/ops: build: revert -Wvla from #15342 (`pr#15469 `_, Willem Jan Withagen) +* build/ops: build: Use .S suffix for ppc64le assembly files (`issue#20106 `_, `pr#15373 `_, Andrew Solomon) +* build/ops: ceph-detect-init: detect init system by poking the system (`issue#19884 `_, `pr#15043 `_, Kefu Chai) +* build/ops,common: build: Adds C++ warning flag for C Variable-Length Arrays. (`pr#15342 `_, Jesse Williamson) +* build/ops,common: common/blkdev.cc: propagate get_device_by_fd to different OSes (`pr#15547 `_, Willem Jan Withagen) +* build/ops: conditionalize rgw Beast frontend so it isn't built on s390x architecture (`issue#20048 `_, `pr#15225 `_, Willem Jan Withagen, Nathan Cutler, Kefu Chai, Tim Serong, Casey Bodley) +* build/ops,core,tests: osd/dmclock/testing: reorganize testing, building now optional (`pr#15375 `_, J. Eric Ivancich) +* build/ops: debian: ceph-mgr: fix package description (`pr#15513 `_, Fabian Grünbichler) +* build/ops: debian: sync logrotate packaging with downstream (`issue#19938 `_, `pr#15567 `_, Fabian Grünbichler) +* build/ops: do_cmake.sh: enable ccache if installed (`pr#15274 `_, Sage Weil) +* build/ops: drop libfcgi build dependency (`pr#15285 `_, Nathan Cutler) +* build/ops: install-deps.sh: workaround setuptools' dependency on six (`pr#15406 `_, Kefu Chai) +* build/ops: rpm: apply epoch only if %epoch macro is defined (`pr#15286 `_, Nathan Cutler) +* build/ops: rpm: make librbd1 %post scriptlet depend on coreutils (`issue#20052 `_, `pr#15231 `_, Giacomo Comes, Nathan Cutler) +* build/ops: rpm: move _epoch_prefix below Epoch definition (`pr#15417 `_, Nathan Cutler) +* build/ops: rpm: move RDMA and python-prettytables build dependencies to distro-conditional section (`pr#15200 `_, Nathan Cutler) +* build/ops: selinux: Allow read on var_run_t (`issue#16674 `_, `pr#15523 `_, Boris Ranto) +* build/ops: selinux: Do parallel relabel on package install (`issue#20077 `_, `pr#14871 `_, Boris Ranto) +* build/ops: selinux: Install ceph-base before ceph-selinux (`issue#20184 `_, `pr#15490 `_, Boris Ranto) +* build/ops: Set subman cron attributes in spec file (`issue#20074 `_, `pr#15270 `_, Thomas Serlin) +* build/ops: The Clangtastic Mr. Clocks (`pr#15186 `_, Adam C. Emerson) +* build/ops: yasm-wrapper: filter -pthread (`pr#15249 `_, Alessandro Barbieri) +* cephfs: #17980: MDS client blacklisting and blacklist on eviction (`issue#17980 `_, `issue#9754 `_, `pr#14610 `_, John Spray) +* cephfs: ceph: simplify CInode::maybe_export_pin() (`pr#15106 `_, "Yan, Zheng") +* cephfs: client: fix display ino in the ldout (`pr#15314 `_, huanwen ren) +* cephfs: client/inode: fix the dump type of Inode::dump() (`pr#15198 `_, huanwen ren) +* cephfs,common,rbd: blkin: librbd trace hooks (`pr#15053 `_, Victor Araujo, Jason Dillaman) +* cephfs: mon/FSCommand: fix indentation (`pr#15423 `_, Sage Weil) +* cephfs: mon/MDSMonitor: respect mds_standby_for_rank config (`pr#15129 `_, "Yan, Zheng") +* cephfs: osdc/Journaler: avoid executing on_safe contexts prematurely (`issue#20055 `_, `pr#15240 `_, "Yan, Zheng") +* cephfs: qa/cephfs: disable mds_bal_frag for TestStrays.test_purge_queue_op_rate (`issue#19892 `_, `pr#15105 `_, "Yan, Zheng") +* cephfs: qa/tasks/cephfs: use getattr to guarantee inode is in client cache (`issue#19912 `_, `pr#15062 `_, "Yan, Zheng") +* cephfs: qa: update log whitelists for kcephfs suite (`pr#14922 `_, "Yan, Zheng") +* cephfs,tests: qa: fix float parse error in test_fragment (`pr#15122 `_, Patrick Donnelly) +* cephfs,tests: qa: silence upgrade test failure (`issue#19934 `_, `pr#15126 `_, Patrick Donnelly) +* cephfs,tests: qa: simplify TestJournalRepair (`pr#15096 `_, John Spray) +* cleanup: src: put-to operator function - const input cleanup (`issue#3977 `_, `pr#15364 `_, Jos Collin) +* cmake: Add -finstrument-functions flag to OSD code (`pr#15055 `_, Mohamad Gebai) +* cmake: check the existence of gperf before using it (`pr#15164 `_, Kefu Chai) +* cmake: do not link libcommon against some libs (`pr#15340 `_, Willem Jan Withagen) +* cmake: fix boost components for WITH_SYSTEM_BOOST (`pr#15160 `_, Bassam Tabbara) +* cmake: improved build speed by 5x when using ccache (`pr#15147 `_, Bassam Tabbara) +* cmake: link against fcgi only if enabled (`pr#15425 `_, Yao Zongyou) +* cmake: misc fixes for build on i386 (`pr#15516 `_, James Page) +* cmake: rgw: do not link against boost in a wholesale (`pr#15347 `_, Nathan Cutler, Kefu Chai) +* cmake: workaound ccache issue with .S assembly files (`pr#15142 `_, Bassam Tabbara) +* common: add ceph::size() (`pr#15181 `_, Kefu Chai) +* common: ceph_osd: remove client message cap limit (`pr#14944 `_, Haomai Wang) +* common: cls: optimize header file dependency (`pr#15165 `_, Brad Hubbard, Xiaowei Chen) +* common: cmdparse: more constness (`pr#15023 `_, Kefu Chai) +* common: common/ceph_context: 'config diff get' option added (`pr#10736 `_, Daniel Oliveira) +* common: common/ceph_context: fix leak of registered commands on exit (`pr#15302 `_, xie xingguo) +* common: common/iso_8601.cc: Make return expression Clang compatible (`pr#15336 `_, Willem Jan Withagen) +* common: common/LogEntry: include EntityName in log entries (`pr#15395 `_, Sage Weil) +* common: common,osdc: remove atomic_t completely (`pr#15562 `_, Kefu Chai) +* common: common/perf_counters: add average time for PERFCOUNTER_TIME (`pr#15478 `_, xie xingguo) +* common: common/perf_counters: make schema more friendly and update docs (`pr#14933 `_, Sage Weil) +* common: common,test: migrate atomic_t to std::atomic (`pr#14866 `_, Jesse Williamson) +* common,core: ceph_test_rados_api_misc: fix LibRadosMiscConnectFailure.ConnectFailure retry (`issue#19901 `_, `pr#15522 `_, Sage Weil) +* common,core: osd/OSDMap: make osd_state 32 bits wide (`pr#15390 `_, Sage Weil) +* common,core: osd/OSDMap: replace require_*_osds flags with a single require_osd_release field (`pr#15068 `_, Sage Weil) +* common,core: osd/OSDMap: replace string-based min_compat_client with a CEPH_RELEASE_* uint8_t (`pr#15351 `_, Sage Weil) +* common: crc32c: include acconfig.h to fix ceph_crc32c_aarch64() (`pr#15515 `_, Kefu Chai) +* common: crush/CrushWrapper: fix has_incompat_choose_args (`pr#15218 `_, Sage Weil) +* common: crush/CrushWrapper: fix has_incompat_choose_args() (`pr#15244 `_, Sage Weil) +* common: denc: add encode/decode for basic_sstring (`pr#15135 `_, Kefu Chai, Casey Bodley) +* common: get_process_name: use getprogname on bsd systems (`pr#15338 `_, Mykola Golub) +* common: Improved CRC calculation for zero buffers (`pr#11966 `_, Adam Kupczyk) +* common: include/lru.h: add const to member functions (`pr#15408 `_, yonghengdexin735) +* common: include/rados: Fix typo in rados_ioctx_cct() doc (`pr#15220 `_, Jos Collin) +* common: include: Redo some includes for FreeBSD (`issue#19883 `_, `pr#15337 `_, Willem Jan Withagen) +* common: int_types.h: remove hacks to workaround old systems (`pr#15069 `_, Kefu Chai) +* common: librados,libradosstriper,test: migrate atomic_t to std::atomic (baragon) (`pr#14658 `_, Jesse Williamson) +* common: libradosstriper: Add example code (`pr#15350 `_, Logan Blyth) +* common: mempool: improve dump; fix buffer accounting bugs (`pr#15403 `_, Sage Weil) +* common,mon: messenger,client,compressor: migrate atomic_t to std::atomic (`pr#14657 `_, Jesse Williamson) +* common,mon: mon,crush: add 'osd crush swap-bucket' command (`pr#15072 `_, Sage Weil) +* common,performance: buffer: allow buffers to be accounted in arbitrary mempools (`pr#15352 `_, Sage Weil) +* common,performance: crc32c: Add ppc64le fast zero optimized assembly. (`pr#15100 `_, Andrew Solomon) +* common,performance: inline_memory: optimized mem_is_zero for non-x64 (`pr#15307 `_, Piotr Dałek) +* common,performance: kv/rocksdb: supports SliceParts interface (`pr#15058 `_, Haomai Wang) +* common,performance: osd/OSDMap: make pg_temp more efficient (`pr#15291 `_, Sage Weil) +* common: Remove redundant includes - 2 (`issue#19883 `_, `pr#15169 `_, Jos Collin) +* common: Remove redundant includes - 3 (`issue#19883 `_, `pr#15204 `_, Jos Collin) +* common: Remove redundant includes - 5 (`issue#19883 `_, `pr#15267 `_, Jos Collin) +* common: Remove redundant includes - 6 (`issue#19883 `_, `pr#15299 `_, Jos Collin) +* common: Remove redundant includes (`issue#19883 `_, `pr#15042 `_, Brad Hubbard) +* common: Remove redundant includes (`issue#19883 `_, `pr#15086 `_, Jos Collin) +* common,tests: ceph_test_rados_api_list: more fix LibRadosListNP.ListObjectsError (`issue#19963 `_, `pr#15138 `_, Sage Weil) +* common: xio: migrate atomic_t to std::atomic<> (`pr#15230 `_, Jesse Williamson) +* core: ceph-disk: do not setup_statedir on trigger (`issue#19941 `_, `pr#15410 `_, Loic Dachary) +* core: compressor: add LZ4 support (`pr#15434 `_, Haomai Wang) +* core: compressor: optimize header file dependency (`pr#15187 `_, Brad Hubbard, Xiaowei Chen) +* core: crush, mon: make jewel the lower bound for client/crush compat for new clusters (`pr#15370 `_, Sage Weil) +* core: erasure-code: optimize header file dependency (`pr#15172 `_, Brad Hubbard, Xiaowei Chen) +* core: erasure-code: Remove duplicate of isa-l files (`pr#15372 `_, Ganesh Mahalingam) +* core: filestore: migrate atomic_t to std::atomic<> (`pr#15228 `_, Jesse Williamson) +* core: include/types.h, introduce host_to_ceph_errno (`pr#15496 `_, Willem Jan Withagen) +* core: Install Pecan for FreeBSD (`pr#15610 `_, Willem Jan Withagen) +* core,mgr: mgr/DaemonServer: stop spamming log with pg stats (`pr#15487 `_, Sage Weil) +* core,mgr,mon: mon/PGMap: fix osd_epoch update when removing osd_stat (`issue#20208 `_, `pr#15573 `_, Sage Weil) +* core,mon: mon/LogMonitor: 'log last' command (`pr#15497 `_, Sage Weil) +* core,mon: mon/OSDMonitor: cancel mapping job from update_from_paxos (`issue#20067 `_, `pr#15320 `_, Sage Weil) +* core,mon: mon/OSDMonitor: use up set instead of acting set in reweight_by_utilization (`pr#13802 `_, Mingxin Liu) +* core,mon: mon/PGMap: call blocked requests ERR not WARN (`pr#15501 `_, Sage Weil) +* core: mon/OSDMonitor: change info in 'osd failed' messages (`pr#15321 `_, Sage Weil) +* core: mon,osd/OSDMap: a couple pg-upmap fixes (`pr#15319 `_, Sage Weil) +* core: msg/async: avoid requeue racing with handle_write (`issue#20093 `_, `pr#15324 `_, Haomai Wang) +* core: osd,librados: add manifest, redirect (`pr#15325 `_, Sage Weil) +* core: osd/OSDMap: improve upmap calculation (`issue#19818 `_, `pr#14902 `_, Sage Weil) +* core: osd/PG: drop pre-firefly compat_mode for choose_*_acting (`pr#15057 `_, Sage Weil) +* core: osd/pglog: remove loop through empty collection (`pr#15121 `_, J. Eric Ivancich) +* core,performance: msg/async: reduce write_lock contention (`pr#15092 `_, Haomai Wang) +* core,rgw: qa: Removed all 'default_idle_timeout' due to chnage in rwg task (`pr#15420 `_, Yuri Weinstein) +* core,rgw,tests: qa/rgw_snaps: move default_idle_timeout config under the client (`issue#20128 `_, `pr#15400 `_, Yehuda Sadeh) +* core: src/ceph.in: Use env(CEPH_DEV) to suppress noise from ceph (`pr#14746 `_, Willem Jan Withagen) +* core,tests: ceph-disk: sensible default for block.db (`pr#15576 `_, Loic Dachary) +* core,tests: qa/suites/rados/*/at-end: wait for healthy before scrubbing (`pr#15245 `_, Sage Weil) +* core,tests: qa/suites/rados/singleton-nomsg/health-warnings: behave on ext4 (`issue#20043 `_, `pr#15207 `_, Sage Weil) +* core,tests: qa/suites/rados: temporarily remove scrub_test from basic/ until post-luminous (`issue#19935 `_, `pr#15202 `_, Sage Weil) +* core,tests: qa/suites/upgrade/kraken-x: enable experimental for bluestore (`pr#15359 `_, Sage Weil) +* core,tests: qa/workunits/cephtool/test.sh: fix osd full health detail grep (`issue#20187 `_, `pr#15494 `_, Sage Weil) +* core,tests: qa/workunits/rados/test_health_warning: misc fixes (`issue#19990 `_, `pr#15201 `_, Sage Weil) +* core,tests: test/osd/TestRados.cc: run set-redirect test after finishing setup (`issue#20114 `_, `pr#15385 `_, Myoungwon Oh) +* core,tools: osdmaptool: require --upmap-save before modifying input osdmap (`pr#15247 `_, Sage Weil) +* crush: add missing tunable in tests (`pr#15412 `_, Loic Dachary) +* crush: encode can override weights with weight set (`issue#19836 `_, `pr#15002 `_, Loic Dachary) +* crush: optimize header file dependency (`pr#9307 `_, Xiaowei Chen) +* crush: update choose_args when items are added/removed (`pr#15311 `_, Loic Dachary) +* doc: add descriptions for mon/mgr options (`pr#15032 `_, Kefu Chai) +* doc: add FreeBSD manual install (`pr#14941 `_, Willem Jan Withagen) +* doc: add new cn ceph mirror to doc and mirroring (`pr#15089 `_, Shengjing Zhu) +* doc: add rados xattr commands to manpage (`pr#15362 `_, Andreas Gerstmayr) +* doc: add README to dmclock subdir to inform developers it's a git subtree (`pr#15386 `_, J. Eric Ivancich) +* doc: AUTHORS: update with release manager, backport team (`pr#15391 `_, Sage Weil) +* doc: Change the default values of some OSD options (`issue#20199 `_, `pr#15566 `_, Bara Ancincova) +* doc: describe CephFS max_file_size (`pr#15287 `_, Ken Dreyer) +* doc: dev improve the s3tests doc to reflect current scripts (`pr#15180 `_, Abhishek Lekshmanan) +* doc: doc/cephfs: mention RADOS object size limit (`pr#15550 `_, John Spray) +* doc: doc/release-notes: update which jewel version does sortbitwise warning (`pr#15209 `_, Sage Weil) +* doc: doc/rgw: remove fastcgi page and sample configs (`pr#15133 `_, Casey Bodley) +* doc: Documentation Fixes for http://tracker.ceph.com/issues/19879 (`issue#20057 `_, `issue#19879 `_, `pr#15606 `_, Sameer Tiwari) +* doc: document perf historgrams (`pr#15150 `_, Piotr Dałek) +* doc: Document RGW quota cache options (`issue#18747 `_, `pr#13395 `_, Daniel Gryniewicz) +* doc: fix broken link in erasure-code.rst (`issue#19972 `_, `pr#15143 `_, MinSheng Lin) +* doc: fix factual inaccuracy in doc/architecture.rst (`pr#15235 `_, Nathan Cutler, Sage Weil) +* doc: fixing an error in 12.0.3 release notes (`pr#15195 `_, Abhishek Lekshmanan) +* doc: fix syntax on code snippets in cephfs/multimds (`pr#15499 `_, John Spray) +* doc: kill some broken links (`pr#15203 `_, liuchang0812) +* doc: mailmap: Leo Zhang infomation and affiliation (`pr#15145 `_, Leo Zhang) +* doc: mention certain conf vars should be in global (`pr#15119 `_, Ali Maredia) +* doc: Merge pull request from stiwari/wip-19879 (`issue#19879 `_, `pr#15609 `_, Sameer Tiwari) +* doc: minor fixes in radosgw/ (`pr#15103 `_, Drunkard Zhang) +* doc: PendingReleaseNotes: notes on whiteouts vs pgnls (`pr#15575 `_, Sage Weil) +* doc: PendingReleaseNotes: warning about 'osd rm ...' and #19119 (`issue#19119 `_, `pr#13731 `_, Sage Weil) +* doc: release-notes clarify about rgw encryption (`pr#14800 `_, Abhishek Lekshmanan) +* doc: release notes for v12.0.3 (dev) (`pr#15090 `_, Abhishek Lekshmanan) +* docs document "osd recovery max single start" setting (`issue#17396 `_, `pr#15275 `_, Ken Dreyer) +* doc: typo fixes on hyperlink/words (`pr#15144 `_, Drunkard Zhang) +* doc: update sample explaning "%" operator in test suites (`pr#15511 `_, Kefu Chai) +* doc: Update some RGW documentation (`pr#15175 `_, Jens Rosenboom) +* doc: update the usage of 'ceph-deploy purge' (`pr#15080 `_, Yu Shengzuo) +* doc: use do_cmake.sh instead of `cmake ..` (`pr#15110 `_, Kefu Chai) +* librbd: discard related IO should skip op if object non-existent (`issue#19962 `_, `pr#15239 `_, Mykola Golub) +* librbd: do not raise an error if trash list returns -ENOENT (`pr#15085 `_, runsisi) +* librbd: filter expected error codes from is_exclusive_lock_owner (`issue#20182 `_, `pr#15483 `_, Jason Dillaman) +* librbd: fix valgrind errors and ensure tests detect future leaks (`pr#15415 `_, Jason Dillaman) +* librbd: optimize copy-up to add hints only once to object op (`issue#19875 `_, `pr#15037 `_, Mykola Golub) +* librbd: potential read IO hang when image is flattened (`issue#19832 `_, `pr#15234 `_, Jason Dillaman) +* librbd: reacquire lock should update lock owner client id (`issue#19929 `_, `pr#15093 `_, Jason Dillaman) +* librbd: reduce potential of erroneous blacklisting on image close (`issue#19970 `_, `pr#15162 `_, Jason Dillaman) +* librbd: remove unused rbd_image_options_t ostream operator (`pr#15443 `_, Mykola Golub) +* mds: change the type of data_pools (`pr#15278 `_, Vicente Cheng) +* mds: check export pin during replay (`issue#20039 `_, `pr#15205 `_, Patrick Donnelly) +* mds: fix CDir::merge() for mds_debug_auth_pins (`issue#19946 `_, `pr#15130 `_, "Yan, Zheng") +* mds: fix client ID truncation (`pr#15258 `_, Henry Chang) +* mds: limit client writable range increment (`issue#19955 `_, `pr#15131 `_, "Yan, Zheng") +* mds: miscellaneous multimds fixes (`pr#14550 `_, "Yan, Zheng") +* mds: Pass empty string to clear mantle balancer (`issue#20076 `_, `pr#15282 `_, Zhi Zhang) +* mds: properly create aux subtrees for pinned directory (`issue#20083 `_, `pr#15300 `_, "Yan, Zheng") +* mgr: ceph-create-keys: update client.admin if it already exists (`issue#19940 `_, `pr#15112 `_, John Spray) +* mgr: ceph: introduce "tell x help" subcommand (`issue#19885 `_, `pr#15111 `_, liuchang0812) +* mgr: ceph-mgr: Implement new pecan-based rest api (`pr#14457 `_, Boris Ranto) +* mgr: cleanup, stop clients sending in perf counters (`pr#15578 `_, John Spray) +* mgr: dashboard code cleanup (`pr#15577 `_, John Spray) +* mgr: dashboard GUI module (`pr#14946 `_, John Spray, Dan Mick) +* mgr: load modules in separate python sub-interpreters (`pr#14971 `_, Tim Serong) +* mgr: Mark session connections down on shutdown (`issue#19900 `_, `pr#15192 `_, Brad Hubbard) +* mgr: mgr/DaemonServer.cc: log daemon type string as well as id (`pr#15560 `_, Dan Mick) +* mgr: mgr/MgrStandby: prevent use-after-free on just-shut-down Mgr (`issue#19595 `_, `pr#15297 `_, Sage Weil) +* mgr: mgr/MgrStandby: respawn when deactivated (`issue#19595 `_, `issue#19549 `_, `pr#15557 `_, Sage Weil) +* mgr: mgr,osd: ceph-mgr --help, unify usage text of other daemons (`pr#15176 `_, Tim Serong) +* mgr,mon: mon,mgr: extricate PGmap from monitor (`issue#20067 `_, `issue#20174 `_, `issue#20050 `_, `pr#15073 `_, Kefu Chai, Sage Weil, Greg Farnum) +* mgr,mon: mon/MgrMonitor: add 'mgr dump [epoch]' command (`pr#15158 `_, Sage Weil) +* mgr: optimize DaemonStateIndex::cull() a little bit (`pr#14967 `_, Kefu Chai) +* mgr: pybind/mgr/dashboard: monkeypatch os.exit to stop cherrypy from taking down mgr (`issue#20216 `_, `pr#15588 `_, Sage Weil) +* mgr: pybind/mgr: Delete `rest` module (`pr#15429 `_, John Spray) +* mgr: pybind/mgr/restful: improve cert handling; work with vstart (`pr#15405 `_, Sage Weil) +* mon: add crush type down health warnings (`pr#14914 `_, Neha Ojha) +* mon: Add override for FsNewHandler::handle() (`pr#15331 `_, yonghengdexin735) +* mon: cleanups (`pr#15272 `_, Kefu Chai) +* mon: delete useless function definition (`pr#15188 `_, shiqi) +* mon: don't prefix mgr summary with epoch number (`pr#15512 `_, John Spray) +* mon: fix accesing pending_fsmap from peon (`issue#20040 `_, `pr#15213 `_, John Spray) +* mon: fix a few bugs with the osd health reporting (`pr#15179 `_, Sage Weil) +* mon: Fixed typo in function comment blocks and in other comments (`pr#15304 `_, linbing) +* mon: Fixed typo in @post of _active() (`pr#15191 `_, Linbing) +* mon: fix mon_keyvaluedb application (`pr#15059 `_, Sage Weil) +* mon: it's no need to get pg action_primary osd twice in pg scrub (`pr#15313 `_, linbing) +* mon: mon/MgrMonitor: send digests only if is_active() (`pr#15109 `_, Kefu Chai) +* mon: mon/MonClient: cancel pending commands on shutdown (`issue#20051 `_, `pr#15227 `_, Kefu Chai, Sage Weil) +* mon: {mon,osd,mds} {versions,count-metadata} (`pr#15436 `_, Sage Weil) +* mon: mon/PGMap: show %used in formatted output (`issue#20123 `_, `pr#15387 `_, Joao Eduardo Luis) +* mon: Removed unnecessary function declaration in MDSMonitor.h (`pr#15374 `_, yonghengdexin735) +* mon: replace osds with `osd destroy` and `osd new` (`pr#14074 `_, Joao Eduardo Luis, Sage Weil) +* mon: revise "ceph status" output (`pr#15396 `_, John Spray) +* mon: show io status quickly if no update in a long period (`pr#14176 `_, Mingxin Liu) +* mon: track features from connect clients, and use it to gate set-require-min-compat-client (`pr#15371 `_, Sage Weil) +* mon: trim the creating_pgs after updating it with pgmap (`issue#20067 `_, `pr#15318 `_, Kefu Chai) +* msg: do not enable client-side binding by default (`issue#20049 `_, `pr#15392 `_, Jason Dillaman) +* msg: don't set msgr addr when disabing client bind (`pr#15243 `_, Haomai Wang) +* msgr: msg/async: Lower down the AsyncMessenger's standby warning from debug (`pr#15242 `_, Pan Liu) +* msgr: msg/async: remove false alert "assert" (`pr#15288 `_, Haomai Wang) +* osd: don't leak pgrefs or reservations in SnapTrimmer (`issue#19931 `_, `pr#15214 `_, Greg Farnum) +* osd: fix argument-dependent lookup of swap() (`pr#15124 `_, Casey Bodley) +* osd: fix past_intervals base case by adding epoch_pool_created to pg_history_t (`issue#19877 `_, `pr#14989 `_, Sage Weil) +* osd: hdd vs ssd defaults for osd op thread pool (`pr#15422 `_, Sage Weil) +* osd: Implement asynchronous recovery sleep (`pr#15212 `_, Neha Ojha) +* osd: Move scrub sleep timer to osdservice (`issue#19986 `_, `pr#15217 `_, Brad Hubbard) +* osd: Object level shard errors are tracked and used if no auth available (`issue#20089 `_, `pr#15397 `_, David Zafman) +* osd: osd/OSDMap.cc: check if osd is out in subtree_type_is_down (`issue#19989 `_, `pr#15250 `_, Neha Ojha) +* osd: 'osd tree in|out|up|down' to filter tree results (`pr#15294 `_, Sage Weil) +* osd: reduce buffer pinning from EC entries (`pr#15120 `_, Sage Weil) +* osd: reduce map cache size (`pr#15292 `_, Sage Weil) +* osd: reduce rados_max_object_size from 100 GB -> 128 MB (`pr#15520 `_, Sage Weil) +* osd: rename osd -> osd_pglog; include pglog-related bufferlists (`pr#15531 `_, Sage Weil) +* osd: Return early on shutdown (`issue#19900 `_, `pr#15345 `_, Brad Hubbard) +* osd: take PGRef for recovery sleep wakeup event (`issue#20226 `_, `pr#15582 `_, Sage Weil) +* osd: when osd in not in failure_pending, we don't need to get osd inst from osdmap. (`pr#15558 `_, linbing) +* osd: When scrub finds an attr error mark shard inconsistent (`issue#20089 `_, `pr#15368 `_, David Zafman) +* performance: common/config_opts.h: Lower HDD throttle cost. (`pr#15485 `_, Mark Nelson) +* performance: denc: add need_contiguous to denc_traits (`pr#15224 `_, Kefu Chai) +* pybind: pybind/ceph_argparse: fix empty string check (`issue#20135 `_, `pr#15500 `_, Sage Weil) +* pybind: pybind/ceph_daemon.py: fix Termsize.update (`pr#15253 `_, Kefu Chai) +* pybind: pybind/rados: avoid call free() on invalid pointer (`pr#15159 `_, Mingxin Liu) +* pybind,rbd: pybind/rbd: OSError should be picklable (`issue#20223 `_, `pr#15574 `_, Jason Dillaman) +* pybind: support mon target in pybind (`pr#15409 `_, liuchang0812) +* rbd-mirror: coordinate image syncs with leader (`issue#18789 `_, `pr#14745 `_, Mykola Golub) +* rbd-mirror: lock loss during sync should wait for in-flight copies (`pr#15532 `_, Jason Dillaman) +* rbd-mirror: permit release of local image exclusive lock after force promotion (`issue#18963 `_, `pr#15140 `_, Jason Dillaman) +* rbd: properly decode features when using image name optional (`issue#20185 `_, `pr#15492 `_, Jason Dillaman) +* rbd: pybind/rbd: fix crash if more than 1024 images in trash bin (`pr#15134 `_, runsisi) +* rbd: rbd/bench: fix write gaps when doing sequential writes with io-threads > 1 (`pr#15206 `_, Igor Fedotov) +* rbd: removed hardcoded default pool (`pr#15518 `_, Jason Dillaman) +* rbd,tests: qa: krbd discard/zeroout tests (`pr#15388 `_, Ilya Dryomov) +* rbd,tests: qa/suites/krbd: unmap subsuite needs straw buckets (`pr#15290 `_, Ilya Dryomov) +* rbd,tests: qa: update krbd_data_pool.sh to match the new rados ls behavior (`pr#15594 `_, Ilya Dryomov) +* rbd,tests: test/librbd: unit tests cleanup (`pr#15113 `_, Mykola Golub) +* rdma: msg/async/rdma: Add DSCP support (`pr#15484 `_, Sarit Zubakov) +* rdma: msg/async: Revert RDMA-CM (`pr#15262 `_, Amir Vadai) +* rgw: Adding code to create tenanted user for s3 bucket policy tests. (`pr#15028 `_, Pritha Srivastava) +* rgw: add "rgw_verify_ssl" config (`pr#15301 `_, Shasha Lu) +* rgw: add the Vim's modeline into rgw_orphan.cc. (`pr#15431 `_, Radoslaw Zarzynski) +* rgw: bucket index check in radosgw-admin removes valid index. (`issue#18470 `_, `pr#12851 `_, Zhang Shaowen) +* rgw: datalog trim and mdlog trim handles the result returned by osd incorrectly. (`issue#20190 `_, `pr#15507 `_, Zhang Shaowen) +* rgw: display more info when using radosgw-admin bucket stats (`pr#15256 `_, fang.yuxiang) +* rgw: drop asio/{yield,coroutine}.hpp replacements (`pr#15413 `_, Kefu Chai) +* rgw: drop using std ns in header files and other cleanups (`pr#15137 `_, Abhishek Lekshmanan) +* rgw: dynamic resharding (`pr#15493 `_, Yehuda Sadeh, Orit Wasserman) +* rgw: fix 'gc list --include-all' command infinite loop the first items (`issue#19978 `_, `pr#12774 `_, Shasha Lu, fang yuxiang) +* rgw: fix lc list failure when shards not be all created (`issue#19898 `_, `pr#15025 `_, Jiaying Ren) +* rgw: fix radosgw-admin retcode (`pr#15257 `_, Shasha Lu) +* rgw: fix test_multi.py default config file path (`pr#15306 `_, Jiaying Ren) +* rgw: fix X-Object-Meta-Static-Large-Object in SLO download (`issue#19951 `_, `pr#15045 `_, Shasha Lu) +* rgw: metadata search part 2 (`pr#14351 `_, Yehuda Sadeh) +* rgw: migrate atomic_t to std::atomic<> (`pr#15001 `_, Jesse Williamson) +* rgw: optimize data sync. Add zones_trace in log to avoid needless sync. (`issue#19219 `_, `pr#13851 `_, Zhang Shaowen) +* rgw: optimize generating torrent file. Object data won't stay in memory now. (`pr#15153 `_, Zhang Shaowen) +* rgw: pass authentication domain to civetweb (`issue#17657 `_, `pr#12861 `_, Abhishek Lekshmanan) +* rgw: polymorphic error codes (`pr#10690 `_, Pritha Srivastava, Marcus Watts) +* rgw: remove fastcgi from default rgw frontends (`pr#15098 `_, Casey Bodley) +* rgw: rename s3_code to err_code for swift (`pr#12300 `_, Guo Zhandong) +* rgw: return the version id in get object and object metadata request. (`issue#19370 `_, `pr#14117 `_, Zhang Shaowen) +* rgw: rgw-admin: fix bucket limit check argparse, div(0) (`pr#15316 `_, Matt Benjamin) +* rgw: rgw_common: use string::npos for the results of str.find (`pr#14341 `_, Abhishek Lekshmanan) +* rgw: rgw_file: add lock protection for readdir against gc (`issue#20121 `_, `pr#15329 `_, Gui Hecheng) +* rgw: rgw_file cleanup names (`pr#15568 `_, Gui Hecheng) +* rgw: rgw_file: fix flags set on unsuccessful unlink (`pr#15222 `_, Gui Hecheng) +* rgw: rgw_file: release rgw_fh lock and ref on ENOTEMPTY (`issue#20061 `_, `pr#15246 `_, Matt Benjamin) +* rgw: rgw_file: removed extra rele() on fs in rgw_umount() (`pr#15152 `_, Gui Hecheng) +* rgw: rgw_file: remove hidden uxattr objects from buckets on delete (`issue#20045 `_, `pr#15210 `_, Matt Benjamin) +* rgw: rgw_file: remove post-unlink lookup check (`issue#20047 `_, `pr#15216 `_, Matt Benjamin) +* rgw: rgw_file: replace raw fs->fh_lru.unref with predefined fs->unref (`pr#15541 `_, Gui Hecheng) +* rgw: rgw_file: store bucket uxattrs on the bucket (`issue#20082 `_, `pr#15293 `_, Matt Benjamin) +* rgw: rgw_file: v3: fix write-timer action (`issue#19932 `_, `pr#15097 `_, Matt Benjamin) +* rgw: rgw_rados: create sync module instances only if run_sync_thread is set (`issue#19830 `_, `pr#14994 `_, Abhishek Lekshmanan) +* rgw: rgw/rgw_swift_auth.cc: using string::back() instead as the C++11 recommend (`pr#14827 `_, liuyuhong) +* rgw: segment fault when shard id out of range (`issue#19732 `_, `pr#14389 `_, redickwang) +* rgw: set object accounted size correctly (`issue#20071 `_, `pr#14950 `_, fang yuxiang) +* rgw: set placement rule properly (`pr#15221 `_, fang.yuxiang) +* rgw: support certain archaic and antiquated distributions (`pr#15498 `_, Adam C. Emerson) +* rgw,tests: qa/rgw: add multisite suite to configure and run multisite tests (`pr#14688 `_, Casey Bodley) +* rgw,tests: qa/rgw: remove apache/fastcgi and radosgw-agent tests (`pr#15184 `_, Casey Bodley) +* rgw: Turn off fcgi as a frontend (`issue#16784 `_, `pr#15070 `_, Thomas Serlin) +* rgw: use get_data_extra_pool() when get extra pool (`issue#20064 `_, `pr#15219 `_, fang yuxiang) +* rgw: use pre-defined calls to replace raw flag operation (`pr#15107 `_, Gui Hecheng) +* tests: Add integration tests for admin socket output (`pr#15223 `_, Brad Hubbard) +* tests: ceph-disk: add setting for external py-modules for tox-testing (`pr#15433 `_, Willem Jan Withagen) +* tests: Check make_writeable() return value (`pr#15266 `_, zhanglei) +* tests: config_opts: drop unused opts (`pr#15031 `_, Kefu Chai) +* tests: qa: add task for dnsmasq configuration (`pr#15071 `_, Casey Bodley) +* tests: qa: split test_tiering into smaller pieces (`pr#15146 `_, Kefu Chai) +* tests: qa/suites/rados: fix ec thrashing (`pr#15087 `_, Sage Weil) +* tests: qa/suites/rados/singleton-nomsgr: fix syntax (`pr#15276 `_, Sage Weil) +* tests: qa/suites/rados/thrash: make sure osds have map before legacy scrub (`pr#15117 `_, Sage Weil) +* tests: qa/suites/rados/upgrade: restart mds (`pr#15517 `_, Sage Weil) +* tests: qa/tasks/ceph_manager: 'ceph $service tell ...' is obsolete (`pr#15252 `_, Sage Weil) +* tests: qa/tasks/rebuild_mondb: grant "mgr:allow *" to client.admin (`issue#19439 `_, `pr#14284 `_, Kefu Chai) +* tests: qa/tasks/repair_test: unset flags we set (`pr#15296 `_, Sage Weil) +* tests: qa/workunits/ceph-helpers.sh: use syntax understood by jq 1.3 (`pr#15530 `_, Kefu Chai) +* tests: Rename FileJournal object to distinguish (`pr#15279 `_, Jos Collin) +* tests: test/crush: silence warnings from -Walloc-size-larger-than= and -Wstringop-overflow= (`pr#15173 `_, Jos Collin) +* tests: test: migrate atomic_t to std::atomic (`pr#14655 `_, Jesse Williamson) +* tests: test/msgr: silence warnings from -Wsign-compare (`pr#15356 `_, Jos Collin) +* tests: test/msgr: silence warnings from -Wsign-compare (`pr#15570 `_, Jos Collin) +* tests: test/objectstore: Check apply_transaction() return values (`pr#15171 `_, zhanglei) +* tests: test/old: Removed commented code (`pr#15366 `_, Jos Collin) +* tests: test/osdc: fix comparison error and silence warning from -Wunused-value (`pr#15353 `_, Willem Jan Withagen) +* tests: test: osd/TestOSDMap.cc: fix Clang complain about promotion (`pr#15525 `_, Willem Jan Withagen) +* tests: test: test_denc.cc: silence warning from -Wsign-compare (`pr#15355 `_, Jos Collin) +* tests: test: Test fix for SnapSet change (`pr#15161 `_, David Zafman) +* tests: test/unittest_bluefs: check whether mounted success (`pr#14988 `_, shiqi) +* tools: ceph.in: adjust usage width according to user's tty (`pr#15190 `_, Kefu Chai) +* tools: ceph.in: assert(state==connected) before help_for_target() (`pr#15156 `_, Kefu Chai) +* tools: ceph.in: drop the compatiiblity to handle non json commands (`pr#15508 `_, Kefu Chai) +* tools: ceph.in: print return code when json_command failed (`pr#15378 `_, liuchang0812) +* tools: tools/ceph_kvstore_tool: add "bluestore-kv" to usage (`pr#15326 `_, xie xingguo) +* tools: tools/crushtool: replicated-rule API support (`pr#15011 `_, xie xingguo) +* tools: vstart: "debug_ms=1" for mgr by default (`pr#15127 `_, Kefu Chai) +* tools: vstart: print "start osd.$id" instead of "start osd$id" (`pr#15427 `_, Kefu Chai) + v12.0.3 Luminous (dev) ====================== @@ -117,7 +485,6 @@ monitor, rbd & rgw. Major changes from v12.0.2 -------------------------- -* The "journaler allow split entries" config setting has been removed. Notable Changes --------------- @@ -459,41 +826,6 @@ stable release. Major changes from v12.0.1 -------------------------- -* The original librados rados_objects_list_open (C) and objects_begin - (C++) object listing API, deprecated in Hammer, has finally been - removed. Users of this interface must update their software to use - either the rados_nobjects_list_open (C) and nobjects_begin (C++) API or - the new rados_object_list_begin (C) and object_list_begin (C++) API - before updating the client-side librados library to Luminous. - - Object enumeration (via any API) with the latest librados version - and pre-Hammer OSDs is no longer supported. Note that no in-tree - Ceph services rely on object enumeration via the deprecated APIs, so - only external librados users might be affected. - - The newest (and recommended) rados_object_list_begin (C) and - object_list_begin (C++) API is only usable on clusters with the - SORTBITWISE flag enabled (Jewel and later). (Note that this flag is - required to be set before upgrading beyond Jewel.) -* CephFS clients without the 'p' flag in their authentication capability - string will no longer be able to set quotas or any layout fields. This - flag previously only restricted modification of the pool and namespace - fields in layouts. -* CephFS directory fragmentation (large directory support) is enabled - by default on new filesystems. To enable it on existing filesystems - use "ceph fs set allow_dirfrags". -* CephFS will generate a health warning if you have fewer standby daemons - than it thinks you wanted. By default this will be 1 if you ever had - a standby, and 0 if you did not. You can customize this using - ``ceph fs set standby_count_wanted ``. Setting it - to zero will effectively disable the health check. -* The "ceph mds tell ..." command has been removed. It is superceded - by "ceph tell mds. ..." -* RGW introduces server side encryption of uploaded objects with 3 options for - the management of encryption keys, automatic encryption (only recommended for - test setups), customer provided keys similar to Amazon SSE-C specification and - using a key management service (Openstack Barbician) similar to Amazon SSE-KMS - specification. Notable Changes --------------- @@ -1374,51 +1706,6 @@ This is the first development checkpoint release of Luminous series, the next long term release. We're off to a good start to release Luminous in the spring of '17. -Major changes from Kraken -------------------------- - * When assigning a network to the public network and not to - the cluster network the network specification of the public - network will be used for the cluster network as well. - In older versions this would lead to cluster services - being bound to 0.0.0.0:, thus making the - cluster service even more publicly available than the - public services. When only specifying a cluster network it - will still result in the public services binding to 0.0.0.0. - -* Some variants of the omap_get_keys and omap_get_vals librados - functions have been deprecated in favor of omap_get_vals2 and - omap_get_keys2. The new methods include an output argument - indicating whether there are additional keys left to fetch. - Previously this had to be inferred from the requested key count vs - the number of keys returned, but this breaks with new OSD-side - limits on the number of keys or bytes that can be returned by a - single omap request. These limits were introduced by kraken but - are effectively disabled by default (by setting a very large limit - of 1 GB) because users of the newly deprecated interface cannot - tell whether they should fetch more keys or not. In the case of - the standalone calls in the C++ interface - (IoCtx::get_omap_{keys,vals}), librados has been updated to loop on - the client side to provide a correct result via multiple calls to - the OSD. In the case of the methods used for building - multi-operation transactions, however, client-side looping is not - practical, and the methods have been deprecated. Note that use of - either the IoCtx methods on older librados versions or the - deprecated methods on any version of librados will lead to - incomplete results if/when the new OSD limits are enabled. - -* In previous versions, if a client sent an op to the wrong OSD, the OSD - would reply with ENXIO. The rationale here is that the client or OSD is - clearly buggy and we want to surface the error as clearly as possible. - We now only send the ENXIO reply if the osd_enxio_on_misdirected_op option - is enabled (it's off by default). This means that a VM using librbd that - previously would have gotten an EIO and gone read-only will now see a - blocked/hung IO instead. - -* When configuring ceph-fuse mounts in /etc/fstab, a new syntax is - available that uses "ceph.=" in the options column, instead - of putting configuration in the device column. The old style syntax - still works. See the documentation page "Mount CephFS in your - file systems table" for details. Notable Changes