OpenShift Container Storage 3.11.4 : Resolved Issues and Enhancements
OpenShift Container Storage 3.11.4 is a batch release for OpenShift Container Storage 3.11 and can be applied as an update to an existing installation or can be used to create a new installation. Note, OpenShift Container Storage 3.11 updates are cumulative and include fixes from previous releases.
OpenShift Container Storage 3.11.4 Errata
The following list provides errata for OpenShift Container Storage 3.11.4 release:
- This content is not included.cns-ansible bug fix and enhancement update
- This content is not included.rhgs-gluster-block-prov-container bug fix update
- This content is not included.kubernetes bug fix and enhancement update
- This content is not included.gluster-block and tcmu-runner bug fix update
- This content is not included.rhgs-s3-server-container bug fix update
- This content is not included.rhgs-volmanager-container bug fix update
- This content is not included.heketi security, bug fix, and enhancement update
- This content is not included.cns-deploy-tool bug fix update
Notable Enhancements
Raise the supported limit of volumes per trusted storage pool to 2000. (BZ#1710994)
If a user configured more than 1500 volumes in a 3 node cluster, and a node or glusterd service became unavailable, then during reconnection there was too much volume information to gather before the handshake process timed out. This issue is resolved by adding several optimizations to the volume information gathering process. However, the default limit remains 1000, but you can raise it to 2000. Refer (Deployment Guide)
provide ansible playbook for OCS upgrade (BZ#1613859)
Ansible playbooks are now available to upgrade OpenShift Container Storage using openshift-ansible for converged-mode installations only. This enhancement is provided as a technology preview. More information about Red Hat Technology Previews is available here: [https://access.redhat.com/support/offerings/techpreview/](https://access.redhat.com/support/offerings/techpreview/)
gluster-block: improvements to volume group profile options list (BZ#1708182)
With this update, the gluster volume that hosts the glusterblock files is tuned for better performance by increasing the count of I/O handling threads.
Link against tcmalloc for improved small IO performance (BZ#1722434)
With this update, tcmu-runner and libtcmu are linked to the tcmalloc library instead of default glibc allocator, which provides improvements in the I/O performance.
Automatically map /dev paths to stable /dev/disk/by-* paths for long term use. (BZ#1609553)
On many systems, specially in VMs the /dev/sdX names can change across reboots. With this update, Heketi tracks additional metadata associated with disk devices. This metadata allows Heketi to manage or remove the correct device even if the path of the device changes. The outputs of some commands have been updated to reflect the additional metadata.
PVC names can now be longer than 63 characters (BZ#1698463)
Previously, due to a limitation of glusterfs driver, an OpenShift developer/user was not able to create a persistent volume claim with a name of more than 63 characters. With this fix, users will be able to create PVCs with >63 character names.
New heketi-cli volume endpoint patch command (BZ#1660681)
When a node is removed or added to a gluster trusted storage pool using heketi, the existing endpoints do not get updated automatically. With this update, to update the endpoints after node addition/removal, users can now execute the following commands: 1. `heketi-cli volume endpoint patch
###heketi is not showing expected error when we give same name of the vol. (BZ#1577803)
Previously, if Heketi managed multiple clusters and it failed to create volumes on any of the clusters it would return a generic "No space" error message. With this update, error messages produced when heketi manages multiple gluster clusters have been improved. Heketi now displays specific errors for when the cluster has no nodes or none of the nodes have usable devices and also reports on each cluster's error by prefixing cluster errors with the cluster ID.
###storage classes can't differentiate between glusterblock external provisioners in different projects (BZ#1703239)
Previously, storageclasses did not differentiate between multiple glusterblock external provisioners in an OCP environment as the provisioner names were all identical - “gluster.org/glusterblock’. With this fix, the provisioner names can be modified by setting the environment variable "PROVISIONER_NAME" in the deploymentConfig file for glusterblock.
###Rebase to Red Hat Gluster Storage 3.5.0 (BZ#1762882)
OpenShift Container Storage server container image now includes gluster 6.0 RPMs which provide a number enhancements and bug fixes of Red Hat Gluster Storage 3.5.0. With the RHGS 3.5 rebase, notably we see improvements of up to 20% in large file sequential reads from arbiter volumes.
###Rebase Heketi to version 9.0 (BZ#1710080)
The Heketi package has been upgraded to upstream version 9.0, which provides a number of bug fixes and enhancements over the previous version.
Deprecated features
The cns-deploy packages will be deprecated with the next update of OpenShift Container Storage. The cns-deploy tool will issue a deprecation warning when being used. openshift-ansible will be introduced as a direct replacement for cns-deploy for installing Openshift Container Storage in OpenShift Container Platform. (BZ#1723883)
Bugs Fixed in OpenShift Container Storage 3.11.4
| Bug ID | Summary |
|---|---|
| This content is not included.1590350 | [RFE] Upgrade playbook(s) should update CNS image tags |
| This content is not included.1613859 | [RFE] provide ansible playbook for OCS upgrade |
| This content is not included.1607520 | While creating 100 block PVCs in loops of 10 , 7(84th to 90th) PVCs stayed in PENDING state for 20 mins |
| This content is not included.1668978 | Block Provisioner repeatedly requests that Heketi delete volumes that no longer exist |
| This content is not included.1703239 | storage classes can't differentiate between glusterblock external provisioners in different projects |
| This content is not included.1731381 | Respin rhgs-gluster-block-prov-container for OCS 3.11.4 |
| This content is not included.1597726 | On reboot of the CNS node, ISCSI login failed to its own target IP |
| This content is not included.1601791 | Core dump in CTR xlator while running pv create, delete and gluster volume heal in parallel |
| This content is not included.1623438 | [Tracking-RHGS-BZ#1623874] IO errors on block device post rebooting one brick node |
| This content is not included.1672543 | [Tracker RHGS bug 1707259 ] Volume heal for block hosting volume is pending for over 4 hours |
| This content is not included.1708182 | [Tracking] gluster-block: improvements to volume group profile options list |
| This content is not included.1710994 | [RFE] Raise the supported limit of volumes per trusted storage pool to 2000 |
| This content is not included.1729027 | Bricks of the volumes are not online after performing an upgrade from OCS3.11.3 to OCS3.11.4 on one of the pod. |
| This content is not included.1746908 | With latest images gluster pod is in 0/1 state because of glusterd services not up |
| This content is not included.1758784 | [Tracker #1757420] memory leak in glusterfsd with error from iot_workers_scale function |
| This content is not included.1762882 | Respin rhgs-server container for OCS 3.11.4 with signed rpms |
| This content is not included.1658913 | Allow creation of PVC with long names ( > 45 chars) in GlusterFS driver of OCS |
| This content is not included.1698463 | Volume creation should be successful if the pvc name is > 63 chars. |
| This content is not included.1699209 | gluster-blockd fails to comes up on a fresh install setup of OCP 3.11 + OCS 3.11.2 |
| This content is not included.1722434 | tcmu-runner: Link against tcmalloc for improved small IO performance |
| This content is not included.1728645 | wait for gluster-blockd termination which is running in background before restarting it through systemd |
| This content is not included.1763735 | Respin rhgs-s3-server container for OCS 3.11.4 with signed rpms |
| This content is not included.1710614 | Respin rhgs-volmanager container for OCS 3.11.4 |
| This content is not included.1577803 | [RFE] heketi is not showing expected error when we give same name of the vol. |
| This content is not included.1609553 | [RFE] Automatically map /dev paths to stable /dev/disk/by-* paths for long term use |
| This content is not included.1636912 | PVC still in pending state after node shutdown and start - heketi kube exec layer got stuck |
| This content is not included.1660681 | Heketi does not list storage endpoint of newly added node |
| This content is not included.1701091 | CVE-2019-3899 heketi: heketi can be installed using insecure defaults |
| This content is not included.1701838 | CVE-2019-3899 heketi: heketi can be installed using insecure defaults [ocs-3] |
| This content is not included.1702162 | Heketi Pod crashed unexpectedly initializing operations cleanup |
| This content is not included.1710080 | [RFE] Rebase Heketi to version v9.0 upstream source |
| This content is not included.1710996 | Reset default limit for maximum number of volumes in Heketi to upstream value of 1000 |
| This content is not included.1725798 | Deleted device cannot be added back to the topology after device path change |
| This content is not included.1740884 | tune heketidbstorage for safety of db workload |
| This content is not included.1551140 | cns-deploy lists firewall port 24006 which was deprecated by bz 1483827 |
| This content is not included.1723883 | Issue a warning that cns-deploy will be deprecated |
| This content is not included.1724091 | "Cannot update endpoints in namespace" error after deploying gluster block provisioner pod |
| This content is not included.1725226 | Image names present in the latest templates from cns-deploy are incorrect. |
| This content is not included.1726384 | changes required to templates to remove default values from jwt section of config json |