]> git.proxmox.com Git - ceph.git/blame - ceph/PendingReleaseNotes
update sources to v12.1.1
[ceph.git] / ceph / PendingReleaseNotes
CommitLineData
7c673cae
FG
1>= 12.0.0
2------
7c673cae 3* The "journaler allow split entries" config setting has been removed.
31f18b77 4* The 'apply' mode of cephfs-journal-tool has been removed
224ce89b
WB
5* Added new configuration "public bind addr" to support dynamic environments
6 like Kubernetes. When set the Ceph MON daemon could bind locally to an IP
7 address and advertise a different IP address "public addr" on the network.
7c673cae
FG
8
912.0.0
10------
11
12 * When assigning a network to the public network and not to
13 the cluster network the network specification of the public
14 network will be used for the cluster network as well.
15 In older versions this would lead to cluster services
16 being bound to 0.0.0.0:<port>, thus making the
17 cluster service even more publicly available than the
18 public services. When only specifying a cluster network it
19 will still result in the public services binding to 0.0.0.0.
20
21* Some variants of the omap_get_keys and omap_get_vals librados
22 functions have been deprecated in favor of omap_get_vals2 and
23 omap_get_keys2. The new methods include an output argument
24 indicating whether there are additional keys left to fetch.
25 Previously this had to be inferred from the requested key count vs
26 the number of keys returned, but this breaks with new OSD-side
27 limits on the number of keys or bytes that can be returned by a
28 single omap request. These limits were introduced by kraken but
29 are effectively disabled by default (by setting a very large limit
30 of 1 GB) because users of the newly deprecated interface cannot
31 tell whether they should fetch more keys or not. In the case of
32 the standalone calls in the C++ interface
33 (IoCtx::get_omap_{keys,vals}), librados has been updated to loop on
34 the client side to provide a correct result via multiple calls to
35 the OSD. In the case of the methods used for building
36 multi-operation transactions, however, client-side looping is not
37 practical, and the methods have been deprecated. Note that use of
38 either the IoCtx methods on older librados versions or the
39 deprecated methods on any version of librados will lead to
40 incomplete results if/when the new OSD limits are enabled.
41
42* In previous versions, if a client sent an op to the wrong OSD, the OSD
43 would reply with ENXIO. The rationale here is that the client or OSD is
44 clearly buggy and we want to surface the error as clearly as possible.
45 We now only send the ENXIO reply if the osd_enxio_on_misdirected_op option
46 is enabled (it's off by default). This means that a VM using librbd that
47 previously would have gotten an EIO and gone read-only will now see a
48 blocked/hung IO instead.
49
50* When configuring ceph-fuse mounts in /etc/fstab, a new syntax is
51 available that uses "ceph.<arg>=<val>" in the options column, instead
52 of putting configuration in the device column. The old style syntax
53 still works. See the documentation page "Mount CephFS in your
54 file systems table" for details.
55
5612.0.1
57------
58
59* The original librados rados_objects_list_open (C) and objects_begin
60 (C++) object listing API, deprecated in Hammer, has finally been
61 removed. Users of this interface must update their software to use
62 either the rados_nobjects_list_open (C) and nobjects_begin (C++) API or
63 the new rados_object_list_begin (C) and object_list_begin (C++) API
64 before updating the client-side librados library to Luminous.
65
66 Object enumeration (via any API) with the latest librados version
67 and pre-Hammer OSDs is no longer supported. Note that no in-tree
68 Ceph services rely on object enumeration via the deprecated APIs, so
69 only external librados users might be affected.
70
71 The newest (and recommended) rados_object_list_begin (C) and
72 object_list_begin (C++) API is only usable on clusters with the
73 SORTBITWISE flag enabled (Jewel and later). (Note that this flag is
74 required to be set before upgrading beyond Jewel.)
75
76* The rados copy-get-classic operation has been removed since it has not been
77 used by the OSD since before hammer. It is unlikely any librados user is
78 using this operation explicitly since there is also the more modern copy-get.
79
80* The RGW api for getting object torrent has changed its params from 'get_torrent'
81 to 'torrent' so that it can be compatible with Amazon S3. Now the request for
82 object torrent is like 'GET /ObjectName?torrent'.
83
84* The configuration option "osd pool erasure code stripe width" has
85 been replaced by "osd pool erasure code stripe unit", and given the
86 ability to be overridden by the erasure code profile setting
87 "stripe_unit". For more details see "Erasure Code Profiles" in the
88 documentation.
89
90* rbd and cephfs can use erasure coding with bluestore. This may be
91 enabled by setting 'allow_ec_overwrites' to 'true' for a pool. Since
92 this relies on bluestore's checksumming to do deep scrubbing,
93 enabling this on a pool stored on filestore is not allowed.
94
95* The 'rados df' JSON output now prints numeric values as numbers instead of
96 strings.
97
31f18b77
FG
98* There was a bug introduced in Jewel (#19119) that broke the mapping behavior
99 when an "out" OSD that still existed in the CRUSH map was removed with 'osd rm'.
100 This could result in 'misdirected op' and other errors. The bug is now fixed,
101 but the fix itself introduces the same risk because the behavior may vary between
102 clients and OSDs. To avoid problems, please ensure that all OSDs are removed
103 from the CRUSH map before deleting them. That is, be sure to do::
104
105 ceph osd crush rm osd.123
106
107 before::
108
109 ceph osd rm osd.123
110
11112.0.2
112------
113
114* The original librados rados_objects_list_open (C) and objects_begin
115 (C++) object listing API, deprecated in Hammer, has finally been
116 removed. Users of this interface must update their software to use
117 either the rados_nobjects_list_open (C) and nobjects_begin (C++) API or
118 the new rados_object_list_begin (C) and object_list_begin (C++) API
119 before updating the client-side librados library to Luminous.
120
121 Object enumeration (via any API) with the latest librados version
122 and pre-Hammer OSDs is no longer supported. Note that no in-tree
123 Ceph services rely on object enumeration via the deprecated APIs, so
124 only external librados users might be affected.
125
126 The newest (and recommended) rados_object_list_begin (C) and
127 object_list_begin (C++) API is only usable on clusters with the
128 SORTBITWISE flag enabled (Jewel and later). (Note that this flag is
129 required to be set before upgrading beyond Jewel.)
130* CephFS clients without the 'p' flag in their authentication capability
131 string will no longer be able to set quotas or any layout fields. This
132 flag previously only restricted modification of the pool and namespace
133 fields in layouts.
134* CephFS directory fragmentation (large directory support) is enabled
135 by default on new filesystems. To enable it on existing filesystems
136 use "ceph fs set <fs_name> allow_dirfrags".
137* CephFS will generate a health warning if you have fewer standby daemons
138 than it thinks you wanted. By default this will be 1 if you ever had
139 a standby, and 0 if you did not. You can customize this using
140 ``ceph fs set <fs> standby_count_wanted <number>``. Setting it
141 to zero will effectively disable the health check.
142* The "ceph mds tell ..." command has been removed. It is superceded
143 by "ceph tell mds.<id> ..."
144
14512.1.0
146------
147
148* The ``mon_osd_max_op_age`` option has been renamed to
149 ``mon_osd_warn_op_age`` (default: 32 seconds), to indicate we
150 generate a warning at this age. There is also a new
151 ``mon_osd_err_op_age_ratio`` that is a expressed as a multitple of
152 ``mon_osd_warn_op_age`` (default: 128, for roughly 60 minutes) to
153 control when an error is generated.
154
155* The default maximum size for a single RADOS object has been reduced from
156 100GB to 128MB. The 100GB limit was completely impractical in practice
157 while the 128MB limit is a bit high but not unreasonable. If you have an
158 application written directly to librados that is using objects larger than
159 128MB you may need to adjust ``osd_max_object_size``.
160
161* The semantics of the 'rados ls' and librados object listing
162 operations have always been a bit confusing in that "whiteout"
163 objects (which logically don't exist and will return ENOENT if you
164 try to access them) are included in the results. Previously
165 whiteouts only occurred in cache tier pools. In luminous, logically
166 deleted but snapshotted objects now result in a whiteout object, and
167 as a result they will appear in 'rados ls' results, even though
168 trying to read such an object will result in ENOENT. The 'rados
169 listsnaps' operation can be used in such a case to enumerate which
170 snapshots are present.
171
172 This may seem a bit strange, but is less strange than having a
173 deleted-but-snapshotted object not appear at all and be completely
174 hidden from librados's ability to enumerate objects. Future
175 versions of Ceph will likely include an alternative object
176 enumeration interface that makes it more natural and efficient to
177 enumerate all objects along with their snapshot and clone metadata.
178
179* The deprecated 'crush_ruleset' property has finally been removed; please use
180 'crush_rule' instead for the 'osd pool get ...' and 'osd pool set ..' commands.
181
182* The 'osd pool default crush replicated ruleset' option has been
183 removed and replaced by the 'osd pool default crush rule' option.
184 By default it is -1, which means the mon will pick the first type
185 replicated rule in the CRUSH map for replicated pools. Erasure
186 coded pools have rules that are automatically created for them if they are
187 not specified at pool creation time.
224ce89b
WB
188
189* The `status` ceph-mgr module is enabled by default, and initially provides two
190 commands: `ceph tell mgr osd status` and `ceph tell mgr fs status`. These
191 are high level colorized views to complement the existing CLI.
192
19312.1.1
194------
195
196* choose_args encoding has been changed to make it architecture-independent.
197 If you deployed Luminous dev releases or 12.1.0 rc release and made use of
198 the CRUSH choose_args feature, you need to remove all choose_args mappings
199 from your CRUSH map before starting the upgrade.
200
201* The 'ceph health' structured output (JSON or XML) no longer contains
202 a 'timechecks' section describing the time sync status. This
203 information is now available via the 'ceph time-sync-status'
204 command.
205
206* Certain extra fields in the 'ceph health' structured output that
207 used to appear if the mons were low on disk space (which duplicated
208 the information in the normal health warning messages) are now gone.
209
210* The "ceph -w" output no longer contains audit log entries by default.
211 Add a "--watch-channel=audit" or "--watch-channel=*" to see them.
212