summaryrefslogtreecommitdiffstats
path: root/PendingReleaseNotes
blob: fb2a4a3c0e11b24d7109fb7fffda31ce4edbd067 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
13.0.1
------

* *RGW, MON*:
    Commands variously marked as "del", "delete", "remove" etc. should now all be
    normalized as "rm". Commands already supporting alternatives to "rm" remain
    backward-compatible.

* *CephFS*:

  * Upgrading an MDS cluster to 12.2.3+ will result in all active MDS
    exiting due to feature incompatibilities once an upgraded MDS comes online
    (even as standby). Operators may ignore the error messages and continue
    upgrading/restarting or follow this upgrade sequence:

   Reduce the number of ranks to 1 (`ceph fs set <fs_name> max_mds 1`), wait
   for all other MDS to deactivate, leaving the one active MDS, upgrade the
   single active MDS, then upgrade/start standbys. Finally, restore the
   previous max_mds.

    See also: https://tracker.ceph.com/issues/23172

  * Several "ceph mds" commands have been obsoleted and replaced
    by equivalent "ceph fs" commands:
      - mds dump -> fs dump
      - mds getmap -> fs dump
      - mds stop -> mds deactivate
      - mds set_max_mds -> fs set max_mds
      - mds set -> fs set
      - mds cluster_down -> fs set joinable false
      - mds cluster_up -> fs set joinable true
      - mds add_data_pool -> fs add_data_pool
      - mds remove_data_pool -> fs rm_data_pool
      - mds rm_data_pool -> fs rm_data_pool

  * As the multiple MDS feature is now standard, it is now enabled by
    default. ceph fs set allow_multimds is now deprecated and will be
    removed in a future release.

  * As the directory fragmentation feature is now standard, it is now
    enabled by default. ceph fs set allow_dirfrags is now deprecated and
    will be removed in a future release.

  * MDS daemons now activate and deactivate based on the value of
    max_mds. Accordingly, ceph mds deactivate has been deprecated as it
    is now redundant.

  * Taking a CephFS cluster down is now done by setting the down flag which
    deactivates all MDS. For example: `ceph fs set cephfs down true`.

  * Preventing standbys from joining as new actives (formerly the now
    deprecated cluster_down flag) on a file system is now accomplished by
    setting the joinable flag.  This is useful mostly for testing so that a
    file system may be quickly brought down and deleted.

  * New CephFS file system attributes session_timeout and session_autoclose
    are configurable via `ceph fs set`. The MDS config options
    mds_session_timeout, mds_session_autoclose, and mds_max_file_size are now
    obsolete.

  * Each mds rank now maintains a table that tracks open files and their
    ancestor directories. Recovering MDS can quickly get open files' pathes,
    significantly reducing the time of loading inodes for open files. MDS
    creates the table automatically if it does not exist.

* *RBD*

  * The RBD C API's rbd_discard method now enforces a maximum length of
    2GB to match the C++ API's Image::discard method. This restriction
    prevents overflow of the result code.

  * The rbd CLI's "lock list" JSON and XML output has changed.

  * The rbd CLI's "showmapped" JSON and XML output has changed.

  * RBD now optionally supports simplified image clone semantics where
    non-protected snapshots can be cloned; and snapshots with linked clones
    can be removed and the space automatically reclaimed once all remaining
    linked clones are detached. This feature is enabled by default if
    the OSD "require-min-compat-client" flag is set to mimic or later; or can be
    overridden via the "rbd_default_clone_format" configuration option.

* The sample ``crush-location-hook`` script has been removed.  Its output is
  equivalent to the built-in default behavior, so it has been replaced with an
  example in the CRUSH documentation.

* The "rcceph" script (systemd/ceph in the source code tree, shipped as
  /usr/sbin/rcceph in the ceph-base package for CentOS and SUSE) has been
  dropped. This script was used to perform admin operations (start, stop,
  restart, etc.) on all OSD and/or MON daemons running on a given machine.
  This functionality is provided by the systemd target units (ceph-osd.target,
  ceph-mon.target, etc.).

* The python-ceph-compat package is declared deprecated, and will be dropped
  when all supported distros have completed the move to Python 3. It has
  already been dropped from those supported distros where Python 3 is standard
  and Python 2 is optional (currently only SUSE).

* The -f option of the rados tool now means "--format" instead of "--force",
  for consistency with the ceph tool.


>= 13.0.2
---------

The ceph-rest-api command-line tool (obsoleted by the MGR "restful" module and
deprecated since v12.2.5) has been dropped.

There is a MGR module called "restful" which provides similar functionality
via a "pass through" method. See http://docs.ceph.com/docs/master/mgr/restful
for details.


13.0.2
------

* The format of the 'config diff' output via the admin socket has changed.  It
  now reflects the source of each config option (e.g., default, config file,
  command line) as well as the final (active) value.

* The `pg force-recovery` command will not work for erasure-coded
  PGs when a Luminous monitor is running along with a Mimic OSD.
  Please use the recommended upgrade order of monitors before OSDs to
  avoid this issue.

* It is no longer possible to adjust ``pg_num`` on a pool that is
  still being created.

13.0.3
------

* The ``osd_mon_report_interval_min`` option has been renamed to
  ``osd_mon_report_interval``, and the ``osd_mon_report_interval_max``
  (unused) has been eliminated.  If this value has been customized on
  your cluster then your configuration should be adjusted in order to
  avoid reverting to the default value.

* *rados list-inconsistent-obj format changes:*

  * Various error strings have been improved.  For example, the "oi" or "oi_attr"
    in errors which stands for object info is now "info" (e.g. oi_attr_missing is
    now info_missing).

  * The object's "selected_object_info" is now in json format instead of string.

  * The attribute errors (attr_value_mismatch, attr_name_mismatch) only apply to user
    attributes.  Only user attributes are output and have the internal leading underscore
    stripped.

  * If there are hash information errors (hinfo_missing, hinfo_corrupted,
    hinfo_inconsistency) then "hashinfo" is added with the json format of the
    information.  If the information is corrupt then "hashinfo" is a string
    containing the value.

  * If there are snapset errors (snapset_missing, snapset_corrupted,
    snapset_inconsistency) then "snapset" is added with the json format of the
    information.  If the information is corrupt then "snapset" is a string containing
    the value.

  * If there are object information errors (info_missing, info_corrupted,
    obj_size_info_mismatch, object_info_inconsistency) then "object_info" is added
    with the json format of the information instead of a string.  If the information
    is corrupt then "object_info" is a string containing the value.

* *rados list-inconsistent-snapset format changes:*

  * Various error strings have been improved.  For example, the "ss_attr" in
    errors which stands for snapset info is now "snapset" (e.g. ss_attr_missing is
    now snapset_missing).  The error snapset_mismatch has been renamed to snapset_error
    to better reflect what it means.

  * The head snapset information is output in json format as "snapset."  This means that
    even when there are no head errors, the head object will be output when any shard
    has an error.  This head object is there to show the snapset that was used in
    determining errors.


* The config-key interface can store arbitrary binary blobs but JSON
  can only express printable strings.  If binary blobs are present,
  the 'ceph config-key dump' command will show them as something like
  ``<<< binary blob of length N >>>``.

* The Ceph LZ4 compression plugin is now enabled by default, and introduces
  a new build dependency.

* Monitors will now prune on-disk full maps if the number of maps grows above
  a certain number (mon_osdmap_full_prune_min, default: 10000), thus
  preventing unbounded growth of the monitor data store. This feature is
  enabled by default, and can be disabled by setting
  `mon_osdmap_full_prune_enabled` to false.

* Bootstrap auth keys will now be generated automatically on a fresh
  deployment; these keys will also be generated, if missing, during upgrade.

* The (read-only) Ceph manager dashboard introduced in Ceph Luminous has been
  replaced with a new implementation, providing a drop-in replacement offering
  a number of additional management features. To access the new dashboard, you
  first need to define a username and password. See the documentation for a
  feature overview and installation instructions:
  http://docs.ceph.com/docs/master/mgr/dashboard/

* The 'osd force-create-pg' command now requires a force option to
  proceed because the command is dangerous: it declares that data loss
  is permanent and instructs the cluster to proceed with an empty PG
  in its place, without making any further efforts to find the missing
  data.