Chapter 1. Notable Bug Fixes
- Previously, bricks were not properly mounted in the gluster pod and lvmetad processes (one in the container, one on the host) were competing for resources. Hence, this prevented certain logical volumes from being detected and/or available which resulted in failed mounted bricks. With this fix, do not rely on the lvmetad service, and ensure it is not started in the container. Hence, resulting in a single metadata daemon process running and managing the devices and logical volumes.
- Block volumes created on CNS version 3.9 or below use default Asymmetric Logical Unit Access (alua) group setting at target side configuration. These are meant to be used with 'prio const' at the initiator side multipath.conf. After upgrading OCS to 3.10 or above, the new recommendation at multipath is 'prio alua'. Old block volume having target side alua group set to default are not compatible with newly recommended multipath.conf. Hence, to maintain compatibility of old block volumes with the new multipath.conf recommendation, the default alua group should be changed to glfs alua group. With this update, the block volume target configuration is generated automatically as part of the upgrade to fix the compatibility issue. Hence, the compatibility of old block volume with the new multipath.conf recommendation is maintained.
- The CLI audit logs have been enhanced to capture every CLI command and its response. This makes logs more detailed and easier to understand so that the problems are easier to debug.
- Updates to the gluster-block configuration file are now applied automatically, removing the need to restart the gluster-block service when configuration changes.
- Previously, using gluster-block on a non-recommended kernel version resulted in unexpected user space processes entering an uninterruptible sleep state. With this update, gluster-block now checks for minimum kernel version. If the minimum recommendation is not met, then gluster-block service stops. This results in a more stable gluster-block user experience.
- Updates to the tcmu-runner configuration file are now applied automatically, removing the need to restart the tcmu-runner service when configuration changes.
- Gluster-block operations (create/delete/modify) or gluster-block-target service restart, performed when tcmu-runner is in offline state, can trigger netlink hung issue, with targetcli process entering uninterruptible sleep (D state) state forever. To recover from this state, restart the tcmu-runner daemon.
- When many volume create requests were made simultaneously, heketi spawned a very large number of goroutines, which greatly increased memory consumption by heketi. Heketi is now restricted to a certain number of concurrent operations in order to prevent this issue.
- Previously, heketi ignored pvremove and vgremove errors when a device was removed while the device remove commands were used. Attempting to add the same disk again failed because it had not been properly removed in the first place. Heketi no longer ignores pvremove and vgremove errors, ensuring that devices are removed correctly, and can be re-added to Heketi after removal. Alternatively, you can also use the "--force-forget" flag with the device remove command to ignore any errors to ensure the same device can be added back to Heketi.