]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | >= 12.0.0 |
2 | ------ | |
3 | * The original librados rados_objects_list_open (C) and objects_begin | |
4 | (C++) object listing API, deprecated in Hammer, has finally been | |
5 | removed. Users of this interface must update their software to use | |
6 | either the rados_nobjects_list_open (C) and nobjects_begin (C++) API or | |
7 | the new rados_object_list_begin (C) and object_list_begin (C++) API | |
8 | before updating the client-side librados library to Luminous. | |
9 | ||
10 | Object enumeration (via any API) with the latest librados version | |
11 | and pre-Hammer OSDs is no longer supported. Note that no in-tree | |
12 | Ceph services rely on object enumeration via the deprecated APIs, so | |
13 | only external librados users might be affected. | |
14 | ||
15 | The newest (and recommended) rados_object_list_begin (C) and | |
16 | object_list_begin (C++) API is only usable on clusters with the | |
17 | SORTBITWISE flag enabled (Jewel and later). (Note that this flag is | |
18 | required to be set before upgrading beyond Jewel.) | |
19 | * CephFS clients without the 'p' flag in their authentication capability | |
20 | string will no longer be able to set quotas or any layout fields. This | |
21 | flag previously only restricted modification of the pool and namespace | |
22 | fields in layouts. | |
23 | * CephFS directory fragmentation (large directory support) is enabled | |
24 | by default on new filesystems. To enable it on existing filesystems | |
25 | use "ceph fs set <fs_name> allow_dirfrags". | |
26 | * CephFS will generate a health warning if you have fewer standby daemons | |
27 | than it thinks you wanted. By default this will be 1 if you ever had | |
28 | a standby, and 0 if you did not. You can customize this using | |
29 | ``ceph fs set <fs> standby_count_wanted <number>``. Setting it | |
30 | to zero will effectively disable the health check. | |
31 | * The "ceph mds tell ..." command has been removed. It is superceded | |
32 | by "ceph tell mds.<id> ..." | |
33 | * The "journaler allow split entries" config setting has been removed. | |
34 | ||
35 | 12.0.0 | |
36 | ------ | |
37 | ||
38 | * When assigning a network to the public network and not to | |
39 | the cluster network the network specification of the public | |
40 | network will be used for the cluster network as well. | |
41 | In older versions this would lead to cluster services | |
42 | being bound to 0.0.0.0:<port>, thus making the | |
43 | cluster service even more publicly available than the | |
44 | public services. When only specifying a cluster network it | |
45 | will still result in the public services binding to 0.0.0.0. | |
46 | ||
47 | * Some variants of the omap_get_keys and omap_get_vals librados | |
48 | functions have been deprecated in favor of omap_get_vals2 and | |
49 | omap_get_keys2. The new methods include an output argument | |
50 | indicating whether there are additional keys left to fetch. | |
51 | Previously this had to be inferred from the requested key count vs | |
52 | the number of keys returned, but this breaks with new OSD-side | |
53 | limits on the number of keys or bytes that can be returned by a | |
54 | single omap request. These limits were introduced by kraken but | |
55 | are effectively disabled by default (by setting a very large limit | |
56 | of 1 GB) because users of the newly deprecated interface cannot | |
57 | tell whether they should fetch more keys or not. In the case of | |
58 | the standalone calls in the C++ interface | |
59 | (IoCtx::get_omap_{keys,vals}), librados has been updated to loop on | |
60 | the client side to provide a correct result via multiple calls to | |
61 | the OSD. In the case of the methods used for building | |
62 | multi-operation transactions, however, client-side looping is not | |
63 | practical, and the methods have been deprecated. Note that use of | |
64 | either the IoCtx methods on older librados versions or the | |
65 | deprecated methods on any version of librados will lead to | |
66 | incomplete results if/when the new OSD limits are enabled. | |
67 | ||
68 | * In previous versions, if a client sent an op to the wrong OSD, the OSD | |
69 | would reply with ENXIO. The rationale here is that the client or OSD is | |
70 | clearly buggy and we want to surface the error as clearly as possible. | |
71 | We now only send the ENXIO reply if the osd_enxio_on_misdirected_op option | |
72 | is enabled (it's off by default). This means that a VM using librbd that | |
73 | previously would have gotten an EIO and gone read-only will now see a | |
74 | blocked/hung IO instead. | |
75 | ||
76 | * When configuring ceph-fuse mounts in /etc/fstab, a new syntax is | |
77 | available that uses "ceph.<arg>=<val>" in the options column, instead | |
78 | of putting configuration in the device column. The old style syntax | |
79 | still works. See the documentation page "Mount CephFS in your | |
80 | file systems table" for details. | |
81 | ||
82 | 12.0.1 | |
83 | ------ | |
84 | ||
85 | * The original librados rados_objects_list_open (C) and objects_begin | |
86 | (C++) object listing API, deprecated in Hammer, has finally been | |
87 | removed. Users of this interface must update their software to use | |
88 | either the rados_nobjects_list_open (C) and nobjects_begin (C++) API or | |
89 | the new rados_object_list_begin (C) and object_list_begin (C++) API | |
90 | before updating the client-side librados library to Luminous. | |
91 | ||
92 | Object enumeration (via any API) with the latest librados version | |
93 | and pre-Hammer OSDs is no longer supported. Note that no in-tree | |
94 | Ceph services rely on object enumeration via the deprecated APIs, so | |
95 | only external librados users might be affected. | |
96 | ||
97 | The newest (and recommended) rados_object_list_begin (C) and | |
98 | object_list_begin (C++) API is only usable on clusters with the | |
99 | SORTBITWISE flag enabled (Jewel and later). (Note that this flag is | |
100 | required to be set before upgrading beyond Jewel.) | |
101 | ||
102 | * The rados copy-get-classic operation has been removed since it has not been | |
103 | used by the OSD since before hammer. It is unlikely any librados user is | |
104 | using this operation explicitly since there is also the more modern copy-get. | |
105 | ||
106 | * The RGW api for getting object torrent has changed its params from 'get_torrent' | |
107 | to 'torrent' so that it can be compatible with Amazon S3. Now the request for | |
108 | object torrent is like 'GET /ObjectName?torrent'. | |
109 | ||
110 | * The configuration option "osd pool erasure code stripe width" has | |
111 | been replaced by "osd pool erasure code stripe unit", and given the | |
112 | ability to be overridden by the erasure code profile setting | |
113 | "stripe_unit". For more details see "Erasure Code Profiles" in the | |
114 | documentation. | |
115 | ||
116 | * rbd and cephfs can use erasure coding with bluestore. This may be | |
117 | enabled by setting 'allow_ec_overwrites' to 'true' for a pool. Since | |
118 | this relies on bluestore's checksumming to do deep scrubbing, | |
119 | enabling this on a pool stored on filestore is not allowed. | |
120 | ||
121 | * The 'rados df' JSON output now prints numeric values as numbers instead of | |
122 | strings. | |
123 |