]> git.proxmox.com Git - ceph.git/blob - ceph/doc/releases/pacific.rst
5394545476fe490143300ac6a2bf19e8d189aae8
[ceph.git] / ceph / doc / releases / pacific.rst
1 =======
2 Pacific
3 =======
4
5 v16.2.7 Pacific
6 ===============
7
8 This is the seventh backport release in the Pacific series.
9
10 Notable Changes
11 ---------------
12
13 * Critical bug in OMAP format upgrade is fixed. This could cause data corruption
14 (improperly formatted OMAP keys) after pre-Pacific cluster upgrade if
15 bluestore-quick-fix-on-mount parameter is set to true or ceph-bluestore-tool's
16 quick-fix/repair commands are invoked.
17 Relevant tracker: https://tracker.ceph.com/issues/53062
18 ``bluestore-quick-fix-on-mount`` continues to be set to false, by default.
19
20 * CephFS: If you are not using cephadm, you must disable FSMap sanity checks *before starting the upgrade*::
21
22 ceph config set mon mon_mds_skip_sanity true
23
24 After the upgrade has finished and the cluster is stable, please remove that setting::
25
26 ceph config rm mon mon_mds_skip_sanity
27
28 Clusters managed by and upgraded using cephadm take care of this step automatically.
29
30 * MGR: The pg_autoscaler will use the 'scale-up' profile as the default profile.
31 16.2.6 changed the default profile to 'scale-down' but we ran into issues
32 with the device_health_metrics pool consuming too many PGs, which is not ideal
33 for performance. So we will continue to use the 'scale-up' profile by default,
34 until we implement a limit on the number of PGs default pools should consume,
35 in combination with the 'scale-down' profile.
36
37 * Cephadm & Ceph Dashboard: NFS management has been completely reworked to
38 ensure that NFS exports are managed consistently across the different Ceph
39 components. Prior to this, there were 3 incompatible implementations for
40 configuring the NFS exports: Ceph-Ansible/OpenStack Manila, Ceph Dashboard and
41 'mgr/nfs' module. With this release the 'mgr/nfs' way becomes the official
42 interface, and the remaining components (Cephadm and Ceph Dashboard) adhere to
43 it. While this might require manually migrating from the deprecated
44 implementations, it will simplify the user experience for those heavily
45 relying on NFS exports.
46
47 * Dashboard: "Cluster Expansion Wizard". After the 'cephadm bootstrap' step,
48 users that log into the Ceph Dashboard will be presented with a welcome
49 screen. If they choose to follow the installation wizard, they will be guided
50 through a set of steps to help them configure their Ceph cluster: expanding
51 the cluster by adding more hosts, detecting and defining their storage
52 devices, and finally deploying and configuring the different Ceph services.
53
54 * OSD: When using mclock_scheduler for QoS, there is no longer a need to run any
55 manual benchmark. The OSD now automatically sets an appropriate value for
56 `osd_mclock_max_capacity_iops` by running a simple benchmark during
57 initialization.
58
59 * MGR: The global recovery event in the progress module has been optimized and
60 a `sleep_interval` of 5 seconds has been added between stats collection,
61 to reduce the impact of the progress module on the MGR, especially in large
62 clusters.
63
64 Changelog
65 ---------
66
67 * rpm, debian: move smartmontools and nvme-cli to ceph-base (`pr#44164 <https://github.com/ceph/ceph/pull/44164>`_, Yaarit Hatuka)
68 * qa: miscellaneous perf suite fixes (`pr#44154 <https://github.com/ceph/ceph/pull/44154>`_, Neha Ojha)
69 * qa/suites/orch/cephadm: mgr-nfs-upgrade: add missing 0-distro dir (`pr#44201 <https://github.com/ceph/ceph/pull/44201>`_, Sebastian Wagner)
70 * \*: s/virtualenv/python -m venv/ (`pr#43002 <https://github.com/ceph/ceph/pull/43002>`_, Kefu Chai, Ken Dreyer)
71 * admin/doc-requirements.txt: pin Sphinx at 3.5.4 (`pr#43748 <https://github.com/ceph/ceph/pull/43748>`_, Kefu Chai)
72 * backport mgr/nfs bits (`pr#43811 <https://github.com/ceph/ceph/pull/43811>`_, Sage Weil, Michael Fritch)
73 * ceph-volume: `get_first_lv()` refactor (`pr#43960 <https://github.com/ceph/ceph/pull/43960>`_, Guillaume Abrioux)
74 * ceph-volume: fix a typo causing AttributeError (`pr#43949 <https://github.com/ceph/ceph/pull/43949>`_, Taha Jahangir)
75 * ceph-volume: fix bug with miscalculation of required db/wal slot size for VGs with multiple PVs (`pr#43948 <https://github.com/ceph/ceph/pull/43948>`_, Guillaume Abrioux, Cory Snyder)
76 * ceph-volume: fix lvm activate --all --no-systemd (`pr#43267 <https://github.com/ceph/ceph/pull/43267>`_, Dimitri Savineau)
77 * ceph-volume: util/prepare fix osd_id_available() (`pr#43708 <https://github.com/ceph/ceph/pull/43708>`_, Guillaume Abrioux)
78 * ceph.spec: selinux scripts respect CEPH_AUTO_RESTART_ON_UPGRADE (`pr#43235 <https://github.com/ceph/ceph/pull/43235>`_, Dan van der Ster)
79 * cephadm: November batch (`pr#43906 <https://github.com/ceph/ceph/pull/43906>`_, Sebastian Wagner, Sage Weil, Daniel Pivonka, Andrew Sharapov, Paul Cuzner, Adam King, Melissa Li)
80 * cephadm: October batch (`pr#43728 <https://github.com/ceph/ceph/pull/43728>`_, Patrick Donnelly, Sage Weil, Cory Snyder, Sebastian Wagner, Paul Cuzner, Joao Eduardo Luis, Zac Dover, Dmitry Kvashnin, Daniel Pivonka, Adam King, jianglong01, Guillaume Abrioux, Melissa Li, Roaa Sakr, Kefu Chai, Brad Hubbard, Michael Fritch, Javier Cacheiro)
81 * cephfs-mirror, test: add thrasher for cephfs mirror daemon, HA test yamls (`issue#50372 <http://tracker.ceph.com/issues/50372>`_, `pr#43924 <https://github.com/ceph/ceph/pull/43924>`_, Venky Shankar)
82 * cephfs-mirror: shutdown ClusterWatcher on termination (`pr#43198 <https://github.com/ceph/ceph/pull/43198>`_, Willem Jan Withagen, Venky Shankar)
83 * cmake: link Threads::Threads instead of CMAKE_THREAD_LIBS_INIT (`pr#43167 <https://github.com/ceph/ceph/pull/43167>`_, Ken Dreyer)
84 * cmake: s/Python_EXECUTABLE/Python3_EXECUTABLE/ (`pr#43264 <https://github.com/ceph/ceph/pull/43264>`_, Michael Fritch)
85 * crush: cancel upmaps with up set size != pool size (`pr#43415 <https://github.com/ceph/ceph/pull/43415>`_, huangjun)
86 * doc/radosgw/nfs: add note about NFSv3 deprecation (`pr#43941 <https://github.com/ceph/ceph/pull/43941>`_, Michael Fritch)
87 * doc: document subvolume (group) pins (`pr#43925 <https://github.com/ceph/ceph/pull/43925>`_, Patrick Donnelly)
88 * github: add dashboard PRs to Dashboard project (`pr#43610 <https://github.com/ceph/ceph/pull/43610>`_, Ernesto Puerta)
89 * librbd/cache/pwl: persistant cache backports (`pr#43772 <https://github.com/ceph/ceph/pull/43772>`_, Kefu Chai, Yingxin Cheng, Yin Congmin, Feng Hualong, Jianpeng Ma, Ilya Dryomov, Hualong Feng)
90 * librbd/cache/pwl: SSD caching backports (`pr#43918 <https://github.com/ceph/ceph/pull/43918>`_, Yin Congmin, Jianpeng Ma)
91 * librbd/object_map: rbd diff between two snapshots lists entire image content (`pr#43805 <https://github.com/ceph/ceph/pull/43805>`_, Sunny Kumar)
92 * librbd: fix pool validation lockup (`pr#43113 <https://github.com/ceph/ceph/pull/43113>`_, Ilya Dryomov)
93 * mds/FSMap: do not assert allow_standby_replay on old FSMaps (`pr#43614 <https://github.com/ceph/ceph/pull/43614>`_, Patrick Donnelly)
94 * mds: Add new flag to MClientSession (`pr#43251 <https://github.com/ceph/ceph/pull/43251>`_, Kotresh HR)
95 * mds: do not trim stray dentries during opening the root (`pr#43815 <https://github.com/ceph/ceph/pull/43815>`_, Xiubo Li)
96 * mds: skip journaling blocklisted clients when in `replay` state (`pr#43841 <https://github.com/ceph/ceph/pull/43841>`_, Venky Shankar)
97 * mds: switch mds_lock to fair mutex to fix the slow performance issue (`pr#43148 <https://github.com/ceph/ceph/pull/43148>`_, Xiubo Li, Kefu Chai)
98 * MDSMonitor: assertion during upgrade to v16.2.5+ (`pr#43890 <https://github.com/ceph/ceph/pull/43890>`_, Patrick Donnelly)
99 * MDSMonitor: handle damaged state from standby-replay (`pr#43200 <https://github.com/ceph/ceph/pull/43200>`_, Patrick Donnelly)
100 * MDSMonitor: no active MDS after cluster deployment (`pr#43891 <https://github.com/ceph/ceph/pull/43891>`_, Patrick Donnelly)
101 * mgr/dashboard,prometheus: fix handling of server_addr (`issue#52002 <http://tracker.ceph.com/issues/52002>`_, `pr#43631 <https://github.com/ceph/ceph/pull/43631>`_, Scott Shambarger)
102 * mgr/dashboard: all pyfakefs must be pinned on same version (`pr#43930 <https://github.com/ceph/ceph/pull/43930>`_, Rishabh Dave)
103 * mgr/dashboard: BATCH incl.: NFS integration, Cluster Expansion Workflow, and Angular 11 upgrade (`pr#43682 <https://github.com/ceph/ceph/pull/43682>`_, Alfonso Martínez, Avan Thakkar, Aashish Sharma, Nizamudeen A, Pere Diaz Bou, Varsha Rao, Ramana Raja, Sage Weil, Kefu Chai)
104 * mgr/dashboard: cephfs MDS Workload to use rate for counter type metric (`pr#43190 <https://github.com/ceph/ceph/pull/43190>`_, Jan Horacek)
105 * mgr/dashboard: clean-up controllers and API backward versioning compatibility (`pr#43543 <https://github.com/ceph/ceph/pull/43543>`_, Ernesto Puerta, Avan Thakkar)
106 * mgr/dashboard: Daemon Events listing using bootstrap class (`pr#44057 <https://github.com/ceph/ceph/pull/44057>`_, Nizamudeen A)
107 * mgr/dashboard: deprecated variable usage in Grafana dashboards (`pr#43188 <https://github.com/ceph/ceph/pull/43188>`_, Patrick Seidensal)
108 * mgr/dashboard: Device health status is not getting listed under hosts section (`pr#44053 <https://github.com/ceph/ceph/pull/44053>`_, Aashish Sharma)
109 * mgr/dashboard: Edit a service feature (`pr#43939 <https://github.com/ceph/ceph/pull/43939>`_, Nizamudeen A)
110 * mgr/dashboard: Fix failing config dashboard e2e check (`pr#43238 <https://github.com/ceph/ceph/pull/43238>`_, Nizamudeen A)
111 * mgr/dashboard: fix flaky inventory e2e test (`pr#44056 <https://github.com/ceph/ceph/pull/44056>`_, Nizamudeen A)
112 * mgr/dashboard: fix missing alert rule details (`pr#43812 <https://github.com/ceph/ceph/pull/43812>`_, Ernesto Puerta)
113 * mgr/dashboard: Fix orchestrator/01-hosts.e2e-spec.ts failure (`pr#43541 <https://github.com/ceph/ceph/pull/43541>`_, Nizamudeen A)
114 * mgr/dashboard: include mfa_ids in rgw user-details section (`pr#43893 <https://github.com/ceph/ceph/pull/43893>`_, Avan Thakkar)
115 * mgr/dashboard: Incorrect MTU mismatch warning (`pr#43185 <https://github.com/ceph/ceph/pull/43185>`_, Aashish Sharma)
116 * mgr/dashboard: monitoring: grafonnet refactoring for radosgw dashboards (`pr#43644 <https://github.com/ceph/ceph/pull/43644>`_, Aashish Sharma)
117 * mgr/dashboard: Move force maintenance test to the workflow test suite (`pr#43347 <https://github.com/ceph/ceph/pull/43347>`_, Nizamudeen A)
118 * mgr/dashboard: pin a version for autopep8 and pyfakefs (`pr#43646 <https://github.com/ceph/ceph/pull/43646>`_, Nizamudeen A)
119 * mgr/dashboard: Predefine labels in create host form (`pr#44077 <https://github.com/ceph/ceph/pull/44077>`_, Nizamudeen A)
120 * mgr/dashboard: provisioned values is misleading in RBD image table (`pr#44051 <https://github.com/ceph/ceph/pull/44051>`_, Avan Thakkar)
121 * mgr/dashboard: replace "Ceph-cluster" Client connections with active-standby MGRs (`pr#43523 <https://github.com/ceph/ceph/pull/43523>`_, Avan Thakkar)
122 * mgr/dashboard: rgw daemon list: add realm column (`pr#44047 <https://github.com/ceph/ceph/pull/44047>`_, Alfonso Martínez)
123 * mgr/dashboard: Spelling mistake in host-form Network address field (`pr#43973 <https://github.com/ceph/ceph/pull/43973>`_, Avan Thakkar)
124 * mgr/dashboard: Visual regression tests for ceph dashboard (`pr#42678 <https://github.com/ceph/ceph/pull/42678>`_, Aaryan Porwal)
125 * mgr/dashboard: visual tests: Add more ignore regions for dashboard component (`pr#43240 <https://github.com/ceph/ceph/pull/43240>`_, Aaryan Porwal)
126 * mgr/influx: use "N/A" for unknown hostname (`pr#43368 <https://github.com/ceph/ceph/pull/43368>`_, Kefu Chai)
127 * mgr/mirroring: remove unnecessary fs_name arg from daemon status command (`issue#51989 <http://tracker.ceph.com/issues/51989>`_, `pr#43199 <https://github.com/ceph/ceph/pull/43199>`_, Venky Shankar)
128 * mgr/nfs: nfs-rgw batch backport (`pr#43075 <https://github.com/ceph/ceph/pull/43075>`_, Sebastian Wagner, Sage Weil, Varsha Rao, Ramana Raja)
129 * mgr/progress: optimize global recovery && introduce 5 seconds interval (`pr#43353 <https://github.com/ceph/ceph/pull/43353>`_, Kamoltat, Neha Ojha)
130 * mgr/prometheus: offer ability to disable cache (`pr#43931 <https://github.com/ceph/ceph/pull/43931>`_, Patrick Seidensal)
131 * mgr/volumes: Fix permission during subvol creation with mode (`pr#43223 <https://github.com/ceph/ceph/pull/43223>`_, Kotresh HR)
132 * mgr: Add check to prevent mgr from crashing (`pr#43445 <https://github.com/ceph/ceph/pull/43445>`_, Aswin Toni)
133 * mon,auth: fix proposal (and mon db rebuild) of rotating secrets (`pr#43697 <https://github.com/ceph/ceph/pull/43697>`_, Sage Weil)
134 * mon/MDSMonitor: avoid crash when decoding old FSMap epochs (`pr#43615 <https://github.com/ceph/ceph/pull/43615>`_, Patrick Donnelly)
135 * mon: Allow specifying new tiebreaker monitors (`pr#43457 <https://github.com/ceph/ceph/pull/43457>`_, Greg Farnum)
136 * mon: MonMap: display disallowed_leaders whenever they're set (`pr#43972 <https://github.com/ceph/ceph/pull/43972>`_, Greg Farnum)
137 * mon: MonMap: do not increase mon_info_t's compatv in stretch mode, really (`pr#43971 <https://github.com/ceph/ceph/pull/43971>`_, Greg Farnum)
138 * monitoring: ethernet bonding filter in Network Load (`pr#43694 <https://github.com/ceph/ceph/pull/43694>`_, Pere Diaz Bou)
139 * msg/async/ProtocolV2: Set the recv_stamp at the beginning of receiving a message (`pr#43511 <https://github.com/ceph/ceph/pull/43511>`_, dongdong tao)
140 * msgr/async: fix unsafe access in unregister_conn() (`pr#43548 <https://github.com/ceph/ceph/pull/43548>`_, Sage Weil, Radoslaw Zarzynski)
141 * os/bluestore: _do_write_small fix head_pad (`pr#43756 <https://github.com/ceph/ceph/pull/43756>`_, dheart)
142 * os/bluestore: do not select absent device in volume selector (`pr#43970 <https://github.com/ceph/ceph/pull/43970>`_, Igor Fedotov)
143 * os/bluestore: fix invalid omap name conversion when upgrading to per-pg (`pr#43793 <https://github.com/ceph/ceph/pull/43793>`_, Igor Fedotov)
144 * os/bluestore: list obj which equals to pend (`pr#43512 <https://github.com/ceph/ceph/pull/43512>`_, Mykola Golub, Kefu Chai)
145 * os/bluestore: multiple repair fixes (`pr#43731 <https://github.com/ceph/ceph/pull/43731>`_, Igor Fedotov)
146 * osd/OSD: mkfs need wait for transcation completely finish (`pr#43417 <https://github.com/ceph/ceph/pull/43417>`_, Chen Fan)
147 * osd: fix partial recovery become whole object recovery after restart osd (`pr#43513 <https://github.com/ceph/ceph/pull/43513>`_, Jianwei Zhang)
148 * osd: fix to allow inc manifest leaked (`pr#43306 <https://github.com/ceph/ceph/pull/43306>`_, Myoungwon Oh)
149 * osd: fix to recover adjacent clone when set_chunk is called (`pr#43099 <https://github.com/ceph/ceph/pull/43099>`_, Myoungwon Oh)
150 * osd: handle inconsistent hash info during backfill and deep scrub gracefully (`pr#43544 <https://github.com/ceph/ceph/pull/43544>`_, Ronen Friedman, Mykola Golub)
151 * osd: re-cache peer_bytes on every peering state activate (`pr#43437 <https://github.com/ceph/ceph/pull/43437>`_, Mykola Golub)
152 * osd: Run osd bench test to override default max osd capacity for mclock (`pr#41731 <https://github.com/ceph/ceph/pull/41731>`_, Sridhar Seshasayee)
153 * Pacific: BlueStore: Omap upgrade to per-pg fix fix (`pr#43922 <https://github.com/ceph/ceph/pull/43922>`_, Adam Kupczyk)
154 * Pacific: client: do not defer releasing caps when revoking (`pr#43782 <https://github.com/ceph/ceph/pull/43782>`_, Xiubo Li)
155 * Pacific: mds: add read/write io size metrics support (`pr#43784 <https://github.com/ceph/ceph/pull/43784>`_, Xiubo Li)
156 * Pacific: test/libcephfs: put inodes after lookup (`pr#43562 <https://github.com/ceph/ceph/pull/43562>`_, Patrick Donnelly)
157 * pybind/mgr/cephadm: set allow_standby_replay during CephFS upgrade (`pr#43559 <https://github.com/ceph/ceph/pull/43559>`_, Patrick Donnelly)
158 * pybind/mgr/CMakeLists.txt: exclude files not used at runtime (`pr#43787 <https://github.com/ceph/ceph/pull/43787>`_, Duncan Bellamy)
159 * pybind/mgr/pg_autoscale: revert to default profile scale-up (`pr#44032 <https://github.com/ceph/ceph/pull/44032>`_, Kamoltat)
160 * qa/mgr/dashboard/test_pool: don't check HEALTH_OK (`pr#43440 <https://github.com/ceph/ceph/pull/43440>`_, Ernesto Puerta)
161 * qa/mgr/dashboard: add extra wait to test (`pr#43351 <https://github.com/ceph/ceph/pull/43351>`_, Ernesto Puerta)
162 * qa/rgw: pacific branch targets ceph-pacific branch of java_s3tests (`pr#43809 <https://github.com/ceph/ceph/pull/43809>`_, Casey Bodley)
163 * qa/tasks/kubeadm: force docker cgroup engine to systemd (`pr#43937 <https://github.com/ceph/ceph/pull/43937>`_, Sage Weil)
164 * qa/tasks/mgr: skip test_diskprediction_local on python>=3.8 (`pr#43421 <https://github.com/ceph/ceph/pull/43421>`_, Kefu Chai)
165 * qa/tests: advanced version to reflect the latest 16.2.6 release (`pr#43242 <https://github.com/ceph/ceph/pull/43242>`_, Yuri Weinstein)
166 * qa: disable metrics on kernel client during upgrade (`pr#44034 <https://github.com/ceph/ceph/pull/44034>`_, Patrick Donnelly)
167 * qa: lengthen grace for fs map showing dead MDS (`pr#43702 <https://github.com/ceph/ceph/pull/43702>`_, Patrick Donnelly)
168 * qa: reduce frag split confs for dir_split counter test (`pr#43828 <https://github.com/ceph/ceph/pull/43828>`_, Patrick Donnelly)
169 * rbd-mirror: fix mirror image removal (`pr#43662 <https://github.com/ceph/ceph/pull/43662>`_, Arthur Outhenin-Chalandre)
170 * rbd-mirror: unbreak one-way snapshot-based mirroring (`pr#43315 <https://github.com/ceph/ceph/pull/43315>`_, Ilya Dryomov)
171 * rgw/notification: make notifications agnostic of bucket reshard (`pr#42946 <https://github.com/ceph/ceph/pull/42946>`_, Yuval Lifshitz)
172 * rgw/notifications: cache object size to avoid accessing invalid memory (`pr#42949 <https://github.com/ceph/ceph/pull/42949>`_, Yuval Lifshitz)
173 * rgw/notifications: send correct size in case of delete marker creation (`pr#42643 <https://github.com/ceph/ceph/pull/42643>`_, Yuval Lifshitz)
174 * rgw/notifications: support v4 auth for topics and notifications (`pr#42947 <https://github.com/ceph/ceph/pull/42947>`_, Yuval Lifshitz)
175 * rgw/rgw_rados: make RGW request IDs non-deterministic (`pr#43695 <https://github.com/ceph/ceph/pull/43695>`_, Cory Snyder)
176 * rgw/sts: fix for copy object operation using sts (`pr#43703 <https://github.com/ceph/ceph/pull/43703>`_, Pritha Srivastava)
177 * rgw/tracing: unify SO version numbers within librgw2 package (`pr#43619 <https://github.com/ceph/ceph/pull/43619>`_, Nathan Cutler)
178 * rgw: add abstraction for ops log destination and add file logger (`pr#43740 <https://github.com/ceph/ceph/pull/43740>`_, Casey Bodley, Cory Snyder)
179 * rgw: Ensure buckets too old to decode a layout have layout logs (`pr#43823 <https://github.com/ceph/ceph/pull/43823>`_, Adam C. Emerson)
180 * rgw: fix bucket purge incomplete multipart uploads (`pr#43862 <https://github.com/ceph/ceph/pull/43862>`_, J. Eric Ivancich)
181 * rgw: fix spelling of eTag in S3 message structure (`pr#42945 <https://github.com/ceph/ceph/pull/42945>`_, Tom Schoonjans)
182 * rgw: fix sts memory leak (`pr#43348 <https://github.com/ceph/ceph/pull/43348>`_, yuliyang_yewu)
183 * rgw: remove prefix & delim params for bucket removal & mp upload abort (`pr#43975 <https://github.com/ceph/ceph/pull/43975>`_, J. Eric Ivancich)
184 * rgw: use existing s->bucket in s3 website retarget() (`pr#43777 <https://github.com/ceph/ceph/pull/43777>`_, Casey Bodley)
185 * snap-schedule: count retained snapshots per retention policy (`pr#43434 <https://github.com/ceph/ceph/pull/43434>`_, Jan Fajerski)
186 * test: shutdown the mounter after test finishes (`pr#43475 <https://github.com/ceph/ceph/pull/43475>`_, Xiubo Li)
187
188 v16.2.6 Pacific
189 ===============
190
191 .. DANGER:: DATE: 01 NOV 2021.
192
193 DO NOT UPGRADE TO CEPH PACIFIC FROM AN OLDER VERSION.
194
195 A recently-discovered bug (https://tracker.ceph.com/issues/53062) can cause
196 data corruption. This bug occurs during OMAP format conversion for
197 clusters that are updated to Pacific. New clusters are not affected by this
198 bug.
199
200 The trigger for this bug is BlueStore's repair/quick-fix functionality. This
201 bug can be triggered in two known ways:
202
203 (1) manually via the ceph-bluestore-tool, or
204 (2) automatically, by OSD if ``bluestore_fsck_quick_fix_on_mount`` is set
205 to true.
206
207 The fix for this bug is expected to be available in Ceph v16.2.7.
208
209 DO NOT set ``bluestore_quick_fix_on_mount`` to true. If it is currently
210 set to true in your configuration, immediately set it to false.
211
212 DO NOT run ``ceph-bluestore-tool``'s repair/quick-fix commands.
213
214
215 This is the sixth backport release in the Pacific series.
216
217
218 Notable Changes
219 ---------------
220
221 * MGR: The pg_autoscaler has a new default 'scale-down' profile which provides more
222 performance from the start for new pools (for newly created clusters).
223 Existing clusters will retain the old behavior, now called the 'scale-up' profile.
224 For more details, see:
225 https://docs.ceph.com/en/latest/rados/operations/placement-groups/
226
227 * CephFS: the upgrade procedure for CephFS is now simpler. It is no longer
228 necessary to stop all MDS before upgrading the sole active MDS. After
229 disabling standby-replay, reducing max_mds to 1, and waiting for the file
230 systems to become stable (each fs with 1 active and 0 stopping daemons), a
231 rolling upgrade of all MDS daemons can be performed.
232
233 * Dashboard: now allows users to set up and display a custom message (MOTD, warning,
234 etc.) in a sticky banner at the top of the page. For more details, see:
235 https://docs.ceph.com/en/pacific/mgr/dashboard/#message-of-the-day-motd
236
237 * Several fixes in BlueStore, including a fix for the deferred write regression,
238 which led to excessive RocksDB flushes and compactions. Previously, when
239 `bluestore_prefer_deferred_size_hdd` was equal to or more than
240 `bluestore_max_blob_size_hdd` (both set to 64K), all the data was deferred,
241 which led to increased consumption of the column family used to store
242 deferred writes in RocksDB. Now, the `bluestore_prefer_deferred_size` parameter
243 independently controls deferred writes, and only writes smaller than
244 this size use the deferred write path.
245
246 * The default value of `osd_client_message_cap` has been set to 256, to provide
247 better flow control by limiting maximum number of in-flight client requests.
248
249 * PGs no longer show a `active+clean+scrubbing+deep+repair` state when
250 `osd_scrub_auto_repair` is set to true, for regular deep-scrubs with no repair
251 required.
252
253 * `ceph-mgr-modules-core` debian package does not recommend `ceph-mgr-rook`
254 anymore. As the latter depends on `python3-numpy` which cannot be imported in
255 different Python sub-interpreters multi-times if the version of
256 `python3-numpy` is older than 1.19. Since `apt-get` installs the `Recommends`
257 packages by default, `ceph-mgr-rook` was always installed along with
258 `ceph-mgr` debian package as an indirect dependency. If your workflow depends
259 on this behavior, you might want to install `ceph-mgr-rook` separately.
260
261 * This is the first release built for Debian Bullseye.
262
263 Changelog
264 ---------
265
266 * bind on loopback address if no other addresses are available (`pr#42477 <https://github.com/ceph/ceph/pull/42477>`_, Kefu Chai)
267 * ceph-monstore-tool: use a large enough paxos/{first,last}_committed (`issue#38219 <http://tracker.ceph.com/issues/38219>`_, `pr#42411 <https://github.com/ceph/ceph/pull/42411>`_, Kefu Chai)
268 * ceph-volume/tests: retry when destroying osd (`pr#42546 <https://github.com/ceph/ceph/pull/42546>`_, Guillaume Abrioux)
269 * ceph-volume/tests: update ansible environment variables in tox (`pr#42490 <https://github.com/ceph/ceph/pull/42490>`_, Dimitri Savineau)
270 * ceph-volume: Consider /dev/root as mounted (`pr#42755 <https://github.com/ceph/ceph/pull/42755>`_, David Caro)
271 * ceph-volume: fix lvm activate arguments (`pr#43116 <https://github.com/ceph/ceph/pull/43116>`_, Dimitri Savineau)
272 * ceph-volume: fix lvm migrate without args (`pr#43110 <https://github.com/ceph/ceph/pull/43110>`_, Dimitri Savineau)
273 * ceph-volume: fix raw list with logical partition (`pr#43087 <https://github.com/ceph/ceph/pull/43087>`_, Guillaume Abrioux, Dimitri Savineau)
274 * ceph-volume: implement bluefs volume migration (`pr#42219 <https://github.com/ceph/ceph/pull/42219>`_, Kefu Chai, Igor Fedotov)
275 * ceph-volume: lvm batch: fast_allocations(): avoid ZeroDivisionError (`pr#42493 <https://github.com/ceph/ceph/pull/42493>`_, Jonas Zeiger)
276 * ceph-volume: pvs --noheadings replace pvs --no-heading (`pr#43076 <https://github.com/ceph/ceph/pull/43076>`_, FengJiankui)
277 * ceph-volume: remove --all ref from deactivate help (`pr#43098 <https://github.com/ceph/ceph/pull/43098>`_, Dimitri Savineau)
278 * ceph-volume: support no_systemd with lvm migrate (`pr#43091 <https://github.com/ceph/ceph/pull/43091>`_, Dimitri Savineau)
279 * ceph-volume: work around phantom atari partitions (`pr#42753 <https://github.com/ceph/ceph/pull/42753>`_, Blaine Gardner)
280 * ceph.spec.in: drop gdbm from build deps (`pr#43000 <https://github.com/ceph/ceph/pull/43000>`_, Kefu Chai)
281 * cephadm: August batch 1 (`pr#42736 <https://github.com/ceph/ceph/pull/42736>`_, Sage Weil, Dimitri Savineau, Guillaume Abrioux, Sebastian Wagner, Varsha Rao, Zac Dover, Adam King, Cory Snyder, Michael Fritch, Asbjørn Sannes, "Wang,Fei", Javier Cacheiro, 胡玮文, Daniel Pivonka)
282 * cephadm: September batch 1 (`issue#52038 <http://tracker.ceph.com/issues/52038>`_, `pr#43029 <https://github.com/ceph/ceph/pull/43029>`_, Sebastian Wagner, Dimitri Savineau, Paul Cuzner, Oleander Reis, Adam King, Yuxiang Zhu, Zac Dover, Alfonso Martínez, Sage Weil, Daniel Pivonka)
283 * cephadm: use quay, not docker (`pr#42534 <https://github.com/ceph/ceph/pull/42534>`_, Sage Weil)
284 * cephfs-mirror: record directory path cancel in DirRegistry (`issue#51666 <http://tracker.ceph.com/issues/51666>`_, `pr#42458 <https://github.com/ceph/ceph/pull/42458>`_, Venky Shankar)
285 * client: flush the mdlog in unsafe requests' relevant and auth MDSes only (`pr#42925 <https://github.com/ceph/ceph/pull/42925>`_, Xiubo Li)
286 * client: make sure only to update dir dist from auth mds (`pr#42937 <https://github.com/ceph/ceph/pull/42937>`_, Xue Yantao)
287 * cls/cmpomap: empty values are 0 in U64 comparisons (`pr#42908 <https://github.com/ceph/ceph/pull/42908>`_, Casey Bodley)
288 * cmake, ceph.spec.in: build with header only fmt on RHEL (`pr#42472 <https://github.com/ceph/ceph/pull/42472>`_, Kefu Chai)
289 * cmake: build static libs if they are internal ones (`pr#39902 <https://github.com/ceph/ceph/pull/39902>`_, Kefu Chai)
290 * cmake: exclude "grafonnet-lib" target from "all" (`pr#42898 <https://github.com/ceph/ceph/pull/42898>`_, Kefu Chai)
291 * cmake: link bundled fmt statically (`pr#42692 <https://github.com/ceph/ceph/pull/42692>`_, Kefu Chai)
292 * cmake: Replace boost download url (`pr#42693 <https://github.com/ceph/ceph/pull/42693>`_, Rafał Wądołowski)
293 * common/buffer: fix SIGABRT in rebuild_aligned_size_and_memory (`pr#42976 <https://github.com/ceph/ceph/pull/42976>`_, Yin Congmin)
294 * common/Formatter: include used header (`pr#42233 <https://github.com/ceph/ceph/pull/42233>`_, Kefu Chai)
295 * common/options: Set osd_client_message_cap to 256 (`pr#42615 <https://github.com/ceph/ceph/pull/42615>`_, Mark Nelson)
296 * compression/snappy: use uint32_t to be compatible with 1.1.9 (`pr#42542 <https://github.com/ceph/ceph/pull/42542>`_, Kefu Chai, Nathan Cutler)
297 * debian/control: ceph-mgr-modules-core does not Recommend ceph-mgr-roo… (`pr#42300 <https://github.com/ceph/ceph/pull/42300>`_, Kefu Chai)
298 * debian/control: dh-systemd is part of debhelper now (`pr#43151 <https://github.com/ceph/ceph/pull/43151>`_, David Galloway)
299 * debian/control: remove cython from Build-Depends (`pr#43131 <https://github.com/ceph/ceph/pull/43131>`_, Kefu Chai)
300 * doc/ceph-volume: add lvm migrate/new-db/new-wal (`pr#43089 <https://github.com/ceph/ceph/pull/43089>`_, Dimitri Savineau)
301 * doc/rados/operations: s/max_misplaced/target_max_misplaced_ratio/ (`pr#42250 <https://github.com/ceph/ceph/pull/42250>`_, Paul Reece, Kefu Chai)
302 * doc/releases/pacific.rst: remove notes about autoscaler (`pr#42265 <https://github.com/ceph/ceph/pull/42265>`_, Neha Ojha)
303 * Don't persist report data (`pr#42888 <https://github.com/ceph/ceph/pull/42888>`_, Brad Hubbard)
304 * krbd: escape udev_enumerate_add_match_sysattr values (`pr#42969 <https://github.com/ceph/ceph/pull/42969>`_, Ilya Dryomov)
305 * kv/RocksDBStore: Add handling of block_cache option for resharding (`pr#42844 <https://github.com/ceph/ceph/pull/42844>`_, Adam Kupczyk)
306 * kv/RocksDBStore: enrich debug message (`pr#42544 <https://github.com/ceph/ceph/pull/42544>`_, Toshikuni Fukaya, Satoru Takeuchi)
307 * librgw/notifications: initialize kafka and amqp (`pr#42648 <https://github.com/ceph/ceph/pull/42648>`_, Yuval Lifshitz)
308 * mds: add debugging when rejecting mksnap with EPERM (`pr#42935 <https://github.com/ceph/ceph/pull/42935>`_, Patrick Donnelly)
309 * mds: create file system with specific ID (`pr#42900 <https://github.com/ceph/ceph/pull/42900>`_, Ramana Raja)
310 * mds: MDCache.cc:5319 FAILED ceph_assert(rejoin_ack_gather.count(mds->get_nodeid())) (`pr#42938 <https://github.com/ceph/ceph/pull/42938>`_, chencan)
311 * mds: META_POP_READDIR, META_POP_FETCH, META_POP_STORE, and cache_hit_rate are not updated (`pr#42939 <https://github.com/ceph/ceph/pull/42939>`_, Yongseok Oh)
312 * mds: to print the unknow type value (`pr#42088 <https://github.com/ceph/ceph/pull/42088>`_, Xiubo Li, Jos Collin)
313 * MDSMonitor: monitor crash after upgrade from ceph 15.2.13 to 16.2.4 (`pr#42536 <https://github.com/ceph/ceph/pull/42536>`_, Patrick Donnelly)
314 * mgr/DaemonServer: skip redundant update of pgp_num_actual (`pr#42223 <https://github.com/ceph/ceph/pull/42223>`_, Dan van der Ster)
315 * mgr/dashboard/api: set a UTF-8 locale when running pip (`pr#42829 <https://github.com/ceph/ceph/pull/42829>`_, Kefu Chai)
316 * mgr/dashboard: Add configurable MOTD or wall notification (`pr#42414 <https://github.com/ceph/ceph/pull/42414>`_, Volker Theile)
317 * mgr/dashboard: cephadm e2e start script: add --expanded option (`pr#42789 <https://github.com/ceph/ceph/pull/42789>`_, Alfonso Martínez)
318 * mgr/dashboard: cephadm-e2e job script: improvements (`pr#42585 <https://github.com/ceph/ceph/pull/42585>`_, Alfonso Martínez)
319 * mgr/dashboard: disable create snapshot with subvolumes (`pr#42819 <https://github.com/ceph/ceph/pull/42819>`_, Pere Diaz Bou)
320 * mgr/dashboard: don't notify for suppressed alerts (`pr#42974 <https://github.com/ceph/ceph/pull/42974>`_, Tatjana Dehler)
321 * mgr/dashboard: fix Accept-Language header parsing (`pr#42297 <https://github.com/ceph/ceph/pull/42297>`_, 胡玮文)
322 * mgr/dashboard: fix rename inventory to disks (`pr#42810 <https://github.com/ceph/ceph/pull/42810>`_, Navin Barnwal)
323 * mgr/dashboard: fix ssl cert validation for rgw service creation (`pr#42628 <https://github.com/ceph/ceph/pull/42628>`_, Avan Thakkar)
324 * mgr/dashboard: Fix test_error force maintenance dashboard check (`pr#42354 <https://github.com/ceph/ceph/pull/42354>`_, Nizamudeen A)
325 * mgr/dashboard: monitoring: replace Grafana JSON with Grafonnet based code (`pr#42812 <https://github.com/ceph/ceph/pull/42812>`_, Aashish Sharma)
326 * mgr/dashboard: Refresh button on the iscsi targets page (`pr#42817 <https://github.com/ceph/ceph/pull/42817>`_, Nizamudeen A)
327 * mgr/dashboard: remove usage of 'rgw_frontend_ssl_key' (`pr#42316 <https://github.com/ceph/ceph/pull/42316>`_, Avan Thakkar)
328 * mgr/dashboard: show perf. counters for rgw svc. on Cluster > Hosts (`pr#42629 <https://github.com/ceph/ceph/pull/42629>`_, Alfonso Martínez)
329 * mgr/dashboard: stats=false not working when listing buckets (`pr#42889 <https://github.com/ceph/ceph/pull/42889>`_, Avan Thakkar)
330 * mgr/dashboard: tox.ini: delete useless env. 'apidocs' (`pr#42788 <https://github.com/ceph/ceph/pull/42788>`_, Alfonso Martínez)
331 * mgr/dashboard: update translations for pacific (`pr#42606 <https://github.com/ceph/ceph/pull/42606>`_, Tatjana Dehler)
332 * mgr/mgr_util: switch using unshared cephfs connections whenever possible (`issue#51256 <http://tracker.ceph.com/issues/51256>`_, `pr#42083 <https://github.com/ceph/ceph/pull/42083>`_, Venky Shankar)
333 * mgr/pg_autoscaler: Introduce autoscaler scale-down feature (`pr#42428 <https://github.com/ceph/ceph/pull/42428>`_, Kamoltat, Kefu Chai)
334 * mgr/rook: Add timezone info (`pr#39834 <https://github.com/ceph/ceph/pull/39834>`_, Varsha Rao, Sebastian Wagner)
335 * mgr/telemetry: pass leaderboard flag even w/o ident (`pr#42228 <https://github.com/ceph/ceph/pull/42228>`_, Sage Weil)
336 * mgr/volumes: Add config to insert delay at the beginning of the clone (`pr#42086 <https://github.com/ceph/ceph/pull/42086>`_, Kotresh HR)
337 * mgr/volumes: use dedicated libcephfs handles for subvolume calls and … (`issue#51271 <http://tracker.ceph.com/issues/51271>`_, `pr#42914 <https://github.com/ceph/ceph/pull/42914>`_, Venky Shankar)
338 * mgr: set debug_mgr=2/5 (so INFO goes to mgr log by default) (`pr#42225 <https://github.com/ceph/ceph/pull/42225>`_, Sage Weil)
339 * mon/MDSMonitor: do not pointlessly kill standbys that are incompatible with current CompatSet (`pr#42578 <https://github.com/ceph/ceph/pull/42578>`_, Patrick Donnelly, Zhi Zhang)
340 * mon/OSDMonitor: resize oversized Lec::epoch_by_pg, after PG merging, preventing osdmap trimming (`pr#42224 <https://github.com/ceph/ceph/pull/42224>`_, Dan van der Ster)
341 * mon/PGMap: remove DIRTY field in ceph df detail when cache tiering is not in use (`pr#42860 <https://github.com/ceph/ceph/pull/42860>`_, Deepika Upadhyay)
342 * mon: return -EINVAL when handling unknown option in 'ceph osd pool get' (`pr#42229 <https://github.com/ceph/ceph/pull/42229>`_, Zhao Cuicui)
343 * mon: Sanely set the default CRUSH rule when creating pools in stretch… (`pr#42909 <https://github.com/ceph/ceph/pull/42909>`_, Greg Farnum)
344 * monitoring/grafana/build/Makefile: revamp for arm64 builds, pushes to docker and quay, jenkins (`pr#42211 <https://github.com/ceph/ceph/pull/42211>`_, Dan Mick)
345 * monitoring/grafana/cluster: use per-unit max and limit values (`pr#42679 <https://github.com/ceph/ceph/pull/42679>`_, David Caro)
346 * monitoring: Clean up Grafana dashboards (`pr#42299 <https://github.com/ceph/ceph/pull/42299>`_, Patrick Seidensal)
347 * monitoring: fix Physical Device Latency unit (`pr#42298 <https://github.com/ceph/ceph/pull/42298>`_, Seena Fallah)
348 * msg: active_connections regression (`pr#42936 <https://github.com/ceph/ceph/pull/42936>`_, Sage Weil)
349 * nfs backport June (`pr#42096 <https://github.com/ceph/ceph/pull/42096>`_, Varsha Rao)
350 * os/bluestore: accept undecodable multi-block bluefs transactions on log (`pr#43023 <https://github.com/ceph/ceph/pull/43023>`_, Igor Fedotov)
351 * os/bluestore: cap omap naming scheme upgrade transaction (`pr#42956 <https://github.com/ceph/ceph/pull/42956>`_, Igor Fedotov)
352 * os/bluestore: compact db after bulk omap naming upgrade (`pr#42426 <https://github.com/ceph/ceph/pull/42426>`_, Igor Fedotov)
353 * os/bluestore: fix bluefs migrate command (`pr#43100 <https://github.com/ceph/ceph/pull/43100>`_, Igor Fedotov)
354 * os/bluestore: fix erroneous SharedBlob record removal during repair (`pr#42423 <https://github.com/ceph/ceph/pull/42423>`_, Igor Fedotov)
355 * os/bluestore: fix using incomplete bluefs log when dumping it (`pr#43007 <https://github.com/ceph/ceph/pull/43007>`_, Igor Fedotov)
356 * os/bluestore: make deferred writes less aggressive for large writes (`pr#42773 <https://github.com/ceph/ceph/pull/42773>`_, Igor Fedotov, Adam Kupczyk)
357 * os/bluestore: Remove possibility of replay log and file inconsistency (`pr#42424 <https://github.com/ceph/ceph/pull/42424>`_, Adam Kupczyk)
358 * os/bluestore: respect bluestore_warn_on_spurious_read_errors setting (`pr#42897 <https://github.com/ceph/ceph/pull/42897>`_, Igor Fedotov)
359 * osd/scrub: separate between PG state flags and internal scrubber operation (`pr#42398 <https://github.com/ceph/ceph/pull/42398>`_, Ronen Friedman)
360 * osd: log snaptrim message to dout (`pr#42482 <https://github.com/ceph/ceph/pull/42482>`_, Arthur Outhenin-Chalandre)
361 * osd: move down peers out from peer_purged (`pr#42238 <https://github.com/ceph/ceph/pull/42238>`_, Mykola Golub)
362 * pybind/mgr/stats: validate cmdtag (`pr#42702 <https://github.com/ceph/ceph/pull/42702>`_, Jos Collin)
363 * pybind/mgr: Fix IPv6 url generation (`pr#42990 <https://github.com/ceph/ceph/pull/42990>`_, Sebastian Wagner)
364 * pybind/rbd: fix mirror_image_get_status (`pr#42972 <https://github.com/ceph/ceph/pull/42972>`_, Ilya Dryomov, Will Smith)
365 * qa/\*/test_envlibrados_for_rocksdb.sh: install libarchive-3.3.3 (`pr#42344 <https://github.com/ceph/ceph/pull/42344>`_, Neha Ojha)
366 * qa/cephadm: centos_8.x_container_tools_3.0.yaml (`pr#42868 <https://github.com/ceph/ceph/pull/42868>`_, Sebastian Wagner)
367 * qa/rgw: move ignore-pg-availability.yaml out of suites/rgw (`pr#40694 <https://github.com/ceph/ceph/pull/40694>`_, Casey Bodley)
368 * qa/standalone: Add missing cleanups after completion of a subset of osd and scrub tests (`pr#42258 <https://github.com/ceph/ceph/pull/42258>`_, Sridhar Seshasayee)
369 * qa/tests: advanced pacific version to reflect the latest 16.2.5 point (`pr#42264 <https://github.com/ceph/ceph/pull/42264>`_, Yuri Weinstein)
370 * qa/workunits/mon/test_mon_config_key: use subprocess.run() instead of proc.communicate() (`pr#42221 <https://github.com/ceph/ceph/pull/42221>`_, Kefu Chai)
371 * qa: FileNotFoundError: [Errno 2] No such file or directory: '/sys/kernel/debug/ceph/3fab6bea-f243-47a4-a956-8c03a62b61b5.client4721/mds_sessions' (`pr#42165 <https://github.com/ceph/ceph/pull/42165>`_, Patrick Donnelly)
372 * qa: increase the pg_num for cephfs_data/metadata pools (`pr#42923 <https://github.com/ceph/ceph/pull/42923>`_, Xiubo Li)
373 * qa: test_ls_H_prints_human_readable_file_size failure (`pr#42166 <https://github.com/ceph/ceph/pull/42166>`_, Patrick Donnelly)
374 * radosgw-admin: skip GC init on read-only admin ops (`pr#42655 <https://github.com/ceph/ceph/pull/42655>`_, Mark Kogan)
375 * radosgw: include realm\_{id,name} in service map (`pr#42213 <https://github.com/ceph/ceph/pull/42213>`_, Sage Weil)
376 * rbd-mirror: add perf counters to snapshot replayer (`pr#42987 <https://github.com/ceph/ceph/pull/42987>`_, Arthur Outhenin-Chalandre)
377 * rbd-mirror: fix potential async op tracker leak in start_image_replayers (`pr#42979 <https://github.com/ceph/ceph/pull/42979>`_, Mykola Golub)
378 * rbd: fix default pool handling for nbd map/unmap (`pr#42980 <https://github.com/ceph/ceph/pull/42980>`_, Sunny Kumar)
379 * Remove dependency on lsb_release (`pr#43001 <https://github.com/ceph/ceph/pull/43001>`_, Ken Dreyer)
380 * RGW - Bucket Remove Op: Pass in user (`pr#42135 <https://github.com/ceph/ceph/pull/42135>`_, Daniel Gryniewicz)
381 * RGW - Don't move attrs before setting them (`pr#42320 <https://github.com/ceph/ceph/pull/42320>`_, Daniel Gryniewicz)
382 * rgw : add check empty for sync url (`pr#42653 <https://github.com/ceph/ceph/pull/42653>`_, caolei)
383 * rgw : add check for tenant provided in RGWCreateRole (`pr#42637 <https://github.com/ceph/ceph/pull/42637>`_, caolei)
384 * rgw : modfiy error XML for deleterole (`pr#42639 <https://github.com/ceph/ceph/pull/42639>`_, caolei)
385 * rgw multisite: metadata sync treats all errors as 'transient' for retry (`pr#42656 <https://github.com/ceph/ceph/pull/42656>`_, Casey Bodley)
386 * RGW Zipper - Make sure bucket list progresses (`pr#42625 <https://github.com/ceph/ceph/pull/42625>`_, Daniel Gryniewicz)
387 * rgw/amqp/test: fix mock prototype for librabbitmq-0.11.0 (`pr#42649 <https://github.com/ceph/ceph/pull/42649>`_, Yuval Lifshitz)
388 * rgw/http/notifications: support content type in HTTP POST messages (`pr#42644 <https://github.com/ceph/ceph/pull/42644>`_, Yuval Lifshitz)
389 * rgw/multisite: return correct error code when op fails (`pr#42646 <https://github.com/ceph/ceph/pull/42646>`_, Yuval Lifshitz)
390 * rgw/notification: add exception handling for persistent notification thread (`pr#42647 <https://github.com/ceph/ceph/pull/42647>`_, Yuval Lifshitz)
391 * rgw/notification: fix persistent notification hang when ack-levl=none (`pr#40696 <https://github.com/ceph/ceph/pull/40696>`_, Yuval Lifshitz)
392 * rgw/notification: fixing the "persistent=false" flag (`pr#40695 <https://github.com/ceph/ceph/pull/40695>`_, Yuval Lifshitz)
393 * rgw/notifications: delete bucket notification object when empty (`pr#42631 <https://github.com/ceph/ceph/pull/42631>`_, Yuval Lifshitz)
394 * rgw/notifications: support metadata filter in CompleteMultipartUpload and Copy events (`pr#42321 <https://github.com/ceph/ceph/pull/42321>`_, Yuval Lifshitz)
395 * rgw/notifications: support metadata filter in CompleteMultipartUploa… (`pr#42566 <https://github.com/ceph/ceph/pull/42566>`_, Yuval Lifshitz)
396 * rgw/rgw_file: Fix the return value of read() and readlink() (`pr#42654 <https://github.com/ceph/ceph/pull/42654>`_, Dai zhiwei, luo rixin)
397 * rgw/sts: correcting the evaluation of session policies (`pr#42632 <https://github.com/ceph/ceph/pull/42632>`_, Pritha Srivastava)
398 * rgw/sts: read_obj_policy() consults iam_user_policies on ENOENT (`pr#42650 <https://github.com/ceph/ceph/pull/42650>`_, Casey Bodley)
399 * rgw: allow rgw-orphan-list to process multiple data pools (`pr#42635 <https://github.com/ceph/ceph/pull/42635>`_, J. Eric Ivancich)
400 * rgw: allow to set ssl options and ciphers for beast frontend (`pr#42363 <https://github.com/ceph/ceph/pull/42363>`_, Mykola Golub)
401 * rgw: avoid infinite loop when deleting a bucket (`issue#49206 <http://tracker.ceph.com/issues/49206>`_, `pr#42230 <https://github.com/ceph/ceph/pull/42230>`_, Jeegn Chen)
402 * rgw: avoid occuring radosgw daemon crash when access a conditionally … (`pr#42626 <https://github.com/ceph/ceph/pull/42626>`_, xiangrui meng, yupeng chen)
403 * rgw: Backport of 51674 to Pacific (`pr#42346 <https://github.com/ceph/ceph/pull/42346>`_, Adam C. Emerson)
404 * rgw: deprecate the civetweb frontend (`pr#41367 <https://github.com/ceph/ceph/pull/41367>`_, Casey Bodley)
405 * rgw: Don't segfault on datalog trim (`pr#42336 <https://github.com/ceph/ceph/pull/42336>`_, Adam C. Emerson)
406 * rgw: during reshard lock contention, adjust logging (`pr#42641 <https://github.com/ceph/ceph/pull/42641>`_, J. Eric Ivancich)
407 * rgw: extending existing ssl support for vault KMS (`pr#42093 <https://github.com/ceph/ceph/pull/42093>`_, Jiffin Tony Thottan)
408 * rgw: fail as expected when set/delete-bucket-website attempted on a non-exis… (`pr#42642 <https://github.com/ceph/ceph/pull/42642>`_, xiangrui meng)
409 * rgw: fix bucket object listing when marker matches prefix (`pr#42638 <https://github.com/ceph/ceph/pull/42638>`_, J. Eric Ivancich)
410 * rgw: fix for mfa resync crash when supplied with only one totp_pin (`pr#42652 <https://github.com/ceph/ceph/pull/42652>`_, Pritha Srivastava)
411 * rgw: fix segfault related to explicit object manifest handling (`pr#42633 <https://github.com/ceph/ceph/pull/42633>`_, Mark Kogan)
412 * rgw: Improve error message on email id reuse (`pr#41783 <https://github.com/ceph/ceph/pull/41783>`_, Ponnuvel Palaniyappan)
413 * rgw: objectlock: improve client error messages (`pr#40693 <https://github.com/ceph/ceph/pull/40693>`_, Matt Benjamin)
414 * rgw: parse tenant name out of rgwx-bucket-instance (`pr#42231 <https://github.com/ceph/ceph/pull/42231>`_, Casey Bodley)
415 * rgw: radosgw-admin errors if marker not specified on data/mdlog trim (`pr#42640 <https://github.com/ceph/ceph/pull/42640>`_, Adam C. Emerson)
416 * rgw: remove quota soft threshold (`pr#42634 <https://github.com/ceph/ceph/pull/42634>`_, Zulai Wang)
417 * rgw: require bucket name in bucket chown (`pr#42323 <https://github.com/ceph/ceph/pull/42323>`_, Zulai Wang)
418 * rgw: when deleted obj removed in versioned bucket, extra del-marker added (`pr#42645 <https://github.com/ceph/ceph/pull/42645>`_, J. Eric Ivancich)
419 * rpm/luarocks: simplify conditional and support Leap 15.3 (`pr#42561 <https://github.com/ceph/ceph/pull/42561>`_, Nathan Cutler)
420 * rpm: drop use of $FIRST_ARG in ceph-immutable-object-cache (`pr#42480 <https://github.com/ceph/ceph/pull/42480>`_, Nathan Cutler)
421 * run-make-check.sh: Increase failure output log size (`pr#42850 <https://github.com/ceph/ceph/pull/42850>`_, David Galloway)
422 * SimpleRADOSStriper: use debug_cephsqlite (`pr#42659 <https://github.com/ceph/ceph/pull/42659>`_, Patrick Donnelly)
423 * src/pybind/mgr/mirroring/fs/snapshot_mirror.py: do not assume a cephf… (`pr#42226 <https://github.com/ceph/ceph/pull/42226>`_, Sébastien Han)
424 * test/rgw: fix use of poll() with timers in unittest_rgw_dmclock_scheduler (`pr#42651 <https://github.com/ceph/ceph/pull/42651>`_, Casey Bodley)
425 * Warning Cleanup and Clang Compile Fix (`pr#40692 <https://github.com/ceph/ceph/pull/40692>`_, Adam C. Emerson)
426 * workunits/rgw: semicolon terminates perl statements (`pr#43168 <https://github.com/ceph/ceph/pull/43168>`_, Matt Benjamin)
427
428 v16.2.5 Pacific
429 ===============
430
431 This is the fifth backport release in the Pacific series. We recommend all
432 users update to this release.
433
434 Notable Changes
435 ---------------
436
437 * `ceph-mgr-modules-core` debian package does not recommend `ceph-mgr-rook`
438 anymore. As the latter depends on `python3-numpy` which cannot be imported in
439 different Python sub-interpreters multi-times if the version of
440 `python3-numpy` is older than 1.19. Since `apt-get` installs the `Recommends`
441 packages by default, `ceph-mgr-rook` was always installed along with
442 `ceph-mgr` debian package as an indirect dependency. If your workflow depends
443 on this behavior, you might want to install `ceph-mgr-rook` separately.
444
445 * mgr/nfs: ``nfs`` module is moved out of volumes plugin. Prior using the
446 ``ceph nfs`` commands, ``nfs`` mgr module must be enabled.
447
448 * volumes/nfs: The ``cephfs`` cluster type has been removed from the
449 ``nfs cluster create`` subcommand. Clusters deployed by cephadm can
450 support an NFS export of both ``rgw`` and ``cephfs`` from a single
451 NFS cluster instance.
452
453 * The ``nfs cluster update`` command has been removed. You can modify
454 the placement of an existing NFS service (and/or its associated
455 ingress service) using ``orch ls --export`` and ``orch apply -i
456 ...``.
457
458 * The ``orch apply nfs`` command no longer requires a pool or
459 namespace argument. We strongly encourage users to use the defaults
460 so that the ``nfs cluster ls`` and related commands will work
461 properly.
462
463 * The ``nfs cluster delete`` and ``nfs export delete`` commands are
464 deprecated and will be removed in a future release. Please use
465 ``nfs cluster rm`` and ``nfs export rm`` instead.
466
467 * A long-standing bug that prevented 32-bit and 64-bit client/server
468 interoperability under msgr v2 has been fixed. In particular, mixing armv7l
469 (armhf) and x86_64 or aarch64 servers in the same cluster now works.
470
471 Changelog
472 ---------
473
474 * .github/labeler: add api-change label (`pr#41818 <https://github.com/ceph/ceph/pull/41818>`_, Ernesto Puerta)
475 * Improve mon location handling for stretch clusters (`pr#40484 <https://github.com/ceph/ceph/pull/40484>`_, Greg Farnum)
476 * MDS heartbeat timed out between during executing MDCache::start_files_to_recover() (`pr#42061 <https://github.com/ceph/ceph/pull/42061>`_, Yongseok Oh)
477 * MDS slow request lookupino #0x100 on rank 1 block forever on dispatched (`pr#40856 <https://github.com/ceph/ceph/pull/40856>`_, Xiubo Li, Patrick Donnelly)
478 * MDSMonitor: crash when attempting to mount cephfs (`pr#42068 <https://github.com/ceph/ceph/pull/42068>`_, Patrick Donnelly)
479 * Pacific stretch mon state [Merge after 40484] (`pr#41130 <https://github.com/ceph/ceph/pull/41130>`_, Greg Farnum)
480 * Pacific: Add DoutPrefixProvider for RGW Log Messages in Pacfic (`pr#40054 <https://github.com/ceph/ceph/pull/40054>`_, Ali Maredia, Kalpesh Pandya, Casey Bodley)
481 * Pacific: Direct MMonJoin messages to leader, not first rank [Merge after 41130] (`pr#41131 <https://github.com/ceph/ceph/pull/41131>`_, Greg Farnum)
482 * Revert "pacific: mgr/dashboard: Generate NPM dependencies manifest" (`pr#41549 <https://github.com/ceph/ceph/pull/41549>`_, Nizamudeen A)
483 * Update boost url, fixing windows build (`pr#41259 <https://github.com/ceph/ceph/pull/41259>`_, Lucian Petrut)
484 * bluestore: use string_view and strip trailing slash for dir listing (`pr#41755 <https://github.com/ceph/ceph/pull/41755>`_, Jonas Jelten, Kefu Chai)
485 * build(deps): bump node-notifier from 8.0.0 to 8.0.1 in /src/pybind/mgr/dashboard/frontend (`pr#40813 <https://github.com/ceph/ceph/pull/40813>`_, Ernesto Puerta, dependabot[bot])
486 * ceph-volume: fix batch report and respect ceph.conf config values (`pr#41714 <https://github.com/ceph/ceph/pull/41714>`_, Andrew Schoen)
487 * ceph_test_rados_api_service: more retries for servicemkap (`pr#41182 <https://github.com/ceph/ceph/pull/41182>`_, Sage Weil)
488 * cephadm june final batch (`pr#42117 <https://github.com/ceph/ceph/pull/42117>`_, Kefu Chai, Sage Weil, Zac Dover, Sebastian Wagner, Varsha Rao, Sandro Bonazzola, Juan Miguel Olmo Martínez)
489 * cephadm: batch backport for May (2) (`pr#41219 <https://github.com/ceph/ceph/pull/41219>`_, Adam King, Sage Weil, Zac Dover, Dennis Körner, jianglong01, Avan Thakkar, Juan Miguel Olmo Martínez)
490 * cephadm: june batch 1 (`pr#41684 <https://github.com/ceph/ceph/pull/41684>`_, Sage Weil, Paul Cuzner, Juan Miguel Olmo Martínez, VasishtaShastry, Zac Dover, Sebastian Wagner, Adam King, Michael Fritch, Daniel Pivonka, sunilkumarn417)
491 * cephadm: june batch 2 (`pr#41815 <https://github.com/ceph/ceph/pull/41815>`_, Sebastian Wagner, Daniel Pivonka, Zac Dover, Michael Fritch)
492 * cephadm: june batch 3 (`pr#41913 <https://github.com/ceph/ceph/pull/41913>`_, Zac Dover, Adam King, Michael Fritch, Patrick Donnelly, Sage Weil, Juan Miguel Olmo Martínez, jianglong01)
493 * cephadm: may batch 1 (`pr#41151 <https://github.com/ceph/ceph/pull/41151>`_, Juan Miguel Olmo Martínez, Sage Weil, Zac Dover, Daniel Pivonka, Adam King, Stanislav Datskevych, jianglong01, Kefu Chai, Deepika Upadhyay, Joao Eduardo Luis)
494 * cephadm: may batch 3 (`pr#41463 <https://github.com/ceph/ceph/pull/41463>`_, Sage Weil, Michael Fritch, Adam King, Patrick Seidensal, Juan Miguel Olmo Martínez, Dimitri Savineau, Zac Dover, Sebastian Wagner)
495 * cephfs-mirror backports (`issue#50523 <http://tracker.ceph.com/issues/50523>`_, `issue#50035 <http://tracker.ceph.com/issues/50035>`_, `issue#50266 <http://tracker.ceph.com/issues/50266>`_, `issue#50442 <http://tracker.ceph.com/issues/50442>`_, `issue#50581 <http://tracker.ceph.com/issues/50581>`_, `issue#50229 <http://tracker.ceph.com/issues/50229>`_, `issue#49939 <http://tracker.ceph.com/issues/49939>`_, `issue#50224 <http://tracker.ceph.com/issues/50224>`_, `issue#50298 <http://tracker.ceph.com/issues/50298>`_, `pr#41475 <https://github.com/ceph/ceph/pull/41475>`_, Venky Shankar, Lucian Petrut)
496 * cephfs-mirror: backports (`issue#50447 <http://tracker.ceph.com/issues/50447>`_, `issue#50867 <http://tracker.ceph.com/issues/50867>`_, `issue#51204 <http://tracker.ceph.com/issues/51204>`_, `pr#41947 <https://github.com/ceph/ceph/pull/41947>`_, Venky Shankar)
497 * cephfs-mirror: reopen logs on SIGHUP (`issue#51413 <http://tracker.ceph.com/issues/51413>`_, `issue#51318 <http://tracker.ceph.com/issues/51318>`_, `pr#42097 <https://github.com/ceph/ceph/pull/42097>`_, Venky Shankar)
498 * cephfs-top: self-adapt the display according the window size (`pr#41053 <https://github.com/ceph/ceph/pull/41053>`_, Xiubo Li)
499 * client: Fix executeable access check for the root user (`pr#41294 <https://github.com/ceph/ceph/pull/41294>`_, Kotresh HR)
500 * client: fix the opened inodes counter increasing (`pr#40685 <https://github.com/ceph/ceph/pull/40685>`_, Xiubo Li)
501 * client: make Inode to inherit from RefCountedObject (`pr#41052 <https://github.com/ceph/ceph/pull/41052>`_, Xiubo Li)
502 * cls/rgw: look for plain entries in non-ascii plain namespace too (`pr#41774 <https://github.com/ceph/ceph/pull/41774>`_, Mykola Golub)
503 * common/buffer: adjust align before calling posix_memalign() (`pr#41249 <https://github.com/ceph/ceph/pull/41249>`_, Ilya Dryomov)
504 * common/mempool: only fail tests if sharding is very bad (`pr#40566 <https://github.com/ceph/ceph/pull/40566>`_, singuliere)
505 * common/options/global.yaml.in: increase default value of bluestore_cache_trim_max_skip_pinned (`pr#40918 <https://github.com/ceph/ceph/pull/40918>`_, Neha Ojha)
506 * crush/crush: ensure alignof(crush_work_bucket) is 1 (`pr#41983 <https://github.com/ceph/ceph/pull/41983>`_, Kefu Chai)
507 * debian,cmake,cephsqlite: hide non-public symbols (`pr#40689 <https://github.com/ceph/ceph/pull/40689>`_, Kefu Chai)
508 * debian/control: ceph-mgr-modules-core does not Recommend ceph-mgr-rook (`pr#41877 <https://github.com/ceph/ceph/pull/41877>`_, Kefu Chai)
509 * doc: pacific updates (`pr#42066 <https://github.com/ceph/ceph/pull/42066>`_, Patrick Donnelly)
510 * librbd/cache/pwl: fix parsing of cache_type in create_image_cache_state() (`pr#41244 <https://github.com/ceph/ceph/pull/41244>`_, Ilya Dryomov)
511 * librbd/mirror/snapshot: avoid UnlinkPeerRequest with a unlinked peer (`pr#41304 <https://github.com/ceph/ceph/pull/41304>`_, Arthur Outhenin-Chalandre)
512 * librbd: don't stop at the first unremovable image when purging (`pr#41664 <https://github.com/ceph/ceph/pull/41664>`_, Ilya Dryomov)
513 * make-dist: refuse to run if script path contains a colon (`pr#41086 <https://github.com/ceph/ceph/pull/41086>`_, Nathan Cutler)
514 * mds: "FAILED ceph_assert(r == 0 || r == -2)" (`pr#42072 <https://github.com/ceph/ceph/pull/42072>`_, Xiubo Li)
515 * mds: "cluster [ERR] Error recovering journal 0x203: (2) No such file or directory" in cluster log" (`pr#42059 <https://github.com/ceph/ceph/pull/42059>`_, Xiubo Li)
516 * mds: Add full caps to avoid osd full check (`pr#41691 <https://github.com/ceph/ceph/pull/41691>`_, Patrick Donnelly, Kotresh HR)
517 * mds: CephFS kclient gets stuck when getattr() on a certain file (`pr#42062 <https://github.com/ceph/ceph/pull/42062>`_, "Yan, Zheng", Xiubo Li)
518 * mds: Error ENOSYS: mds.a started profiler (`pr#42056 <https://github.com/ceph/ceph/pull/42056>`_, Xiubo Li)
519 * mds: MDSLog::journaler pointer maybe crash with use-after-free (`pr#42060 <https://github.com/ceph/ceph/pull/42060>`_, Xiubo Li)
520 * mds: avoid journaling overhead for setxattr("ceph.dir.subvolume") for no-op case (`pr#41995 <https://github.com/ceph/ceph/pull/41995>`_, Patrick Donnelly)
521 * mds: do not assert when receiving a unknow metric type (`pr#41596 <https://github.com/ceph/ceph/pull/41596>`_, Patrick Donnelly, Xiubo Li)
522 * mds: journal recovery thread is possibly asserting with mds_lock not locked (`pr#42058 <https://github.com/ceph/ceph/pull/42058>`_, Xiubo Li)
523 * mds: mkdir on ephemerally pinned directory sometimes blocked on journal flush (`pr#42071 <https://github.com/ceph/ceph/pull/42071>`_, Xiubo Li)
524 * mds: scrub error on inode 0x1 (`pr#41685 <https://github.com/ceph/ceph/pull/41685>`_, Milind Changire)
525 * mds: standby-replay only trims cache when it reaches the end of the replay log (`pr#40855 <https://github.com/ceph/ceph/pull/40855>`_, Xiubo Li, Patrick Donnelly)
526 * mgr/DaemonServer.cc: prevent mgr crashes caused by integer underflow that is triggered by large increases to pg_num/pgp_num (`pr#41862 <https://github.com/ceph/ceph/pull/41862>`_, Cory Snyder)
527 * mgr/Dashboard: Remove erroneous elements in hosts-overview Grafana dashboard (`pr#40982 <https://github.com/ceph/ceph/pull/40982>`_, Malcolm Holmes)
528 * mgr/dashboard: API Version changes do not apply to pre-defined methods (list, create etc.) (`pr#41675 <https://github.com/ceph/ceph/pull/41675>`_, Aashish Sharma)
529 * mgr/dashboard: Alertmanager fails to POST alerts (`pr#41987 <https://github.com/ceph/ceph/pull/41987>`_, Avan Thakkar)
530 * mgr/dashboard: Fix 500 error while exiting out of maintenance (`pr#41915 <https://github.com/ceph/ceph/pull/41915>`_, Nizamudeen A)
531 * mgr/dashboard: Fix bucket name input allowing space in the value (`pr#42119 <https://github.com/ceph/ceph/pull/42119>`_, Nizamudeen A)
532 * mgr/dashboard: Fix for query params resetting on change-password (`pr#41440 <https://github.com/ceph/ceph/pull/41440>`_, Nizamudeen A)
533 * mgr/dashboard: Generate NPM dependencies manifest (`pr#41204 <https://github.com/ceph/ceph/pull/41204>`_, Nizamudeen A)
534 * mgr/dashboard: Host Maintenance Follow ups (`pr#41056 <https://github.com/ceph/ceph/pull/41056>`_, Nizamudeen A)
535 * mgr/dashboard: Include Network address and labels on Host Creation form (`pr#42027 <https://github.com/ceph/ceph/pull/42027>`_, Nizamudeen A)
536 * mgr/dashboard: OSDs placement text is unreadable (`pr#41096 <https://github.com/ceph/ceph/pull/41096>`_, Aashish Sharma)
537 * mgr/dashboard: RGW buckets async validator performance enhancement and name constraints (`pr#41296 <https://github.com/ceph/ceph/pull/41296>`_, Nizamudeen A)
538 * mgr/dashboard: User database migration has been cut out (`pr#42140 <https://github.com/ceph/ceph/pull/42140>`_, Volker Theile)
539 * mgr/dashboard: avoid data processing in crush-map component (`pr#41203 <https://github.com/ceph/ceph/pull/41203>`_, Avan Thakkar)
540 * mgr/dashboard: bucket details: show lock retention period only in days (`pr#41948 <https://github.com/ceph/ceph/pull/41948>`_, Alfonso Martínez)
541 * mgr/dashboard: crushmap tree doesn't display crush type other than root (`pr#42007 <https://github.com/ceph/ceph/pull/42007>`_, Kefu Chai, Avan Thakkar)
542 * mgr/dashboard: disable NFSv3 support in dashboard (`pr#41200 <https://github.com/ceph/ceph/pull/41200>`_, Volker Theile)
543 * mgr/dashboard: drop container image name and id from services list (`pr#41505 <https://github.com/ceph/ceph/pull/41505>`_, Avan Thakkar)
544 * mgr/dashboard: fix API docs link (`pr#41507 <https://github.com/ceph/ceph/pull/41507>`_, Avan Thakkar)
545 * mgr/dashboard: fix ESOCKETTIMEDOUT E2E failure (`pr#41427 <https://github.com/ceph/ceph/pull/41427>`_, Avan Thakkar)
546 * mgr/dashboard: fix HAProxy (now called ingress) (`pr#41298 <https://github.com/ceph/ceph/pull/41298>`_, Avan Thakkar)
547 * mgr/dashboard: fix OSD out count (`pr#42153 <https://github.com/ceph/ceph/pull/42153>`_, 胡玮文)
548 * mgr/dashboard: fix OSDs Host details/overview grafana graphs (`issue#49769 <http://tracker.ceph.com/issues/49769>`_, `pr#41324 <https://github.com/ceph/ceph/pull/41324>`_, Alfonso Martínez, Michael Wodniok)
549 * mgr/dashboard: fix base-href (`pr#41634 <https://github.com/ceph/ceph/pull/41634>`_, Avan Thakkar)
550 * mgr/dashboard: fix base-href: revert it to previous approach (`pr#41251 <https://github.com/ceph/ceph/pull/41251>`_, Avan Thakkar)
551 * mgr/dashboard: fix bucket objects and size calculations (`pr#41646 <https://github.com/ceph/ceph/pull/41646>`_, Avan Thakkar)
552 * mgr/dashboard: fix bucket versioning when locking is enabled (`pr#41197 <https://github.com/ceph/ceph/pull/41197>`_, Avan Thakkar)
553 * mgr/dashboard: fix for right sidebar nav icon not clickable (`pr#42008 <https://github.com/ceph/ceph/pull/42008>`_, Aaryan Porwal)
554 * mgr/dashboard: fix set-ssl-certificate{,-key} commands (`pr#41170 <https://github.com/ceph/ceph/pull/41170>`_, Alfonso Martínez)
555 * mgr/dashboard: fix typo: Filesystems to File Systems (`pr#42016 <https://github.com/ceph/ceph/pull/42016>`_, Navin Barnwal)
556 * mgr/dashboard: ingress service creation follow-up (`pr#41428 <https://github.com/ceph/ceph/pull/41428>`_, Avan Thakkar)
557 * mgr/dashboard: pass Grafana datasource in URL (`pr#41633 <https://github.com/ceph/ceph/pull/41633>`_, Ernesto Puerta)
558 * mgr/dashboard: provide the service events when showing a service in the UI (`pr#41494 <https://github.com/ceph/ceph/pull/41494>`_, Aashish Sharma)
559 * mgr/dashboard: run cephadm-backend e2e tests with KCLI (`pr#42156 <https://github.com/ceph/ceph/pull/42156>`_, Alfonso Martínez)
560 * mgr/dashboard: set required env. variables in run-backend-api-tests.sh (`pr#41069 <https://github.com/ceph/ceph/pull/41069>`_, Alfonso Martínez)
561 * mgr/dashboard: show RGW tenant user id correctly in 'NFS create export' form (`pr#41528 <https://github.com/ceph/ceph/pull/41528>`_, Alfonso Martínez)
562 * mgr/dashboard: show partially deleted RBDs (`pr#41891 <https://github.com/ceph/ceph/pull/41891>`_, Tatjana Dehler)
563 * mgr/dashboard: simplify object locking fields in 'Bucket Creation' form (`pr#41777 <https://github.com/ceph/ceph/pull/41777>`_, Alfonso Martínez)
564 * mgr/dashboard: update frontend deps due to security vulnerabilities (`pr#41402 <https://github.com/ceph/ceph/pull/41402>`_, Alfonso Martínez)
565 * mgr/dashboard:include compression stats on pool dashboard (`pr#41577 <https://github.com/ceph/ceph/pull/41577>`_, Ernesto Puerta, Paul Cuzner)
566 * mgr/nfs: do not depend on cephadm.utils (`pr#41842 <https://github.com/ceph/ceph/pull/41842>`_, Sage Weil)
567 * mgr/progress: ensure progress stays between [0,1] (`pr#41312 <https://github.com/ceph/ceph/pull/41312>`_, Dan van der Ster)
568 * mgr/prometheus:Improve the pool metadata (`pr#40804 <https://github.com/ceph/ceph/pull/40804>`_, Paul Cuzner)
569 * mgr/pybind/snap_schedule: do not fail when no fs snapshots are available (`pr#41044 <https://github.com/ceph/ceph/pull/41044>`_, Sébastien Han)
570 * mgr/volumes/nfs: drop type param during cluster create (`pr#41005 <https://github.com/ceph/ceph/pull/41005>`_, Michael Fritch)
571 * mon,doc: deprecate min_compat_client (`pr#41468 <https://github.com/ceph/ceph/pull/41468>`_, Patrick Donnelly)
572 * mon/MonClient: reset authenticate_err in _reopen_session() (`pr#41019 <https://github.com/ceph/ceph/pull/41019>`_, Ilya Dryomov)
573 * mon/MonClient: tolerate a rotating key that is slightly out of date (`pr#41450 <https://github.com/ceph/ceph/pull/41450>`_, Ilya Dryomov)
574 * mon/OSDMonitor: drop stale failure_info after a grace period (`pr#41090 <https://github.com/ceph/ceph/pull/41090>`_, Kefu Chai)
575 * mon/OSDMonitor: drop stale failure_info even if can_mark_down() (`pr#41982 <https://github.com/ceph/ceph/pull/41982>`_, Kefu Chai)
576 * mon: load stashed map before mkfs monmap (`pr#41768 <https://github.com/ceph/ceph/pull/41768>`_, Dan van der Ster)
577 * nfs backport May (`pr#41389 <https://github.com/ceph/ceph/pull/41389>`_, Varsha Rao)
578 * os/FileStore: fix to handle readdir error correctly (`pr#41236 <https://github.com/ceph/ceph/pull/41236>`_, Misono Tomohiro)
579 * os/bluestore: fix unexpected ENOSPC in Avl/Hybrid allocators (`pr#41655 <https://github.com/ceph/ceph/pull/41655>`_, Igor Fedotov, Neha Ojha)
580 * os/bluestore: introduce multithreading sync for bluestore's repairer (`pr#41752 <https://github.com/ceph/ceph/pull/41752>`_, Igor Fedotov)
581 * os/bluestore: tolerate zero length for allocators' init\_[add/rm]_free() (`pr#41753 <https://github.com/ceph/ceph/pull/41753>`_, Igor Fedotov)
582 * osd/PG.cc: handle removal of pgmeta object (`pr#41680 <https://github.com/ceph/ceph/pull/41680>`_, Neha Ojha)
583 * osd/osd_type: use f->dump_unsigned() when appropriate (`pr#42045 <https://github.com/ceph/ceph/pull/42045>`_, Kefu Chai)
584 * osd/scrub: replace a ceph_assert() with a test (`pr#41944 <https://github.com/ceph/ceph/pull/41944>`_, Ronen Friedman)
585 * osd: Override recovery, backfill and sleep related config options during OSD and mclock scheduler initialization (`pr#41125 <https://github.com/ceph/ceph/pull/41125>`_, Sridhar Seshasayee, Zac Dover)
586 * osd: clear data digest when write_trunc (`pr#42019 <https://github.com/ceph/ceph/pull/42019>`_, Zengran Zhang)
587 * osd: compute OSD's space usage ratio via raw space utilization (`pr#41113 <https://github.com/ceph/ceph/pull/41113>`_, Igor Fedotov)
588 * osd: don't assert in-flight backfill is always in recovery list (`pr#41320 <https://github.com/ceph/ceph/pull/41320>`_, Mykola Golub)
589 * osd: fix scrub reschedule bug (`pr#41971 <https://github.com/ceph/ceph/pull/41971>`_, wencong wan)
590 * pacific: client: abort after MDS blocklist (`issue#50530 <http://tracker.ceph.com/issues/50530>`_, `pr#42070 <https://github.com/ceph/ceph/pull/42070>`_, Venky Shankar)
591 * pybind/ceph_volume_client: use cephfs mkdirs api (`pr#42159 <https://github.com/ceph/ceph/pull/42159>`_, Patrick Donnelly)
592 * pybind/mgr/devicehealth: scrape-health-metrics command accidentally renamed to scrape-daemon-health-metrics (`pr#41089 <https://github.com/ceph/ceph/pull/41089>`_, Patrick Donnelly)
593 * pybind/mgr/progress: Disregard unreported pgs (`pr#41872 <https://github.com/ceph/ceph/pull/41872>`_, Kamoltat)
594 * pybind/mgr/snap_schedule: Invalid command: Unexpected argument 'fs=cephfs' (`pr#42064 <https://github.com/ceph/ceph/pull/42064>`_, Patrick Donnelly)
595 * qa/config/rados: add dispatch delay testing params (`pr#41136 <https://github.com/ceph/ceph/pull/41136>`_, Deepika Upadhyay)
596 * qa/distros/podman: preserve registries.conf (`pr#40729 <https://github.com/ceph/ceph/pull/40729>`_, Sage Weil)
597 * qa/suites/rados/standalone: remove mon_election symlink (`pr#41212 <https://github.com/ceph/ceph/pull/41212>`_, Neha Ojha)
598 * qa/suites/rados: add simultaneous scrubs to the thrasher (`pr#42120 <https://github.com/ceph/ceph/pull/42120>`_, Ronen Friedman)
599 * qa/tasks/qemu: precise repos have been archived (`pr#41643 <https://github.com/ceph/ceph/pull/41643>`_, Ilya Dryomov)
600 * qa/tests: corrected point versions to reflect latest releases (`pr#41313 <https://github.com/ceph/ceph/pull/41313>`_, Yuri Weinstein)
601 * qa/tests: initial checkin for pacific-p2p suite (2) (`pr#41208 <https://github.com/ceph/ceph/pull/41208>`_, Yuri Weinstein)
602 * qa/tests: replaced ubuntu_latest.yaml with ubuntu 20.04 (`pr#41460 <https://github.com/ceph/ceph/pull/41460>`_, Patrick Donnelly, Kefu Chai)
603 * qa/upgrade: conditionally disable update_features tests (`pr#41629 <https://github.com/ceph/ceph/pull/41629>`_, Deepika)
604 * qa/workunits/rbd: use bionic version of qemu-iotests for focal (`pr#41195 <https://github.com/ceph/ceph/pull/41195>`_, Ilya Dryomov)
605 * qa: AttributeError: 'RemoteProcess' object has no attribute 'split' (`pr#41811 <https://github.com/ceph/ceph/pull/41811>`_, Patrick Donnelly)
606 * qa: add async dirops testing (`pr#41823 <https://github.com/ceph/ceph/pull/41823>`_, Patrick Donnelly)
607 * qa: check mounts attribute in ctx (`pr#40634 <https://github.com/ceph/ceph/pull/40634>`_, Jos Collin)
608 * qa: convert some legacy Filesystem.rados calls (`pr#40996 <https://github.com/ceph/ceph/pull/40996>`_, Patrick Donnelly)
609 * qa: drop the distro~HEAD directory from the fs suite (`pr#41169 <https://github.com/ceph/ceph/pull/41169>`_, Radoslaw Zarzynski)
610 * qa: fs:bugs does not specify distro (`pr#42063 <https://github.com/ceph/ceph/pull/42063>`_, Patrick Donnelly)
611 * qa: fs:upgrade uses teuthology default distro (`pr#42067 <https://github.com/ceph/ceph/pull/42067>`_, Patrick Donnelly)
612 * qa: scrub code does not join scrubopts with comma (`pr#42065 <https://github.com/ceph/ceph/pull/42065>`_, Kefu Chai, Patrick Donnelly)
613 * qa: test_data_scan.TestDataScan.test_pg_files AssertionError: Items in the second set but not the first (`pr#42069 <https://github.com/ceph/ceph/pull/42069>`_, Xiubo Li)
614 * qa: test_ephemeral_pin_distribution failure (`pr#41659 <https://github.com/ceph/ceph/pull/41659>`_, Patrick Donnelly)
615 * qa: update RHEL to 8.4 (`pr#41822 <https://github.com/ceph/ceph/pull/41822>`_, Patrick Donnelly)
616 * rbd-mirror: fix segfault in snapshot replayer shutdown (`pr#41503 <https://github.com/ceph/ceph/pull/41503>`_, Arthur Outhenin-Chalandre)
617 * rbd: --source-spec-file should be --source-spec-path (`pr#41122 <https://github.com/ceph/ceph/pull/41122>`_, Ilya Dryomov)
618 * rbd: don't attempt to interpret image cache state json (`pr#41281 <https://github.com/ceph/ceph/pull/41281>`_, Ilya Dryomov)
619 * rgw: Simplify log shard probing and err on the side of omap (`pr#41576 <https://github.com/ceph/ceph/pull/41576>`_, Adam C. Emerson)
620 * rgw: completion of multipart upload leaves delete marker (`pr#41769 <https://github.com/ceph/ceph/pull/41769>`_, J. Eric Ivancich)
621 * rgw: crash on multipart upload to bucket with policy (`pr#41893 <https://github.com/ceph/ceph/pull/41893>`_, Or Friedmann)
622 * rgw: radosgw_admin remove bucket not purging past 1,000 objects (`pr#41863 <https://github.com/ceph/ceph/pull/41863>`_, J. Eric Ivancich)
623 * rgw: radoslist incomplete multipart parts marker (`pr#40819 <https://github.com/ceph/ceph/pull/40819>`_, J. Eric Ivancich)
624 * rocksdb: pickup fix to detect PMULL instruction (`pr#41079 <https://github.com/ceph/ceph/pull/41079>`_, Kefu Chai)
625 * session dump includes completed_requests twice, once as an integer and once as a list (`pr#42057 <https://github.com/ceph/ceph/pull/42057>`_, Dan van der Ster)
626 * systemd: remove `ProtectClock=true` for `ceph-osd@.service` (`pr#41232 <https://github.com/ceph/ceph/pull/41232>`_, Wong Hoi Sing Edison)
627 * test/librbd: use really invalid domain (`pr#42010 <https://github.com/ceph/ceph/pull/42010>`_, Mykola Golub)
628 * win32\*.sh: disable libcephsqlite when targeting Windows (`pr#40557 <https://github.com/ceph/ceph/pull/40557>`_, Lucian Petrut)
629
630
631 v16.2.4 Pacific
632 ===============
633
634 This is a hotfix release addressing a number of security issues and regressions. We recommend all users update to this release.
635
636 Changelog
637 ---------
638
639 * mgr/dashboard: fix base-href: revert it to previous approach (`issue#50684 <https://tracker.ceph.com/issues/50684>`_, Avan Thakkar)
640 * mgr/dashboard: fix cookie injection issue (:ref:`CVE-2021-3509`, Ernesto Puerta)
641 * mgr/dashboard: fix set-ssl-certificate{,-key} commands (`issue#50519 <https://tracker.ceph.com/issues/50519>`_, Alfonso Martínez)
642 * rgw: RGWSwiftWebsiteHandler::is_web_dir checks empty subdir_name (:ref:`CVE-2021-3531`, Felix Huettner)
643 * rgw: sanitize \r in s3 CORSConfiguration's ExposeHeader (:ref:`CVE-2021-3524`, Sergey Bobrov, Casey Bodley)
644 * systemd: remove ProtectClock=true for ceph-osd@.service (`issue#50347 <https://tracker.ceph.com/issues/50347>`_, Wong Hoi Sing Edison)
645
646 v16.2.3 Pacific
647 ===============
648
649 This is the third backport release in the Pacific series. We recommend all users
650 update to this release.
651
652 Notable Changes
653 ---------------
654
655 * This release fixes a cephadm upgrade bug that caused some systems to get stuck in a loop
656 restarting the first mgr daemon.
657
658
659 v16.2.2 Pacific
660 ===============
661
662 This is the second backport release in the Pacific series. We recommend all
663 users update to this release.
664
665 Notable Changes
666 ---------------
667
668 * Cephadm now supports an *ingress* service type that provides load
669 balancing and HA (via haproxy and keepalived on a virtual IP) for
670 RGW service (see :ref:`orchestrator-haproxy-service-spec`). (The experimental
671 *rgw-ha* service has been removed.)
672
673 Changelog
674 ---------
675
676 * ceph-fuse: src/include/buffer.h: 1187: FAILED ceph_assert(_num <= 1024) (`pr#40628 <https://github.com/ceph/ceph/pull/40628>`_, Yanhu Cao)
677 * ceph-volume: fix "device" output (`pr#41054 <https://github.com/ceph/ceph/pull/41054>`_, Sébastien Han)
678 * ceph-volume: fix raw listing when finding OSDs from different clusters (`pr#40985 <https://github.com/ceph/ceph/pull/40985>`_, Sébastien Han)
679 * ceph.spec.in: Enable tcmalloc on IBM Power and Z (`pr#39488 <https://github.com/ceph/ceph/pull/39488>`_, Nathan Cutler, Yaakov Selkowitz)
680 * cephadm april batch 3 (`issue#49737 <http://tracker.ceph.com/issues/49737>`_, `pr#40922 <https://github.com/ceph/ceph/pull/40922>`_, Adam King, Sage Weil, Daniel Pivonka, Shreyaa Sharma, Sebastian Wagner, Juan Miguel Olmo Martínez, Zac Dover, Jeff Layton, Guillaume Abrioux, 胡玮文, Melissa Li, Nathan Cutler, Yaakov Selkowitz)
681 * cephadm: april batch 1 (`pr#40544 <https://github.com/ceph/ceph/pull/40544>`_, Sage Weil, Daniel Pivonka, Joao Eduardo Luis, Adam King)
682 * cephadm: april batch backport 2 (`pr#40746 <https://github.com/ceph/ceph/pull/40746>`_, Guillaume Abrioux, Sage Weil, Paul Cuzner)
683 * cephadm: specify addr on bootstrap's host add (`pr#40554 <https://github.com/ceph/ceph/pull/40554>`_, Joao Eduardo Luis)
684 * cephfs: minor ceph-dokan improvements (`pr#40627 <https://github.com/ceph/ceph/pull/40627>`_, Lucian Petrut)
685 * client: items pinned in cache preventing unmount (`pr#40629 <https://github.com/ceph/ceph/pull/40629>`_, Xiubo Li)
686 * client: only check pool permissions for regular files (`pr#40686 <https://github.com/ceph/ceph/pull/40686>`_, Xiubo Li)
687 * cmake: define BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT globally (`pr#40706 <https://github.com/ceph/ceph/pull/40706>`_, Kefu Chai)
688 * cmake: pass unparsed args to add_ceph_test() (`pr#40523 <https://github.com/ceph/ceph/pull/40523>`_, Kefu Chai)
689 * cmake: use --smp 1 --memory 256M to crimson tests (`pr#40568 <https://github.com/ceph/ceph/pull/40568>`_, Kefu Chai)
690 * crush/CrushLocation: do not print logging message in constructor (`pr#40679 <https://github.com/ceph/ceph/pull/40679>`_, Alex Wu)
691 * doc/cephfs/nfs: add user id, fs name and key to FSAL block (`pr#40687 <https://github.com/ceph/ceph/pull/40687>`_, Varsha Rao)
692 * include/librados: fix doxygen syntax for docs build (`pr#40805 <https://github.com/ceph/ceph/pull/40805>`_, Josh Durgin)
693 * mds: "cluster [WRN] Scrub error on inode 0x1000000039d (/client.0/tmp/blogbench-1.0/src/blogtest_in) see mds.a log and `damage ls` output for details" (`pr#40825 <https://github.com/ceph/ceph/pull/40825>`_, Milind Changire)
694 * mds: skip the buffer in UnknownPayload::decode() (`pr#40682 <https://github.com/ceph/ceph/pull/40682>`_, Xiubo Li)
695 * mgr/PyModule: put mgr_module_path before Py_GetPath() (`pr#40517 <https://github.com/ceph/ceph/pull/40517>`_, Kefu Chai)
696 * mgr/dashboard: Device health status is not getting listed under hosts section (`pr#40494 <https://github.com/ceph/ceph/pull/40494>`_, Aashish Sharma)
697 * mgr/dashboard: Fix for alert notification message being undefined (`pr#40588 <https://github.com/ceph/ceph/pull/40588>`_, Nizamudeen A)
698 * mgr/dashboard: Fix for broken User management role cloning (`pr#40398 <https://github.com/ceph/ceph/pull/40398>`_, Nizamudeen A)
699 * mgr/dashboard: Improve descriptions in some parts of the dashboard (`pr#40545 <https://github.com/ceph/ceph/pull/40545>`_, Nizamudeen A)
700 * mgr/dashboard: Remove username and password from request body (`pr#40981 <https://github.com/ceph/ceph/pull/40981>`_, Nizamudeen A)
701 * mgr/dashboard: Remove username, password fields from Manager Modules/dashboard,influx (`pr#40489 <https://github.com/ceph/ceph/pull/40489>`_, Aashish Sharma)
702 * mgr/dashboard: Revoke read-only user's access to Manager modules (`pr#40648 <https://github.com/ceph/ceph/pull/40648>`_, Nizamudeen A)
703 * mgr/dashboard: Unable to login to ceph dashboard until clearing cookies manually (`pr#40586 <https://github.com/ceph/ceph/pull/40586>`_, Avan Thakkar)
704 * mgr/dashboard: debug nodeenv hangs (`pr#40815 <https://github.com/ceph/ceph/pull/40815>`_, Ernesto Puerta)
705 * mgr/dashboard: filesystem pool size should use stored stat (`pr#40980 <https://github.com/ceph/ceph/pull/40980>`_, Avan Thakkar)
706 * mgr/dashboard: fix broken feature toggles (`pr#40474 <https://github.com/ceph/ceph/pull/40474>`_, Ernesto Puerta)
707 * mgr/dashboard: fix duplicated rows when creating NFS export (`pr#40990 <https://github.com/ceph/ceph/pull/40990>`_, Alfonso Martínez)
708 * mgr/dashboard: fix errors when creating NFS export (`pr#40822 <https://github.com/ceph/ceph/pull/40822>`_, Alfonso Martínez)
709 * mgr/dashboard: improve telemetry opt-in reminder notification message (`pr#40887 <https://github.com/ceph/ceph/pull/40887>`_, Waad Alkhoury)
710 * mgr/dashboard: test prometheus rules through promtool (`pr#40929 <https://github.com/ceph/ceph/pull/40929>`_, Aashish Sharma, Kefu Chai)
711 * mon: Modifying trim logic to change paxos_service_trim_max dynamically (`pr#40691 <https://github.com/ceph/ceph/pull/40691>`_, Aishwarya Mathuria)
712 * monmaptool: Don't call set_port on an invalid address (`pr#40690 <https://github.com/ceph/ceph/pull/40690>`_, Brad Hubbard, Kefu Chai)
713 * os/FileStore: don't propagate split/merge error to "create"/"remove" (`pr#40989 <https://github.com/ceph/ceph/pull/40989>`_, Mykola Golub)
714 * os/bluestore/BlueFS: do not _flush_range deleted files (`pr#40677 <https://github.com/ceph/ceph/pull/40677>`_, weixinwei)
715 * osd/PeeringState: fix acting_set_writeable min_size check (`pr#40759 <https://github.com/ceph/ceph/pull/40759>`_, Samuel Just)
716 * packaging: require ceph-common for immutable object cache daemon (`pr#40665 <https://github.com/ceph/ceph/pull/40665>`_, Ilya Dryomov)
717 * pybind/mgr/volumes: deadlock on async job hangs finisher thread (`pr#40630 <https://github.com/ceph/ceph/pull/40630>`_, Kefu Chai, Patrick Donnelly)
718 * qa/suites/krbd: don't require CEPHX_V2 for unmap subsuite (`pr#40826 <https://github.com/ceph/ceph/pull/40826>`_, Ilya Dryomov)
719 * qa/suites/rados/cephadm: stop testing on broken focal kubic podman (`pr#40512 <https://github.com/ceph/ceph/pull/40512>`_, Sage Weil)
720 * qa/tasks/ceph.conf: shorten cephx TTL for testing (`pr#40663 <https://github.com/ceph/ceph/pull/40663>`_, Sage Weil)
721 * qa/tasks/cephfs: create enough subvolumes (`pr#40688 <https://github.com/ceph/ceph/pull/40688>`_, Ramana Raja)
722 * qa/tasks/vstart_runner.py: start max required mgrs (`pr#40612 <https://github.com/ceph/ceph/pull/40612>`_, Alfonso Martínez)
723 * qa/tasks: Add wait_for_clean() check prior to initiating scrubbing (`pr#40461 <https://github.com/ceph/ceph/pull/40461>`_, Sridhar Seshasayee)
724 * qa: "AttributeError: 'NoneType' object has no attribute 'mon_manager'" (`pr#40645 <https://github.com/ceph/ceph/pull/40645>`_, Rishabh Dave)
725 * qa: "log [ERR] : error reading sessionmap 'mds2_sessionmap'" (`pr#40852 <https://github.com/ceph/ceph/pull/40852>`_, Patrick Donnelly)
726 * qa: fix ino_release_cb racy behavior (`pr#40683 <https://github.com/ceph/ceph/pull/40683>`_, Patrick Donnelly)
727 * qa: fs:cephadm mount does not wait for mds to be created (`pr#40528 <https://github.com/ceph/ceph/pull/40528>`_, Patrick Donnelly)
728 * qa: test standby_replay in workloads (`pr#40853 <https://github.com/ceph/ceph/pull/40853>`_, Patrick Donnelly)
729 * rbd-mirror: fix UB while registering perf counters (`pr#40680 <https://github.com/ceph/ceph/pull/40680>`_, Arthur Outhenin-Chalandre)
730 * rgw: add latency to the request summary of an op (`pr#40448 <https://github.com/ceph/ceph/pull/40448>`_, Ali Maredia)
731 * rgw: Backport of datalog improvements to Pacific (`pr#40559 <https://github.com/ceph/ceph/pull/40559>`_, Yuval Lifshitz, Adam C. Emerson)
732 * test: disable mgr/mirroring for `test_mirroring_init_failure_with_recovery` test (`issue#50020 <http://tracker.ceph.com/issues/50020>`_, `pr#40684 <https://github.com/ceph/ceph/pull/40684>`_, Venky Shankar)
733 * tools/cephfs_mirror/PeerReplayer.cc: add missing include (`pr#40678 <https://github.com/ceph/ceph/pull/40678>`_, Duncan Bellamy)
734 * vstart.sh: disable "auth_allow_insecure_global_id_reclaim" (`pr#40957 <https://github.com/ceph/ceph/pull/40957>`_, Kefu Chai)
735
736
737 v16.2.1 Pacific
738 ===============
739
740 This is the first bugfix release in the Pacific stable series. It addresses a
741 security vulnerability in the Ceph authentication framework.
742
743 We recommend all Pacific users upgrade.
744
745 Security fixes
746 --------------
747
748 * This release includes a security fix that ensures the global_id
749 value (a numeric value that should be unique for every authenticated
750 client or daemon in the cluster) is reclaimed after a network
751 disconnect or ticket renewal in a secure fashion. Two new health
752 alerts may appear during the upgrade indicating that there are
753 clients or daemons that are not yet patched with the appropriate
754 fix.
755
756 To temporarily mute the health alerts around insecure clients for the duration of the
757 upgrade, you may want to::
758
759 ceph health mute AUTH_INSECURE_GLOBAL_ID_RECLAIM 1h
760 ceph health mute AUTH_INSECURE_GLOBAL_ID_RECLAIM_ALLOWED 1h
761
762 For more information, see :ref:`CVE-2021-20288`.
763
764
765 v16.2.0 Pacific
766 ===============
767
768 This is the first stable release of Ceph Pacific.
769
770 Major Changes from Octopus
771 --------------------------
772
773 General
774 ~~~~~~~
775
776 * Cephadm can automatically upgrade an Octopus cluster to Pacific with a single
777 command to start the process.
778 * Cephadm has improved significantly over the past year, with improved
779 support for RGW (standalone and multisite), and new support for NFS
780 and iSCSI. Most of these changes have already been backported to
781 recent Octopus point releases, but with the Pacific release we will
782 switch to backporting bug fixes only.
783 * :ref:`Packages <packages>` are built for the following distributions:
784
785 - CentOS 8
786 - Ubuntu 20.04 (Focal)
787 - Ubuntu 18.04 (Bionic)
788 - Debian Buster
789 - :ref:`Container image <containers>` (based on CentOS 8)
790
791 With the exception of Debian Buster, packages and containers are
792 built for both x86_64 and aarch64 (arm64) architectures.
793
794 Note that cephadm clusters may work on many other distributions,
795 provided Python 3 and a recent version of Docker or Podman is
796 available to manage containers. For more information, see
797 :ref:`cephadm-host-requirements`.
798
799
800 Dashboard
801 ~~~~~~~~~
802
803 The :ref:`mgr-dashboard` brings improvements in the following management areas:
804
805 * Orchestrator/Cephadm:
806
807 - Host management: maintenance mode, labels.
808 - Services: display placement specification.
809 - OSD: disk replacement, display status of ongoing deletion, and improved
810 health/SMART diagnostics reporting.
811
812 * Official :ref:`mgr ceph api`:
813
814 - OpenAPI v3 compliant.
815 - Stability commitment starting from Pacific release.
816 - Versioned via HTTP ``Accept`` header (starting with v1.0).
817 - Thoroughly tested (>90% coverage and per Pull Request validation).
818 - Fully documented.
819
820 * RGW:
821
822 - Multi-site synchronization monitoring.
823 - Management of multiple RGW daemons and their resources (buckets and users).
824 - Bucket and user quota usage visualization.
825 - Improved configuration of S3 tenanted users.
826
827 * Security (multiple enhancements and fixes resulting from a pen testing conducted by IBM):
828
829 - Account lock-out after a configurable number of failed log-in attempts.
830 - Improved cookie policies to mitigate XSS/CSRF attacks.
831 - Reviewed and improved security in HTTP headers.
832 - Sensitive information reviewed and removed from logs and error messages.
833 - TLS 1.0 and 1.1 support disabled.
834 - Debug mode when enabled triggers HEALTH_WARN.
835
836 * Pools:
837
838 - Improved visualization of replication and erasure coding modes.
839 - CLAY erasure code plugin supported.
840
841 * Alerts and notifications:
842
843 - Alert triggered on MTU mismatches in the cluster network.
844 - Favicon changes according cluster status.
845
846 * Other:
847
848 - Landing page: improved charts and visualization.
849 - Telemetry configuration wizard.
850 - OSDs: management of individual OSD flags.
851 - RBD: per-RBD image Grafana dashboards.
852 - CephFS: Dirs and Caps displayed.
853 - NFS: v4 support only (v3 backward compatibility planned).
854 - Front-end: Angular 10 update.
855
856
857 RADOS
858 ~~~~~
859
860 * Pacific introduces :ref:`bluestore-rocksdb-sharding`, which reduces disk space requirements.
861
862 * Ceph now provides QoS between client I/O and background operations via the
863 mclock scheduler.
864
865 * The balancer is now on by default in upmap mode to improve distribution of
866 PGs across OSDs.
867
868 * The output of ``ceph -s`` has been improved to show recovery progress in
869 one progress bar. More detailed progress bars are visible via the
870 ``ceph progress`` command.
871
872
873 RBD block storage
874 ~~~~~~~~~~~~~~~~~
875
876 * Image live-migration feature has been extended to support external data
877 sources. Images can now be instantly imported from local files, remote
878 files served over HTTP(S) or remote S3 buckets in ``raw`` (``rbd export v1``)
879 or basic ``qcow`` and ``qcow2`` formats. Support for ``rbd export v2``
880 format, advanced QCOW features and ``rbd export-diff`` snapshot differentials
881 is expected in future releases.
882
883 * Initial support for client-side encryption has been added. This is based
884 on LUKS and in future releases will allow using per-image encryption keys
885 while maintaining snapshot and clone functionality -- so that parent image
886 and potentially multiple clone images can be encrypted with different keys.
887
888 * A new persistent write-back cache is available. The cache operates in
889 a log-structured manner, providing full point-in-time consistency for the
890 backing image. It should be particularly suitable for PMEM devices.
891
892 * A Windows client is now available in the form of ``librbd.dll`` and
893 ``rbd-wnbd`` (Windows Network Block Device) daemon. It allows mapping,
894 unmapping and manipulating images similar to ``rbd-nbd``.
895
896 * librbd API now offers quiesce/unquiesce hooks, allowing for coordinated
897 snapshot creation.
898
899
900 RGW object storage
901 ~~~~~~~~~~~~~~~~~~
902
903 * Initial support for S3 Select. See :ref:`s3-select-feature-table` for supported queries.
904
905 * Bucket notification topics can be configured as ``persistent``, where events
906 are recorded in rados for reliable delivery.
907
908 * Bucket notifications can be delivered to SSL-enabled AMQP endpoints.
909
910 * Lua scripts can be run during requests and access their metadata.
911
912 * SSE-KMS now supports KMIP as a key management service.
913
914 * Multisite data logs can now be deployed on ``cls_fifo`` to avoid large omap
915 cluster warnings and make their trimming cheaper. See ``rgw_data_log_backing``.
916
917
918 CephFS distributed file system
919 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
920
921 * The CephFS MDS modifies on-RADOS metadata such that the new format is no
922 longer backwards compatible. It is not possible to downgrade a file system from
923 Pacific (or later) to an older release.
924
925 * Multiple file systems in a single Ceph cluster is now stable. New Ceph
926 clusters enable support for multiple file systems by default. Existing clusters
927 must still set the "enable_multiple" flag on the FS. See also
928 :ref:`cephfs-multifs`.
929
930 * A new ``mds_autoscaler`` ``ceph-mgr`` plugin is available for automatically
931 deploying MDS daemons in response to changes to the ``max_mds`` configuration.
932 Expect further enhancements in the future to simplify and automate MDS scaling.
933
934 * ``cephfs-top`` is a new utility for looking at performance metrics from CephFS
935 clients. It is development preview quality and will have bugs. For more
936 information, see :ref:`cephfs-top`.
937
938 * A new ``snap_schedule`` ``ceph-mgr`` plugin provides a command toolset for
939 scheduling snapshots on a CephFS file system. For more information, see
940 :ref:`snap-schedule`.
941
942 * First class NFS gateway support in Ceph is here! It's now possible to create
943 scale-out ("active-active") NFS gateway clusters that export CephFS using
944 a few commands. The gateways are deployed via cephadm (or Rook, in the future).
945 For more information, see :ref:`mgr-nfs`.
946
947 * Multiple active MDS file system scrub is now stable. It is no longer necessary
948 to set ``max_mds`` to 1 and wait for non-zero ranks to stop. Scrub commands
949 can only be sent to rank 0: ``ceph tell mds.<fs_name>:0 scrub start /path ...``.
950 For more information, see :ref:`mds-scrub`.
951
952 * Ephemeral pinning -- policy based subtree pinning -- is considered stable.
953 ``mds_export_ephemeral_random`` and ``mds_export_ephemeral_distributed`` now
954 default to true. For more information, see :ref:`cephfs-ephemeral-pinning`.
955
956 * A new ``cephfs-mirror`` daemon is available to mirror CephFS file systems to
957 a remote Ceph cluster. For more information, see :ref:`cephfs-mirroring`.
958
959 * A Windows client is now available for connecting to CephFS. This is offered
960 through a new ``ceph-dokan`` utility which operates via the Dokan userspace
961 API, similar to FUSE. For more information, see :ref:`ceph-dokan`.
962
963
964 Upgrading from Octopus or Nautilus
965 ----------------------------------
966
967 Before starting, make sure your cluster is stable and healthy (no down or
968 recovering OSDs). (This is optional, but recommended.)
969
970
971 .. note::
972 WARNING: Please do not set `bluestore_fsck_quick_fix_on_mount` to true or
973 run `ceph-bluestore-tool` repair or quick-fix commands in Pacific versions
974 <= 16.2.6, because this can lead to data corruption, details in
975 https://tracker.ceph.com/issues/53062.
976
977 Upgrading cephadm clusters
978 ~~~~~~~~~~~~~~~~~~~~~~~~~~
979
980 If your cluster is deployed with cephadm (first introduced in Octopus), then
981 the upgrade process is entirely automated. To initiate the upgrade,
982
983 .. prompt:: bash #
984
985 ceph orch upgrade start --ceph-version 16.2.0
986
987 The same process is used to upgrade to future minor releases.
988
989 Upgrade progress can be monitored with ``ceph -s`` (which provides a simple
990 progress bar) or more verbosely with
991
992 .. prompt:: bash #
993
994 ceph -W cephadm
995
996 The upgrade can be paused or resumed with
997
998 .. prompt:: bash #
999
1000 ceph orch upgrade pause # to pause
1001 ceph orch upgrade resume # to resume
1002
1003 or canceled with
1004
1005 .. prompt:: bash #
1006
1007 ceph orch upgrade stop
1008
1009 Note that canceling the upgrade simply stops the process; there is no ability to
1010 downgrade back to Octopus.
1011
1012 .. note:
1013
1014 If you have deployed an RGW service on Octopus using the default port (7280), you
1015 will need to redeploy it because the default port changed (to 80 or 443, depending
1016 on whether SSL is enabled):
1017
1018 .. prompt: bash #
1019
1020 ceph orch apply rgw <realm>.<zone> --port 7280
1021
1022
1023 Upgrading non-cephadm clusters
1024 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1025
1026 .. note::
1027 If you cluster is running Octopus (15.2.x), you might choose
1028 to first convert it to use cephadm so that the upgrade to Pacific
1029 is automated (see above). For more information, see
1030 :ref:`cephadm-adoption`.
1031
1032 #. Set the ``noout`` flag for the duration of the upgrade. (Optional,
1033 but recommended.)::
1034
1035 # ceph osd set noout
1036
1037 #. Upgrade monitors by installing the new packages and restarting the
1038 monitor daemons. For example, on each monitor host,::
1039
1040 # systemctl restart ceph-mon.target
1041
1042 Once all monitors are up, verify that the monitor upgrade is
1043 complete by looking for the ``octopus`` string in the mon
1044 map. The command::
1045
1046 # ceph mon dump | grep min_mon_release
1047
1048 should report::
1049
1050 min_mon_release 16 (pacific)
1051
1052 If it doesn't, that implies that one or more monitors hasn't been
1053 upgraded and restarted and/or the quorum does not include all monitors.
1054
1055 #. Upgrade ``ceph-mgr`` daemons by installing the new packages and
1056 restarting all manager daemons. For example, on each manager host,::
1057
1058 # systemctl restart ceph-mgr.target
1059
1060 Verify the ``ceph-mgr`` daemons are running by checking ``ceph
1061 -s``::
1062
1063 # ceph -s
1064
1065 ...
1066 services:
1067 mon: 3 daemons, quorum foo,bar,baz
1068 mgr: foo(active), standbys: bar, baz
1069 ...
1070
1071 #. Upgrade all OSDs by installing the new packages and restarting the
1072 ceph-osd daemons on all OSD hosts::
1073
1074 # systemctl restart ceph-osd.target
1075
1076 Note that if you are upgrading from Nautilus, the first time each
1077 OSD starts, it will do a format conversion to improve the
1078 accounting for "omap" data. This may take a few minutes to as much
1079 as a few hours (for an HDD with lots of omap data). You can
1080 disable this automatic conversion with::
1081
1082 # ceph config set osd bluestore_fsck_quick_fix_on_mount false
1083
1084 You can monitor the progress of the OSD upgrades with the
1085 ``ceph versions`` or ``ceph osd versions`` commands::
1086
1087 # ceph osd versions
1088 {
1089 "ceph version 14.2.5 (...) nautilus (stable)": 12,
1090 "ceph version 16.2.0 (...) pacific (stable)": 22,
1091 }
1092
1093 #. Upgrade all CephFS MDS daemons. For each CephFS file system,
1094
1095 #. Disable standby_replay:
1096
1097 # ceph fs set <fs_name> allow_standby_replay false
1098
1099 #. Reduce the number of ranks to 1. (Make note of the original
1100 number of MDS daemons first if you plan to restore it later.)::
1101
1102 # ceph status
1103 # ceph fs set <fs_name> max_mds 1
1104
1105 #. Wait for the cluster to deactivate any non-zero ranks by
1106 periodically checking the status::
1107
1108 # ceph status
1109
1110 #. Take all standby MDS daemons offline on the appropriate hosts with::
1111
1112 # systemctl stop ceph-mds@<daemon_name>
1113
1114 #. Confirm that only one MDS is online and is rank 0 for your FS::
1115
1116 # ceph status
1117
1118 #. Upgrade the last remaining MDS daemon by installing the new
1119 packages and restarting the daemon::
1120
1121 # systemctl restart ceph-mds.target
1122
1123 #. Restart all standby MDS daemons that were taken offline::
1124
1125 # systemctl start ceph-mds.target
1126
1127 #. Restore the original value of ``max_mds`` for the volume::
1128
1129 # ceph fs set <fs_name> max_mds <original_max_mds>
1130
1131 #. Upgrade all radosgw daemons by upgrading packages and restarting
1132 daemons on all hosts::
1133
1134 # systemctl restart ceph-radosgw.target
1135
1136 #. Complete the upgrade by disallowing pre-Pacific OSDs and enabling
1137 all new Pacific-only functionality::
1138
1139 # ceph osd require-osd-release pacific
1140
1141 #. If you set ``noout`` at the beginning, be sure to clear it with::
1142
1143 # ceph osd unset noout
1144
1145 #. Consider transitioning your cluster to use the cephadm deployment
1146 and orchestration framework to simplify cluster management and
1147 future upgrades. For more information on converting an existing
1148 cluster to cephadm, see :ref:`cephadm-adoption`.
1149
1150
1151 Post-upgrade
1152 ~~~~~~~~~~~~
1153
1154 #. Verify the cluster is healthy with ``ceph health``.
1155
1156 If your CRUSH tunables are older than Hammer, Ceph will now issue a
1157 health warning. If you see a health alert to that effect, you can
1158 revert this change with::
1159
1160 ceph config set mon mon_crush_min_required_version firefly
1161
1162 If Ceph does not complain, however, then we recommend you also
1163 switch any existing CRUSH buckets to straw2, which was added back
1164 in the Hammer release. If you have any 'straw' buckets, this will
1165 result in a modest amount of data movement, but generally nothing
1166 too severe.::
1167
1168 ceph osd getcrushmap -o backup-crushmap
1169 ceph osd crush set-all-straw-buckets-to-straw2
1170
1171 If there are problems, you can easily revert with::
1172
1173 ceph osd setcrushmap -i backup-crushmap
1174
1175 Moving to 'straw2' buckets will unlock a few recent features, like
1176 the `crush-compat` :ref:`balancer <balancer>` mode added back in Luminous.
1177
1178 #. If you did not already do so when upgrading from Mimic, we
1179 recommened you enable the new :ref:`v2 network protocol <msgr2>`,
1180 issue the following command::
1181
1182 ceph mon enable-msgr2
1183
1184 This will instruct all monitors that bind to the old default port
1185 6789 for the legacy v1 protocol to also bind to the new 3300 v2
1186 protocol port. To see if all monitors have been updated,::
1187
1188 ceph mon dump
1189
1190 and verify that each monitor has both a ``v2:`` and ``v1:`` address
1191 listed.
1192
1193 #. Consider enabling the :ref:`telemetry module <telemetry>` to send
1194 anonymized usage statistics and crash information to the Ceph
1195 upstream developers. To see what would be reported (without actually
1196 sending any information to anyone),::
1197
1198 ceph mgr module enable telemetry
1199 ceph telemetry show
1200
1201 If you are comfortable with the data that is reported, you can opt-in to
1202 automatically report the high-level cluster metadata with::
1203
1204 ceph telemetry on
1205
1206 The public dashboard that aggregates Ceph telemetry can be found at
1207 `https://telemetry-public.ceph.com/ <https://telemetry-public.ceph.com/>`_.
1208
1209 For more information about the telemetry module, see :ref:`the
1210 documentation <telemetry>`.
1211
1212
1213 Upgrade from pre-Nautilus releases (like Mimic or Luminous)
1214 -----------------------------------------------------------
1215
1216 You must first upgrade to Nautilus (14.2.z) or Octopus (15.2.z) before
1217 upgrading to Pacific.
1218
1219
1220 Notable Changes
1221 ---------------
1222
1223 * A new library is available, libcephsqlite. It provides a SQLite Virtual File
1224 System (VFS) on top of RADOS. The database and journals are striped over
1225 RADOS across multiple objects for virtually unlimited scaling and throughput
1226 only limited by the SQLite client. Applications using SQLite may change to
1227 the Ceph VFS with minimal changes, usually just by specifying the alternate
1228 VFS. We expect the library to be most impactful and useful for applications
1229 that were storing state in RADOS omap, especially without striping which
1230 limits scalability.
1231
1232 * New ``bluestore_rocksdb_options_annex`` config parameter. Complements
1233 ``bluestore_rocksdb_options`` and allows setting rocksdb options without
1234 repeating the existing defaults.
1235
1236 * $pid expansion in config paths like ``admin_socket`` will now properly expand
1237 to the daemon pid for commands like ``ceph-mds`` or ``ceph-osd``. Previously
1238 only ``ceph-fuse``/``rbd-nbd`` expanded ``$pid`` with the actual daemon pid.
1239
1240 * The allowable options for some ``radosgw-admin`` commands have been changed.
1241
1242 * ``mdlog-list``, ``datalog-list``, ``sync-error-list`` no longer accepts
1243 start and end dates, but does accept a single optional start marker.
1244 * ``mdlog-trim``, ``datalog-trim``, ``sync-error-trim`` only accept a
1245 single marker giving the end of the trimmed range.
1246 * Similarly the date ranges and marker ranges have been removed on
1247 the RESTful DATALog and MDLog list and trim operations.
1248
1249 * ceph-volume: The ``lvm batch`` subcommand received a major rewrite. This
1250 closed a number of bugs and improves usability in terms of size specification
1251 and calculation, as well as idempotency behaviour and disk replacement
1252 process.
1253 Please refer to https://docs.ceph.com/en/latest/ceph-volume/lvm/batch/ for
1254 more detailed information.
1255
1256 * Configuration variables for permitted scrub times have changed. The legal
1257 values for ``osd_scrub_begin_hour`` and ``osd_scrub_end_hour`` are 0 - 23.
1258 The use of 24 is now illegal. Specifying ``0`` for both values causes every
1259 hour to be allowed. The legal values for ``osd_scrub_begin_week_day`` and
1260 ``osd_scrub_end_week_day`` are 0 - 6. The use of 7 is now illegal.
1261 Specifying ``0`` for both values causes every day of the week to be allowed.
1262
1263 * volume/nfs: Recently "ganesha-" prefix from cluster id and nfs-ganesha common
1264 config object was removed, to ensure consistent namespace across different
1265 orchestrator backends. Please delete any existing nfs-ganesha clusters prior
1266 to upgrading and redeploy new clusters after upgrading to Pacific.
1267
1268 * A new health check, DAEMON_OLD_VERSION, will warn if different versions of Ceph are running
1269 on daemons. It will generate a health error if multiple versions are detected.
1270 This condition must exist for over mon_warn_older_version_delay (set to 1 week by default) in order for the
1271 health condition to be triggered. This allows most upgrades to proceed
1272 without falsely seeing the warning. If upgrade is paused for an extended
1273 time period, health mute can be used like this
1274 "ceph health mute DAEMON_OLD_VERSION --sticky". In this case after
1275 upgrade has finished use "ceph health unmute DAEMON_OLD_VERSION".
1276
1277 * MGR: progress module can now be turned on/off, using the commands:
1278 ``ceph progress on`` and ``ceph progress off``.
1279
1280 * An AWS-compliant API: "GetTopicAttributes" was added to replace the existing "GetTopic" API. The new API
1281 should be used to fetch information about topics used for bucket notifications.
1282
1283 * librbd: The shared, read-only parent cache's config option ``immutable_object_cache_watermark`` now has been updated
1284 to property reflect the upper cache utilization before space is reclaimed. The default ``immutable_object_cache_watermark``
1285 now is ``0.9``. If the capacity reaches 90% the daemon will delete cold cache.
1286
1287 * OSD: the option ``osd_fast_shutdown_notify_mon`` has been introduced to allow
1288 the OSD to notify the monitor it is shutting down even if ``osd_fast_shutdown``
1289 is enabled. This helps with the monitor logs on larger clusters, that may get
1290 many 'osd.X reported immediately failed by osd.Y' messages, and confuse tools.
1291
1292 * The mclock scheduler has been refined. A set of built-in profiles are now available that
1293 provide QoS between the internal and external clients of Ceph. To enable the mclock
1294 scheduler, set the config option "osd_op_queue" to "mclock_scheduler". The
1295 "high_client_ops" profile is enabled by default, and allocates more OSD bandwidth to
1296 external client operations than to internal client operations (such as background recovery
1297 and scrubs). Other built-in profiles include "high_recovery_ops" and "balanced". These
1298 built-in profiles optimize the QoS provided to clients of mclock scheduler.
1299
1300 * The balancer is now on by default in upmap mode. Since upmap mode requires
1301 ``require_min_compat_client`` luminous, new clusters will only support luminous
1302 and newer clients by default. Existing clusters can enable upmap support by running
1303 ``ceph osd set-require-min-compat-client luminous``. It is still possible to turn
1304 the balancer off using the ``ceph balancer off`` command. In earlier versions,
1305 the balancer was included in the ``always_on_modules`` list, but needed to be
1306 turned on explicitly using the ``ceph balancer on`` command.
1307
1308 * Version 2 of the cephx authentication protocol (``CEPHX_V2`` feature bit) is
1309 now required by default. It was introduced in 2018, adding replay attack
1310 protection for authorizers and making msgr v1 message signatures stronger
1311 (CVE-2018-1128 and CVE-2018-1129). Support is present in Jewel 10.2.11,
1312 Luminous 12.2.6, Mimic 13.2.1, Nautilus 14.2.0 and later; upstream kernels
1313 4.9.150, 4.14.86, 4.19 and later; various distribution kernels, in particular
1314 CentOS 7.6 and later. To enable older clients, set ``cephx_require_version``
1315 and ``cephx_service_require_version`` config options to 1.
1316
1317 * `blacklist` has been replaced with `blocklist` throughout. The following commands have changed:
1318
1319 - ``ceph osd blacklist ...`` are now ``ceph osd blocklist ...``
1320 - ``ceph <tell|daemon> osd.<NNN> dump_blacklist`` is now ``ceph <tell|daemon> osd.<NNN> dump_blocklist``
1321
1322 * The following config options have changed:
1323
1324 - ``mon osd blacklist default expire`` is now ``mon osd blocklist default expire``
1325 - ``mon mds blacklist interval`` is now ``mon mds blocklist interval``
1326 - ``mon mgr blacklist interval`` is now ''mon mgr blocklist interval``
1327 - ``rbd blacklist on break lock`` is now ``rbd blocklist on break lock``
1328 - ``rbd blacklist expire seconds`` is now ``rbd blocklist expire seconds``
1329 - ``mds session blacklist on timeout`` is now ``mds session blocklist on timeout``
1330 - ``mds session blacklist on evict`` is now ``mds session blocklist on evict``
1331
1332 * The following librados API calls have changed:
1333
1334 - ``rados_blacklist_add`` is now ``rados_blocklist_add``; the former will issue a deprecation warning and be removed in a future release.
1335 - ``rados.blacklist_add`` is now ``rados.blocklist_add`` in the C++ API.
1336
1337 * The JSON output for the following commands now shows ``blocklist`` instead of ``blacklist``:
1338
1339 - ``ceph osd dump``
1340 - ``ceph <tell|daemon> osd.<N> dump_blocklist``
1341
1342 * Monitors now have config option ``mon_allow_pool_size_one``, which is disabled
1343 by default. However, if enabled, user now have to pass the
1344 ``--yes-i-really-mean-it`` flag to ``osd pool set size 1``, if they are really
1345 sure of configuring pool size 1.
1346
1347 * ``ceph pg #.# list_unfound`` output has been enhanced to provide
1348 might_have_unfound information which indicates which OSDs may
1349 contain the unfound objects.
1350
1351 * OSD: A new configuration option ``osd_compact_on_start`` has been added which triggers
1352 an OSD compaction on start. Setting this option to ``true`` and restarting an OSD
1353 will result in an offline compaction of the OSD prior to booting.
1354
1355 * OSD: the option named ``bdev_nvme_retry_count`` has been removed. Because
1356 in SPDK v20.07, there is no easy access to bdev_nvme options, and this
1357 option is hardly used, so it was removed.
1358
1359 * Alpine build related script, documentation and test have been removed since
1360 the most updated APKBUILD script of Ceph is already included by Alpine Linux's
1361 aports repository.
1362