]> git.proxmox.com Git - ceph.git/blame - ceph/PendingReleaseNotes
use the buster suite for getting the source package for now
[ceph.git] / ceph / PendingReleaseNotes
CommitLineData
f67539c2
TL
1>=17.0.0
2
3* A new library is available, libcephsqlite. It provides a SQLite Virtual File
4 System (VFS) on top of RADOS. The database and journals are striped over
5 RADOS across multiple objects for virtually unlimited scaling and throughput
6 only limited by the SQLite client. Applications using SQLite may change to
7 the Ceph VFS with minimal changes, usually just by specifying the alternate
8 VFS. We expect the library to be most impactful and useful for applications
9 that were storing state in RADOS omap, especially without striping which
10 limits scalability.
11
12>=16.0.0
13--------
b3b6e05e
TL
14
15* `ceph-mgr-modules-core` debian package does not recommend `ceph-mgr-rook`
16 anymore. As the latter depends on `python3-numpy` which cannot be imported in
17 different Python sub-interpreters multi-times if the version of
18 `python3-numpy` is older than 1.19. Since `apt-get` installs the `Recommends`
19 packages by default, `ceph-mgr-rook` was always installed along with
20 `ceph-mgr` debian package as an indirect dependency. If your workflow depends
21 on this behavior, you might want to install `ceph-mgr-rook` separately.
22
23* mgr/nfs: ``nfs`` module is moved out of volumes plugin. Prior using the
24 ``ceph nfs`` commands, ``nfs`` mgr module must be enabled.
25
26* volumes/nfs: The ``cephfs`` cluster type has been removed from the
27 ``nfs cluster create`` subcommand. Clusters deployed by cephadm can
28 support an NFS export of both ``rgw`` and ``cephfs`` from a single
29 NFS cluster instance.
30
31* The ``nfs cluster update`` command has been removed. You can modify
32 the placement of an existing NFS service (and/or its associated
33 ingress service) using ``orch ls --export`` and ``orch apply -i
34 ...``.
35
36* The ``orch apply nfs`` command no longer requires a pool or
37 namespace argument. We strongly encourage users to use the defaults
38 so that the ``nfs cluster ls`` and related commands will work
39 properly.
40
41* The ``nfs cluster delete`` and ``nfs export delete`` commands are
42 deprecated and will be removed in a future release. Please use
43 ``nfs cluster rm`` and ``nfs export rm`` instead.
44
45* mgr-pg_autoscaler: Autoscaler will now start out by scaling each
46 pool to have a full complements of pgs from the start and will only
47 decrease it when other pools need more pgs due to increased usage.
48 This improves out of the box performance of Ceph by allowing more PGs
49 to be created for a given pool.
50
f67539c2
TL
51* CephFS: Disabling allow_standby_replay on a file system will also stop all
52 standby-replay daemons for that file system.
adb31ebb 53
cd265ab1
TL
54* New bluestore_rocksdb_options_annex config parameter. Complements
55 bluestore_rocksdb_options and allows setting rocksdb options without repeating
56 the existing defaults.
f67539c2
TL
57* The cephfs addes two new CDentry tags, 'I' --> 'i' and 'L' --> 'l', and
58 on-RADOS metadata is no longer backwards compatible after upgraded to Pacific
59 or a later release.
cd265ab1 60
adb31ebb
TL
61* $pid expansion in config paths like `admin_socket` will now properly expand
62 to the daemon pid for commands like `ceph-mds` or `ceph-osd`. Previously only
63 `ceph-fuse`/`rbd-nbd` expanded `$pid` with the actual daemon pid.
eafe8130 64
f67539c2
TL
65* The allowable options for some "radosgw-admin" commands have been changed.
66
67 * "mdlog-list", "datalog-list", "sync-error-list" no longer accepts
68 start and end dates, but does accept a single optional start marker.
69 * "mdlog-trim", "datalog-trim", "sync-error-trim" only accept a
70 single marker giving the end of the trimmed range.
71 * Similarly the date ranges and marker ranges have been removed on
72 the RESTful DATALog and MDLog list and trim operations.
73
f91f0fd5
TL
74* ceph-volume: The ``lvm batch` subcommand received a major rewrite. This closed
75 a number of bugs and improves usability in terms of size specification and
76 calculation, as well as idempotency behaviour and disk replacement process.
77 Please refer to https://docs.ceph.com/en/latest/ceph-volume/lvm/batch/ for
78 more detailed information.
e306af50 79
f67539c2
TL
80* Configuration variables for permitted scrub times have changed. The legal
81 values for ``osd_scrub_begin_hour`` and ``osd_scrub_end_hour`` are 0 - 23.
82 The use of 24 is now illegal. Specifying ``0`` for both values causes every
83 hour to be allowed. The legal vaues for ``osd_scrub_begin_week_day`` and
84 ``osd_scrub_end_week_day`` are 0 - 6. The use of 7 is now illegal.
85 Specifying ``0`` for both values causes every day of the week to be allowed.
86
87* Multiple file systems in a single Ceph cluster is now stable. New Ceph clusters
88 enable support for multiple file systems by default. Existing clusters
89 must still set the "enable_multiple" flag on the fs. Please see the CephFS
90 documentation for more information.
91
92* volume/nfs: Recently "ganesha-" prefix from cluster id and nfs-ganesha common
93 config object was removed, to ensure consistent namespace across different
94 orchestrator backends. Please delete any existing nfs-ganesha clusters prior
95 to upgrading and redeploy new clusters after upgrading to Pacific.
96
97* A new health check, DAEMON_OLD_VERSION, will warn if different versions of Ceph are running
98 on daemons. It will generate a health error if multiple versions are detected.
99 This condition must exist for over mon_warn_older_version_delay (set to 1 week by default) in order for the
100 health condition to be triggered. This allows most upgrades to proceed
101 without falsely seeing the warning. If upgrade is paused for an extended
102 time period, health mute can be used like this
103 "ceph health mute DAEMON_OLD_VERSION --sticky". In this case after
104 upgrade has finished use "ceph health unmute DAEMON_OLD_VERSION".
105
106* MGR: progress module can now be turned on/off, using the commands:
107 ``ceph progress on`` and ``ceph progress off``.
108* An AWS-compliant API: "GetTopicAttributes" was added to replace the existing "GetTopic" API. The new API
109 should be used to fetch information about topics used for bucket notifications.
110
111* librbd: The shared, read-only parent cache's config option ``immutable_object_cache_watermark`` now has been updated
112 to property reflect the upper cache utilization before space is reclaimed. The default ``immutable_object_cache_watermark``
113 now is ``0.9``. If the capacity reaches 90% the daemon will delete cold cache.
114* The ceph_volume_client.py library used for manipulating legacy "volumes" in
115 CephFS is removed. All remaining users should use the "fs volume" interface
116 exposed by the ceph-mgr:
117 https://docs.ceph.com/en/latest/cephfs/fs-volumes/
118
119* An AWS-compliant API: "GetTopicAttributes" was added to replace the existing
120 "GetTopic" API. The new API should be used to fetch information about topics
121 used for bucket notifications.
122
123* librbd: The shared, read-only parent cache's config option
124 ``immutable_object_cache_watermark`` has now been updated to properly reflect
125 the upper cache utilization before space is reclaimed. The default
126 ``immutable_object_cache_watermark`` is now ``0.9``. If the capacity reaches
127 90% the daemon will delete cold cache.
128
129* OSD: the option ``osd_fast_shutdown_notify_mon`` has been introduced to allow
130 the OSD to notify the monitor it is shutting down even if ``osd_fast_shutdown``
131 is enabled. This helps with the monitor logs on larger clusters, that may get
132 many 'osd.X reported immediately failed by osd.Y' messages, and confuse tools.
133* rgw/kms/vault: the transit logic has been revamped to better use
134 the transit engine in vault. To take advantage of this new
135 functionality configuration changes are required. See the current
136 documentation (radosgw/vault) for more details.
137
138* Scubs are more aggressive in trying to find more simultaneous possible PGs within osd_max_scrubs limitation.
139 It is possible that increasing osd_scrub_sleep may be necessary to maintain client responsiveness.
140* OSD: the option ``osd_fast_shutdown_notify_mon`` has been introduced to allow
141 the OSD to notify the monitor it is shutting down even if ``osd_fast_shutdown``
142 is enabled. This helps with the monitor logs on larger clusters, that may get
143 many 'osd.X reported immediately failed by osd.Y' messages, and confuse tools.
144
145* The mclock scheduler has been refined. A set of built-in profiles are now available that
146 provide QoS between the internal and external clients of Ceph. To enable the mclock
147 scheduler, set the config option "osd_op_queue" to "mclock_scheduler". The
148 "high_client_ops" profile is enabled by default, and allocates more OSD bandwidth to
149 external client operations than to internal client operations (such as background recovery
150 and scrubs). Other built-in profiles include "high_recovery_ops" and "balanced". These
151 built-in profiles optimize the QoS provided to clients of mclock scheduler.
152
153* Version 2 of the cephx authentication protocol (``CEPHX_V2`` feature bit) is
154 now required by default. It was introduced in 2018, adding replay attack
155 protection for authorizers and making msgr v1 message signatures stronger
156 (CVE-2018-1128 and CVE-2018-1129). Support is present in Jewel 10.2.11,
157 Luminous 12.2.6, Mimic 13.2.1, Nautilus 14.2.0 and later; upstream kernels
158 4.9.150, 4.14.86, 4.19 and later; various distribution kernels, in particular
159 CentOS 7.6 and later. To enable older clients, set ``cephx_require_version``
160 and ``cephx_service_require_version`` config options to 1.
161
162>=15.0.0
163--------
164
f91f0fd5
TL
165* MON: The cluster log now logs health detail every ``mon_health_to_clog_interval``,
166 which has been changed from 1hr to 10min. Logging of health detail will be
167 skipped if there is no change in health summary since last known.
e306af50 168
f91f0fd5
TL
169* The ``ceph df`` command now lists the number of pgs in each pool.
170
f67539c2
TL
171* Monitors now have config option ``mon_allow_pool_size_one``, which is disabled
172 by default. However, if enabled, user now have to pass the
173 ``--yes-i-really-mean-it`` flag to ``osd pool set size 1``, if they are really
174 sure of configuring pool size 1.
175
176* librbd now inherits the stripe unit and count from its parent image upon creation.
177 This can be overridden by specifying different stripe settings during clone creation.
178
179* The balancer is now on by default in upmap mode. Since upmap mode requires
180 ``require_min_compat_client`` luminous, new clusters will only support luminous
181 and newer clients by default. Existing clusters can enable upmap support by running
182 ``ceph osd set-require-min-compat-client luminous``. It is still possible to turn
183 the balancer off using the ``ceph balancer off`` command. In earlier versions,
184 the balancer was included in the ``always_on_modules`` list, but needed to be
185 turned on explicitly using the ``ceph balancer on`` command.
186
187* MGR: the "cloud" mode of the diskprediction module is not supported anymore
188 and the ``ceph-mgr-diskprediction-cloud`` manager module has been removed. This
189 is because the external cloud service run by ProphetStor is no longer accessible
190 and there is no immediate replacement for it at this time. The "local" prediction
191 mode will continue to be supported.
192
193* Cephadm: There were a lot of small usability improvements and bug fixes:
194
195 * Grafana when deployed by Cephadm now binds to all network interfaces.
196 * ``cephadm check-host`` now prints all detected problems at once.
197 * Cephadm now calls ``ceph dashboard set-grafana-api-ssl-verify false``
198 when generating an SSL certificate for Grafana.
199 * The Alertmanager is now correctly pointed to the Ceph Dashboard
200 * ``cephadm adopt`` now supports adopting an Alertmanager
201 * ``ceph orch ps`` now supports filtering by service name
202 * ``ceph orch host ls`` now marks hosts as offline, if they are not
203 accessible.
204
205* Cephadm can now deploy NFS Ganesha services. For example, to deploy NFS with
206 a service id of mynfs, that will use the RADOS pool nfs-ganesha and namespace
207 nfs-ns::
208
209 ceph orch apply nfs mynfs nfs-ganesha nfs-ns
210
211* Cephadm: ``ceph orch ls --export`` now returns all service specifications in
212 yaml representation that is consumable by ``ceph orch apply``. In addition,
213 the commands ``orch ps`` and ``orch ls`` now support ``--format yaml`` and
214 ``--format json-pretty``.
215
216* CephFS: Automatic static subtree partitioning policies may now be configured
217 using the new distributed and random ephemeral pinning extended attributes on
218 directories. See the documentation for more information:
219 https://docs.ceph.com/docs/master/cephfs/multimds/
220
221* Cephadm: ``ceph orch apply osd`` supports a ``--preview`` flag that prints a preview of
222 the OSD specification before deploying OSDs. This makes it possible to
223 verify that the specification is correct, before applying it.
224
225* RGW: The ``radosgw-admin`` sub-commands dealing with orphans --
226 ``radosgw-admin orphans find``, ``radosgw-admin orphans finish``, and
227 ``radosgw-admin orphans list-jobs`` -- have been deprecated. They have
228 not been actively maintained and they store intermediate results on
229 the cluster, which could fill a nearly-full cluster. They have been
230 replaced by a tool, currently considered experimental,
231 ``rgw-orphan-list``.
232
233* RBD: The name of the rbd pool object that is used to store
234 rbd trash purge schedule is changed from "rbd_trash_trash_purge_schedule"
235 to "rbd_trash_purge_schedule". Users that have already started using
236 ``rbd trash purge schedule`` functionality and have per pool or namespace
237 schedules configured should copy "rbd_trash_trash_purge_schedule"
238 object to "rbd_trash_purge_schedule" before the upgrade and remove
239 "rbd_trash_purge_schedule" using the following commands in every RBD
240 pool and namespace where a trash purge schedule was previously
241 configured::
242
243 rados -p <pool-name> [-N namespace] cp rbd_trash_trash_purge_schedule rbd_trash_purge_schedule
244 rados -p <pool-name> [-N namespace] rm rbd_trash_trash_purge_schedule
245
246 or use any other convenient way to restore the schedule after the
247 upgrade.
248
249* librbd: The shared, read-only parent cache has been moved to a separate librbd
250 plugin. If the parent cache was previously in-use, you must also instruct
251 librbd to load the plugin by adding the following to your configuration::
252
253 rbd_plugins = parent_cache
254
255* Monitors now have a config option ``mon_osd_warn_num_repaired``, 10 by default.
256 If any OSD has repaired more than this many I/O errors in stored data a
257 ``OSD_TOO_MANY_REPAIRS`` health warning is generated.
258
259* Introduce commands that manipulate required client features of a file system::
260
261 ceph fs required_client_features <fs name> add <feature>
262 ceph fs required_client_features <fs name> rm <feature>
263 ceph fs feature ls
264
265* OSD: A new configuration option ``osd_compact_on_start`` has been added which triggers
266 an OSD compaction on start. Setting this option to ``true`` and restarting an OSD
267 will result in an offline compaction of the OSD prior to booting.
268
269* OSD: the option named ``bdev_nvme_retry_count`` has been removed. Because
270 in SPDK v20.07, there is no easy access to bdev_nvme options, and this
271 option is hardly used, so it was removed.
272
273* Now when noscrub and/or nodeep-scrub flags are set globally or per pool,
274 scheduled scrubs of the type disabled will be aborted. All user initiated
275 scrubs are NOT interrupted.
276
277* Alpine build related script, documentation and test have been removed since
278 the most updated APKBUILD script of Ceph is already included by Alpine Linux's
279 aports repository.
280
281* fs: Names of new FSs, volumes, subvolumes and subvolume groups can only
282 contain alphanumeric and ``-``, ``_`` and ``.`` characters. Some commands
283 or CephX credentials may not work with old FSs with non-conformant names.
f91f0fd5
TL
284
285* It is now possible to specify the initial monitor to contact for Ceph tools
286 and daemons using the ``mon_host_override`` config option or
287 ``--mon-host-override <ip>`` command-line switch. This generally should only
288 be used for debugging and only affects initial communication with Ceph's
289 monitor cluster.
f67539c2
TL
290
291* `blacklist` has been replaced with `blocklist` throughout. The following commands have changed:
292
293 - ``ceph osd blacklist ...`` are now ``ceph osd blocklist ...``
294 - ``ceph <tell|daemon> osd.<NNN> dump_blacklist`` is now ``ceph <tell|daemon> osd.<NNN> dump_blocklist``
295
296* The following config options have changed:
297
298 - ``mon osd blacklist default expire`` is now ``mon osd blocklist default expire``
299 - ``mon mds blacklist interval`` is now ``mon mds blocklist interval``
300 - ``mon mgr blacklist interval`` is now ''mon mgr blocklist interval``
301 - ``rbd blacklist on break lock`` is now ``rbd blocklist on break lock``
302 - ``rbd blacklist expire seconds`` is now ``rbd blocklist expire seconds``
303 - ``mds session blacklist on timeout`` is now ``mds session blocklist on timeout``
304 - ``mds session blacklist on evict`` is now ``mds session blocklist on evict``
305
306* CephFS: Compatibility code for old on-disk format of snapshot has been removed.
307 Current on-disk format of snapshot was introduced by Mimic release. If there
308 are any snapshots created by Ceph release older than Mimic. Before upgrading,
309 either delete them all or scrub the whole filesystem:
310
311 ceph daemon <mds of rank 0> scrub_path / force recursive repair
312 ceph daemon <mds of rank 0> scrub_path '~mdsdir' force recursive repair
313
314* CephFS: Scrub is supported in multiple active mds setup. MDS rank 0 handles
315 scrub commands, and forward scrub to other mds if necessary.
316
317* The following librados API calls have changed:
318
319 - ``rados_blacklist_add`` is now ``rados_blocklist_add``; the former will issue a deprecation warning and be removed in a future release.
320 - ``rados.blacklist_add`` is now ``rados.blocklist_add`` in the C++ API.
321
322* The JSON output for the following commands now shows ``blocklist`` instead of ``blacklist``:
323
324 - ``ceph osd dump``
325 - ``ceph <tell|daemon> osd.<N> dump_blocklist``
326
327* caps: MON and MDS caps can now be used to restrict client's ability to view
328 and operate on specific Ceph file systems. The FS can be specificed using
329 ``fsname`` in caps. This also affects subcommand ``fs authorize``, the caps
330 produce by it will be specific to the FS name passed in its arguments.
331
332* fs: root_squash flag can be set in MDS caps. It disallows file system
333 operations that need write access for clients with uid=0 or gid=0. This
334 feature should prevent accidents such as an inadvertent `sudo rm -rf /<path>`.
335
336* fs: "fs authorize" now sets MON cap to "allow <perm> fsname=<fsname>"
337 instead of setting it to "allow r" all the time.
338
339* ``ceph pg #.# list_unfound`` output has been enhanced to provide
340 might_have_unfound information which indicates which OSDs may
341 contain the unfound objects.
342
343* The ``ceph orch apply rgw`` syntax and behavior have changed. RGW
344 services can now be arbitrarily named (it is no longer forced to be
345 `realm.zone`). The ``--rgw-realm=...`` and ``--rgw-zone=...``
346 arguments are now optional, which means that if they are omitted, a
347 vanilla single-cluster RGW will be deployed. When the realm and
348 zone are provided, the user is now responsible for setting up the
349 multisite configuration beforehand--cephadm no longer attempts to
350 create missing realms or zones.