From a94a67efde4e5095a60f4368739192e0ad116070 Mon Sep 17 00:00:00 2001 From: ShyamsundarR Date: Fri, 28 Sep 2018 14:54:54 -0400 Subject: doc: Initial release notes for 5.0 Change-Id: Id2ed7e04fc7fe708a144ac09c69b837956aedb94 Updates: bz#1628620 Signed-off-by: ShyamsundarR --- doc/release-notes/5.0.md | 155 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 doc/release-notes/5.0.md (limited to 'doc/release-notes/5.0.md') diff --git a/doc/release-notes/5.0.md b/doc/release-notes/5.0.md new file mode 100644 index 00000000000..a16b3f773c4 --- /dev/null +++ b/doc/release-notes/5.0.md @@ -0,0 +1,155 @@ +# Release notes for Gluster 5.0 + +This is a major release that includes a range of code improvements and stability +fixes among a few features as noted below. + +A selection of the key features and changes are documented on this page. +A full list of bugs that have been addressed is included further below. + +- [Announcements](#announcements) +- [Major changes and features](#major-changes-and-features) +- [Major issues](#major-issues) +- [Bugs addressed in the release](#bugs-addressed) + +## Announcements + +1. Releases that receive maintenance updates post release 5 are, 4.1 +([reference](https://www.gluster.org/release-schedule/)) + +**NOTE:** 3.12 long term maintenance release, will reach end of life (EOL) with +the release of 5.0. ([reference](https://www.gluster.org/release-schedule/)) + +2. Release 5 will receive maintenance updates around the 10th of every month +for the first 3 months post release (i.e Nov'18, Dec'18, Jan'18). Post the +initial 3 months, it will receive maintenance updates every 2 months till EOL. +([reference]https://lists.gluster.org/pipermail/announce/2018-July/000103.html) + +## Major changes and features + +Features are categorized into the following sections, + +- [Management](#management) +- [Standalone](#standalone) + +### Management + +#### GlusterD2 + +> **IMP:** GlusterD2 in Gluster-5 is still considered a preview and is +> experimental. It should not be considered ready for production use. Users +> should still expect some breaking changes even though all efforts would be +> taken to ensure that these can be avoided. As GD2 is still under heavy +> development, new features can be expected throughout the Gluster 5 release. + +The following major changes have been committed to GlusterD2 since v4.1.0. + +1. Volume snapshots : Most snapshot operations are available including create, +delete, activate, deactivate, clone and restore. + +2. Volume heal: Support for full heal and index heal for replicate volumes has +been implemented. + +3. Tracing with Opencensus: Support for tracing distributed operations has been +implemented in GD2, using the Opencensus API. Tracing instrumentation has been +done for volume create, list and delete operations. Other operations will +follow subsequently. + +4. Portmap refactoring: Portmap in GlisterD2 no longer selects a port for the +bricks to listen on, instead leaving the choice upto the bricks. Portmap only +saves port information provided by brick during signin. + +5. Smartvol API merged with volume create API: The smart volume API which allows +user to create a volume by just specifying a size has been merged with the +normal volume create API. + +6. Configure GlusterD2 with environment variables: In addition to CLI flags, and +the config file, GD2 configuration options can be set using environment +variables. + +In addition to the above, many changes have been merged for minor bug-fixes and +to help with testing. + +Refer to the user [documentation](https://github.com/gluster/glusterd2#documentation) section for details on how to get started with +GlusterD2. + +### Standalone + +#### 1. Entry creation and handling, consistency is improved + +The dentry serializer feature was introduced in Gluster 4.0, to strengthen the +consistency handling of entry operations in the Gluster stack. Entry operations +refer to creating, linking, renaming and unlinking of files and directory names +into the filesystem space. + +When this feature was first introduced (in 4.0) it was optional, with this +release this feature is enabled by default. + +#### 2. Python code in Gluster packages is Python 3 ready + +#### 3. Quota fsck script to correct quota accounting + +See usage documentation [here](https://github.com/gluster/glusterfs/issues/390#issuecomment-389794575) + +#### 4. Added noatime option in utime xlator + +Enabling the utime and ctime feature, enables Gluster to maintain consistent +change and modification time stamps on files and directories across bricks. + +The utime xlator is enhanced with a noatime option and is set by default to +enabled, when the utime feature is enabled. This helps to ignore atime updates +for operations that change may trigger an atime update on the file system +objects. + +To enable the feature use, +``` +# gluster volume set features.utime on +# gluster volume set features.ctime on +``` + +#### 5. Removed last usage of MD5 digest in code, towards better FIPS compliance + +In an effort to ensure that Gluster can be installed and deployed on machines +that are compliant with the requirements for FIPS, remaining uses of MD5 digest +is removed from the code base. + +Addressing this feature's requirements was initiated during the 4.0 release, at +which point enabling user space snapshots, which still used MD5 for certain +needs, broke the FIPS compliance requirements. This limitation is now addressed +in this release. + +#### 6. Code improvements + +Over the course of this release, the contributors have been active in addressing +various Coverity issues, GCC and clang warnings, clang formatting of the code +base, micro improvements to GLibC API usage and memory handling around +string handling and allocation routines. + +The above are ongoing efforts, but major strides were made during this release +to actively address code quality in these areas. + +## Major issues + +1. The following options are removed from the code base and require to be unset +before an upgrade from releases older than release 4.1.0, +- features.lock-heal +- features.grace-timeout + +To check if these options are set use, +``` +# gluster volume info +``` +and ensure that the above options are not part of the `Options Reconfigured:` +section in the output of all volumes in the cluster. + +If these are set, then unset them using the following commands, +``` +# gluster volume reset