From: Sage Weil Date: Tue, 6 Dec 2016 14:32:23 +0000 (-0500) Subject: doc/release-notes: kraken release notes (draft) X-Git-Tag: v11.1.0~49^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4607cb5f9fd29bc4656a1788c238aba09c1478aa;p=ceph.git doc/release-notes: kraken release notes (draft) Signed-off-by: Sage Weil --- diff --git a/PendingReleaseNotes b/PendingReleaseNotes index 06392f108133..54befe629c91 100644 --- a/PendingReleaseNotes +++ b/PendingReleaseNotes @@ -1,114 +1,3 @@ ->= 11.0.0 +11.1.1 ------ -* The list of monitor hosts/addresses for building the monmap can now be - obtained from DNS SRV records. The service name used in when querying the DNS - is defined in the "mon_dns_srv_name" config option, which defaults to - "ceph-mon". - -* The 'osd class load list' config option is a list of object class names that - the OSD is permitted to load (or '*' for all classes). By default it - contains all existing in-tree classes for backwards compatibility. - -* The 'osd class default list' config option is a list of object class names - (or '*' for all classes) that clients may invoke having only the '*', 'x', - 'class-read', or 'class-write' capabilities. By default it contains all - existing in-tree classes for backwards compatibility. Invoking classes not - listed in 'osd class default list' requires a capability naming the class - (e.g. 'allow class foo'). - -* The 'rgw rest getusage op compat' config option allows you to dump the description of user stats - or not in s3 GetUsage API. This config option is of bool type and defaults to false. - If the value is true, the reponse data of s3 GetUsage like below: - - "stats": { - "TotalBytes": 516, - "TotalBytesRounded": 1024, - "TotalEntries": 1 - } - - Or if the value is false, the reponse of s3 GetUsage like below and as it does before we add this config option: - - { - 516, - 1024, - 1 - }. - -* If your monitors are configured to use the experimental rocksdb - backend, you may need to manually adjust the store before upgraded. - Monitors now explicitly record what keyvalue backend type they use. If - the kv_backend file is missing from the mon_data directory (normally - /var/lib/ceph/mon/$cluster-$name/kv_backend) it is now assumed to be leveldb. - If you had manually configured the mon to use rocksdb, this file should - be created and filled with the string "rocksdb" (newline optional). - -* The 'osd out ...' and 'osd in ...' commands now preserve the OSD - weight. Previously the mons would only preserve the weight if the - mon automatically marked and OSD out and then in, but not when an - admin did so explicitly. - -* The 'ceph osd perf' command will display 'commit_latency(ms)' and - 'apply_latency(ms)'. Previously, the names of these two columns are - 'fs_commit_latency(ms)' and 'fs_apply_latency(ms)'. We remove the prefix - 'fs_', because they are not filestore specific. - -OSD: change the prefix from fs_* to os_*, because commit_latency and … -…apply_latency will be used not only for filestore. - -* Monitors will no longer allow pools to be removed by default. - The setting mon_allow_pool_delete has to be set to true (defaults to false) - before they allow pools to be removed. - This is a additional safeguard against pools being removed by accident. - -11.0.0 ------- - -* If you have manually specified the monitor user rocksdb via the - ``mon keyvaluedb = rocksdb`` option, you will need to manually add a file - to the mon data directory to preserve this option:: - - echo rocksdb > /var/lib/ceph/mon/ceph-`hostname`/kv_backend - - New monitors will now use rocksdb by default, but if that file is - not present, existing monitors will use leveldb. The ``mon keyvaluedb`` option - now only affects the backend chosen when a monitor is created. - -* The 'osd crush initial weight' option allows you to specify a CRUSH - weight for a newly added OSD. Previously a value of 0 (the default) - meant that we should use the size of the OSD's store to weight the - new OSD. Now, a value of 0 means it should have a weight of 0, and - a negative value (the new default) means we should automatically - weight the OSD based on its size. If your configuration file - explicitly specifies a value of 0 for this option you will need to - change it to a negative value (e.g., -1) to preserve the current - behavior. - -* The `osd crush location` config option is no longer supported. Please - update your ceph.conf to use the `crush location` option instead. - -* The static libraries are not included by the debian development packages - (lib*-dev) any more. As it is not required per debian packaging policy. - And their shared versions are packaged as before. - -* The libtool pseudo-libraries (.la files) are not included by the debian - development packages (lib*-dev) any more. As it is unneeded, and per - https://wiki.debian.org/ReleaseGoals/LAFileRemoval and - https://www.debian.org/doc/manuals/maint-guide/advanced.en.html, - we should remove them. - -* The jerasure and shec plugins can now detect SIMD instruction at runtime - and no longer need to be built for different processors. The following - plugins are now deprecated: jerasure_generic, jerasure_sse3, jerasure_sse4, - jerasure_neon, shec_generic, shec_sse3, shec_sse4, and shec_neon. If you use any - of these plugins directly you will see a warning in the mon log file. - Please switch to using just 'jerasure' or 'shec'. - -* The librados omap get_keys and get_vals operations include a start key and a - limit on the number of keys to return. The OSD now imposes a configurable - limit on the number of keys and number of total bytes it will respond with, - which means that a librados user might get fewer keys than they asked for. - This is necessary to prevent careless users from requesting an unreasonable - amount of data from the cluster in a single operation. The new limits are - configured with `osd_max_omap_entries_per_request`, defaulting to 131,072, and - 'osd_max_omap_bytes_per_request', defaulting to 4MB. diff --git a/doc/release-notes.rst b/doc/release-notes.rst index 1d09216aae60..8da18d35d447 100644 --- a/doc/release-notes.rst +++ b/doc/release-notes.rst @@ -2,6 +2,217 @@ Release Notes =============== + +v11.1.0 Kraken (draft, release candidate) +============== + +This is a release candidate for Kraken, the next stable release series. + +Major Changes from Jewel +------------------------ + +- *RADOS*: + + * The new *BlueStore* backend now has a stable disk format and is + passing our failure and stress testing. Although the backend is + still flagged as experimental, we encourage users to try it out + for non-production clusters and non-critical data sets. + * RADOS now has experimental support for *overwrites on + erasure-coded* pools. Because the disk format and implementation + are not yet finalized, there is a special pool option that must be + enabled to test the new feature.  Enabling this option on a cluster + will permanently bar that cluster from being upgraded to future + versions. + * We now default to the AsyncMessenger (``ms type = async``) instead + of the legacy SimpleMessenger.  The most noticeable difference is + that we now use a fixed sized thread pool for network connections + (instead of two threads per socket with SimpleMessenger). + * Some OSD failures are now detected almost immediately, whereas + previously the heartbeat timeout (which defaults to 20 seconds) + had to expire.  This prevents IO from blocking for an extended + period for failures where the host remains up but the ceph-osd + process is no longer running. + * There is a new ``ceph-mgr`` daemon.  It is currently collocated with + the monitors by default, and is not yet used for much, but the basic + infrastructure is now in place. + * The size of encoded OSDMaps has been reduced. + * The OSDs now quiesce scrubbing when recovery or rebalancing is in progress. + +- *RGW*: + + * RGW now supports a new zone type that can be used for metadata indexing + via Elasticseasrch. + * RGW now supports the S3 multipart object copy-part API. + * It is possible now to reshard an existing bucket. Note that bucket + resharding currently requires that all IO (especially writes) to + the specific bucket is quiesced. + * RGW now supports data compression for objects. + * Civetweb version has been upgraded to 1.8 + * The Swift static website API is now supported (S3 support has been added + previously). + * S3 bucket lifecycle API has been added. Note that currently it only supports + object expiration. + * Support for custom search filters has been added to the LDAP auth + implementation. + * Support for NFS version 3 has been added to the RGW NFS gateway. + * A Python binding has been created for librgw. + +- *RBD*: + + * RBD now supports images stored in an *erasure-coded* RADOS pool + using the new (experimental) overwrite support. Images must be + created using the new rbd CLI "--data-pool " option to + specify the EC pool where the backing data objects are + stored. Attempting to create an image directly on an EC pool will + not be successful since the image's backing metadata is only + supported on a replicated pool. + * The rbd-mirror daemon now supports replicating dynamic image + feature updates and image metadata key/value pairs from the + primary image to the non-primary image. + * The number of image snapshots can be optionally restricted to a + configurable maximum. + * The rbd Python API now supports asynchronous IO operations. + +- *CephFS*: + + * libcephfs function definitions have been changed to enable proper + uid/gid control. The library version has been increased to reflect the + interface change. + * Standby replay MDS daemons now consume less memory on workloads + doing deletions. + * Scrub now repairs backtrace, and populates `damage ls` with + discovered errors. + * A new `pg_files` subcommand to `cephfs-data-scan` can identify + files affected by a damaged or lost RADOS PG. + * The false-positive "failing to respond to cache pressure" warnings have + been fixed. + + +Upgrading from Jewel +-------------------- + +* All clusters must first be upgraded to Jewel 10.2.z before upgrading + to Kraken 11.2.z (or, eventually, Luminous 12.2.z). + +* The ``sortbitwise`` flag must be set on the Jewel cluster before upgrading + to Kraken. The latest Jewel (10.2.4+) releases issue a health warning if + the flag is not set, so this is probably already set. If it is not, Kraken + OSDs will refuse to start and will print and error message in their log. + + +Upgrading +--------- + +* The list of monitor hosts/addresses for building the monmap can now be + obtained from DNS SRV records. The service name used in when querying the DNS + is defined in the "mon_dns_srv_name" config option, which defaults to + "ceph-mon". + +* The 'osd class load list' config option is a list of object class names that + the OSD is permitted to load (or '*' for all classes). By default it + contains all existing in-tree classes for backwards compatibility. + +* The 'osd class default list' config option is a list of object class + names (or '*' for all classes) that clients may invoke having only + the '*', 'x', 'class-read', or 'class-write' capabilities. By + default it contains all existing in-tree classes for backwards + compatibility. Invoking classes not listed in 'osd class default + list' requires a capability naming the class (e.g. 'allow class + foo'). + +* The 'rgw rest getusage op compat' config option allows you to dump + (or not dump) the description of user stats in the S3 GetUsage + API. This option defaults to false. If the value is true, the + reponse data for GetUsage looks like:: + + "stats": { + "TotalBytes": 516, + "TotalBytesRounded": 1024, + "TotalEntries": 1 + } + + If the value is false, the reponse for GetUsage looks as it did before:: + + { + 516, + 1024, + 1 + } + +* The 'osd out ...' and 'osd in ...' commands now preserve the OSD + weight. That is, after marking an OSD out and then in, the weight + will be the same as before (instead of being reset to 1.0). + Previously the mons would only preserve the weight if the mon + automatically marked and OSD out and then in, but not when an admin + did so explicitly. + +* The 'ceph osd perf' command will display 'commit_latency(ms)' and + 'apply_latency(ms)'. Previously, the names of these two columns are + 'fs_commit_latency(ms)' and 'fs_apply_latency(ms)'. We remove the + prefix 'fs_', because they are not filestore specific. + +* Monitors will no longer allow pools to be removed by default. The + setting mon_allow_pool_delete has to be set to true (defaults to + false) before they allow pools to be removed. This is a additional + safeguard against pools being removed by accident. + +* If you have manually specified the monitor user rocksdb via the + ``mon keyvaluedb = rocksdb`` option, you will need to manually add a + file to the mon data directory to preserve this option:: + + echo rocksdb > /var/lib/ceph/mon/ceph-`hostname`/kv_backend + + New monitors will now use rocksdb by default, but if that file is + not present, existing monitors will use leveldb. The ``mon + keyvaluedb`` option now only affects the backend chosen when a + monitor is created. + +* The 'osd crush initial weight' option allows you to specify a CRUSH + weight for a newly added OSD. Previously a value of 0 (the default) + meant that we should use the size of the OSD's store to weight the + new OSD. Now, a value of 0 means it should have a weight of 0, and + a negative value (the new default) means we should automatically + weight the OSD based on its size. If your configuration file + explicitly specifies a value of 0 for this option you will need to + change it to a negative value (e.g., -1) to preserve the current + behavior. + +* The `osd crush location` config option is no longer supported. Please + update your ceph.conf to use the `crush location` option instead. + +* The static libraries are no longer included by the debian + development packages (lib*-dev) as it is not required per debian + packaging policy. The shared (.so) versions are packaged as before. + +* The libtool pseudo-libraries (.la files) are no longer included by + the debian development packages (lib*-dev) as they are not required + per https://wiki.debian.org/ReleaseGoals/LAFileRemoval and + https://www.debian.org/doc/manuals/maint-guide/advanced.en.html. + +* The jerasure and shec plugins can now detect SIMD instruction at + runtime and no longer need to be explicitly configured for different + processors. The following plugins are now deprecated: + jerasure_generic, jerasure_sse3, jerasure_sse4, jerasure_neon, + shec_generic, shec_sse3, shec_sse4, and shec_neon. If you use any of + these plugins directly you will see a warning in the mon log file. + Please switch to using just 'jerasure' or 'shec'. + +* The librados omap get_keys and get_vals operations include a start key and a + limit on the number of keys to return. The OSD now imposes a configurable + limit on the number of keys and number of total bytes it will respond with, + which means that a librados user might get fewer keys than they asked for. + This is necessary to prevent careless users from requesting an unreasonable + amount of data from the cluster in a single operation. The new limits are + configured with `osd_max_omap_entries_per_request`, defaulting to 131,072, and + 'osd_max_omap_bytes_per_request', defaulting to 4MB. + +Notable Changes +--------------- + +[fill me in] + + + v10.2.4 Jewel =============